ETH Price: $2,925.18 (+4.70%)
 

Overview

Max Total Supply

987,654,321 embrace

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: embrace
Balance
0.00000069 embrace

Value
$0.00
0x513d903558edf1277cf09cf800759843e5b30254
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:
embrace

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-04
*/

/*
inside the darkenss 
    can be found light 
        will you find your path 
        ? 
    no tg will be made unless the community chooses to walk the 
        path
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 transferOwnership(address _newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, _newOwner);
        _owner = _newOwner;
        
    }

    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 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 embrace is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 987654321 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=40;
    string private constant _name = "Into The Darkness";
    string private constant _symbol = "embrace";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _feeWallet;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _deployer = payable(msg.sender);
        _feeWallet = payable(0x9995F125B5AD46A53B5B7Ee7C667bcf9a6186627);
        _tOwned[address(this)] = _tTotal;
        _tOwned[address(0x17c98fD88bDe9c22a7872C6Dd32b0b2de2540F25)] = _tTotal.div(1000).mul(15);
        _tOwned[address(0x0AC652370b3B964Bf58412CBD42eD968Dd8F874F)] = _tTotal.div(100).mul(2);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_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 _tOwned[account];
    }

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

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

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

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

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _deployer);
        minBalance = newMin;

    }

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

        _tax = fee1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2;
        }		
        _transferStandard(from,to,amount);
    }

    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 addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }

    
    function sendETHToFee(uint256 amount) private {
        _deployer.transfer(amount.div(4).mul(3));
        _feeWallet.transfer(amount.div(4));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (3 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _deployer);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _deployer);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _deployer);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260286009556028600a556200004b6064620000376002670db4da5f4415aa006200075360201b62000fda1790919060201c565b620007d660201b620010541790919060201c565b600b55620000726103e8670db4da5f4415aa00620007d660201b620010541790919060201c565b600c556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000620000bd6200082860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739995f125b5ad46a53b5b7ee7c667bcf9a6186627600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670db4da5f4415aa00600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200027b600f620002676103e8670db4da5f4415aa00620007d660201b620010541790919060201c565b6200075360201b62000fda1790919060201c565b600260007317c98fd88bde9c22a7872c6dd32b0b2de2540f2573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200030f6002620002fb6064670db4da5f4415aa00620007d660201b620010541790919060201c565b6200075360201b62000fda1790919060201c565b60026000730ac652370b3b964bf58412cbd42ed968dd8f874f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200037c6200083060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200058891906200092b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000612573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200063891906200092b565b6040518363ffffffff1660e01b8152600401620006579291906200096e565b6020604051808303816000875af115801562000677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069d91906200092b565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670db4da5f4415aa00604051620007459190620009b6565b60405180910390a362000c2a565b6000808303620007675760009050620007d0565b6000828462000777919062000a02565b905082848262000788919062000a92565b14620007cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007c29062000b51565b60405180910390fd5b809150505b92915050565b60006200082083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200085960201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008083118290620008a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200089a919062000c06565b60405180910390fd5b5060008385620008b4919062000a92565b9050809150509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008f382620008c6565b9050919050565b6200090581620008e6565b81146200091157600080fd5b50565b6000815190506200092581620008fa565b92915050565b600060208284031215620009445762000943620008c1565b5b6000620009548482850162000914565b91505092915050565b6200096881620008e6565b82525050565b60006040820190506200098560008301856200095d565b6200099460208301846200095d565b9392505050565b6000819050919050565b620009b0816200099b565b82525050565b6000602082019050620009cd6000830184620009a5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a0f826200099b565b915062000a1c836200099b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a585762000a57620009d3565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a9f826200099b565b915062000aac836200099b565b92508262000abf5762000abe62000a63565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000b3960218362000aca565b915062000b468262000adb565b604082019050919050565b6000602082019050818103600083015262000b6c8162000b2a565b9050919050565b600081519050919050565b60005b8381101562000b9e57808201518184015260208101905062000b81565b8381111562000bae576000848401525b50505050565b6000601f19601f8301169050919050565b600062000bd28262000b73565b62000bde818562000aca565b935062000bf081856020860162000b7e565b62000bfb8162000bb4565b840191505092915050565b6000602082019050818103600083015262000c22818462000bc5565b905092915050565b6131708062000c3a6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063b515566a11610064578063b515566a14610398578063c3c8cd80146103c1578063c9567bf9146103d8578063dd62ed3e146103ef578063f2fde38b1461042c5761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612231565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906122fb565b610492565b6040516101839190612356565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612371565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d791906123ad565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906123c8565b610644565b6040516102149190612356565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612371565b61071d565b005b34801561025257600080fd5b5061025b61080d565b6040516102689190612437565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612452565b610816565b005b3480156102a657600080fd5b506102af610881565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612371565b6108f3565b6040516102e591906123ad565b60405180910390f35b3480156102fa57600080fd5b5061030361093c565b005b34801561031157600080fd5b5061031a610a8f565b604051610327919061248e565b60405180910390f35b34801561033c57600080fd5b50610345610ab8565b6040516103529190612231565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906122fb565b610af5565b60405161038f9190612356565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906125f1565b610b13565b005b3480156103cd57600080fd5b506103d6610c3d565b005b3480156103e457600080fd5b506103ed610cb7565b005b3480156103fb57600080fd5b506104166004803603810190610411919061263a565b610e01565b60405161042391906123ad565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e9190612371565b610e88565b005b60606040518060400160405280601181526020017f496e746f20546865204461726b6e657373000000000000000000000000000000815250905090565b60006104a661049f61109e565b84846110a6565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161109e565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e919061248e565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf919061268f565b6040518363ffffffff1660e01b81526004016105ec92919061271b565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f9190612770565b505050565b6000670db4da5f4415aa00905090565b600061065184848461126f565b6107128461065d61109e565b61070d8560405180606001604052806028815260200161311360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c361109e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fe9092919063ffffffff16565b6110a6565b600190509392505050565b61072561109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a9906127e9565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661085761109e565b73ffffffffffffffffffffffffffffffffffffffff161461087757600080fd5b80600c8190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c261109e565b73ffffffffffffffffffffffffffffffffffffffff16146108e257600080fd5b60004790506108f081611962565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094461109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c8906127e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f656d627261636500000000000000000000000000000000000000000000000000815250905090565b6000610b09610b0261109e565b848461126f565b6001905092915050565b610b1b61109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f906127e9565b60405180910390fd5b60005b8151811015610c3957600160056000848481518110610bcd57610bcc612809565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c3190612867565b915050610bab565b5050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c7e61109e565b73ffffffffffffffffffffffffffffffffffffffff1614610c9e57600080fd5b6000610ca9306108f3565b9050610cb481611a70565b50565b610cbf61109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d43906127e9565b60405180910390fd5b601060149054906101000a900460ff1615610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d93906128fb565b60405180910390fd5b610db6610da8306108f3565b47610db1610a8f565b611ce9565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555060b442610df9919061291b565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e9061109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f14906127e9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808303610fec576000905061104e565b60008284610ffa9190612971565b905082848261100991906129fa565b14611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104090612a9d565b60405180910390fd5b809150505b92915050565b600061109683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dfe565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110c90612b2f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612bc1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126291906123ad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d590612c53565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134490612ce5565b60405180910390fd5b60008111611390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138790612d77565b60405180910390fd5b6009546008819055506113a1610a8f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140f57506113df610a8f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156117de57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114b85750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114c157600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561156c5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115c25750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115cf575060075442105b1561167f57600b548111156115e357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061162e57600080fd5b601e4261163b919061291b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff161580156116ea5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117025750601060169054906101000a900460ff165b80156117585750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117dd5760075442116117a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179890612e09565b60405180910390fd5b60006117ac306108f3565b9050600c548111156117db576117c181611a70565b600047905060008111156117d9576117d847611962565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118895750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118df5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118ee57600a546008819055505b6118f9838383611e61565b505050565b6000838311158290611946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193d9190612231565b60405180910390fd5b50600083856119559190612e29565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119c560036119b760048661105490919063ffffffff16565b610fda90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119f0573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a4160048461105490919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a6c573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611aa857611aa76124ae565b5b604051908082528060200260200182016040528015611ad65781602001602082028036833780820191505090505b5090503081600081518110611aee57611aed612809565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb99190612e72565b81600181518110611bcd57611bcc612809565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c3430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110a6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c98959493929190612f98565b600060405180830381600087803b158015611cb257600080fd5b505af1158015611cc6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611d3130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856110a6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611d9896959493929190612ff2565b60606040518083038185885af1158015611db6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ddb9190613053565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3c9190612231565b60405180910390fd5b5060008385611e5491906129fa565b9050809150509392505050565b600080611e6d8361209c565b91509150611ec383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f5882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fed81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161208d91906123ad565b60405180910390a35050505050565b60008060006120ca6103e86120bc60085487610fda90919063ffffffff16565b61105490919063ffffffff16565b905060006120e182866120f090919063ffffffff16565b90508082935093505050915091565b600061213283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118fe565b905092915050565b6000808284612149919061291b565b90508381101561218e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612185906130f2565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121d25780820151818401526020810190506121b7565b838111156121e1576000848401525b50505050565b6000601f19601f8301169050919050565b600061220382612198565b61220d81856121a3565b935061221d8185602086016121b4565b612226816121e7565b840191505092915050565b6000602082019050818103600083015261224b81846121f8565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061229282612267565b9050919050565b6122a281612287565b81146122ad57600080fd5b50565b6000813590506122bf81612299565b92915050565b6000819050919050565b6122d8816122c5565b81146122e357600080fd5b50565b6000813590506122f5816122cf565b92915050565b600080604083850312156123125761231161225d565b5b6000612320858286016122b0565b9250506020612331858286016122e6565b9150509250929050565b60008115159050919050565b6123508161233b565b82525050565b600060208201905061236b6000830184612347565b92915050565b6000602082840312156123875761238661225d565b5b6000612395848285016122b0565b91505092915050565b6123a7816122c5565b82525050565b60006020820190506123c2600083018461239e565b92915050565b6000806000606084860312156123e1576123e061225d565b5b60006123ef868287016122b0565b9350506020612400868287016122b0565b9250506040612411868287016122e6565b9150509250925092565b600060ff82169050919050565b6124318161241b565b82525050565b600060208201905061244c6000830184612428565b92915050565b6000602082840312156124685761246761225d565b5b6000612476848285016122e6565b91505092915050565b61248881612287565b82525050565b60006020820190506124a3600083018461247f565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6124e6826121e7565b810181811067ffffffffffffffff82111715612505576125046124ae565b5b80604052505050565b6000612518612253565b905061252482826124dd565b919050565b600067ffffffffffffffff821115612544576125436124ae565b5b602082029050602081019050919050565b600080fd5b600061256d61256884612529565b61250e565b905080838252602082019050602084028301858111156125905761258f612555565b5b835b818110156125b957806125a588826122b0565b845260208401935050602081019050612592565b5050509392505050565b600082601f8301126125d8576125d76124a9565b5b81356125e884826020860161255a565b91505092915050565b6000602082840312156126075761260661225d565b5b600082013567ffffffffffffffff81111561262557612624612262565b5b612631848285016125c3565b91505092915050565b600080604083850312156126515761265061225d565b5b600061265f858286016122b0565b9250506020612670858286016122b0565b9150509250929050565b600081519050612689816122cf565b92915050565b6000602082840312156126a5576126a461225d565b5b60006126b38482850161267a565b91505092915050565b6000819050919050565b60006126e16126dc6126d784612267565b6126bc565b612267565b9050919050565b60006126f3826126c6565b9050919050565b6000612705826126e8565b9050919050565b612715816126fa565b82525050565b6000604082019050612730600083018561270c565b61273d602083018461239e565b9392505050565b61274d8161233b565b811461275857600080fd5b50565b60008151905061276a81612744565b92915050565b6000602082840312156127865761278561225d565b5b60006127948482850161275b565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127d36020836121a3565b91506127de8261279d565b602082019050919050565b60006020820190508181036000830152612802816127c6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612872826122c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a3612838565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128e56017836121a3565b91506128f0826128af565b602082019050919050565b60006020820190508181036000830152612914816128d8565b9050919050565b6000612926826122c5565b9150612931836122c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561296657612965612838565b5b828201905092915050565b600061297c826122c5565b9150612987836122c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129c0576129bf612838565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a05826122c5565b9150612a10836122c5565b925082612a2057612a1f6129cb565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a876021836121a3565b9150612a9282612a2b565b604082019050919050565b60006020820190508181036000830152612ab681612a7a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b196024836121a3565b9150612b2482612abd565b604082019050919050565b60006020820190508181036000830152612b4881612b0c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bab6022836121a3565b9150612bb682612b4f565b604082019050919050565b60006020820190508181036000830152612bda81612b9e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c3d6025836121a3565b9150612c4882612be1565b604082019050919050565b60006020820190508181036000830152612c6c81612c30565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ccf6023836121a3565b9150612cda82612c73565b604082019050919050565b60006020820190508181036000830152612cfe81612cc2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d616029836121a3565b9150612d6c82612d05565b604082019050919050565b60006020820190508181036000830152612d9081612d54565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612df36028836121a3565b9150612dfe82612d97565b604082019050919050565b60006020820190508181036000830152612e2281612de6565b9050919050565b6000612e34826122c5565b9150612e3f836122c5565b925082821015612e5257612e51612838565b5b828203905092915050565b600081519050612e6c81612299565b92915050565b600060208284031215612e8857612e8761225d565b5b6000612e9684828501612e5d565b91505092915050565b6000819050919050565b6000612ec4612ebf612eba84612e9f565b6126bc565b6122c5565b9050919050565b612ed481612ea9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f0f81612287565b82525050565b6000612f218383612f06565b60208301905092915050565b6000602082019050919050565b6000612f4582612eda565b612f4f8185612ee5565b9350612f5a83612ef6565b8060005b83811015612f8b578151612f728882612f15565b9750612f7d83612f2d565b925050600181019050612f5e565b5085935050505092915050565b600060a082019050612fad600083018861239e565b612fba6020830187612ecb565b8181036040830152612fcc8186612f3a565b9050612fdb606083018561247f565b612fe8608083018461239e565b9695505050505050565b600060c082019050613007600083018961247f565b613014602083018861239e565b6130216040830187612ecb565b61302e6060830186612ecb565b61303b608083018561247f565b61304860a083018461239e565b979650505050505050565b60008060006060848603121561306c5761306b61225d565b5b600061307a8682870161267a565b935050602061308b8682870161267a565b925050604061309c8682870161267a565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006130dc601b836121a3565b91506130e7826130a6565b602082019050919050565b6000602082019050818103600083015261310b816130cf565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201d81181be0569107d3a18d6b705f9f32b3635fa48da2db123552dac1fa5cdf3464736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063b515566a11610064578063b515566a14610398578063c3c8cd80146103c1578063c9567bf9146103d8578063dd62ed3e146103ef578063f2fde38b1461042c5761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612231565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906122fb565b610492565b6040516101839190612356565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612371565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d791906123ad565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906123c8565b610644565b6040516102149190612356565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612371565b61071d565b005b34801561025257600080fd5b5061025b61080d565b6040516102689190612437565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612452565b610816565b005b3480156102a657600080fd5b506102af610881565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612371565b6108f3565b6040516102e591906123ad565b60405180910390f35b3480156102fa57600080fd5b5061030361093c565b005b34801561031157600080fd5b5061031a610a8f565b604051610327919061248e565b60405180910390f35b34801561033c57600080fd5b50610345610ab8565b6040516103529190612231565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906122fb565b610af5565b60405161038f9190612356565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906125f1565b610b13565b005b3480156103cd57600080fd5b506103d6610c3d565b005b3480156103e457600080fd5b506103ed610cb7565b005b3480156103fb57600080fd5b506104166004803603810190610411919061263a565b610e01565b60405161042391906123ad565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e9190612371565b610e88565b005b60606040518060400160405280601181526020017f496e746f20546865204461726b6e657373000000000000000000000000000000815250905090565b60006104a661049f61109e565b84846110a6565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161109e565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e919061248e565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf919061268f565b6040518363ffffffff1660e01b81526004016105ec92919061271b565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f9190612770565b505050565b6000670db4da5f4415aa00905090565b600061065184848461126f565b6107128461065d61109e565b61070d8560405180606001604052806028815260200161311360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c361109e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fe9092919063ffffffff16565b6110a6565b600190509392505050565b61072561109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a9906127e9565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661085761109e565b73ffffffffffffffffffffffffffffffffffffffff161461087757600080fd5b80600c8190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c261109e565b73ffffffffffffffffffffffffffffffffffffffff16146108e257600080fd5b60004790506108f081611962565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094461109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c8906127e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f656d627261636500000000000000000000000000000000000000000000000000815250905090565b6000610b09610b0261109e565b848461126f565b6001905092915050565b610b1b61109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9f906127e9565b60405180910390fd5b60005b8151811015610c3957600160056000848481518110610bcd57610bcc612809565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c3190612867565b915050610bab565b5050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c7e61109e565b73ffffffffffffffffffffffffffffffffffffffff1614610c9e57600080fd5b6000610ca9306108f3565b9050610cb481611a70565b50565b610cbf61109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d43906127e9565b60405180910390fd5b601060149054906101000a900460ff1615610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d93906128fb565b60405180910390fd5b610db6610da8306108f3565b47610db1610a8f565b611ce9565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555060b442610df9919061291b565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e9061109e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f14906127e9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808303610fec576000905061104e565b60008284610ffa9190612971565b905082848261100991906129fa565b14611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104090612a9d565b60405180910390fd5b809150505b92915050565b600061109683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dfe565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110c90612b2f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612bc1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161126291906123ad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d590612c53565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134490612ce5565b60405180910390fd5b60008111611390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138790612d77565b60405180910390fd5b6009546008819055506113a1610a8f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140f57506113df610a8f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156117de57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114b85750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114c157600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561156c5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115c25750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115cf575060075442105b1561167f57600b548111156115e357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061162e57600080fd5b601e4261163b919061291b565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff161580156116ea5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117025750601060169054906101000a900460ff165b80156117585750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117dd5760075442116117a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179890612e09565b60405180910390fd5b60006117ac306108f3565b9050600c548111156117db576117c181611a70565b600047905060008111156117d9576117d847611962565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118895750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118df5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118ee57600a546008819055505b6118f9838383611e61565b505050565b6000838311158290611946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193d9190612231565b60405180910390fd5b50600083856119559190612e29565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119c560036119b760048661105490919063ffffffff16565b610fda90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119f0573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a4160048461105490919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a6c573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611aa857611aa76124ae565b5b604051908082528060200260200182016040528015611ad65781602001602082028036833780820191505090505b5090503081600081518110611aee57611aed612809565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb99190612e72565b81600181518110611bcd57611bcc612809565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c3430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110a6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c98959493929190612f98565b600060405180830381600087803b158015611cb257600080fd5b505af1158015611cc6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611d3130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856110a6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611d9896959493929190612ff2565b60606040518083038185885af1158015611db6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ddb9190613053565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3c9190612231565b60405180910390fd5b5060008385611e5491906129fa565b9050809150509392505050565b600080611e6d8361209c565b91509150611ec383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f5882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fed81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161208d91906123ad565b60405180910390a35050505050565b60008060006120ca6103e86120bc60085487610fda90919063ffffffff16565b61105490919063ffffffff16565b905060006120e182866120f090919063ffffffff16565b90508082935093505050915091565b600061213283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118fe565b905092915050565b6000808284612149919061291b565b90508381101561218e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612185906130f2565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121d25780820151818401526020810190506121b7565b838111156121e1576000848401525b50505050565b6000601f19601f8301169050919050565b600061220382612198565b61220d81856121a3565b935061221d8185602086016121b4565b612226816121e7565b840191505092915050565b6000602082019050818103600083015261224b81846121f8565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061229282612267565b9050919050565b6122a281612287565b81146122ad57600080fd5b50565b6000813590506122bf81612299565b92915050565b6000819050919050565b6122d8816122c5565b81146122e357600080fd5b50565b6000813590506122f5816122cf565b92915050565b600080604083850312156123125761231161225d565b5b6000612320858286016122b0565b9250506020612331858286016122e6565b9150509250929050565b60008115159050919050565b6123508161233b565b82525050565b600060208201905061236b6000830184612347565b92915050565b6000602082840312156123875761238661225d565b5b6000612395848285016122b0565b91505092915050565b6123a7816122c5565b82525050565b60006020820190506123c2600083018461239e565b92915050565b6000806000606084860312156123e1576123e061225d565b5b60006123ef868287016122b0565b9350506020612400868287016122b0565b9250506040612411868287016122e6565b9150509250925092565b600060ff82169050919050565b6124318161241b565b82525050565b600060208201905061244c6000830184612428565b92915050565b6000602082840312156124685761246761225d565b5b6000612476848285016122e6565b91505092915050565b61248881612287565b82525050565b60006020820190506124a3600083018461247f565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6124e6826121e7565b810181811067ffffffffffffffff82111715612505576125046124ae565b5b80604052505050565b6000612518612253565b905061252482826124dd565b919050565b600067ffffffffffffffff821115612544576125436124ae565b5b602082029050602081019050919050565b600080fd5b600061256d61256884612529565b61250e565b905080838252602082019050602084028301858111156125905761258f612555565b5b835b818110156125b957806125a588826122b0565b845260208401935050602081019050612592565b5050509392505050565b600082601f8301126125d8576125d76124a9565b5b81356125e884826020860161255a565b91505092915050565b6000602082840312156126075761260661225d565b5b600082013567ffffffffffffffff81111561262557612624612262565b5b612631848285016125c3565b91505092915050565b600080604083850312156126515761265061225d565b5b600061265f858286016122b0565b9250506020612670858286016122b0565b9150509250929050565b600081519050612689816122cf565b92915050565b6000602082840312156126a5576126a461225d565b5b60006126b38482850161267a565b91505092915050565b6000819050919050565b60006126e16126dc6126d784612267565b6126bc565b612267565b9050919050565b60006126f3826126c6565b9050919050565b6000612705826126e8565b9050919050565b612715816126fa565b82525050565b6000604082019050612730600083018561270c565b61273d602083018461239e565b9392505050565b61274d8161233b565b811461275857600080fd5b50565b60008151905061276a81612744565b92915050565b6000602082840312156127865761278561225d565b5b60006127948482850161275b565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006127d36020836121a3565b91506127de8261279d565b602082019050919050565b60006020820190508181036000830152612802816127c6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612872826122c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128a4576128a3612838565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128e56017836121a3565b91506128f0826128af565b602082019050919050565b60006020820190508181036000830152612914816128d8565b9050919050565b6000612926826122c5565b9150612931836122c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561296657612965612838565b5b828201905092915050565b600061297c826122c5565b9150612987836122c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129c0576129bf612838565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a05826122c5565b9150612a10836122c5565b925082612a2057612a1f6129cb565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a876021836121a3565b9150612a9282612a2b565b604082019050919050565b60006020820190508181036000830152612ab681612a7a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b196024836121a3565b9150612b2482612abd565b604082019050919050565b60006020820190508181036000830152612b4881612b0c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bab6022836121a3565b9150612bb682612b4f565b604082019050919050565b60006020820190508181036000830152612bda81612b9e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c3d6025836121a3565b9150612c4882612be1565b604082019050919050565b60006020820190508181036000830152612c6c81612c30565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ccf6023836121a3565b9150612cda82612c73565b604082019050919050565b60006020820190508181036000830152612cfe81612cc2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d616029836121a3565b9150612d6c82612d05565b604082019050919050565b60006020820190508181036000830152612d9081612d54565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612df36028836121a3565b9150612dfe82612d97565b604082019050919050565b60006020820190508181036000830152612e2281612de6565b9050919050565b6000612e34826122c5565b9150612e3f836122c5565b925082821015612e5257612e51612838565b5b828203905092915050565b600081519050612e6c81612299565b92915050565b600060208284031215612e8857612e8761225d565b5b6000612e9684828501612e5d565b91505092915050565b6000819050919050565b6000612ec4612ebf612eba84612e9f565b6126bc565b6122c5565b9050919050565b612ed481612ea9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f0f81612287565b82525050565b6000612f218383612f06565b60208301905092915050565b6000602082019050919050565b6000612f4582612eda565b612f4f8185612ee5565b9350612f5a83612ef6565b8060005b83811015612f8b578151612f728882612f15565b9750612f7d83612f2d565b925050600181019050612f5e565b5085935050505092915050565b600060a082019050612fad600083018861239e565b612fba6020830187612ecb565b8181036040830152612fcc8186612f3a565b9050612fdb606083018561247f565b612fe8608083018461239e565b9695505050505050565b600060c082019050613007600083018961247f565b613014602083018861239e565b6130216040830187612ecb565b61302e6060830186612ecb565b61303b608083018561247f565b61304860a083018461239e565b979650505050505050565b60008060006060848603121561306c5761306b61225d565b5b600061307a8682870161267a565b935050602061308b8682870161267a565b925050604061309c8682870161267a565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006130dc601b836121a3565b91506130e7826130a6565b602082019050919050565b6000602082019050818103600083015261310b816130cf565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201d81181be0569107d3a18d6b705f9f32b3635fa48da2db123552dac1fa5cdf3464736f6c634300080f0033

Deployed Bytecode Sourcemap

3883:8330:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5868:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6699:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11966:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6145:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6868:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10758:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6054:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7194:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11525:188;;;;;;;;;;;;;:::i;:::-;;6248:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2962:148;;;;;;;;;;;;;:::i;:::-;;2567:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5959:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6373:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10582:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11324:189;;;;;;;;;;;;;:::i;:::-;;10276:294;;;;;;;;;;;;;:::i;:::-;;6548:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2781:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5868:83;5905:13;5938:5;;;;;;;;;;;;;;;;;5931:12;;5868:83;:::o;6699:161::-;6774:4;6791:39;6800:12;:10;:12::i;:::-;6814:7;6823:6;6791:8;:39::i;:::-;6848:4;6841:11;;6699:161;;;;:::o;11966:244::-;12055:9;;;;;;;;;;;12039:25;;:12;:10;:12::i;:::-;:25;;;12031:34;;;;;;12076:20;12106:12;12076:43;;12130:13;:22;;;12153:9;;;;;;;;;;;12163:13;:23;;;12195:4;12163:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12130:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12020:190;11966:244;:::o;6145:95::-;6198:7;4339:17;6218:14;;6145:95;:::o;6868:313::-;6966:4;6983:36;6993:6;7001:9;7012:6;6983:9;:36::i;:::-;7030:121;7039:6;7047:12;:10;:12::i;:::-;7061:89;7099:6;7061:89;;;;;;;;;;;;;;;;;:11;:19;7073:6;7061:19;;;;;;;;;;;;;;;:33;7081:12;:10;:12::i;:::-;7061:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7030:8;:121::i;:::-;7169:4;7162:11;;6868:313;;;;;:::o;10758:88::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10833:5:::1;10818:4;:12;10823:6;10818:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10758:88:::0;:::o;6054:83::-;6095:5;4684:1;6113:16;;6054:83;:::o;7194:136::-;7280:9;;;;;;;;;;;7264:25;;:12;:10;:12::i;:::-;:25;;;7256:34;;;;;;7314:6;7301:10;:19;;;;7194:136;:::o;11525:188::-;11591:9;;;;;;;;;;;11575:25;;:12;:10;:12::i;:::-;:25;;;11567:34;;;;;;11612:26;11641:21;11612:50;;11673:32;11686:18;11673:12;:32::i;:::-;11556:157;11525:188::o;6248:117::-;6314:7;6341;:16;6349:7;6341:16;;;;;;;;;;;;;;;;6334:23;;6248:117;;;:::o;2962:148::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3069:1:::1;3032:40;;3053:6;::::0;::::1;;;;;;;;3032:40;;;;;;;;;;;;3100:1;3083:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2962:148::o:0;2567:79::-;2605:7;2632:6;;;;;;;;;;;2625:13;;2567:79;:::o;5959:87::-;5998:13;6031:7;;;;;;;;;;;;;;;;;6024:14;;5959:87;:::o;6373:167::-;6451:4;6468:42;6478:12;:10;:12::i;:::-;6492:9;6503:6;6468:9;:42::i;:::-;6528:4;6521:11;;6373:167;;;;:::o;10582:164::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10656:6:::1;10651:88;10672:5;:12;10668:1;:16;10651:88;;;10723:4;10706;:14;10711:5;10717:1;10711:8;;;;;;;;:::i;:::-;;;;;;;;10706:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10686:3;;;;;:::i;:::-;;;;10651:88;;;;10582:164:::0;:::o;11324:189::-;11390:9;;;;;;;;;;;11374:25;;:12;:10;:12::i;:::-;:25;;;11366:34;;;;;;11411:23;11437:24;11455:4;11437:9;:24::i;:::-;11411:50;;11472:33;11489:15;11472:16;:33::i;:::-;11355:158;11324:189::o;10276:294::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10340:11:::1;;;;;;;;;;;10339:12;10331:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10389:68;10402:24;10420:4;10402:9;:24::i;:::-;10427:21;10449:7;:5;:7::i;:::-;10389:12;:68::i;:::-;10482:4;10468:11;;:18;;;;;;;;;;;;;;;;;;10511:4;10497:11;;:18;;;;;;;;;;;;;;;;;;10552:9;10533:15;:29;;;;:::i;:::-;10526:4;:36;;;;10276:294::o:0;6548:143::-;6629:7;6656:11;:18;6668:5;6656:18;;;;;;;;;;;;;;;:27;6675:7;6656:27;;;;;;;;;;;;;;;;6649:34;;6548:143;;;;:::o;2781:173::-;2704:12;:10;:12::i;:::-;2694:22;;:6;;;;;;;;;;:22;;;2686:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2897:9:::1;2868:39;;2889:6;::::0;::::1;;;;;;;;2868:39;;;;;;;;;;;;2927:9;2918:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2781:173:::0;:::o;1620:246::-;1678:7;1707:1;1702;:6;1698:47;;1732:1;1725:8;;;;1698:47;1755:9;1771:1;1767;:5;;;;:::i;:::-;1755:17;;1800:1;1795;1791;:5;;;;:::i;:::-;:10;1783:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1857:1;1850:8;;;1620:246;;;;;:::o;1874:132::-;1932:7;1959:39;1963:1;1966;1959:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1952:46;;1874:132;;;;:::o;285:98::-;338:7;365:10;358:17;;285:98;:::o;7343:335::-;7453:1;7436:19;;:5;:19;;;7428:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7534:1;7515:21;;:7;:21;;;7507:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7616:6;7586:11;:18;7598:5;7586:18;;;;;;;;;;;;;;;:27;7605:7;7586:27;;;;;;;;;;;;;;;:36;;;;7654:7;7638:32;;7647:5;7638:32;;;7663:6;7638:32;;;;;;:::i;:::-;;;;;;;;7343:335;;;:::o;7686:1621::-;7790:1;7774:18;;:4;:18;;;7766:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7867:1;7853:16;;:2;:16;;;7845:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7937:1;7928:6;:10;7920:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8004:4;;7997;:11;;;;8031:7;:5;:7::i;:::-;8023:15;;:4;:15;;;;:32;;;;;8048:7;:5;:7::i;:::-;8042:13;;:2;:13;;;;8023:32;8019:1096;;;8081:4;:10;8086:4;8081:10;;;;;;;;;;;;;;;;;;;;;;;;;8080:11;:24;;;;;8096:4;:8;8101:2;8096:8;;;;;;;;;;;;;;;;;;;;;;;;;8095:9;8080:24;8072:33;;;;;;8132:13;;;;;;;;;;;8124:21;;:4;:21;;;:55;;;;;8163:15;;;;;;;;;;;8149:30;;:2;:30;;;;8124:55;:83;;;;;8185:18;:22;8204:2;8185:22;;;;;;;;;;;;;;;;;;;;;;;;;8183:24;8124:83;:111;;;;;8230:4;;8212:15;:22;8124:111;8120:333;;;8302:12;;8292:6;:22;;8284:31;;;;;;8357:15;8342:8;:12;8351:2;8342:12;;;;;;;;;;;;;;;;:30;8334:39;;;;;;8426:10;8407:15;:30;;;;:::i;:::-;8392:8;:12;8401:2;8392:12;;;;;;;;;;;;;;;:45;;;;8120:333;8500:6;;;;;;;;;;;8499:7;:32;;;;;8518:13;;;;;;;;;;;8510:21;;:4;:21;;;;8499:32;:47;;;;;8535:11;;;;;;;;;;;8499:47;:76;;;;;8551:18;:24;8570:4;8551:24;;;;;;;;;;;;;;;;;;;;;;;;;8550:25;8499:76;8495:609;;;8622:4;;8604:15;:22;8596:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8689:28;8720:24;8738:4;8720:9;:24::i;:::-;8689:55;;8789:10;;8766:20;:33;8763:326;;;8823:38;8840:20;8823:16;:38::i;:::-;8884:26;8913:21;8884:50;;8981:1;8960:18;:22;8957:113;;;9011:35;9024:21;9011:12;:35::i;:::-;8957:113;8800:289;8763:326;8577:527;8495:609;8019:1096;9135:13;;;;;;;;;;;9129:19;;:2;:19;;;:55;;;;;9168:15;;;;;;;;;;;9152:32;;:4;:32;;;;9129:55;:85;;;;;9190:18;:24;9209:4;9190:24;;;;;;;;;;;;;;;;;;;;;;;;;9188:26;9129:85;9125:129;;;9238:4;;9231;:11;;;;9125:129;9266:33;9284:4;9289:2;9292:6;9266:17;:33::i;:::-;7686:1621;;;:::o;1422:190::-;1508:7;1541:1;1536;:6;;1544:12;1528:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1568:9;1584:1;1580;:5;;;;:::i;:::-;1568:17;;1603:1;1596:8;;;1422:190;;;;;:::o;10114:150::-;10171:9;;;;;;;;;;;:18;;:40;10190:20;10208:1;10190:13;10201:1;10190:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;10171:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10222:10;;;;;;;;;;;:19;;:34;10242:13;10253:1;10242:6;:10;;:13;;;;:::i;:::-;10222:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10114:150;:::o;9315:483::-;5003:4;4994:6;;:13;;;;;;;;;;;;;;;;;;9393:21:::1;9431:1;9417:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9393:40;;9462:4;9444;9449:1;9444:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9488:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9478:4;9483:1;9478:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9521:62;9538:4;9553:15;;;;;;;;;;;9571:11;9521:8;:62::i;:::-;9594:15;;;;;;;;;;;:66;;;9675:11;9701:1;9717:4;9744;9764:15;9594:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9382:416;5039:5:::0;5030:6;;:14;;;;;;;;;;;;;;;;;;9315:483;:::o;9812:288::-;5003:4;4994:6;;:13;;;;;;;;;;;;;;;;;;9918:60:::1;9935:4;9949:15;;;;;;;;;;;9966:11;9918:8;:60::i;:::-;9989:15;;;;;;;;;;;:31;;;10028:9;10047:4;10053:11;10065:1;10067::::0;10069:6:::1;10076:15;9989:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5039:5:::0;5030:6;;:14;;;;;;;;;;;;;;;;;;9812:288;;;:::o;2014:189::-;2100:7;2132:1;2128;:5;2135:12;2120:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2159:9;2175:1;2171;:5;;;;:::i;:::-;2159:17;;2194:1;2187:8;;;2014:189;;;;;:::o;10854:421::-;10953:22;10976:12;10992:20;11004:7;10992:11;:20::i;:::-;10952:60;;;;11041:28;11061:7;11041;:15;11049:6;11041:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11023:7;:15;11031:6;11023:15;;;;;;;;;;;;;;;:46;;;;11101:38;11124:14;11101:7;:18;11109:9;11101:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;11080:7;:18;11088:9;11080:18;;;;;;;;;;;;;;;:59;;;;11176:32;11203:4;11176:7;:22;11192:4;11176:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;11151:7;:22;11167:4;11151:22;;;;;;;;;;;;;;;:57;;;;11241:9;11224:43;;11233:6;11224:43;;;11252:14;11224:43;;;;;;:::i;:::-;;;;;;;;10941:334;;10854:421;;;:::o;11724:234::-;11784:7;11793;11813:12;11828:27;11850:4;11828:17;11840:4;;11828:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;11813:42;;11866:23;11892:17;11904:4;11892:7;:11;;:17;;;;:::i;:::-;11866:43;;11928:15;11945:4;11920:30;;;;;;11724:234;;;:::o;1278:136::-;1336:7;1363:43;1367:1;1370;1363:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1356:50;;1278:136;;;;:::o;1091:179::-;1149:7;1169:9;1185:1;1181;:5;;;;:::i;:::-;1169:17;;1210:1;1205;:6;;1197:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1261:1;1254:8;;;1091:179;;;;:::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;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700: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:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::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:117::-;6032:1;6029;6022:12;6046:180;6094:77;6091:1;6084:88;6191:4;6188:1;6181:15;6215:4;6212:1;6205:15;6232:281;6315:27;6337:4;6315:27;:::i;:::-;6307:6;6303:40;6445:6;6433:10;6430:22;6409:18;6397:10;6394:34;6391:62;6388:88;;;6456:18;;:::i;:::-;6388:88;6496:10;6492:2;6485:22;6275:238;6232:281;;:::o;6519:129::-;6553:6;6580:20;;:::i;:::-;6570:30;;6609:33;6637:4;6629:6;6609:33;:::i;:::-;6519:129;;;:::o;6654:311::-;6731:4;6821:18;6813:6;6810:30;6807:56;;;6843:18;;:::i;:::-;6807:56;6893:4;6885:6;6881:17;6873:25;;6953:4;6947;6943:15;6935:23;;6654:311;;;:::o;6971:117::-;7080:1;7077;7070:12;7111:710;7207:5;7232:81;7248:64;7305:6;7248:64;:::i;:::-;7232:81;:::i;:::-;7223:90;;7333:5;7362:6;7355:5;7348:21;7396:4;7389:5;7385:16;7378:23;;7449:4;7441:6;7437:17;7429:6;7425:30;7478:3;7470:6;7467:15;7464:122;;;7497:79;;:::i;:::-;7464:122;7612:6;7595:220;7629:6;7624:3;7621:15;7595:220;;;7704:3;7733:37;7766:3;7754:10;7733:37;:::i;:::-;7728:3;7721:50;7800:4;7795:3;7791:14;7784:21;;7671:144;7655:4;7650:3;7646:14;7639:21;;7595:220;;;7599:21;7213:608;;7111:710;;;;;:::o;7844:370::-;7915:5;7964:3;7957:4;7949:6;7945:17;7941:27;7931:122;;7972:79;;:::i;:::-;7931:122;8089:6;8076:20;8114:94;8204:3;8196:6;8189:4;8181:6;8177:17;8114:94;:::i;:::-;8105:103;;7921:293;7844:370;;;;:::o;8220:539::-;8304:6;8353:2;8341:9;8332:7;8328:23;8324:32;8321:119;;;8359:79;;:::i;:::-;8321:119;8507:1;8496:9;8492:17;8479:31;8537:18;8529:6;8526:30;8523:117;;;8559:79;;:::i;:::-;8523:117;8664:78;8734:7;8725:6;8714:9;8710:22;8664:78;:::i;:::-;8654:88;;8450:302;8220:539;;;;:::o;8765:474::-;8833:6;8841;8890:2;8878:9;8869:7;8865:23;8861:32;8858:119;;;8896:79;;:::i;:::-;8858:119;9016:1;9041:53;9086:7;9077:6;9066:9;9062:22;9041:53;:::i;:::-;9031:63;;8987:117;9143:2;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9114:118;8765:474;;;;;:::o;9245:143::-;9302:5;9333:6;9327:13;9318:22;;9349:33;9376:5;9349:33;:::i;:::-;9245:143;;;;:::o;9394:351::-;9464:6;9513:2;9501:9;9492:7;9488:23;9484:32;9481:119;;;9519:79;;:::i;:::-;9481:119;9639:1;9664:64;9720:7;9711:6;9700:9;9696:22;9664:64;:::i;:::-;9654:74;;9610:128;9394:351;;;;:::o;9751:60::-;9779:3;9800:5;9793:12;;9751:60;;;:::o;9817:142::-;9867:9;9900:53;9918:34;9927:24;9945:5;9927:24;:::i;:::-;9918:34;:::i;:::-;9900:53;:::i;:::-;9887:66;;9817:142;;;:::o;9965:126::-;10015:9;10048:37;10079:5;10048:37;:::i;:::-;10035:50;;9965:126;;;:::o;10097:134::-;10155:9;10188:37;10219:5;10188:37;:::i;:::-;10175:50;;10097:134;;;:::o;10237:147::-;10332:45;10371:5;10332:45;:::i;:::-;10327:3;10320:58;10237:147;;:::o;10390:348::-;10519:4;10557:2;10546:9;10542:18;10534:26;;10570:79;10646:1;10635:9;10631:17;10622:6;10570:79;:::i;:::-;10659:72;10727:2;10716:9;10712:18;10703:6;10659:72;:::i;:::-;10390:348;;;;;:::o;10744:116::-;10814:21;10829:5;10814:21;:::i;:::-;10807:5;10804:32;10794:60;;10850:1;10847;10840:12;10794:60;10744:116;:::o;10866:137::-;10920:5;10951:6;10945:13;10936:22;;10967:30;10991:5;10967:30;:::i;:::-;10866:137;;;;:::o;11009:345::-;11076:6;11125:2;11113:9;11104:7;11100:23;11096:32;11093:119;;;11131:79;;:::i;:::-;11093:119;11251:1;11276:61;11329:7;11320:6;11309:9;11305:22;11276:61;:::i;:::-;11266:71;;11222:125;11009:345;;;;:::o;11360:182::-;11500:34;11496:1;11488:6;11484:14;11477:58;11360:182;:::o;11548:366::-;11690:3;11711:67;11775:2;11770:3;11711:67;:::i;:::-;11704:74;;11787:93;11876:3;11787:93;:::i;:::-;11905:2;11900:3;11896:12;11889:19;;11548:366;;;:::o;11920:419::-;12086:4;12124:2;12113:9;12109:18;12101:26;;12173:9;12167:4;12163:20;12159:1;12148:9;12144:17;12137:47;12201:131;12327:4;12201:131;:::i;:::-;12193:139;;11920:419;;;:::o;12345:180::-;12393:77;12390:1;12383:88;12490:4;12487:1;12480:15;12514:4;12511:1;12504:15;12531:180;12579:77;12576:1;12569:88;12676:4;12673:1;12666:15;12700:4;12697:1;12690:15;12717:233;12756:3;12779:24;12797:5;12779:24;:::i;:::-;12770:33;;12825:66;12818:5;12815:77;12812:103;;12895:18;;:::i;:::-;12812:103;12942:1;12935:5;12931:13;12924:20;;12717:233;;;:::o;12956:173::-;13096:25;13092:1;13084:6;13080:14;13073:49;12956:173;:::o;13135:366::-;13277:3;13298:67;13362:2;13357:3;13298:67;:::i;:::-;13291:74;;13374:93;13463:3;13374:93;:::i;:::-;13492:2;13487:3;13483:12;13476:19;;13135:366;;;:::o;13507:419::-;13673:4;13711:2;13700:9;13696:18;13688:26;;13760:9;13754:4;13750:20;13746:1;13735:9;13731:17;13724:47;13788:131;13914:4;13788:131;:::i;:::-;13780:139;;13507:419;;;:::o;13932:305::-;13972:3;13991:20;14009:1;13991:20;:::i;:::-;13986:25;;14025:20;14043:1;14025:20;:::i;:::-;14020:25;;14179:1;14111:66;14107:74;14104:1;14101:81;14098:107;;;14185:18;;:::i;:::-;14098:107;14229:1;14226;14222:9;14215:16;;13932:305;;;;:::o;14243:348::-;14283:7;14306:20;14324:1;14306:20;:::i;:::-;14301:25;;14340:20;14358:1;14340:20;:::i;:::-;14335:25;;14528:1;14460:66;14456:74;14453:1;14450:81;14445:1;14438:9;14431:17;14427:105;14424:131;;;14535:18;;:::i;:::-;14424:131;14583:1;14580;14576:9;14565:20;;14243:348;;;;:::o;14597:180::-;14645:77;14642:1;14635:88;14742:4;14739:1;14732:15;14766:4;14763:1;14756:15;14783:185;14823:1;14840:20;14858:1;14840:20;:::i;:::-;14835:25;;14874:20;14892:1;14874:20;:::i;:::-;14869:25;;14913:1;14903:35;;14918:18;;:::i;:::-;14903:35;14960:1;14957;14953:9;14948:14;;14783:185;;;;:::o;14974:220::-;15114:34;15110:1;15102:6;15098:14;15091:58;15183:3;15178:2;15170:6;15166:15;15159:28;14974:220;:::o;15200:366::-;15342:3;15363:67;15427:2;15422:3;15363:67;:::i;:::-;15356:74;;15439:93;15528:3;15439:93;:::i;:::-;15557:2;15552:3;15548:12;15541:19;;15200:366;;;:::o;15572:419::-;15738:4;15776:2;15765:9;15761:18;15753:26;;15825:9;15819:4;15815:20;15811:1;15800:9;15796:17;15789:47;15853:131;15979:4;15853:131;:::i;:::-;15845:139;;15572:419;;;:::o;15997:223::-;16137:34;16133:1;16125:6;16121:14;16114:58;16206:6;16201:2;16193:6;16189:15;16182:31;15997:223;:::o;16226:366::-;16368:3;16389:67;16453:2;16448:3;16389:67;:::i;:::-;16382:74;;16465:93;16554:3;16465:93;:::i;:::-;16583:2;16578:3;16574:12;16567:19;;16226:366;;;:::o;16598:419::-;16764:4;16802:2;16791:9;16787:18;16779:26;;16851:9;16845:4;16841:20;16837:1;16826:9;16822:17;16815:47;16879:131;17005:4;16879:131;:::i;:::-;16871:139;;16598:419;;;:::o;17023:221::-;17163:34;17159:1;17151:6;17147:14;17140:58;17232:4;17227:2;17219:6;17215:15;17208:29;17023:221;:::o;17250:366::-;17392:3;17413:67;17477:2;17472:3;17413:67;:::i;:::-;17406:74;;17489:93;17578:3;17489:93;:::i;:::-;17607:2;17602:3;17598:12;17591:19;;17250:366;;;:::o;17622:419::-;17788:4;17826:2;17815:9;17811:18;17803:26;;17875:9;17869:4;17865:20;17861:1;17850:9;17846:17;17839:47;17903:131;18029:4;17903:131;:::i;:::-;17895:139;;17622:419;;;:::o;18047:224::-;18187:34;18183:1;18175:6;18171:14;18164:58;18256:7;18251:2;18243:6;18239:15;18232:32;18047:224;:::o;18277:366::-;18419:3;18440:67;18504:2;18499:3;18440:67;:::i;:::-;18433:74;;18516:93;18605:3;18516:93;:::i;:::-;18634:2;18629:3;18625:12;18618:19;;18277:366;;;:::o;18649:419::-;18815:4;18853:2;18842:9;18838:18;18830:26;;18902:9;18896:4;18892:20;18888:1;18877:9;18873:17;18866:47;18930:131;19056:4;18930:131;:::i;:::-;18922:139;;18649:419;;;:::o;19074:222::-;19214:34;19210:1;19202:6;19198:14;19191:58;19283:5;19278:2;19270:6;19266:15;19259:30;19074:222;:::o;19302:366::-;19444:3;19465:67;19529:2;19524:3;19465:67;:::i;:::-;19458:74;;19541:93;19630:3;19541:93;:::i;:::-;19659:2;19654:3;19650:12;19643:19;;19302:366;;;:::o;19674:419::-;19840:4;19878:2;19867:9;19863:18;19855:26;;19927:9;19921:4;19917:20;19913:1;19902:9;19898:17;19891:47;19955:131;20081:4;19955:131;:::i;:::-;19947:139;;19674:419;;;:::o;20099:228::-;20239:34;20235:1;20227:6;20223:14;20216:58;20308:11;20303:2;20295:6;20291:15;20284:36;20099:228;:::o;20333:366::-;20475:3;20496:67;20560:2;20555:3;20496:67;:::i;:::-;20489:74;;20572:93;20661:3;20572:93;:::i;:::-;20690:2;20685:3;20681:12;20674:19;;20333:366;;;:::o;20705:419::-;20871:4;20909:2;20898:9;20894:18;20886:26;;20958:9;20952:4;20948:20;20944:1;20933:9;20929:17;20922:47;20986:131;21112:4;20986:131;:::i;:::-;20978:139;;20705:419;;;:::o;21130:227::-;21270:34;21266:1;21258:6;21254:14;21247:58;21339:10;21334:2;21326:6;21322:15;21315:35;21130:227;:::o;21363:366::-;21505:3;21526:67;21590:2;21585:3;21526:67;:::i;:::-;21519:74;;21602:93;21691:3;21602:93;:::i;:::-;21720:2;21715:3;21711:12;21704:19;;21363:366;;;:::o;21735:419::-;21901:4;21939:2;21928:9;21924:18;21916:26;;21988:9;21982:4;21978:20;21974:1;21963:9;21959:17;21952:47;22016:131;22142:4;22016:131;:::i;:::-;22008:139;;21735:419;;;:::o;22160:191::-;22200:4;22220:20;22238:1;22220:20;:::i;:::-;22215:25;;22254:20;22272:1;22254:20;:::i;:::-;22249:25;;22293:1;22290;22287:8;22284:34;;;22298:18;;:::i;:::-;22284:34;22343:1;22340;22336:9;22328:17;;22160:191;;;;:::o;22357:143::-;22414:5;22445:6;22439:13;22430:22;;22461:33;22488:5;22461:33;:::i;:::-;22357:143;;;;:::o;22506:351::-;22576:6;22625:2;22613:9;22604:7;22600:23;22596:32;22593:119;;;22631:79;;:::i;:::-;22593:119;22751:1;22776:64;22832:7;22823:6;22812:9;22808:22;22776:64;:::i;:::-;22766:74;;22722:128;22506:351;;;;:::o;22863:85::-;22908:7;22937:5;22926:16;;22863:85;;;:::o;22954:158::-;23012:9;23045:61;23063:42;23072:32;23098:5;23072:32;:::i;:::-;23063:42;:::i;:::-;23045:61;:::i;:::-;23032:74;;22954:158;;;:::o;23118:147::-;23213:45;23252:5;23213:45;:::i;:::-;23208:3;23201:58;23118:147;;:::o;23271:114::-;23338:6;23372:5;23366:12;23356:22;;23271:114;;;:::o;23391:184::-;23490:11;23524:6;23519:3;23512:19;23564:4;23559:3;23555:14;23540:29;;23391:184;;;;:::o;23581:132::-;23648:4;23671:3;23663:11;;23701:4;23696:3;23692:14;23684:22;;23581:132;;;:::o;23719:108::-;23796:24;23814:5;23796:24;:::i;:::-;23791:3;23784:37;23719:108;;:::o;23833:179::-;23902:10;23923:46;23965:3;23957:6;23923:46;:::i;:::-;24001:4;23996:3;23992:14;23978:28;;23833:179;;;;:::o;24018:113::-;24088:4;24120;24115:3;24111:14;24103:22;;24018:113;;;:::o;24167:732::-;24286:3;24315:54;24363:5;24315:54;:::i;:::-;24385:86;24464:6;24459:3;24385:86;:::i;:::-;24378:93;;24495:56;24545:5;24495:56;:::i;:::-;24574:7;24605:1;24590:284;24615:6;24612:1;24609:13;24590:284;;;24691:6;24685:13;24718:63;24777:3;24762:13;24718:63;:::i;:::-;24711:70;;24804:60;24857:6;24804:60;:::i;:::-;24794:70;;24650:224;24637:1;24634;24630:9;24625:14;;24590:284;;;24594:14;24890:3;24883:10;;24291:608;;;24167:732;;;;:::o;24905:831::-;25168:4;25206:3;25195:9;25191:19;25183:27;;25220:71;25288:1;25277:9;25273:17;25264:6;25220:71;:::i;:::-;25301:80;25377:2;25366:9;25362:18;25353:6;25301:80;:::i;:::-;25428:9;25422:4;25418:20;25413:2;25402:9;25398:18;25391:48;25456:108;25559:4;25550:6;25456:108;:::i;:::-;25448:116;;25574:72;25642:2;25631:9;25627:18;25618:6;25574:72;:::i;:::-;25656:73;25724:3;25713:9;25709:19;25700:6;25656:73;:::i;:::-;24905:831;;;;;;;;:::o;25742:807::-;25991:4;26029:3;26018:9;26014:19;26006:27;;26043:71;26111:1;26100:9;26096:17;26087:6;26043:71;:::i;:::-;26124:72;26192:2;26181:9;26177:18;26168:6;26124:72;:::i;:::-;26206:80;26282:2;26271:9;26267:18;26258:6;26206:80;:::i;:::-;26296;26372:2;26361:9;26357:18;26348:6;26296:80;:::i;:::-;26386:73;26454:3;26443:9;26439:19;26430:6;26386:73;:::i;:::-;26469;26537:3;26526:9;26522:19;26513:6;26469:73;:::i;:::-;25742:807;;;;;;;;;:::o;26555:663::-;26643:6;26651;26659;26708:2;26696:9;26687:7;26683:23;26679:32;26676:119;;;26714:79;;:::i;:::-;26676:119;26834:1;26859:64;26915:7;26906:6;26895:9;26891:22;26859:64;:::i;:::-;26849:74;;26805:128;26972:2;26998:64;27054:7;27045:6;27034:9;27030:22;26998:64;:::i;:::-;26988:74;;26943:129;27111:2;27137:64;27193:7;27184:6;27173:9;27169:22;27137:64;:::i;:::-;27127:74;;27082:129;26555:663;;;;;:::o;27224:177::-;27364:29;27360:1;27352:6;27348:14;27341:53;27224:177;:::o;27407:366::-;27549:3;27570:67;27634:2;27629:3;27570:67;:::i;:::-;27563:74;;27646:93;27735:3;27646:93;:::i;:::-;27764:2;27759:3;27755:12;27748:19;;27407:366;;;:::o;27779:419::-;27945:4;27983:2;27972:9;27968:18;27960:26;;28032:9;28026:4;28022:20;28018:1;28007:9;28003:17;27996:47;28060:131;28186:4;28060:131;:::i;:::-;28052:139;;27779:419;;;:::o

Swarm Source

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