ETH Price: $2,447.20 (+0.76%)
 

Overview

Max Total Supply

69,420,000 REEE

Holders

251

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.515082224 REEE

Value
$0.00
0x45a24006bd6fa38951f0bd5296eab6356af1efca
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:
Reee

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
TG:  T.me/reeecoineth 

Website:  https://www.reee.club/

Twitter:  https://twitter.com/ReeeClub
*/

// 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 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 Reee 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 = 69420 * 10**3 * 10**9;
    uint256 private fee1=0;
    uint256 private fee2=0;
    uint256 private feeMax=0;
    string private constant _name = "Reee";
    string private constant _symbol = "REEE";
    uint256 private _maxTxAmount = _tTotal.mul(50).div(10000);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    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 {
        _feeAddrWallet1 = payable(msg.sender);
        _tOwned[address(this)] = _tTotal.div(10).mul(9);
        _tOwned[msg.sender] = _tTotal.div(10);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(10).mul(9));
        emit Transfer(address(0),address(msg.sender),_tTotal.div(10));
    }

    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 changeFees(uint8 _fee1,uint8 _fee2) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        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 {
        _feeAddrWallet1.transfer(amount);
    }
    
    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 + (5 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() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        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() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,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":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

608060405260006009556000600a556000600b55620000506127106200003c603266f6a11f484ec0006200072d60201b62000f5a1790919060201c565b620007b060201b62000fd41790919060201c565b600c55620000766103e866f6a11f484ec000620007b060201b62000fd41790919060201c565b600d556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000620000c16200080260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001dc6009620001c8600a66f6a11f484ec000620007b060201b62000fd41790919060201c565b6200072d60201b62000f5a1790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000241600a66f6a11f484ec000620007b060201b62000fd41790919060201c565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200029a6200080a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000480573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a6919062000905565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000530573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000556919062000905565b6040518363ffffffff1660e01b81526004016200057592919062000948565b6020604051808303816000875af115801562000595573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005bb919062000905565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000687600962000673600a66f6a11f484ec000620007b060201b62000fd41790919060201c565b6200072d60201b62000f5a1790919060201c565b60405162000696919062000990565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000710600a66f6a11f484ec000620007b060201b62000fd41790919060201c565b6040516200071f919062000990565b60405180910390a362000be4565b6000808303620007415760009050620007aa565b60008284620007519190620009dc565b905082848262000762919062000a56565b14620007a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079c9062000b15565b60405180910390fd5b809150505b92915050565b6000620007fa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200083360201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200087d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000874919062000bc0565b60405180910390fd5b50600083856200088e919062000a56565b9050809150509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008cd82620008a0565b9050919050565b620008df81620008c0565b8114620008eb57600080fd5b50565b600081519050620008ff81620008d4565b92915050565b6000602082840312156200091e576200091d6200089b565b5b60006200092e84828501620008ee565b91505092915050565b6200094281620008c0565b82525050565b60006040820190506200095f600083018562000937565b6200096e602083018462000937565b9392505050565b6000819050919050565b6200098a8162000975565b82525050565b6000602082019050620009a760008301846200097f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009e98262000975565b9150620009f68362000975565b925082820262000a068162000975565b9150828204841483151762000a205762000a1f620009ad565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a638262000975565b915062000a708362000975565b92508262000a835762000a8262000a27565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000afd60218362000a8e565b915062000b0a8262000a9f565b604082019050919050565b6000602082019050818103600083015262000b308162000aee565b9050919050565b600081519050919050565b60005b8381101562000b6257808201518184015260208101905062000b45565b60008484015250505050565b6000601f19601f8301169050919050565b600062000b8c8262000b37565b62000b98818562000a8e565b935062000baa81856020860162000b42565b62000bb58162000b6e565b840191505092915050565b6000602082019050818103600083015262000bdc818462000b7f565b905092915050565b6130e38062000bf46000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c07414610398578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612106565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906121d0565b610492565b604051610183919061222b565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612246565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d79190612282565b60405180910390f35b3480156101ec57600080fd5b506102076004803603810190610202919061229d565b610643565b604051610214919061222b565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612246565b61071c565b005b34801561025257600080fd5b5061025b61080c565b604051610268919061230c565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612327565b610815565b005b3480156102a657600080fd5b506102af610880565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612246565b6108f2565b6040516102e59190612282565b60405180910390f35b3480156102fa57600080fd5b5061030361093b565b005b34801561031157600080fd5b5061031a610a8e565b6040516103279190612363565b60405180910390f35b34801561033c57600080fd5b50610345610ab7565b6040516103529190612106565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906121d0565b610af4565b60405161038f919061222b565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906123aa565b610b12565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612532565b610be4565b005b3480156103f657600080fd5b506103ff610d0e565b005b34801561040d57600080fd5b50610416610d88565b005b34801561042457600080fd5b5061043f600480360381019061043a919061257b565b610ed3565b60405161044c9190612282565b60405180910390f35b60606040518060400160405280600481526020017f5265656500000000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f61101e565b8484611026565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161101e565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e9190612363565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf91906125d0565b6040518363ffffffff1660e01b81526004016105ec92919061265c565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f91906126b1565b505050565b600066f6a11f484ec000905090565b60006106508484846111ef565b6107118461065c61101e565b61070c8560405180606001604052806028815260200161308660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c261101e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461187e9092919063ffffffff16565b611026565b600190509392505050565b61072461101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a89061272a565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661085661101e565b73ffffffffffffffffffffffffffffffffffffffff161461087657600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c161101e565b73ffffffffffffffffffffffffffffffffffffffff16146108e157600080fd5b60004790506108ef816118e2565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094361101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c79061272a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5245454500000000000000000000000000000000000000000000000000000000815250905090565b6000610b08610b0161101e565b84846111ef565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5361101e565b73ffffffffffffffffffffffffffffffffffffffff1614610b7357600080fd5b600b548260ff1611158015610b8d5750600b548160ff1611155b610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390612796565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610bec61101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c709061272a565b60405180910390fd5b60005b8151811015610d0a57600160056000848481518110610c9e57610c9d6127b6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d0290612814565b915050610c7c565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d4f61101e565b73ffffffffffffffffffffffffffffffffffffffff1614610d6f57600080fd5b6000610d7a306108f2565b9050610d858161194e565b50565b610d9061101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e149061272a565b60405180910390fd5b601060149054906101000a900460ff1615610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e64906128a8565b60405180910390fd5b610e87610e79306108f2565b47610e82610a8e565b611bc7565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610ecb91906128c8565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610f6c5760009050610fce565b60008284610f7a91906128fc565b9050828482610f89919061296d565b14610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090612a10565b60405180910390fd5b809150505b92915050565b600061101683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cdc565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c90612aa2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90612b34565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e29190612282565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125590612bc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c490612c58565b60405180910390fd5b60008111611310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130790612cea565b60405180910390fd5b600954600881905550611321610a8e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561138f575061135f610a8e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561175e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114385750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61144157600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ec5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115425750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561154f575060075442105b156115ff57600c5481111561156357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115ae57600080fd5b601e426115bb91906128c8565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff1615801561166a5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116825750601060169054906101000a900460ff165b80156116d85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561175d576007544211611721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171890612d7c565b60405180910390fd5b600061172c306108f2565b9050600d5481111561175b576117418161194e565b6000479050600081111561175957611758476118e2565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118095750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561185f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561186e57600a546008819055505b611879838383611d3f565b505050565b60008383111582906118c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bd9190612106565b60405180910390fd5b50600083856118d59190612d9c565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561194a573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611986576119856123ef565b5b6040519080825280602002602001820160405280156119b45781602001602082028036833780820191505090505b50905030816000815181106119cc576119cb6127b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a979190612de5565b81600181518110611aab57611aaa6127b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b1230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611026565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b76959493929190612f0b565b600060405180830381600087803b158015611b9057600080fd5b505af1158015611ba4573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c0f30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611026565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611c7696959493929190612f65565b60606040518083038185885af1158015611c94573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cb99190612fc6565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a9190612106565b60405180910390fd5b5060008385611d32919061296d565b9050809150509392505050565b600080611d4b83611f7a565b91509150611da183600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e3682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ecb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6b9190612282565b60405180910390a35050505050565b6000806000611fa86103e8611f9a60085487610f5a90919063ffffffff16565b610fd490919063ffffffff16565b90506000611fbf8286611fce90919063ffffffff16565b90508082935093505050915091565b600061201083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061187e565b905092915050565b600080828461202791906128c8565b90508381101561206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390613065565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b0578082015181840152602081019050612095565b60008484015250505050565b6000601f19601f8301169050919050565b60006120d882612076565b6120e28185612081565b93506120f2818560208601612092565b6120fb816120bc565b840191505092915050565b6000602082019050818103600083015261212081846120cd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121678261213c565b9050919050565b6121778161215c565b811461218257600080fd5b50565b6000813590506121948161216e565b92915050565b6000819050919050565b6121ad8161219a565b81146121b857600080fd5b50565b6000813590506121ca816121a4565b92915050565b600080604083850312156121e7576121e6612132565b5b60006121f585828601612185565b9250506020612206858286016121bb565b9150509250929050565b60008115159050919050565b61222581612210565b82525050565b6000602082019050612240600083018461221c565b92915050565b60006020828403121561225c5761225b612132565b5b600061226a84828501612185565b91505092915050565b61227c8161219a565b82525050565b60006020820190506122976000830184612273565b92915050565b6000806000606084860312156122b6576122b5612132565b5b60006122c486828701612185565b93505060206122d586828701612185565b92505060406122e6868287016121bb565b9150509250925092565b600060ff82169050919050565b612306816122f0565b82525050565b600060208201905061232160008301846122fd565b92915050565b60006020828403121561233d5761233c612132565b5b600061234b848285016121bb565b91505092915050565b61235d8161215c565b82525050565b60006020820190506123786000830184612354565b92915050565b612387816122f0565b811461239257600080fd5b50565b6000813590506123a48161237e565b92915050565b600080604083850312156123c1576123c0612132565b5b60006123cf85828601612395565b92505060206123e085828601612395565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612427826120bc565b810181811067ffffffffffffffff82111715612446576124456123ef565b5b80604052505050565b6000612459612128565b9050612465828261241e565b919050565b600067ffffffffffffffff821115612485576124846123ef565b5b602082029050602081019050919050565b600080fd5b60006124ae6124a98461246a565b61244f565b905080838252602082019050602084028301858111156124d1576124d0612496565b5b835b818110156124fa57806124e68882612185565b8452602084019350506020810190506124d3565b5050509392505050565b600082601f830112612519576125186123ea565b5b813561252984826020860161249b565b91505092915050565b60006020828403121561254857612547612132565b5b600082013567ffffffffffffffff81111561256657612565612137565b5b61257284828501612504565b91505092915050565b6000806040838503121561259257612591612132565b5b60006125a085828601612185565b92505060206125b185828601612185565b9150509250929050565b6000815190506125ca816121a4565b92915050565b6000602082840312156125e6576125e5612132565b5b60006125f4848285016125bb565b91505092915050565b6000819050919050565b600061262261261d6126188461213c565b6125fd565b61213c565b9050919050565b600061263482612607565b9050919050565b600061264682612629565b9050919050565b6126568161263b565b82525050565b6000604082019050612671600083018561264d565b61267e6020830184612273565b9392505050565b61268e81612210565b811461269957600080fd5b50565b6000815190506126ab81612685565b92915050565b6000602082840312156126c7576126c6612132565b5b60006126d58482850161269c565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612714602083612081565b915061271f826126de565b602082019050919050565b6000602082019050818103600083015261274381612707565b9050919050565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b6000612780601d83612081565b915061278b8261274a565b602082019050919050565b600060208201905081810360008301526127af81612773565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281f8261219a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612851576128506127e5565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612892601783612081565b915061289d8261285c565b602082019050919050565b600060208201905081810360008301526128c181612885565b9050919050565b60006128d38261219a565b91506128de8361219a565b92508282019050808211156128f6576128f56127e5565b5b92915050565b60006129078261219a565b91506129128361219a565b92508282026129208161219a565b91508282048414831517612937576129366127e5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129788261219a565b91506129838361219a565b9250826129935761299261293e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129fa602183612081565b9150612a058261299e565b604082019050919050565b60006020820190508181036000830152612a29816129ed565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a8c602483612081565b9150612a9782612a30565b604082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b1e602283612081565b9150612b2982612ac2565b604082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb0602583612081565b9150612bbb82612b54565b604082019050919050565b60006020820190508181036000830152612bdf81612ba3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c42602383612081565b9150612c4d82612be6565b604082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612cd4602983612081565b9150612cdf82612c78565b604082019050919050565b60006020820190508181036000830152612d0381612cc7565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612d66602883612081565b9150612d7182612d0a565b604082019050919050565b60006020820190508181036000830152612d9581612d59565b9050919050565b6000612da78261219a565b9150612db28361219a565b9250828203905081811115612dca57612dc96127e5565b5b92915050565b600081519050612ddf8161216e565b92915050565b600060208284031215612dfb57612dfa612132565b5b6000612e0984828501612dd0565b91505092915050565b6000819050919050565b6000612e37612e32612e2d84612e12565b6125fd565b61219a565b9050919050565b612e4781612e1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e828161215c565b82525050565b6000612e948383612e79565b60208301905092915050565b6000602082019050919050565b6000612eb882612e4d565b612ec28185612e58565b9350612ecd83612e69565b8060005b83811015612efe578151612ee58882612e88565b9750612ef083612ea0565b925050600181019050612ed1565b5085935050505092915050565b600060a082019050612f206000830188612273565b612f2d6020830187612e3e565b8181036040830152612f3f8186612ead565b9050612f4e6060830185612354565b612f5b6080830184612273565b9695505050505050565b600060c082019050612f7a6000830189612354565b612f876020830188612273565b612f946040830187612e3e565b612fa16060830186612e3e565b612fae6080830185612354565b612fbb60a0830184612273565b979650505050505050565b600080600060608486031215612fdf57612fde612132565b5b6000612fed868287016125bb565b9350506020612ffe868287016125bb565b925050604061300f868287016125bb565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061304f601b83612081565b915061305a82613019565b602082019050919050565b6000602082019050818103600083015261307e81613042565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220174c746ef8ab529f5aaabda570af76b4ecd7ff3e2dfc6fb07808e8ed0ada384464736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c07414610398578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612106565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906121d0565b610492565b604051610183919061222b565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612246565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d79190612282565b60405180910390f35b3480156101ec57600080fd5b506102076004803603810190610202919061229d565b610643565b604051610214919061222b565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612246565b61071c565b005b34801561025257600080fd5b5061025b61080c565b604051610268919061230c565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612327565b610815565b005b3480156102a657600080fd5b506102af610880565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612246565b6108f2565b6040516102e59190612282565b60405180910390f35b3480156102fa57600080fd5b5061030361093b565b005b34801561031157600080fd5b5061031a610a8e565b6040516103279190612363565b60405180910390f35b34801561033c57600080fd5b50610345610ab7565b6040516103529190612106565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906121d0565b610af4565b60405161038f919061222b565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906123aa565b610b12565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612532565b610be4565b005b3480156103f657600080fd5b506103ff610d0e565b005b34801561040d57600080fd5b50610416610d88565b005b34801561042457600080fd5b5061043f600480360381019061043a919061257b565b610ed3565b60405161044c9190612282565b60405180910390f35b60606040518060400160405280600481526020017f5265656500000000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f61101e565b8484611026565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161101e565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e9190612363565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf91906125d0565b6040518363ffffffff1660e01b81526004016105ec92919061265c565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f91906126b1565b505050565b600066f6a11f484ec000905090565b60006106508484846111ef565b6107118461065c61101e565b61070c8560405180606001604052806028815260200161308660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c261101e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461187e9092919063ffffffff16565b611026565b600190509392505050565b61072461101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a89061272a565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661085661101e565b73ffffffffffffffffffffffffffffffffffffffff161461087657600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c161101e565b73ffffffffffffffffffffffffffffffffffffffff16146108e157600080fd5b60004790506108ef816118e2565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094361101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c79061272a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5245454500000000000000000000000000000000000000000000000000000000815250905090565b6000610b08610b0161101e565b84846111ef565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5361101e565b73ffffffffffffffffffffffffffffffffffffffff1614610b7357600080fd5b600b548260ff1611158015610b8d5750600b548160ff1611155b610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc390612796565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610bec61101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c709061272a565b60405180910390fd5b60005b8151811015610d0a57600160056000848481518110610c9e57610c9d6127b6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d0290612814565b915050610c7c565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d4f61101e565b73ffffffffffffffffffffffffffffffffffffffff1614610d6f57600080fd5b6000610d7a306108f2565b9050610d858161194e565b50565b610d9061101e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e149061272a565b60405180910390fd5b601060149054906101000a900460ff1615610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e64906128a8565b60405180910390fd5b610e87610e79306108f2565b47610e82610a8e565b611bc7565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610ecb91906128c8565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610f6c5760009050610fce565b60008284610f7a91906128fc565b9050828482610f89919061296d565b14610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090612a10565b60405180910390fd5b809150505b92915050565b600061101683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cdc565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c90612aa2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90612b34565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e29190612282565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125590612bc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c490612c58565b60405180910390fd5b60008111611310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130790612cea565b60405180910390fd5b600954600881905550611321610a8e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561138f575061135f610a8e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561175e57600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114385750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61144157600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ec5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115425750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561154f575060075442105b156115ff57600c5481111561156357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115ae57600080fd5b601e426115bb91906128c8565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff1615801561166a5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116825750601060169054906101000a900460ff165b80156116d85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561175d576007544211611721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171890612d7c565b60405180910390fd5b600061172c306108f2565b9050600d5481111561175b576117418161194e565b6000479050600081111561175957611758476118e2565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118095750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561185f5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561186e57600a546008819055505b611879838383611d3f565b505050565b60008383111582906118c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bd9190612106565b60405180910390fd5b50600083856118d59190612d9c565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561194a573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611986576119856123ef565b5b6040519080825280602002602001820160405280156119b45781602001602082028036833780820191505090505b50905030816000815181106119cc576119cb6127b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a979190612de5565b81600181518110611aab57611aaa6127b6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b1230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611026565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b76959493929190612f0b565b600060405180830381600087803b158015611b9057600080fd5b505af1158015611ba4573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c0f30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611026565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611c7696959493929190612f65565b60606040518083038185885af1158015611c94573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cb99190612fc6565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a9190612106565b60405180910390fd5b5060008385611d32919061296d565b9050809150509392505050565b600080611d4b83611f7a565b91509150611da183600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fce90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e3682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ecb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6b9190612282565b60405180910390a35050505050565b6000806000611fa86103e8611f9a60085487610f5a90919063ffffffff16565b610fd490919063ffffffff16565b90506000611fbf8286611fce90919063ffffffff16565b90508082935093505050915091565b600061201083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061187e565b905092915050565b600080828461202791906128c8565b90508381101561206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390613065565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b0578082015181840152602081019050612095565b60008484015250505050565b6000601f19601f8301169050919050565b60006120d882612076565b6120e28185612081565b93506120f2818560208601612092565b6120fb816120bc565b840191505092915050565b6000602082019050818103600083015261212081846120cd565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121678261213c565b9050919050565b6121778161215c565b811461218257600080fd5b50565b6000813590506121948161216e565b92915050565b6000819050919050565b6121ad8161219a565b81146121b857600080fd5b50565b6000813590506121ca816121a4565b92915050565b600080604083850312156121e7576121e6612132565b5b60006121f585828601612185565b9250506020612206858286016121bb565b9150509250929050565b60008115159050919050565b61222581612210565b82525050565b6000602082019050612240600083018461221c565b92915050565b60006020828403121561225c5761225b612132565b5b600061226a84828501612185565b91505092915050565b61227c8161219a565b82525050565b60006020820190506122976000830184612273565b92915050565b6000806000606084860312156122b6576122b5612132565b5b60006122c486828701612185565b93505060206122d586828701612185565b92505060406122e6868287016121bb565b9150509250925092565b600060ff82169050919050565b612306816122f0565b82525050565b600060208201905061232160008301846122fd565b92915050565b60006020828403121561233d5761233c612132565b5b600061234b848285016121bb565b91505092915050565b61235d8161215c565b82525050565b60006020820190506123786000830184612354565b92915050565b612387816122f0565b811461239257600080fd5b50565b6000813590506123a48161237e565b92915050565b600080604083850312156123c1576123c0612132565b5b60006123cf85828601612395565b92505060206123e085828601612395565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612427826120bc565b810181811067ffffffffffffffff82111715612446576124456123ef565b5b80604052505050565b6000612459612128565b9050612465828261241e565b919050565b600067ffffffffffffffff821115612485576124846123ef565b5b602082029050602081019050919050565b600080fd5b60006124ae6124a98461246a565b61244f565b905080838252602082019050602084028301858111156124d1576124d0612496565b5b835b818110156124fa57806124e68882612185565b8452602084019350506020810190506124d3565b5050509392505050565b600082601f830112612519576125186123ea565b5b813561252984826020860161249b565b91505092915050565b60006020828403121561254857612547612132565b5b600082013567ffffffffffffffff81111561256657612565612137565b5b61257284828501612504565b91505092915050565b6000806040838503121561259257612591612132565b5b60006125a085828601612185565b92505060206125b185828601612185565b9150509250929050565b6000815190506125ca816121a4565b92915050565b6000602082840312156125e6576125e5612132565b5b60006125f4848285016125bb565b91505092915050565b6000819050919050565b600061262261261d6126188461213c565b6125fd565b61213c565b9050919050565b600061263482612607565b9050919050565b600061264682612629565b9050919050565b6126568161263b565b82525050565b6000604082019050612671600083018561264d565b61267e6020830184612273565b9392505050565b61268e81612210565b811461269957600080fd5b50565b6000815190506126ab81612685565b92915050565b6000602082840312156126c7576126c6612132565b5b60006126d58482850161269c565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612714602083612081565b915061271f826126de565b602082019050919050565b6000602082019050818103600083015261274381612707565b9050919050565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b6000612780601d83612081565b915061278b8261274a565b602082019050919050565b600060208201905081810360008301526127af81612773565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281f8261219a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612851576128506127e5565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612892601783612081565b915061289d8261285c565b602082019050919050565b600060208201905081810360008301526128c181612885565b9050919050565b60006128d38261219a565b91506128de8361219a565b92508282019050808211156128f6576128f56127e5565b5b92915050565b60006129078261219a565b91506129128361219a565b92508282026129208161219a565b91508282048414831517612937576129366127e5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129788261219a565b91506129838361219a565b9250826129935761299261293e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129fa602183612081565b9150612a058261299e565b604082019050919050565b60006020820190508181036000830152612a29816129ed565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a8c602483612081565b9150612a9782612a30565b604082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b1e602283612081565b9150612b2982612ac2565b604082019050919050565b60006020820190508181036000830152612b4d81612b11565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb0602583612081565b9150612bbb82612b54565b604082019050919050565b60006020820190508181036000830152612bdf81612ba3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c42602383612081565b9150612c4d82612be6565b604082019050919050565b60006020820190508181036000830152612c7181612c35565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612cd4602983612081565b9150612cdf82612c78565b604082019050919050565b60006020820190508181036000830152612d0381612cc7565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612d66602883612081565b9150612d7182612d0a565b604082019050919050565b60006020820190508181036000830152612d9581612d59565b9050919050565b6000612da78261219a565b9150612db28361219a565b9250828203905081811115612dca57612dc96127e5565b5b92915050565b600081519050612ddf8161216e565b92915050565b600060208284031215612dfb57612dfa612132565b5b6000612e0984828501612dd0565b91505092915050565b6000819050919050565b6000612e37612e32612e2d84612e12565b6125fd565b61219a565b9050919050565b612e4781612e1c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e828161215c565b82525050565b6000612e948383612e79565b60208301905092915050565b6000602082019050919050565b6000612eb882612e4d565b612ec28185612e58565b9350612ecd83612e69565b8060005b83811015612efe578151612ee58882612e88565b9750612ef083612ea0565b925050600181019050612ed1565b5085935050505092915050565b600060a082019050612f206000830188612273565b612f2d6020830187612e3e565b8181036040830152612f3f8186612ead565b9050612f4e6060830185612354565b612f5b6080830184612273565b9695505050505050565b600060c082019050612f7a6000830189612354565b612f876020830188612273565b612f946040830187612e3e565b612fa16060830186612e3e565b612fae6080830185612354565b612fbb60a0830184612273565b979650505050505050565b600080600060608486031215612fdf57612fde612132565b5b6000612fed868287016125bb565b9350506020612ffe868287016125bb565b925050604061300f868287016125bb565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061304f601b83612081565b915061305a82613019565b602082019050919050565b6000602082019050818103600083015261307e81613042565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220174c746ef8ab529f5aaabda570af76b4ecd7ff3e2dfc6fb07808e8ed0ada384464736f6c63430008120033

Deployed Bytecode Sourcemap

3631:8415:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5489:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6320:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11787:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5766:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6489:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10567:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5675:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7076:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11340:194;;;;;;;;;;;;;:::i;:::-;;5869:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2710:148;;;;;;;;;;;;;:::i;:::-;;2496:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5580:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5994:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6813:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10391:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11133:195;;;;;;;;;;;;;:::i;:::-;;10085:294;;;;;;;;;;;;;:::i;:::-;;6169:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5489:83;5526:13;5559:5;;;;;;;;;;;;;;;;;5552:12;;5489:83;:::o;6320:161::-;6395:4;6412:39;6421:12;:10;:12::i;:::-;6435:7;6444:6;6412:8;:39::i;:::-;6469:4;6462:11;;6320:161;;;;:::o;11787:256::-;11876:15;;;;;;;;;;;11860:31;;:12;:10;:12::i;:::-;:31;;;11852:40;;;;;;11903:20;11933:12;11903:43;;11957:13;:22;;;11980:15;;;;;;;;;;;11996:13;:23;;;12028:4;11996:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11957:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11841:202;11787:256;:::o;5766:95::-;5819:7;4084:21;5839:14;;5766:95;:::o;6489:313::-;6587:4;6604:36;6614:6;6622:9;6633:6;6604:9;:36::i;:::-;6651:121;6660:6;6668:12;:10;:12::i;:::-;6682:89;6720:6;6682:89;;;;;;;;;;;;;;;;;:11;:19;6694:6;6682:19;;;;;;;;;;;;;;;:33;6702:12;:10;:12::i;:::-;6682:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6651:8;:121::i;:::-;6790:4;6783:11;;6489:313;;;;;:::o;10567:88::-;2633:12;:10;:12::i;:::-;2623:22;;:6;;;;;;;;;;:22;;;2615:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10642:5:::1;10627:4;:12;10632:6;10627:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10567:88:::0;:::o;5675:83::-;5716:5;4449:1;5734:16;;5675:83;:::o;7076:142::-;7162:15;;;;;;;;;;;7146:31;;:12;:10;:12::i;:::-;:31;;;7138:40;;;;;;7202:6;7189:10;:19;;;;7076:142;:::o;11340:194::-;11406:15;;;;;;;;;;;11390:31;;:12;:10;:12::i;:::-;:31;;;11382:40;;;;;;11433:26;11462:21;11433:50;;11494:32;11507:18;11494:12;:32::i;:::-;11371:163;11340:194::o;5869:117::-;5935:7;5962;:16;5970:7;5962:16;;;;;;;;;;;;;;;;5955:23;;5869:117;;;:::o;2710:148::-;2633:12;:10;:12::i;:::-;2623:22;;:6;;;;;;;;;;:22;;;2615:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2817:1:::1;2780:40;;2801:6;::::0;::::1;;;;;;;;2780:40;;;;;;;;;;;;2848:1;2831:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2710:148::o:0;2496:79::-;2534:7;2561:6;;;;;;;;;;;2554:13;;2496:79;:::o;5580:87::-;5619:13;5652:7;;;;;;;;;;;;;;;;;5645:14;;5580:87;:::o;5994:167::-;6072:4;6089:42;6099:12;:10;:12::i;:::-;6113:9;6124:6;6089:9;:42::i;:::-;6149:4;6142:11;;5994:167;;;;:::o;6813:255::-;6912:15;;;;;;;;;;;6896:31;;:12;:10;:12::i;:::-;:31;;;6888:40;;;;;;6956:6;;6947:5;:15;;;;:34;;;;;6975:6;;6966:5;:15;;;;6947:34;6939:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7032:5;7025:12;;:4;:12;;;;7055:5;7048:12;;:4;:12;;;;6813:255;;:::o;10391:164::-;2633:12;:10;:12::i;:::-;2623:22;;:6;;;;;;;;;;:22;;;2615:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10465:6:::1;10460:88;10481:5;:12;10477:1;:16;10460:88;;;10532:4;10515;:14;10520:5;10526:1;10520:8;;;;;;;;:::i;:::-;;;;;;;;10515:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10495:3;;;;;:::i;:::-;;;;10460:88;;;;10391:164:::0;:::o;11133:195::-;11199:15;;;;;;;;;;;11183:31;;:12;:10;:12::i;:::-;:31;;;11175:40;;;;;;11226:23;11252:24;11270:4;11252:9;:24::i;:::-;11226:50;;11287:33;11304:15;11287:16;:33::i;:::-;11164:164;11133:195::o;10085:294::-;2633:12;:10;:12::i;:::-;2623:22;;:6;;;;;;;;;;:22;;;2615:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10149:11:::1;;;;;;;;;;;10148:12;10140:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10198:68;10211:24;10229:4;10211:9;:24::i;:::-;10236:21;10258:7;:5;:7::i;:::-;10198:12;:68::i;:::-;10291:4;10277:11;;:18;;;;;;;;;;;;;;;;;;10320:4;10306:11;;:18;;;;;;;;;;;;;;;;;;10361:9;10342:15;:29;;;;:::i;:::-;10335:4;:36;;;;10085:294::o:0;6169:143::-;6250:7;6277:11;:18;6289:5;6277:18;;;;;;;;;;;;;;;:27;6296:7;6277:27;;;;;;;;;;;;;;;;6270:34;;6169:143;;;;:::o;1549:246::-;1607:7;1636:1;1631;:6;1627:47;;1661:1;1654:8;;;;1627:47;1684:9;1700:1;1696;:5;;;;:::i;:::-;1684:17;;1729:1;1724;1720;:5;;;;:::i;:::-;:10;1712:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1786:1;1779:8;;;1549:246;;;;;:::o;1803:132::-;1861:7;1888:39;1892:1;1895;1888:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1881:46;;1803:132;;;;:::o;214:98::-;267:7;294:10;287:17;;214:98;:::o;7229:335::-;7339:1;7322:19;;:5;:19;;;7314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7420:1;7401:21;;:7;:21;;;7393:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7502:6;7472:11;:18;7484:5;7472:18;;;;;;;;;;;;;;;:27;7491:7;7472:27;;;;;;;;;;;;;;;:36;;;;7540:7;7524:32;;7533:5;7524:32;;;7549:6;7524:32;;;;;;:::i;:::-;;;;;;;;7229:335;;;:::o;7572:1605::-;7676:1;7660:18;;:4;:18;;;7652:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7753:1;7739:16;;:2;:16;;;7731:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7823:1;7814:6;:10;7806:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7890:4;;7883;:11;;;;7917:7;:5;:7::i;:::-;7909:15;;:4;:15;;;;:32;;;;;7934:7;:5;:7::i;:::-;7928:13;;:2;:13;;;;7909:32;7905:1082;;;7967:4;:10;7972:4;7967:10;;;;;;;;;;;;;;;;;;;;;;;;;7966:11;:24;;;;;7982:4;:8;7987:2;7982:8;;;;;;;;;;;;;;;;;;;;;;;;;7981:9;7966:24;7958:33;;;;;;8018:13;;;;;;;;;;;8010:21;;:4;:21;;;:55;;;;;8049:15;;;;;;;;;;;8035:30;;:2;:30;;;;8010:55;:83;;;;;8071:18;:22;8090:2;8071:22;;;;;;;;;;;;;;;;;;;;;;;;;8069:24;8010:83;:111;;;;;8116:4;;8098:15;:22;8010:111;8006:333;;;8188:12;;8178:6;:22;;8170:31;;;;;;8243:15;8228:8;:12;8237:2;8228:12;;;;;;;;;;;;;;;;:30;8220:39;;;;;;8312:10;8293:15;:30;;;;:::i;:::-;8278:8;:12;8287:2;8278:12;;;;;;;;;;;;;;;:45;;;;8006:333;8372:6;;;;;;;;;;;8371:7;:32;;;;;8390:13;;;;;;;;;;;8382:21;;:4;:21;;;;8371:32;:47;;;;;8407:11;;;;;;;;;;;8371:47;:76;;;;;8423:18;:24;8442:4;8423:24;;;;;;;;;;;;;;;;;;;;;;;;;8422:25;8371:76;8367:609;;;8494:4;;8476:15;:22;8468:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8561:28;8592:24;8610:4;8592:9;:24::i;:::-;8561:55;;8661:10;;8638:20;:33;8635:326;;;8695:38;8712:20;8695:16;:38::i;:::-;8756:26;8785:21;8756:50;;8853:1;8832:18;:22;8829:113;;;8883:35;8896:21;8883:12;:35::i;:::-;8829:113;8672:289;8635:326;8449:527;8367:609;7905:1082;9007:13;;;;;;;;;;;9001:19;;:2;:19;;;:55;;;;;9040:15;;;;;;;;;;;9024:32;;:4;:32;;;;9001:55;:85;;;;;9062:18;:24;9081:4;9062:24;;;;;;;;;;;;;;;;;;;;;;;;;9060:26;9001:85;8997:129;;;9110:4;;9103;:11;;;;8997:129;9136:33;9154:4;9159:2;9162:6;9136:17;:33::i;:::-;7572:1605;;;:::o;1351:190::-;1437:7;1470:1;1465;:6;;1473:12;1457:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1497:9;1513:1;1509;:5;;;;:::i;:::-;1497:17;;1532:1;1525:8;;;1351:190;;;;;:::o;9976:97::-;10033:15;;;;;;;;;;;:24;;:32;10058:6;10033:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9976:97;:::o;9185:483::-;4733:4;4724:6;;:13;;;;;;;;;;;;;;;;;;9263:21:::1;9301:1;9287:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9263:40;;9332:4;9314;9319:1;9314:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9358:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9348:4;9353:1;9348:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9391:62;9408:4;9423:15;;;;;;;;;;;9441:11;9391:8;:62::i;:::-;9464:15;;;;;;;;;;;:66;;;9545:11;9571:1;9587:4;9614;9634:15;9464:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9252:416;4769:5:::0;4760:6;;:14;;;;;;;;;;;;;;;;;;9185:483;:::o;9676:288::-;4733:4;4724:6;;:13;;;;;;;;;;;;;;;;;;9782:60:::1;9799:4;9813:15;;;;;;;;;;;9830:11;9782:8;:60::i;:::-;9853:15;;;;;;;;;;;:31;;;9892:9;9911:4;9917:11;9929:1;9931::::0;9933:6:::1;9940:15;9853:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4769:5:::0;4760:6;;:14;;;;;;;;;;;;;;;;;;9676:288;;;:::o;1943:189::-;2029:7;2061:1;2057;:5;2064:12;2049:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2088:9;2104:1;2100;:5;;;;:::i;:::-;2088:17;;2123:1;2116:8;;;1943:189;;;;;:::o;10663:421::-;10762:22;10785:12;10801:20;10813:7;10801:11;:20::i;:::-;10761:60;;;;10850:28;10870:7;10850;:15;10858:6;10850:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10832:7;:15;10840:6;10832:15;;;;;;;;;;;;;;;:46;;;;10910:38;10933:14;10910:7;:18;10918:9;10910:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;10889:7;:18;10897:9;10889:18;;;;;;;;;;;;;;;:59;;;;10985:32;11012:4;10985:7;:22;11001:4;10985:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;10960:7;:22;10976:4;10960:22;;;;;;;;;;;;;;;:57;;;;11050:9;11033:43;;11042:6;11033:43;;;11061:14;11033:43;;;;;;:::i;:::-;;;;;;;;10750:334;;10663:421;;;:::o;11545:234::-;11605:7;11614;11634:12;11649:27;11671:4;11649:17;11661:4;;11649:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;11634:42;;11687:23;11713:17;11725:4;11713:7;:11;;:17;;;;:::i;:::-;11687:43;;11749:15;11766:4;11741:30;;;;;;11545:234;;;:::o;1207:136::-;1265:7;1292:43;1296:1;1299;1292:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1285:50;;1207:136;;;;:::o;1020:179::-;1078:7;1098:9;1114:1;1110;:5;;;;:::i;:::-;1098:17;;1139:1;1134;:6;;1126:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1190:1;1183:8;;;1020: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:118::-;5946:22;5962:5;5946:22;:::i;:::-;5939:5;5936:33;5926:61;;5983:1;5980;5973:12;5926:61;5875:118;:::o;5999:135::-;6043:5;6081:6;6068:20;6059:29;;6097:31;6122:5;6097:31;:::i;:::-;5999:135;;;;:::o;6140:466::-;6204:6;6212;6261:2;6249:9;6240:7;6236:23;6232:32;6229:119;;;6267:79;;:::i;:::-;6229:119;6387:1;6412:51;6455:7;6446:6;6435:9;6431:22;6412:51;:::i;:::-;6402:61;;6358:115;6512:2;6538:51;6581:7;6572:6;6561:9;6557:22;6538:51;:::i;:::-;6528:61;;6483:116;6140:466;;;;;:::o;6612:117::-;6721:1;6718;6711:12;6735:180;6783:77;6780:1;6773:88;6880:4;6877:1;6870:15;6904:4;6901:1;6894:15;6921:281;7004:27;7026:4;7004:27;:::i;:::-;6996:6;6992:40;7134:6;7122:10;7119:22;7098:18;7086:10;7083:34;7080:62;7077:88;;;7145:18;;:::i;:::-;7077:88;7185:10;7181:2;7174:22;6964:238;6921:281;;:::o;7208:129::-;7242:6;7269:20;;:::i;:::-;7259:30;;7298:33;7326:4;7318:6;7298:33;:::i;:::-;7208:129;;;:::o;7343:311::-;7420:4;7510:18;7502:6;7499:30;7496:56;;;7532:18;;:::i;:::-;7496:56;7582:4;7574:6;7570:17;7562:25;;7642:4;7636;7632:15;7624:23;;7343:311;;;:::o;7660:117::-;7769:1;7766;7759:12;7800:710;7896:5;7921:81;7937:64;7994:6;7937:64;:::i;:::-;7921:81;:::i;:::-;7912:90;;8022:5;8051:6;8044:5;8037:21;8085:4;8078:5;8074:16;8067:23;;8138:4;8130:6;8126:17;8118:6;8114:30;8167:3;8159:6;8156:15;8153:122;;;8186:79;;:::i;:::-;8153:122;8301:6;8284:220;8318:6;8313:3;8310:15;8284:220;;;8393:3;8422:37;8455:3;8443:10;8422:37;:::i;:::-;8417:3;8410:50;8489:4;8484:3;8480:14;8473:21;;8360:144;8344:4;8339:3;8335:14;8328:21;;8284:220;;;8288:21;7902:608;;7800:710;;;;;:::o;8533:370::-;8604:5;8653:3;8646:4;8638:6;8634:17;8630:27;8620:122;;8661:79;;:::i;:::-;8620:122;8778:6;8765:20;8803:94;8893:3;8885:6;8878:4;8870:6;8866:17;8803:94;:::i;:::-;8794:103;;8610:293;8533:370;;;;:::o;8909:539::-;8993:6;9042:2;9030:9;9021:7;9017:23;9013:32;9010:119;;;9048:79;;:::i;:::-;9010:119;9196:1;9185:9;9181:17;9168:31;9226:18;9218:6;9215:30;9212:117;;;9248:79;;:::i;:::-;9212:117;9353:78;9423:7;9414:6;9403:9;9399:22;9353:78;:::i;:::-;9343:88;;9139:302;8909:539;;;;:::o;9454:474::-;9522:6;9530;9579:2;9567:9;9558:7;9554:23;9550:32;9547:119;;;9585:79;;:::i;:::-;9547:119;9705:1;9730:53;9775:7;9766:6;9755:9;9751:22;9730:53;:::i;:::-;9720:63;;9676:117;9832:2;9858:53;9903:7;9894:6;9883:9;9879:22;9858:53;:::i;:::-;9848:63;;9803:118;9454:474;;;;;:::o;9934:143::-;9991:5;10022:6;10016:13;10007:22;;10038:33;10065:5;10038:33;:::i;:::-;9934:143;;;;:::o;10083:351::-;10153:6;10202:2;10190:9;10181:7;10177:23;10173:32;10170:119;;;10208:79;;:::i;:::-;10170:119;10328:1;10353:64;10409:7;10400:6;10389:9;10385:22;10353:64;:::i;:::-;10343:74;;10299:128;10083:351;;;;:::o;10440:60::-;10468:3;10489:5;10482:12;;10440:60;;;:::o;10506:142::-;10556:9;10589:53;10607:34;10616:24;10634:5;10616:24;:::i;:::-;10607:34;:::i;:::-;10589:53;:::i;:::-;10576:66;;10506:142;;;:::o;10654:126::-;10704:9;10737:37;10768:5;10737:37;:::i;:::-;10724:50;;10654:126;;;:::o;10786:134::-;10844:9;10877:37;10908:5;10877:37;:::i;:::-;10864:50;;10786:134;;;:::o;10926:147::-;11021:45;11060:5;11021:45;:::i;:::-;11016:3;11009:58;10926:147;;:::o;11079:348::-;11208:4;11246:2;11235:9;11231:18;11223:26;;11259:79;11335:1;11324:9;11320:17;11311:6;11259:79;:::i;:::-;11348:72;11416:2;11405:9;11401:18;11392:6;11348:72;:::i;:::-;11079:348;;;;;:::o;11433:116::-;11503:21;11518:5;11503:21;:::i;:::-;11496:5;11493:32;11483:60;;11539:1;11536;11529:12;11483:60;11433:116;:::o;11555:137::-;11609:5;11640:6;11634:13;11625:22;;11656:30;11680:5;11656:30;:::i;:::-;11555:137;;;;:::o;11698:345::-;11765:6;11814:2;11802:9;11793:7;11789:23;11785:32;11782:119;;;11820:79;;:::i;:::-;11782:119;11940:1;11965:61;12018:7;12009:6;11998:9;11994:22;11965:61;:::i;:::-;11955:71;;11911:125;11698:345;;;;:::o;12049:182::-;12189:34;12185:1;12177:6;12173:14;12166:58;12049:182;:::o;12237:366::-;12379:3;12400:67;12464:2;12459:3;12400:67;:::i;:::-;12393:74;;12476:93;12565:3;12476:93;:::i;:::-;12594:2;12589:3;12585:12;12578:19;;12237:366;;;:::o;12609:419::-;12775:4;12813:2;12802:9;12798:18;12790:26;;12862:9;12856:4;12852:20;12848:1;12837:9;12833:17;12826:47;12890:131;13016:4;12890:131;:::i;:::-;12882:139;;12609:419;;;:::o;13034:179::-;13174:31;13170:1;13162:6;13158:14;13151:55;13034:179;:::o;13219:366::-;13361:3;13382:67;13446:2;13441:3;13382:67;:::i;:::-;13375:74;;13458:93;13547:3;13458:93;:::i;:::-;13576:2;13571:3;13567:12;13560:19;;13219:366;;;:::o;13591:419::-;13757:4;13795:2;13784:9;13780:18;13772:26;;13844:9;13838:4;13834:20;13830:1;13819:9;13815:17;13808:47;13872:131;13998:4;13872:131;:::i;:::-;13864:139;;13591:419;;;:::o;14016:180::-;14064:77;14061:1;14054:88;14161:4;14158:1;14151:15;14185:4;14182:1;14175:15;14202:180;14250:77;14247:1;14240:88;14347:4;14344:1;14337:15;14371:4;14368:1;14361:15;14388:233;14427:3;14450:24;14468:5;14450:24;:::i;:::-;14441:33;;14496:66;14489:5;14486:77;14483:103;;14566:18;;:::i;:::-;14483:103;14613:1;14606:5;14602:13;14595:20;;14388:233;;;:::o;14627:173::-;14767:25;14763:1;14755:6;14751:14;14744:49;14627:173;:::o;14806:366::-;14948:3;14969:67;15033:2;15028:3;14969:67;:::i;:::-;14962:74;;15045:93;15134:3;15045:93;:::i;:::-;15163:2;15158:3;15154:12;15147:19;;14806:366;;;:::o;15178:419::-;15344:4;15382:2;15371:9;15367:18;15359:26;;15431:9;15425:4;15421:20;15417:1;15406:9;15402:17;15395:47;15459:131;15585:4;15459:131;:::i;:::-;15451:139;;15178:419;;;:::o;15603:191::-;15643:3;15662:20;15680:1;15662:20;:::i;:::-;15657:25;;15696:20;15714:1;15696:20;:::i;:::-;15691:25;;15739:1;15736;15732:9;15725:16;;15760:3;15757:1;15754:10;15751:36;;;15767:18;;:::i;:::-;15751:36;15603:191;;;;:::o;15800:410::-;15840:7;15863:20;15881:1;15863:20;:::i;:::-;15858:25;;15897:20;15915:1;15897:20;:::i;:::-;15892:25;;15952:1;15949;15945:9;15974:30;15992:11;15974:30;:::i;:::-;15963:41;;16153:1;16144:7;16140:15;16137:1;16134:22;16114:1;16107:9;16087:83;16064:139;;16183:18;;:::i;:::-;16064:139;15848:362;15800:410;;;;:::o;16216:180::-;16264:77;16261:1;16254:88;16361:4;16358:1;16351:15;16385:4;16382:1;16375:15;16402:185;16442:1;16459:20;16477:1;16459:20;:::i;:::-;16454:25;;16493:20;16511:1;16493:20;:::i;:::-;16488:25;;16532:1;16522:35;;16537:18;;:::i;:::-;16522:35;16579:1;16576;16572:9;16567:14;;16402:185;;;;:::o;16593:220::-;16733:34;16729:1;16721:6;16717:14;16710:58;16802:3;16797:2;16789:6;16785:15;16778:28;16593:220;:::o;16819:366::-;16961:3;16982:67;17046:2;17041:3;16982:67;:::i;:::-;16975:74;;17058:93;17147:3;17058:93;:::i;:::-;17176:2;17171:3;17167:12;17160:19;;16819:366;;;:::o;17191:419::-;17357:4;17395:2;17384:9;17380:18;17372:26;;17444:9;17438:4;17434:20;17430:1;17419:9;17415:17;17408:47;17472:131;17598:4;17472:131;:::i;:::-;17464:139;;17191:419;;;:::o;17616:223::-;17756:34;17752:1;17744:6;17740:14;17733:58;17825:6;17820:2;17812:6;17808:15;17801:31;17616:223;:::o;17845:366::-;17987:3;18008:67;18072:2;18067:3;18008:67;:::i;:::-;18001:74;;18084:93;18173:3;18084:93;:::i;:::-;18202:2;18197:3;18193:12;18186:19;;17845:366;;;:::o;18217:419::-;18383:4;18421:2;18410:9;18406:18;18398:26;;18470:9;18464:4;18460:20;18456:1;18445:9;18441:17;18434:47;18498:131;18624:4;18498:131;:::i;:::-;18490:139;;18217:419;;;:::o;18642:221::-;18782:34;18778:1;18770:6;18766:14;18759:58;18851:4;18846:2;18838:6;18834:15;18827:29;18642:221;:::o;18869:366::-;19011:3;19032:67;19096:2;19091:3;19032:67;:::i;:::-;19025:74;;19108:93;19197:3;19108:93;:::i;:::-;19226:2;19221:3;19217:12;19210:19;;18869:366;;;:::o;19241:419::-;19407:4;19445:2;19434:9;19430:18;19422:26;;19494:9;19488:4;19484:20;19480:1;19469:9;19465:17;19458:47;19522:131;19648:4;19522:131;:::i;:::-;19514:139;;19241:419;;;:::o;19666:224::-;19806:34;19802:1;19794:6;19790:14;19783:58;19875:7;19870:2;19862:6;19858:15;19851:32;19666:224;:::o;19896:366::-;20038:3;20059:67;20123:2;20118:3;20059:67;:::i;:::-;20052:74;;20135:93;20224:3;20135:93;:::i;:::-;20253:2;20248:3;20244:12;20237:19;;19896:366;;;:::o;20268:419::-;20434:4;20472:2;20461:9;20457:18;20449:26;;20521:9;20515:4;20511:20;20507:1;20496:9;20492:17;20485:47;20549:131;20675:4;20549:131;:::i;:::-;20541:139;;20268:419;;;:::o;20693:222::-;20833:34;20829:1;20821:6;20817:14;20810:58;20902:5;20897:2;20889:6;20885:15;20878:30;20693:222;:::o;20921:366::-;21063:3;21084:67;21148:2;21143:3;21084:67;:::i;:::-;21077:74;;21160:93;21249:3;21160:93;:::i;:::-;21278:2;21273:3;21269:12;21262:19;;20921:366;;;:::o;21293:419::-;21459:4;21497:2;21486:9;21482:18;21474:26;;21546:9;21540:4;21536:20;21532:1;21521:9;21517:17;21510:47;21574:131;21700:4;21574:131;:::i;:::-;21566:139;;21293:419;;;:::o;21718:228::-;21858:34;21854:1;21846:6;21842:14;21835:58;21927:11;21922:2;21914:6;21910:15;21903:36;21718:228;:::o;21952:366::-;22094:3;22115:67;22179:2;22174:3;22115:67;:::i;:::-;22108:74;;22191:93;22280:3;22191:93;:::i;:::-;22309:2;22304:3;22300:12;22293:19;;21952:366;;;:::o;22324:419::-;22490:4;22528:2;22517:9;22513:18;22505:26;;22577:9;22571:4;22567:20;22563:1;22552:9;22548:17;22541:47;22605:131;22731:4;22605:131;:::i;:::-;22597:139;;22324:419;;;:::o;22749:227::-;22889:34;22885:1;22877:6;22873:14;22866:58;22958:10;22953:2;22945:6;22941:15;22934:35;22749:227;:::o;22982:366::-;23124:3;23145:67;23209:2;23204:3;23145:67;:::i;:::-;23138:74;;23221:93;23310:3;23221:93;:::i;:::-;23339:2;23334:3;23330:12;23323:19;;22982:366;;;:::o;23354:419::-;23520:4;23558:2;23547:9;23543:18;23535:26;;23607:9;23601:4;23597:20;23593:1;23582:9;23578:17;23571:47;23635:131;23761:4;23635:131;:::i;:::-;23627:139;;23354:419;;;:::o;23779:194::-;23819:4;23839:20;23857:1;23839:20;:::i;:::-;23834:25;;23873:20;23891:1;23873:20;:::i;:::-;23868:25;;23917:1;23914;23910:9;23902:17;;23941:1;23935:4;23932:11;23929:37;;;23946:18;;:::i;:::-;23929:37;23779:194;;;;:::o;23979:143::-;24036:5;24067:6;24061:13;24052:22;;24083:33;24110:5;24083:33;:::i;:::-;23979:143;;;;:::o;24128:351::-;24198:6;24247:2;24235:9;24226:7;24222:23;24218:32;24215:119;;;24253:79;;:::i;:::-;24215:119;24373:1;24398:64;24454:7;24445:6;24434:9;24430:22;24398:64;:::i;:::-;24388:74;;24344:128;24128:351;;;;:::o;24485:85::-;24530:7;24559:5;24548:16;;24485:85;;;:::o;24576:158::-;24634:9;24667:61;24685:42;24694:32;24720:5;24694:32;:::i;:::-;24685:42;:::i;:::-;24667:61;:::i;:::-;24654:74;;24576:158;;;:::o;24740:147::-;24835:45;24874:5;24835:45;:::i;:::-;24830:3;24823:58;24740:147;;:::o;24893:114::-;24960:6;24994:5;24988:12;24978:22;;24893:114;;;:::o;25013:184::-;25112:11;25146:6;25141:3;25134:19;25186:4;25181:3;25177:14;25162:29;;25013:184;;;;:::o;25203:132::-;25270:4;25293:3;25285:11;;25323:4;25318:3;25314:14;25306:22;;25203:132;;;:::o;25341:108::-;25418:24;25436:5;25418:24;:::i;:::-;25413:3;25406:37;25341:108;;:::o;25455:179::-;25524:10;25545:46;25587:3;25579:6;25545:46;:::i;:::-;25623:4;25618:3;25614:14;25600:28;;25455:179;;;;:::o;25640:113::-;25710:4;25742;25737:3;25733:14;25725:22;;25640:113;;;:::o;25789:732::-;25908:3;25937:54;25985:5;25937:54;:::i;:::-;26007:86;26086:6;26081:3;26007:86;:::i;:::-;26000:93;;26117:56;26167:5;26117:56;:::i;:::-;26196:7;26227:1;26212:284;26237:6;26234:1;26231:13;26212:284;;;26313:6;26307:13;26340:63;26399:3;26384:13;26340:63;:::i;:::-;26333:70;;26426:60;26479:6;26426:60;:::i;:::-;26416:70;;26272:224;26259:1;26256;26252:9;26247:14;;26212:284;;;26216:14;26512:3;26505:10;;25913:608;;;25789:732;;;;:::o;26527:831::-;26790:4;26828:3;26817:9;26813:19;26805:27;;26842:71;26910:1;26899:9;26895:17;26886:6;26842:71;:::i;:::-;26923:80;26999:2;26988:9;26984:18;26975:6;26923:80;:::i;:::-;27050:9;27044:4;27040:20;27035:2;27024:9;27020:18;27013:48;27078:108;27181:4;27172:6;27078:108;:::i;:::-;27070:116;;27196:72;27264:2;27253:9;27249:18;27240:6;27196:72;:::i;:::-;27278:73;27346:3;27335:9;27331:19;27322:6;27278:73;:::i;:::-;26527:831;;;;;;;;:::o;27364:807::-;27613:4;27651:3;27640:9;27636:19;27628:27;;27665:71;27733:1;27722:9;27718:17;27709:6;27665:71;:::i;:::-;27746:72;27814:2;27803:9;27799:18;27790:6;27746:72;:::i;:::-;27828:80;27904:2;27893:9;27889:18;27880:6;27828:80;:::i;:::-;27918;27994:2;27983:9;27979:18;27970:6;27918:80;:::i;:::-;28008:73;28076:3;28065:9;28061:19;28052:6;28008:73;:::i;:::-;28091;28159:3;28148:9;28144:19;28135:6;28091:73;:::i;:::-;27364:807;;;;;;;;;:::o;28177:663::-;28265:6;28273;28281;28330:2;28318:9;28309:7;28305:23;28301:32;28298:119;;;28336:79;;:::i;:::-;28298:119;28456:1;28481:64;28537:7;28528:6;28517:9;28513:22;28481:64;:::i;:::-;28471:74;;28427:128;28594:2;28620:64;28676:7;28667:6;28656:9;28652:22;28620:64;:::i;:::-;28610:74;;28565:129;28733:2;28759:64;28815:7;28806:6;28795:9;28791:22;28759:64;:::i;:::-;28749:74;;28704:129;28177:663;;;;;:::o;28846:177::-;28986:29;28982:1;28974:6;28970:14;28963:53;28846:177;:::o;29029:366::-;29171:3;29192:67;29256:2;29251:3;29192:67;:::i;:::-;29185:74;;29268:93;29357:3;29268:93;:::i;:::-;29386:2;29381:3;29377:12;29370:19;;29029:366;;;:::o;29401:419::-;29567:4;29605:2;29594:9;29590:18;29582:26;;29654:9;29648:4;29644:20;29640:1;29629:9;29625:17;29618:47;29682:131;29808:4;29682:131;:::i;:::-;29674:139;;29401:419;;;:::o

Swarm Source

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