ETH Price: $3,147.03 (+2.43%)
Gas: 13 Gwei

Token

RatRace (RatRace)
 

Overview

Max Total Supply

1,000,000,000,000 RatRace

Holders

383

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Rat Race Social Club: RatRace Token
Balance
0 RatRace

Value
$0.00
0xd26c77d4f03dab3c61e87a233c624c5755c49bb3
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Rat Race Social Club is a community-driven platform that promotes global financial wellbeing by empowering the youth to be in control of their money and create their own wealth opportunities.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RatRace

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-05
*/

/*

Website: https://ratrace.city/

Telegram: https://t.me/RatRaceSocialClub

Twitter: https://twitter.com/RR_SocialClub

Medium: https://medium.com/@RatRace

Github: https://github.com/RatRaceProject


 /$$$$$$$              /$$     /$$$$$$$                                      /$$$$$$$$        /$$                          
| $$__  $$            | $$    | $$__  $$                                    |__  $$__/       | $$                          
| $$  \ $$  /$$$$$$  /$$$$$$  | $$  \ $$  /$$$$$$   /$$$$$$$  /$$$$$$          | $$  /$$$$$$ | $$   /$$  /$$$$$$  /$$$$$$$ 
| $$$$$$$/ |____  $$|_  $$_/  | $$$$$$$/ |____  $$ /$$_____/ /$$__  $$         | $$ /$$__  $$| $$  /$$/ /$$__  $$| $$__  $$
| $$__  $$  /$$$$$$$  | $$    | $$__  $$  /$$$$$$$| $$      | $$$$$$$$         | $$| $$  \ $$| $$$$$$/ | $$$$$$$$| $$  \ $$
| $$  \ $$ /$$__  $$  | $$ /$$| $$  \ $$ /$$__  $$| $$      | $$_____/         | $$| $$  | $$| $$_  $$ | $$_____/| $$  | $$
| $$  | $$|  $$$$$$$  |  $$$$/| $$  | $$|  $$$$$$$|  $$$$$$$|  $$$$$$$         | $$|  $$$$$$/| $$ \  $$|  $$$$$$$| $$  | $$
|__/  |__/ \_______/   \___/  |__/  |__/ \_______/ \_______/ \_______/         |__/ \______/ |__/  \__/ \_______/|__/  |__/


1% Rewards
9% Marketing and Development

*/

//SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.7;

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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract RatRace is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _forceFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    address private constant UNI_ROUTER_ADDRESS =
        0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address private constant DEAD_ADDRESS =
        0x000000000000000000000000000000000000dEaD;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = "RatRace";
    string private constant _symbol = unicode"RatRace";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee;
    uint256 private _teamFee;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(
        address payable FeeAddress,
        address payable marketingWalletAddress
    ) {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
        _forceFee[UNI_ROUTER_ADDRESS] = true;
        _forceFee[DEAD_ADDRESS] = true;
        uniswapV2Router = IUniswapV2Router02(UNI_ROUTER_ADDRESS);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
    }

    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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }

    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

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

        _taxFee = 4;
        _teamFee = 6;
        bool isBuyOrSell = false;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            // check if buy
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled
            ) {
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
                // user is buying
                isBuyOrSell = true;
            }
            // check if sell
            if (
                to == uniswapV2Pair &&
                from != address(uniswapV2Router) &&
                !_isExcludedFromFee[from]
            ) {
                _taxFee = 4;
                _teamFee = 6;
                // user is selling
                isBuyOrSell = true;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                from != uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > 0
            ) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = _forceFee[to] || isBuyOrSell;
        if (isBuyOrSell) {
            require(tradingOpen, "trading is not open");
        }
        _tokenTransfer(from, to, amount, takeFee);
    }

    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 sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount.div(2));
        _marketingWalletAddress.transfer(amount.div(2));
    }

    function prepareTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        cooldownEnabled = true;
        setMaxTxPercent(10);
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function openTrading() external onlyOwner() {
        tradingOpen = true;
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(
            tAmount,
            _taxFee,
            _teamFee
        );
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(
            tAmount,
            tFee,
            tTeam,
            currentRate
        );
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 taxFee,
        uint256 TeamFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setMaxTxPercent(uint256 maxTxPercent) public onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }

    function setTradingOpen(bool tradingOpen_) public onlyOwner() {
        tradingOpen = tradingOpen_;
    }

    function withdraw() external onlyOwner {
        address payable recipient = payable(owner());
        recipient.transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"prepareTrading","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":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"tradingOpen_","type":"bool"}],"name":"setTradingOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d919062000c03565b6000196200002c919062000b76565b600955600b54600d55600c54600e556000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff0219169083151502179055506000601260176101000a81548160ff021916908315150217905550683635c9adc5dea00000601355348015620000a657600080fd5b5060405162004519380380620045198339818101604052810190620000cc919062000a20565b6000620000de620007bc60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009546002600062000215620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000269620007c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003d2620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200043a919062000b48565b60405180910390a3600160066000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200059b30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000620007ed60201b60201c565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200060457600080fd5b505afa15801562000619573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200063f9190620009ee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620006c457600080fd5b505afa158015620006d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006ff9190620009ee565b6040518363ffffffff1660e01b81526004016200071e92919062000ad7565b602060405180830381600087803b1580156200073957600080fd5b505af11580156200074e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007749190620009ee565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000d70565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141562000860576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008579062000b26565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620008d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ca9062000b04565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620009b3919062000b48565b60405180910390a3505050565b600081519050620009d18162000d3c565b92915050565b600081519050620009e88162000d56565b92915050565b60006020828403121562000a075762000a0662000c99565b5b600062000a1784828501620009c0565b91505092915050565b6000806040838503121562000a3a5762000a3962000c99565b5b600062000a4a85828601620009d7565b925050602062000a5d85828601620009d7565b9150509250929050565b62000a728162000bb1565b82525050565b600062000a8760228362000b65565b915062000a948262000c9e565b604082019050919050565b600062000aae60248362000b65565b915062000abb8262000ced565b604082019050919050565b62000ad18162000bf9565b82525050565b600060408201905062000aee600083018562000a67565b62000afd602083018462000a67565b9392505050565b6000602082019050818103600083015262000b1f8162000a78565b9050919050565b6000602082019050818103600083015262000b418162000a9f565b9050919050565b600060208201905062000b5f600083018462000ac6565b92915050565b600082825260208201905092915050565b600062000b838262000bf9565b915062000b908362000bf9565b92508282101562000ba65762000ba562000c3b565b5b828203905092915050565b600062000bbe8262000bd9565b9050919050565b600062000bd28262000bd9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000c108262000bf9565b915062000c1d8362000bf9565b92508262000c305762000c2f62000c6a565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b62000d478162000bb1565b811462000d5357600080fd5b50565b62000d618162000bc5565b811462000d6d57600080fd5b50565b6137998062000d806000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063b515566a1161006f578063b515566a146103fb578063c3c8cd8014610424578063c9567bf91461043b578063cb2f17b114610452578063d543dbeb14610469578063dd62ed3e1461049257610140565b806370a0823114610314578063715018a6146103515780638da5cb5b1461036857806395d89b4114610393578063a9059cbb146103be57610140565b8063273123b7116100fd578063273123b71461023e578063313ce567146102675780633ccfd60b1461029257806349bd5a5e146102a95780635932ead1146102d45780636fc3eaec146102fd57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806321c03a97146101d857806323b872dd1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104cf565b6040516101679190612e1e565b60405180910390f35b34801561017c57600080fd5b506101976004803603810190610192919061294e565b61050c565b6040516101a49190612e03565b60405180910390f35b3480156101b957600080fd5b506101c261052a565b6040516101cf9190612fc0565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906129d7565b61053b565b005b34801561020d57600080fd5b50610228600480360381019061022391906128fb565b6105ed565b6040516102359190612e03565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612861565b6106c6565b005b34801561027357600080fd5b5061027c6107b6565b6040516102899190613035565b60405180910390f35b34801561029e57600080fd5b506102a76107bf565b005b3480156102b557600080fd5b506102be6108aa565b6040516102cb9190612d5e565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f691906129d7565b6108d0565b005b34801561030957600080fd5b50610312610982565b005b34801561032057600080fd5b5061033b60048036038101906103369190612861565b6109f4565b6040516103489190612fc0565b60405180910390f35b34801561035d57600080fd5b50610366610a45565b005b34801561037457600080fd5b5061037d610b98565b60405161038a9190612d5e565b60405180910390f35b34801561039f57600080fd5b506103a8610bc1565b6040516103b59190612e1e565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e0919061294e565b610bfe565b6040516103f29190612e03565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d919061298e565b610c1c565b005b34801561043057600080fd5b50610439610d46565b005b34801561044757600080fd5b50610450610dc0565b005b34801561045e57600080fd5b50610467610e72565b005b34801561047557600080fd5b50610490600480360381019061048b9190612a31565b611156565b005b34801561049e57600080fd5b506104b960048036038101906104b491906128bb565b61129f565b6040516104c69190612fc0565b60405180910390f35b60606040518060400160405280600781526020017f5261745261636500000000000000000000000000000000000000000000000000815250905090565b6000610520610519611326565b848461132e565b6001905092915050565b6000683635c9adc5dea00000905090565b610543611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c790612f20565b60405180910390fd5b80601260146101000a81548160ff02191690831515021790555050565b60006105fa8484846114f9565b6106bb84610606611326565b6106b68560405180606001604052806028815260200161373c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066c611326565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bc69092919063ffffffff16565b61132e565b600190509392505050565b6106ce611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075290612f20565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6107c7611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90612f20565b60405180910390fd5b600061085e610b98565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108a6573d6000803e3d6000fd5b5050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108d8611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095c90612f20565b60405180910390fd5b80601260176101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c3611326565b73ffffffffffffffffffffffffffffffffffffffff16146109e357600080fd5b60004790506109f181611c2a565b50565b6000610a3e600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d25565b9050919050565b610a4d611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad190612f20565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f5261745261636500000000000000000000000000000000000000000000000000815250905090565b6000610c12610c0b611326565b84846114f9565b6001905092915050565b610c24611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612f20565b60405180910390fd5b60005b8151811015610d4257600160076000848481518110610cd657610cd561337d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d3a906132d6565b915050610cb4565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d87611326565b73ffffffffffffffffffffffffffffffffffffffff1614610da757600080fd5b6000610db2306109f4565b9050610dbd81611d93565b50565b610dc8611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4c90612f20565b60405180910390fd5b6001601260146101000a81548160ff021916908315150217905550565b610e7a611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efe90612f20565b60405180910390fd5b601260149054906101000a900460ff1615610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90612fa0565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa0306109f4565b600080610fab610b98565b426040518863ffffffff1660e01b8152600401610fcd96959493929190612da2565b6060604051808303818588803b158015610fe657600080fd5b505af1158015610ffa573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061101f9190612a5e565b5050506001601260166101000a81548160ff0219169083151502179055506001601260176101000a81548160ff021916908315150217905550611062600a611156565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611101929190612d79565b602060405180830381600087803b15801561111b57600080fd5b505af115801561112f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111539190612a04565b50565b61115e611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e290612f20565b60405180910390fd5b6000811161122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612ec0565b60405180910390fd5b61125d606461124f83683635c9adc5dea0000061201b90919063ffffffff16565b61209690919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6013546040516112949190612fc0565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590612f80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612e80565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ec9190612fc0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156090612f60565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612e40565b60405180910390fd5b6000811161161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612f40565b60405180910390fd5b6004600b819055506006600c819055506000611636610b98565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116a45750611674610b98565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b0457600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561174d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61175657600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118015750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118575750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561186f5750601260179054906101000a900460ff165b156119235760135482111561188357600080fd5b42600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118ce57600080fd5b601e426118db91906130f6565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119ce5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a245750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a3e576004600b819055506006600c81905550600190505b6000611a49306109f4565b9050601260159054906101000a900460ff16158015611ab65750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ace5750601260169054906101000a900460ff165b8015611ada5750600081115b15611b0257611ae881611d93565b60004790506000811115611b0057611aff47611c2a565b5b505b505b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b5b5750815b90508115611bb357601260149054906101000a900460ff16611bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba990612ee0565b60405180910390fd5b5b611bbf858585846120e0565b5050505050565b6000838311158290611c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c059190612e1e565b60405180910390fd5b5060008385611c1d91906131d7565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611c7a60028461209690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ca5573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611cf660028461209690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d21573d6000803e3d6000fd5b5050565b6000600954821115611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390612e60565b60405180910390fd5b6000611d7661210d565b9050611d8b818461209690919063ffffffff16565b915050919050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dcb57611dca6133ac565b5b604051908082528060200260200182016040528015611df95781602001602082028036833780820191505090505b5090503081600081518110611e1157611e1061337d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb357600080fd5b505afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb919061288e565b81600181518110611eff57611efe61337d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461132e565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fca959493929190612fdb565b600060405180830381600087803b158015611fe457600080fd5b505af1158015611ff8573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b60008083141561202e5760009050612090565b6000828461203c919061317d565b905082848261204b919061314c565b1461208b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208290612f00565b60405180910390fd5b809150505b92915050565b60006120d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612138565b905092915050565b806120ee576120ed61219b565b5b6120f98484846121de565b80612107576121066123a9565b5b50505050565b600080600061211a6123bd565b91509150612131818361209690919063ffffffff16565b9250505090565b6000808311829061217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121769190612e1e565b60405180910390fd5b506000838561218e919061314c565b9050809150509392505050565b6000600b541480156121af57506000600c54145b156121b9576121dc565b600b54600d81905550600c54600e819055506000600b819055506000600c819055505b565b6000806000806000806121f08761241f565b95509550955095509550955061224e86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122e385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232f8161252f565b61233984836125ec565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123969190612fc0565b60405180910390a3505050505050505050565b600d54600b81905550600e54600c81905550565b600080600060095490506000683635c9adc5dea0000090506123f3683635c9adc5dea0000060095461209690919063ffffffff16565b82101561241257600954683635c9adc5dea0000093509350505061241b565b81819350935050505b9091565b600080600080600080600080600061243c8a600b54600c54612626565b925092509250600061244c61210d565b9050600080600061245f8e8787876126bc565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006124c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bc6565b905092915050565b60008082846124e091906130f6565b905083811015612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c90612ea0565b60405180910390fd5b8091505092915050565b600061253961210d565b90506000612550828461201b90919063ffffffff16565b90506125a481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126018260095461248790919063ffffffff16565b60098190555061261c81600a546124d190919063ffffffff16565b600a819055505050565b6000806000806126526064612644888a61201b90919063ffffffff16565b61209690919063ffffffff16565b9050600061267c606461266e888b61201b90919063ffffffff16565b61209690919063ffffffff16565b905060006126a582612697858c61248790919063ffffffff16565b61248790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806126d5858961201b90919063ffffffff16565b905060006126ec868961201b90919063ffffffff16565b90506000612703878961201b90919063ffffffff16565b9050600061272c8261271e858761248790919063ffffffff16565b61248790919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061275861275384613075565b613050565b9050808382526020820190508285602086028201111561277b5761277a6133e0565b5b60005b858110156127ab578161279188826127b5565b84526020840193506020830192505060018101905061277e565b5050509392505050565b6000813590506127c4816136f6565b92915050565b6000815190506127d9816136f6565b92915050565b600082601f8301126127f4576127f36133db565b5b8135612804848260208601612745565b91505092915050565b60008135905061281c8161370d565b92915050565b6000815190506128318161370d565b92915050565b60008135905061284681613724565b92915050565b60008151905061285b81613724565b92915050565b600060208284031215612877576128766133ea565b5b6000612885848285016127b5565b91505092915050565b6000602082840312156128a4576128a36133ea565b5b60006128b2848285016127ca565b91505092915050565b600080604083850312156128d2576128d16133ea565b5b60006128e0858286016127b5565b92505060206128f1858286016127b5565b9150509250929050565b600080600060608486031215612914576129136133ea565b5b6000612922868287016127b5565b9350506020612933868287016127b5565b925050604061294486828701612837565b9150509250925092565b60008060408385031215612965576129646133ea565b5b6000612973858286016127b5565b925050602061298485828601612837565b9150509250929050565b6000602082840312156129a4576129a36133ea565b5b600082013567ffffffffffffffff8111156129c2576129c16133e5565b5b6129ce848285016127df565b91505092915050565b6000602082840312156129ed576129ec6133ea565b5b60006129fb8482850161280d565b91505092915050565b600060208284031215612a1a57612a196133ea565b5b6000612a2884828501612822565b91505092915050565b600060208284031215612a4757612a466133ea565b5b6000612a5584828501612837565b91505092915050565b600080600060608486031215612a7757612a766133ea565b5b6000612a858682870161284c565b9350506020612a968682870161284c565b9250506040612aa78682870161284c565b9150509250925092565b6000612abd8383612ac9565b60208301905092915050565b612ad28161320b565b82525050565b612ae18161320b565b82525050565b6000612af2826130b1565b612afc81856130d4565b9350612b07836130a1565b8060005b83811015612b38578151612b1f8882612ab1565b9750612b2a836130c7565b925050600181019050612b0b565b5085935050505092915050565b612b4e8161321d565b82525050565b612b5d81613260565b82525050565b6000612b6e826130bc565b612b7881856130e5565b9350612b88818560208601613272565b612b91816133ef565b840191505092915050565b6000612ba96023836130e5565b9150612bb482613400565b604082019050919050565b6000612bcc602a836130e5565b9150612bd78261344f565b604082019050919050565b6000612bef6022836130e5565b9150612bfa8261349e565b604082019050919050565b6000612c12601b836130e5565b9150612c1d826134ed565b602082019050919050565b6000612c35601d836130e5565b9150612c4082613516565b602082019050919050565b6000612c586013836130e5565b9150612c638261353f565b602082019050919050565b6000612c7b6021836130e5565b9150612c8682613568565b604082019050919050565b6000612c9e6020836130e5565b9150612ca9826135b7565b602082019050919050565b6000612cc16029836130e5565b9150612ccc826135e0565b604082019050919050565b6000612ce46025836130e5565b9150612cef8261362f565b604082019050919050565b6000612d076024836130e5565b9150612d128261367e565b604082019050919050565b6000612d2a6017836130e5565b9150612d35826136cd565b602082019050919050565b612d4981613249565b82525050565b612d5881613253565b82525050565b6000602082019050612d736000830184612ad8565b92915050565b6000604082019050612d8e6000830185612ad8565b612d9b6020830184612d40565b9392505050565b600060c082019050612db76000830189612ad8565b612dc46020830188612d40565b612dd16040830187612b54565b612dde6060830186612b54565b612deb6080830185612ad8565b612df860a0830184612d40565b979650505050505050565b6000602082019050612e186000830184612b45565b92915050565b60006020820190508181036000830152612e388184612b63565b905092915050565b60006020820190508181036000830152612e5981612b9c565b9050919050565b60006020820190508181036000830152612e7981612bbf565b9050919050565b60006020820190508181036000830152612e9981612be2565b9050919050565b60006020820190508181036000830152612eb981612c05565b9050919050565b60006020820190508181036000830152612ed981612c28565b9050919050565b60006020820190508181036000830152612ef981612c4b565b9050919050565b60006020820190508181036000830152612f1981612c6e565b9050919050565b60006020820190508181036000830152612f3981612c91565b9050919050565b60006020820190508181036000830152612f5981612cb4565b9050919050565b60006020820190508181036000830152612f7981612cd7565b9050919050565b60006020820190508181036000830152612f9981612cfa565b9050919050565b60006020820190508181036000830152612fb981612d1d565b9050919050565b6000602082019050612fd56000830184612d40565b92915050565b600060a082019050612ff06000830188612d40565b612ffd6020830187612b54565b818103604083015261300f8186612ae7565b905061301e6060830185612ad8565b61302b6080830184612d40565b9695505050505050565b600060208201905061304a6000830184612d4f565b92915050565b600061305a61306b565b905061306682826132a5565b919050565b6000604051905090565b600067ffffffffffffffff8211156130905761308f6133ac565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061310182613249565b915061310c83613249565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131415761314061331f565b5b828201905092915050565b600061315782613249565b915061316283613249565b9250826131725761317161334e565b5b828204905092915050565b600061318882613249565b915061319383613249565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131cc576131cb61331f565b5b828202905092915050565b60006131e282613249565b91506131ed83613249565b925082821015613200576131ff61331f565b5b828203905092915050565b600061321682613229565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326b82613249565b9050919050565b60005b83811015613290578082015181840152602081019050613275565b8381111561329f576000848401525b50505050565b6132ae826133ef565b810181811067ffffffffffffffff821117156132cd576132cc6133ac565b5b80604052505050565b60006132e182613249565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133145761331361331f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f74726164696e67206973206e6f74206f70656e00000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6136ff8161320b565b811461370a57600080fd5b50565b6137168161321d565b811461372157600080fd5b50565b61372d81613249565b811461373857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220517dfedf1839a7f603a445108727cf8130ccb785e493a6a32fa6ce36b193ed9264736f6c6343000807003300000000000000000000000069452bd5975d962c9d49d3ec0efc5265809c33fc0000000000000000000000007474a726f24c8e02cb87d267dbf4fd775d77dac3

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370a08231116100ab578063b515566a1161006f578063b515566a146103fb578063c3c8cd8014610424578063c9567bf91461043b578063cb2f17b114610452578063d543dbeb14610469578063dd62ed3e1461049257610140565b806370a0823114610314578063715018a6146103515780638da5cb5b1461036857806395d89b4114610393578063a9059cbb146103be57610140565b8063273123b7116100fd578063273123b71461023e578063313ce567146102675780633ccfd60b1461029257806349bd5a5e146102a95780635932ead1146102d45780636fc3eaec146102fd57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806321c03a97146101d857806323b872dd1461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104cf565b6040516101679190612e1e565b60405180910390f35b34801561017c57600080fd5b506101976004803603810190610192919061294e565b61050c565b6040516101a49190612e03565b60405180910390f35b3480156101b957600080fd5b506101c261052a565b6040516101cf9190612fc0565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906129d7565b61053b565b005b34801561020d57600080fd5b50610228600480360381019061022391906128fb565b6105ed565b6040516102359190612e03565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612861565b6106c6565b005b34801561027357600080fd5b5061027c6107b6565b6040516102899190613035565b60405180910390f35b34801561029e57600080fd5b506102a76107bf565b005b3480156102b557600080fd5b506102be6108aa565b6040516102cb9190612d5e565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f691906129d7565b6108d0565b005b34801561030957600080fd5b50610312610982565b005b34801561032057600080fd5b5061033b60048036038101906103369190612861565b6109f4565b6040516103489190612fc0565b60405180910390f35b34801561035d57600080fd5b50610366610a45565b005b34801561037457600080fd5b5061037d610b98565b60405161038a9190612d5e565b60405180910390f35b34801561039f57600080fd5b506103a8610bc1565b6040516103b59190612e1e565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e0919061294e565b610bfe565b6040516103f29190612e03565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d919061298e565b610c1c565b005b34801561043057600080fd5b50610439610d46565b005b34801561044757600080fd5b50610450610dc0565b005b34801561045e57600080fd5b50610467610e72565b005b34801561047557600080fd5b50610490600480360381019061048b9190612a31565b611156565b005b34801561049e57600080fd5b506104b960048036038101906104b491906128bb565b61129f565b6040516104c69190612fc0565b60405180910390f35b60606040518060400160405280600781526020017f5261745261636500000000000000000000000000000000000000000000000000815250905090565b6000610520610519611326565b848461132e565b6001905092915050565b6000683635c9adc5dea00000905090565b610543611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c790612f20565b60405180910390fd5b80601260146101000a81548160ff02191690831515021790555050565b60006105fa8484846114f9565b6106bb84610606611326565b6106b68560405180606001604052806028815260200161373c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061066c611326565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bc69092919063ffffffff16565b61132e565b600190509392505050565b6106ce611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075290612f20565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6107c7611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90612f20565b60405180910390fd5b600061085e610b98565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108a6573d6000803e3d6000fd5b5050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108d8611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095c90612f20565b60405180910390fd5b80601260176101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c3611326565b73ffffffffffffffffffffffffffffffffffffffff16146109e357600080fd5b60004790506109f181611c2a565b50565b6000610a3e600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d25565b9050919050565b610a4d611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad190612f20565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f5261745261636500000000000000000000000000000000000000000000000000815250905090565b6000610c12610c0b611326565b84846114f9565b6001905092915050565b610c24611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca890612f20565b60405180910390fd5b60005b8151811015610d4257600160076000848481518110610cd657610cd561337d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d3a906132d6565b915050610cb4565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d87611326565b73ffffffffffffffffffffffffffffffffffffffff1614610da757600080fd5b6000610db2306109f4565b9050610dbd81611d93565b50565b610dc8611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4c90612f20565b60405180910390fd5b6001601260146101000a81548160ff021916908315150217905550565b610e7a611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efe90612f20565b60405180910390fd5b601260149054906101000a900460ff1615610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90612fa0565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa0306109f4565b600080610fab610b98565b426040518863ffffffff1660e01b8152600401610fcd96959493929190612da2565b6060604051808303818588803b158015610fe657600080fd5b505af1158015610ffa573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061101f9190612a5e565b5050506001601260166101000a81548160ff0219169083151502179055506001601260176101000a81548160ff021916908315150217905550611062600a611156565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611101929190612d79565b602060405180830381600087803b15801561111b57600080fd5b505af115801561112f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111539190612a04565b50565b61115e611326565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e290612f20565b60405180910390fd5b6000811161122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612ec0565b60405180910390fd5b61125d606461124f83683635c9adc5dea0000061201b90919063ffffffff16565b61209690919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6013546040516112949190612fc0565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590612f80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612e80565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ec9190612fc0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156090612f60565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612e40565b60405180910390fd5b6000811161161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390612f40565b60405180910390fd5b6004600b819055506006600c819055506000611636610b98565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116a45750611674610b98565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b0457600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561174d5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61175657600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118015750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118575750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561186f5750601260179054906101000a900460ff165b156119235760135482111561188357600080fd5b42600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118ce57600080fd5b601e426118db91906130f6565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190505b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119ce5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a245750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a3e576004600b819055506006600c81905550600190505b6000611a49306109f4565b9050601260159054906101000a900460ff16158015611ab65750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611ace5750601260169054906101000a900460ff165b8015611ada5750600081115b15611b0257611ae881611d93565b60004790506000811115611b0057611aff47611c2a565b5b505b505b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b5b5750815b90508115611bb357601260149054906101000a900460ff16611bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba990612ee0565b60405180910390fd5b5b611bbf858585846120e0565b5050505050565b6000838311158290611c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c059190612e1e565b60405180910390fd5b5060008385611c1d91906131d7565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611c7a60028461209690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ca5573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611cf660028461209690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611d21573d6000803e3d6000fd5b5050565b6000600954821115611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390612e60565b60405180910390fd5b6000611d7661210d565b9050611d8b818461209690919063ffffffff16565b915050919050565b6001601260156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611dcb57611dca6133ac565b5b604051908082528060200260200182016040528015611df95781602001602082028036833780820191505090505b5090503081600081518110611e1157611e1061337d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611eb357600080fd5b505afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb919061288e565b81600181518110611eff57611efe61337d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f6630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461132e565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611fca959493929190612fdb565b600060405180830381600087803b158015611fe457600080fd5b505af1158015611ff8573d6000803e3d6000fd5b50505050506000601260156101000a81548160ff02191690831515021790555050565b60008083141561202e5760009050612090565b6000828461203c919061317d565b905082848261204b919061314c565b1461208b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208290612f00565b60405180910390fd5b809150505b92915050565b60006120d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612138565b905092915050565b806120ee576120ed61219b565b5b6120f98484846121de565b80612107576121066123a9565b5b50505050565b600080600061211a6123bd565b91509150612131818361209690919063ffffffff16565b9250505090565b6000808311829061217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121769190612e1e565b60405180910390fd5b506000838561218e919061314c565b9050809150509392505050565b6000600b541480156121af57506000600c54145b156121b9576121dc565b600b54600d81905550600c54600e819055506000600b819055506000600c819055505b565b6000806000806000806121f08761241f565b95509550955095509550955061224e86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122e385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061232f8161252f565b61233984836125ec565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123969190612fc0565b60405180910390a3505050505050505050565b600d54600b81905550600e54600c81905550565b600080600060095490506000683635c9adc5dea0000090506123f3683635c9adc5dea0000060095461209690919063ffffffff16565b82101561241257600954683635c9adc5dea0000093509350505061241b565b81819350935050505b9091565b600080600080600080600080600061243c8a600b54600c54612626565b925092509250600061244c61210d565b9050600080600061245f8e8787876126bc565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006124c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bc6565b905092915050565b60008082846124e091906130f6565b905083811015612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c90612ea0565b60405180910390fd5b8091505092915050565b600061253961210d565b90506000612550828461201b90919063ffffffff16565b90506125a481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126018260095461248790919063ffffffff16565b60098190555061261c81600a546124d190919063ffffffff16565b600a819055505050565b6000806000806126526064612644888a61201b90919063ffffffff16565b61209690919063ffffffff16565b9050600061267c606461266e888b61201b90919063ffffffff16565b61209690919063ffffffff16565b905060006126a582612697858c61248790919063ffffffff16565b61248790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806126d5858961201b90919063ffffffff16565b905060006126ec868961201b90919063ffffffff16565b90506000612703878961201b90919063ffffffff16565b9050600061272c8261271e858761248790919063ffffffff16565b61248790919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061275861275384613075565b613050565b9050808382526020820190508285602086028201111561277b5761277a6133e0565b5b60005b858110156127ab578161279188826127b5565b84526020840193506020830192505060018101905061277e565b5050509392505050565b6000813590506127c4816136f6565b92915050565b6000815190506127d9816136f6565b92915050565b600082601f8301126127f4576127f36133db565b5b8135612804848260208601612745565b91505092915050565b60008135905061281c8161370d565b92915050565b6000815190506128318161370d565b92915050565b60008135905061284681613724565b92915050565b60008151905061285b81613724565b92915050565b600060208284031215612877576128766133ea565b5b6000612885848285016127b5565b91505092915050565b6000602082840312156128a4576128a36133ea565b5b60006128b2848285016127ca565b91505092915050565b600080604083850312156128d2576128d16133ea565b5b60006128e0858286016127b5565b92505060206128f1858286016127b5565b9150509250929050565b600080600060608486031215612914576129136133ea565b5b6000612922868287016127b5565b9350506020612933868287016127b5565b925050604061294486828701612837565b9150509250925092565b60008060408385031215612965576129646133ea565b5b6000612973858286016127b5565b925050602061298485828601612837565b9150509250929050565b6000602082840312156129a4576129a36133ea565b5b600082013567ffffffffffffffff8111156129c2576129c16133e5565b5b6129ce848285016127df565b91505092915050565b6000602082840312156129ed576129ec6133ea565b5b60006129fb8482850161280d565b91505092915050565b600060208284031215612a1a57612a196133ea565b5b6000612a2884828501612822565b91505092915050565b600060208284031215612a4757612a466133ea565b5b6000612a5584828501612837565b91505092915050565b600080600060608486031215612a7757612a766133ea565b5b6000612a858682870161284c565b9350506020612a968682870161284c565b9250506040612aa78682870161284c565b9150509250925092565b6000612abd8383612ac9565b60208301905092915050565b612ad28161320b565b82525050565b612ae18161320b565b82525050565b6000612af2826130b1565b612afc81856130d4565b9350612b07836130a1565b8060005b83811015612b38578151612b1f8882612ab1565b9750612b2a836130c7565b925050600181019050612b0b565b5085935050505092915050565b612b4e8161321d565b82525050565b612b5d81613260565b82525050565b6000612b6e826130bc565b612b7881856130e5565b9350612b88818560208601613272565b612b91816133ef565b840191505092915050565b6000612ba96023836130e5565b9150612bb482613400565b604082019050919050565b6000612bcc602a836130e5565b9150612bd78261344f565b604082019050919050565b6000612bef6022836130e5565b9150612bfa8261349e565b604082019050919050565b6000612c12601b836130e5565b9150612c1d826134ed565b602082019050919050565b6000612c35601d836130e5565b9150612c4082613516565b602082019050919050565b6000612c586013836130e5565b9150612c638261353f565b602082019050919050565b6000612c7b6021836130e5565b9150612c8682613568565b604082019050919050565b6000612c9e6020836130e5565b9150612ca9826135b7565b602082019050919050565b6000612cc16029836130e5565b9150612ccc826135e0565b604082019050919050565b6000612ce46025836130e5565b9150612cef8261362f565b604082019050919050565b6000612d076024836130e5565b9150612d128261367e565b604082019050919050565b6000612d2a6017836130e5565b9150612d35826136cd565b602082019050919050565b612d4981613249565b82525050565b612d5881613253565b82525050565b6000602082019050612d736000830184612ad8565b92915050565b6000604082019050612d8e6000830185612ad8565b612d9b6020830184612d40565b9392505050565b600060c082019050612db76000830189612ad8565b612dc46020830188612d40565b612dd16040830187612b54565b612dde6060830186612b54565b612deb6080830185612ad8565b612df860a0830184612d40565b979650505050505050565b6000602082019050612e186000830184612b45565b92915050565b60006020820190508181036000830152612e388184612b63565b905092915050565b60006020820190508181036000830152612e5981612b9c565b9050919050565b60006020820190508181036000830152612e7981612bbf565b9050919050565b60006020820190508181036000830152612e9981612be2565b9050919050565b60006020820190508181036000830152612eb981612c05565b9050919050565b60006020820190508181036000830152612ed981612c28565b9050919050565b60006020820190508181036000830152612ef981612c4b565b9050919050565b60006020820190508181036000830152612f1981612c6e565b9050919050565b60006020820190508181036000830152612f3981612c91565b9050919050565b60006020820190508181036000830152612f5981612cb4565b9050919050565b60006020820190508181036000830152612f7981612cd7565b9050919050565b60006020820190508181036000830152612f9981612cfa565b9050919050565b60006020820190508181036000830152612fb981612d1d565b9050919050565b6000602082019050612fd56000830184612d40565b92915050565b600060a082019050612ff06000830188612d40565b612ffd6020830187612b54565b818103604083015261300f8186612ae7565b905061301e6060830185612ad8565b61302b6080830184612d40565b9695505050505050565b600060208201905061304a6000830184612d4f565b92915050565b600061305a61306b565b905061306682826132a5565b919050565b6000604051905090565b600067ffffffffffffffff8211156130905761308f6133ac565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061310182613249565b915061310c83613249565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131415761314061331f565b5b828201905092915050565b600061315782613249565b915061316283613249565b9250826131725761317161334e565b5b828204905092915050565b600061318882613249565b915061319383613249565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131cc576131cb61331f565b5b828202905092915050565b60006131e282613249565b91506131ed83613249565b925082821015613200576131ff61331f565b5b828203905092915050565b600061321682613229565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326b82613249565b9050919050565b60005b83811015613290578082015181840152602081019050613275565b8381111561329f576000848401525b50505050565b6132ae826133ef565b810181811067ffffffffffffffff821117156132cd576132cc6133ac565b5b80604052505050565b60006132e182613249565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133145761331361331f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f74726164696e67206973206e6f74206f70656e00000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6136ff8161320b565b811461370a57600080fd5b50565b6137168161321d565b811461372157600080fd5b50565b61372d81613249565b811461373857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220517dfedf1839a7f603a445108727cf8130ccb785e493a6a32fa6ce36b193ed9264736f6c63430008070033

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

00000000000000000000000069452bd5975d962c9d49d3ec0efc5265809c33fc0000000000000000000000007474a726f24c8e02cb87d267dbf4fd775d77dac3

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x69452BD5975D962c9d49d3eC0EFC5265809c33fc
Arg [1] : marketingWalletAddress (address): 0x7474a726f24c8E02CB87d267Dbf4Fd775D77dac3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000069452bd5975d962c9d49d3ec0efc5265809c33fc
Arg [1] : 0000000000000000000000007474a726f24c8e02cb87d267dbf4fd775d77dac3


Deployed Bytecode Sourcemap

5129:13434:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7725:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8650:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8002:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18291:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8851:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14055:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7911:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18406:154;;;;;;;;;;;;;:::i;:::-;;6445:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9305:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15669:190;;;;;;;;;;;;;:::i;:::-;;8105:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4081:148;;;;;;;;;;;;;:::i;:::-;;3867:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7816:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8251:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13880:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15470:191;;;;;;;;;;;;;:::i;:::-;;13791:81;;;;;;;;;;;;;:::i;:::-;;13221:562;;;;;;;;;;;;;:::i;:::-;;18030:253;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8458:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7725:83;7762:13;7795:5;;;;;;;;;;;;;;;;;7788:12;;7725:83;:::o;8650:193::-;8752:4;8774:39;8783:12;:10;:12::i;:::-;8797:7;8806:6;8774:8;:39::i;:::-;8831:4;8824:11;;8650:193;;;;:::o;8002:95::-;8055:7;5674:21;8075:14;;8002:95;:::o;18291:107::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18378:12:::1;18364:11;;:26;;;;;;;;;;;;;;;;;;18291:107:::0;:::o;8851:446::-;8983:4;9000:36;9010:6;9018:9;9029:6;9000:9;:36::i;:::-;9047:220;9070:6;9091:12;:10;:12::i;:::-;9118:138;9174:6;9118:138;;;;;;;;;;;;;;;;;:11;:19;9130:6;9118:19;;;;;;;;;;;;;;;:33;9138:12;:10;:12::i;:::-;9118:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9047:8;:220::i;:::-;9285:4;9278:11;;8851:446;;;;;:::o;14055:88::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14130:5:::1;14115:4;:12;14120:6;14115:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14055:88:::0;:::o;7911:83::-;7952:5;6133:1;7970:16;;7911:83;:::o;18406:154::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18456:25:::1;18492:7;:5;:7::i;:::-;18456:44;;18511:9;:18;;:41;18530:21;18511:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;18445:115;18406:154::o:0;6445:28::-;;;;;;;;;;;;;:::o;9305:103::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9395:5:::1;9377:15;;:23;;;;;;;;;;;;;;;;;;9305:103:::0;:::o;15669:190::-;15735:11;;;;;;;;;;;15719:27;;:12;:10;:12::i;:::-;:27;;;15711:36;;;;;;15758:26;15787:21;15758:50;;15819:32;15832:18;15819:12;:32::i;:::-;15700:159;15669:190::o;8105:138::-;8171:7;8198:37;8218:7;:16;8226:7;8218:16;;;;;;;;;;;;;;;;8198:19;:37::i;:::-;8191:44;;8105:138;;;:::o;4081:148::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4188:1:::1;4151:40;;4172:6;::::0;::::1;;;;;;;;4151:40;;;;;;;;;;;;4219:1;4202:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4081:148::o:0;3867:79::-;3905:7;3932:6;;;;;;;;;;;3925:13;;3867:79;:::o;7816:87::-;7855:13;7888:7;;;;;;;;;;;;;;;;;7881:14;;7816:87;:::o;8251:199::-;8356:4;8378:42;8388:12;:10;:12::i;:::-;8402:9;8413:6;8378:9;:42::i;:::-;8438:4;8431:11;;8251:199;;;;:::o;13880:167::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13954:9:::1;13949:91;13973:5;:12;13969:1;:16;13949:91;;;14024:4;14007;:14;14012:5;14018:1;14012:8;;;;;;;;:::i;:::-;;;;;;;;14007:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13987:3;;;;;:::i;:::-;;;;13949:91;;;;13880:167:::0;:::o;15470:191::-;15536:11;;;;;;;;;;;15520:27;;:12;:10;:12::i;:::-;:27;;;15512:36;;;;;;15559:23;15585:24;15603:4;15585:9;:24::i;:::-;15559:50;;15620:33;15637:15;15620:16;:33::i;:::-;15501:160;15470:191::o;13791:81::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13860:4:::1;13846:11;;:18;;;;;;;;;;;;;;;;;;13791:81::o:0;13221:562::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13288:11:::1;;;;;;;;;;;13287:12;13279:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13338:15;;;;;;;;;;;:31;;;13377:21;13422:4;13442:24;13460:4;13442:9;:24::i;:::-;13481:1;13497::::0;13513:7:::1;:5;:7::i;:::-;13535:15;13338:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13586:4;13572:11;;:18;;;;;;;;;;;;;;;;;;13619:4;13601:15;;:22;;;;;;;;;;;;;;;;;;13634:19;13650:2;13634:15;:19::i;:::-;13671:13;;;;;;;;;;;13664:29;;;13716:15;;;;;;;;;;;13747:17;13664:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13221:562::o:0;18030:253::-;4004:12;:10;:12::i;:::-;3994:22;;:6;;;;;;;;;;:22;;;3986:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18130:1:::1;18115:12;:16;18107:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;18191:36;18221:5;18191:25;18203:12;5674:21;18191:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;18176:12;:51;;;;18243:32;18262:12;;18243:32;;;;;;:::i;:::-;;;;;;;;18030:253:::0;:::o;8458:184::-;8575:7;8607:11;:18;8619:5;8607:18;;;;;;;;;;;;;;;:27;8626:7;8607:27;;;;;;;;;;;;;;;;8600:34;;8458:184;;;;:::o;1370:98::-;1423:7;1450:10;1443:17;;1370:98;:::o;10089:369::-;10233:1;10216:19;;:5;:19;;;;10208:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10314:1;10295:21;;:7;:21;;;;10287:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10396:6;10366:11;:18;10378:5;10366:18;;;;;;;;;;;;;;;:27;10385:7;10366:27;;;;;;;;;;;;;;;:36;;;;10434:7;10418:32;;10427:5;10418:32;;;10443:6;10418:32;;;;;;:::i;:::-;;;;;;;;10089:369;;;:::o;10466:2090::-;10604:1;10588:18;;:4;:18;;;;10580:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10681:1;10667:16;;:2;:16;;;;10659:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10751:1;10742:6;:10;10734:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10821:1;10811:7;:11;;;;10844:1;10833:8;:12;;;;10856:16;10903:7;:5;:7::i;:::-;10895:15;;:4;:15;;;;:32;;;;;10920:7;:5;:7::i;:::-;10914:13;;:2;:13;;;;10895:32;10891:1455;;;10953:4;:10;10958:4;10953:10;;;;;;;;;;;;;;;;;;;;;;;;;10952:11;:24;;;;;10968:4;:8;10973:2;10968:8;;;;;;;;;;;;;;;;;;;;;;;;;10967:9;10952:24;10944:33;;;;;;11051:13;;;;;;;;;;;11043:21;;:4;:21;;;:72;;;;;11099:15;;;;;;;;;;;11085:30;;:2;:30;;;;11043:72;:116;;;;;11137:18;:22;11156:2;11137:22;;;;;;;;;;;;;;;;;;;;;;;;;11136:23;11043:116;:152;;;;;11180:15;;;;;;;;;;;11043:152;11021:450;;;11248:12;;11238:6;:22;;11230:31;;;;;;11303:15;11288:8;:12;11297:2;11288:12;;;;;;;;;;;;;;;;:30;11280:39;;;;;;11372:10;11353:15;:30;;;;:::i;:::-;11338:8;:12;11347:2;11338:12;;;;;;;;;;;;;;;:45;;;;11451:4;11437:18;;11021:450;11543:13;;;;;;;;;;;11537:19;;:2;:19;;;:72;;;;;11593:15;;;;;;;;;;;11577:32;;:4;:32;;;;11537:72;:118;;;;;11631:18;:24;11650:4;11631:24;;;;;;;;;;;;;;;;;;;;;;;;;11630:25;11537:118;11515:306;;;11700:1;11690:7;:11;;;;11731:1;11720:8;:12;;;;11801:4;11787:18;;11515:306;11835:28;11866:24;11884:4;11866:9;:24::i;:::-;11835:55;;11928:6;;;;;;;;;;;11927:7;:49;;;;;11963:13;;;;;;;;;;;11955:21;;:4;:21;;;;11927:49;:81;;;;;11997:11;;;;;;;;;;;11927:81;:126;;;;;12052:1;12029:20;:24;11927:126;11905:430;;;12088:38;12105:20;12088:16;:38::i;:::-;12145:26;12174:21;12145:50;;12239:1;12218:18;:22;12214:106;;;12265:35;12278:21;12265:12;:35::i;:::-;12214:106;12069:266;11905:430;10929:1417;10891:1455;12356:12;12371:9;:13;12381:2;12371:13;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;;12388:11;12371:28;12356:43;;12414:11;12410:87;;;12450:11;;;;;;;;;;;12442:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;12410:87;12507:41;12522:4;12528:2;12532:6;12540:7;12507:14;:41::i;:::-;10569:1987;;10466:2090;;;:::o;2632:224::-;2752:7;2785:1;2780;:6;;2788:12;2772:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2812:9;2828:1;2824;:5;;;;:::i;:::-;2812:17;;2847:1;2840:8;;;2632:224;;;;;:::o;13055:158::-;13112:11;;;;;;;;;;;:20;;:35;13133:13;13144:1;13133:6;:10;;:13;;;;:::i;:::-;13112:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13158:23;;;;;;;;;;;:32;;:47;13191:13;13202:1;13191:6;:10;;:13;;;;:::i;:::-;13158:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13055:158;:::o;9416:323::-;9511:7;9569;;9558;:18;;9536:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9657:19;9679:10;:8;:10::i;:::-;9657:32;;9707:24;9719:11;9707:7;:11;;:24;;;;:::i;:::-;9700:31;;;9416:323;;;:::o;12564:483::-;6766:4;6757:6;;:13;;;;;;;;;;;;;;;;;;12642:21:::1;12680:1;12666:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12642:40;;12711:4;12693;12698:1;12693:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12737:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12727:4;12732:1;12727:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12770:62;12787:4;12802:15;;;;;;;;;;;12820:11;12770:8;:62::i;:::-;12843:15;;;;;;;;;;;:66;;;12924:11;12950:1;12966:4;12993;13013:15;12843:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12631:416;6802:5:::0;6793:6;;:14;;;;;;;;;;;;;;;;;;12564:483;:::o;2864:246::-;2922:7;2951:1;2946;:6;2942:47;;;2976:1;2969:8;;;;2942:47;2999:9;3015:1;3011;:5;;;;:::i;:::-;2999:17;;3044:1;3039;3035;:5;;;;:::i;:::-;:10;3027:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3101:1;3094:8;;;2864:246;;;;;:::o;3118:132::-;3176:7;3203:39;3207:1;3210;3203:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3196:46;;3118:132;;;;:::o;14151:282::-;14307:7;14302:28;;14316:14;:12;:14::i;:::-;14302:28;14341:44;14359:6;14367:9;14378:6;14341:17;:44::i;:::-;14401:7;14396:29;;14410:15;:13;:15::i;:::-;14396:29;14151:282;;;;:::o;17593:164::-;17635:7;17656:15;17673;17692:19;:17;:19::i;:::-;17655:56;;;;17729:20;17741:7;17729;:11;;:20;;;;:::i;:::-;17722:27;;;;17593:164;:::o;3258:223::-;3378:7;3410:1;3406;:5;3413:12;3398:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3437:9;3453:1;3449;:5;;;;:::i;:::-;3437:17;;3472:1;3465:8;;;3258:223;;;;;:::o;9747:211::-;9805:1;9794:7;;:12;:29;;;;;9822:1;9810:8;;:13;9794:29;9790:42;;;9825:7;;9790:42;9860:7;;9842:15;:25;;;;9897:8;;9878:16;:27;;;;9926:1;9916:7;:11;;;;9949:1;9938:8;:12;;;;9747:211;:::o;14441:610::-;14588:15;14618:23;14656:12;14683:23;14721:12;14748:13;14775:19;14786:7;14775:10;:19::i;:::-;14573:221;;;;;;;;;;;;14823:28;14843:7;14823;:15;14831:6;14823:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14805:7;:15;14813:6;14805:15;;;;;;;;;;;;;;;:46;;;;14883:39;14906:15;14883:7;:18;14891:9;14883:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14862:7;:18;14870:9;14862:18;;;;;;;;;;;;;;;:60;;;;14933:16;14943:5;14933:9;:16::i;:::-;14960:23;14972:4;14978;14960:11;:23::i;:::-;15016:9;14999:44;;15008:6;14999:44;;;15027:15;14999:44;;;;;;:::i;:::-;;;;;;;;14562:489;;;;;;14441:610;;;:::o;9966:115::-;10020:15;;10010:7;:25;;;;10057:16;;10046:8;:27;;;;9966:115::o;17765:257::-;17816:7;17825;17845:15;17863:7;;17845:25;;17881:15;5674:21;17881:25;;17931:20;5674:21;17931:7;;:11;;:20;;;;:::i;:::-;17921:7;:30;17917:61;;;17961:7;;5674:21;17953:25;;;;;;;;17917:61;17997:7;18006;17989:25;;;;;;17765:257;;;:::o;15867:701::-;15967:7;15989;16011;16033;16055;16077;16113:23;16138:12;16152:13;16169:89;16195:7;16217;;16239:8;;16169:11;:89::i;:::-;16112:146;;;;;;16269:19;16291:10;:8;:10::i;:::-;16269:32;;16313:15;16330:23;16355:12;16371:109;16397:7;16419:4;16438:5;16458:11;16371;:109::i;:::-;16312:168;;;;;;16499:7;16508:15;16525:4;16531:15;16548:4;16554:5;16491:69;;;;;;;;;;;;;;;;;;;15867:701;;;;;;;:::o;2488:136::-;2546:7;2573:43;2577:1;2580;2573:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2566:50;;2488:136;;;;:::o;2301:179::-;2359:7;2379:9;2395:1;2391;:5;;;;:::i;:::-;2379:17;;2420:1;2415;:6;;2407:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2471:1;2464:8;;;2301:179;;;;:::o;15059:211::-;15112:19;15134:10;:8;:10::i;:::-;15112:32;;15155:13;15171:22;15181:11;15171:5;:9;;:22;;;;:::i;:::-;15155:38;;15229:33;15256:5;15229:7;:22;15245:4;15229:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15204:7;:22;15220:4;15204:22;;;;;;;;;;;;;;;:58;;;;15101:169;;15059:211;:::o;15278:147::-;15356:17;15368:4;15356:7;;:11;;:17;;;;:::i;:::-;15346:7;:27;;;;15397:20;15412:4;15397:10;;:14;;:20;;;;:::i;:::-;15384:10;:33;;;;15278:147;;:::o;16576:467::-;16744:7;16766;16788;16823:12;16838:28;16862:3;16838:19;16850:6;16838:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16823:43;;16877:13;16893:29;16918:3;16893:20;16905:7;16893;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;16877:45;;16933:23;16959:28;16981:5;16959:17;16971:4;16959:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16933:54;;17006:15;17023:4;17029:5;16998:37;;;;;;;;;16576:467;;;;;;;:::o;17051:534::-;17245:7;17267;17289;17324:15;17342:24;17354:11;17342:7;:11;;:24;;;;:::i;:::-;17324:42;;17377:12;17392:21;17401:11;17392:4;:8;;:21;;;;:::i;:::-;17377:36;;17424:13;17440:22;17450:11;17440:5;:9;;:22;;;;:::i;:::-;17424:38;;17473:23;17499:28;17521:5;17499:17;17511:4;17499:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17473:54;;17546:7;17555:15;17572:4;17538:39;;;;;;;;;;17051:534;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1439:133;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1578:137;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1721:139;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1866:143;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:119;;;2129:79;;:::i;:::-;2091:119;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2015:329;;;;:::o;2350:351::-;2420:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:119;;;2475:79;;:::i;:::-;2437:119;2595:1;2620:64;2676:7;2667:6;2656:9;2652:22;2620:64;:::i;:::-;2610:74;;2566:128;2350:351;;;;:::o;2707:474::-;2775:6;2783;2832:2;2820:9;2811:7;2807:23;2803:32;2800:119;;;2838:79;;:::i;:::-;2800:119;2958:1;2983:53;3028:7;3019:6;3008:9;3004:22;2983:53;:::i;:::-;2973:63;;2929:117;3085:2;3111:53;3156:7;3147:6;3136:9;3132:22;3111:53;:::i;:::-;3101:63;;3056:118;2707:474;;;;;:::o;3187:619::-;3264:6;3272;3280;3329:2;3317:9;3308:7;3304:23;3300:32;3297:119;;;3335:79;;:::i;:::-;3297:119;3455:1;3480:53;3525:7;3516:6;3505:9;3501:22;3480:53;:::i;:::-;3470:63;;3426:117;3582:2;3608:53;3653:7;3644:6;3633:9;3629:22;3608:53;:::i;:::-;3598:63;;3553:118;3710:2;3736:53;3781:7;3772:6;3761:9;3757:22;3736:53;:::i;:::-;3726:63;;3681:118;3187:619;;;;;:::o;3812:474::-;3880:6;3888;3937:2;3925:9;3916:7;3912:23;3908:32;3905:119;;;3943:79;;:::i;:::-;3905:119;4063:1;4088:53;4133:7;4124:6;4113:9;4109:22;4088:53;:::i;:::-;4078:63;;4034:117;4190:2;4216:53;4261:7;4252:6;4241:9;4237:22;4216:53;:::i;:::-;4206:63;;4161:118;3812:474;;;;;:::o;4292:539::-;4376:6;4425:2;4413:9;4404:7;4400:23;4396:32;4393:119;;;4431:79;;:::i;:::-;4393:119;4579:1;4568:9;4564:17;4551:31;4609:18;4601:6;4598:30;4595:117;;;4631:79;;:::i;:::-;4595:117;4736:78;4806:7;4797:6;4786:9;4782:22;4736:78;:::i;:::-;4726:88;;4522:302;4292:539;;;;:::o;4837:323::-;4893:6;4942:2;4930:9;4921:7;4917:23;4913:32;4910:119;;;4948:79;;:::i;:::-;4910:119;5068:1;5093:50;5135:7;5126:6;5115:9;5111:22;5093:50;:::i;:::-;5083:60;;5039:114;4837:323;;;;:::o;5166:345::-;5233:6;5282:2;5270:9;5261:7;5257:23;5253:32;5250:119;;;5288:79;;:::i;:::-;5250:119;5408:1;5433:61;5486:7;5477:6;5466:9;5462:22;5433:61;:::i;:::-;5423:71;;5379:125;5166:345;;;;:::o;5517:329::-;5576:6;5625:2;5613:9;5604:7;5600:23;5596:32;5593:119;;;5631:79;;:::i;:::-;5593:119;5751:1;5776:53;5821:7;5812:6;5801:9;5797:22;5776:53;:::i;:::-;5766:63;;5722:117;5517:329;;;;:::o;5852:663::-;5940:6;5948;5956;6005:2;5993:9;5984:7;5980:23;5976:32;5973:119;;;6011:79;;:::i;:::-;5973:119;6131:1;6156:64;6212:7;6203:6;6192:9;6188:22;6156:64;:::i;:::-;6146:74;;6102:128;6269:2;6295:64;6351:7;6342:6;6331:9;6327:22;6295:64;:::i;:::-;6285:74;;6240:129;6408:2;6434:64;6490:7;6481:6;6470:9;6466:22;6434:64;:::i;:::-;6424:74;;6379:129;5852:663;;;;;:::o;6521:179::-;6590:10;6611:46;6653:3;6645:6;6611:46;:::i;:::-;6689:4;6684:3;6680:14;6666:28;;6521:179;;;;:::o;6706:108::-;6783:24;6801:5;6783:24;:::i;:::-;6778:3;6771:37;6706:108;;:::o;6820:118::-;6907:24;6925:5;6907:24;:::i;:::-;6902:3;6895:37;6820:118;;:::o;6974:732::-;7093:3;7122:54;7170:5;7122:54;:::i;:::-;7192:86;7271:6;7266:3;7192:86;:::i;:::-;7185:93;;7302:56;7352:5;7302:56;:::i;:::-;7381:7;7412:1;7397:284;7422:6;7419:1;7416:13;7397:284;;;7498:6;7492:13;7525:63;7584:3;7569:13;7525:63;:::i;:::-;7518:70;;7611:60;7664:6;7611:60;:::i;:::-;7601:70;;7457:224;7444:1;7441;7437:9;7432:14;;7397:284;;;7401:14;7697:3;7690:10;;7098:608;;;6974:732;;;;:::o;7712:109::-;7793:21;7808:5;7793:21;:::i;:::-;7788:3;7781:34;7712:109;;:::o;7827:147::-;7922:45;7961:5;7922:45;:::i;:::-;7917:3;7910:58;7827:147;;:::o;7980:364::-;8068:3;8096:39;8129:5;8096:39;:::i;:::-;8151:71;8215:6;8210:3;8151:71;:::i;:::-;8144:78;;8231:52;8276:6;8271:3;8264:4;8257:5;8253:16;8231:52;:::i;:::-;8308:29;8330:6;8308:29;:::i;:::-;8303:3;8299:39;8292:46;;8072:272;7980:364;;;;:::o;8350:366::-;8492:3;8513:67;8577:2;8572:3;8513:67;:::i;:::-;8506:74;;8589:93;8678:3;8589:93;:::i;:::-;8707:2;8702:3;8698:12;8691:19;;8350:366;;;:::o;8722:::-;8864:3;8885:67;8949:2;8944:3;8885:67;:::i;:::-;8878:74;;8961:93;9050:3;8961:93;:::i;:::-;9079:2;9074:3;9070:12;9063:19;;8722:366;;;:::o;9094:::-;9236:3;9257:67;9321:2;9316:3;9257:67;:::i;:::-;9250:74;;9333:93;9422:3;9333:93;:::i;:::-;9451:2;9446:3;9442:12;9435:19;;9094:366;;;:::o;9466:::-;9608:3;9629:67;9693:2;9688:3;9629:67;:::i;:::-;9622:74;;9705:93;9794:3;9705:93;:::i;:::-;9823:2;9818:3;9814:12;9807:19;;9466:366;;;:::o;9838:::-;9980:3;10001:67;10065:2;10060:3;10001:67;:::i;:::-;9994:74;;10077:93;10166:3;10077:93;:::i;:::-;10195:2;10190:3;10186:12;10179:19;;9838:366;;;:::o;10210:::-;10352:3;10373:67;10437:2;10432:3;10373:67;:::i;:::-;10366:74;;10449:93;10538:3;10449:93;:::i;:::-;10567:2;10562:3;10558:12;10551:19;;10210:366;;;:::o;10582:::-;10724:3;10745:67;10809:2;10804:3;10745:67;:::i;:::-;10738:74;;10821:93;10910:3;10821:93;:::i;:::-;10939:2;10934:3;10930:12;10923:19;;10582:366;;;:::o;10954:::-;11096:3;11117:67;11181:2;11176:3;11117:67;:::i;:::-;11110:74;;11193:93;11282:3;11193:93;:::i;:::-;11311:2;11306:3;11302:12;11295:19;;10954:366;;;:::o;11326:::-;11468:3;11489:67;11553:2;11548:3;11489:67;:::i;:::-;11482:74;;11565:93;11654:3;11565:93;:::i;:::-;11683:2;11678:3;11674:12;11667:19;;11326:366;;;:::o;11698:::-;11840:3;11861:67;11925:2;11920:3;11861:67;:::i;:::-;11854:74;;11937:93;12026:3;11937:93;:::i;:::-;12055:2;12050:3;12046:12;12039:19;;11698:366;;;:::o;12070:::-;12212:3;12233:67;12297:2;12292:3;12233:67;:::i;:::-;12226:74;;12309:93;12398:3;12309:93;:::i;:::-;12427:2;12422:3;12418:12;12411:19;;12070:366;;;:::o;12442:::-;12584:3;12605:67;12669:2;12664:3;12605:67;:::i;:::-;12598:74;;12681:93;12770:3;12681:93;:::i;:::-;12799:2;12794:3;12790:12;12783:19;;12442:366;;;:::o;12814:118::-;12901:24;12919:5;12901:24;:::i;:::-;12896:3;12889:37;12814:118;;:::o;12938:112::-;13021:22;13037:5;13021:22;:::i;:::-;13016:3;13009:35;12938:112;;:::o;13056:222::-;13149:4;13187:2;13176:9;13172:18;13164:26;;13200:71;13268:1;13257:9;13253:17;13244:6;13200:71;:::i;:::-;13056:222;;;;:::o;13284:332::-;13405:4;13443:2;13432:9;13428:18;13420:26;;13456:71;13524:1;13513:9;13509:17;13500:6;13456:71;:::i;:::-;13537:72;13605:2;13594:9;13590:18;13581:6;13537:72;:::i;:::-;13284:332;;;;;:::o;13622:807::-;13871:4;13909:3;13898:9;13894:19;13886:27;;13923:71;13991:1;13980:9;13976:17;13967:6;13923:71;:::i;:::-;14004:72;14072:2;14061:9;14057:18;14048:6;14004:72;:::i;:::-;14086:80;14162:2;14151:9;14147:18;14138:6;14086:80;:::i;:::-;14176;14252:2;14241:9;14237:18;14228:6;14176:80;:::i;:::-;14266:73;14334:3;14323:9;14319:19;14310:6;14266:73;:::i;:::-;14349;14417:3;14406:9;14402:19;14393:6;14349:73;:::i;:::-;13622:807;;;;;;;;;:::o;14435:210::-;14522:4;14560:2;14549:9;14545:18;14537:26;;14573:65;14635:1;14624:9;14620:17;14611:6;14573:65;:::i;:::-;14435:210;;;;:::o;14651:313::-;14764:4;14802:2;14791:9;14787:18;14779:26;;14851:9;14845:4;14841:20;14837:1;14826:9;14822:17;14815:47;14879:78;14952:4;14943:6;14879:78;:::i;:::-;14871:86;;14651:313;;;;:::o;14970:419::-;15136:4;15174:2;15163:9;15159:18;15151:26;;15223:9;15217:4;15213:20;15209:1;15198:9;15194:17;15187:47;15251:131;15377:4;15251:131;:::i;:::-;15243:139;;14970:419;;;:::o;15395:::-;15561:4;15599:2;15588:9;15584:18;15576:26;;15648:9;15642:4;15638:20;15634:1;15623:9;15619:17;15612:47;15676:131;15802:4;15676:131;:::i;:::-;15668:139;;15395:419;;;:::o;15820:::-;15986:4;16024:2;16013:9;16009:18;16001:26;;16073:9;16067:4;16063:20;16059:1;16048:9;16044:17;16037:47;16101:131;16227:4;16101:131;:::i;:::-;16093:139;;15820:419;;;:::o;16245:::-;16411:4;16449:2;16438:9;16434:18;16426:26;;16498:9;16492:4;16488:20;16484:1;16473:9;16469:17;16462:47;16526:131;16652:4;16526:131;:::i;:::-;16518:139;;16245:419;;;:::o;16670:::-;16836:4;16874:2;16863:9;16859:18;16851:26;;16923:9;16917:4;16913:20;16909:1;16898:9;16894:17;16887:47;16951:131;17077:4;16951:131;:::i;:::-;16943:139;;16670:419;;;:::o;17095:::-;17261:4;17299:2;17288:9;17284:18;17276:26;;17348:9;17342:4;17338:20;17334:1;17323:9;17319:17;17312:47;17376:131;17502:4;17376:131;:::i;:::-;17368:139;;17095:419;;;:::o;17520:::-;17686:4;17724:2;17713:9;17709:18;17701:26;;17773:9;17767:4;17763:20;17759:1;17748:9;17744:17;17737:47;17801:131;17927:4;17801:131;:::i;:::-;17793:139;;17520:419;;;:::o;17945:::-;18111:4;18149:2;18138:9;18134:18;18126:26;;18198:9;18192:4;18188:20;18184:1;18173:9;18169:17;18162:47;18226:131;18352:4;18226:131;:::i;:::-;18218:139;;17945:419;;;:::o;18370:::-;18536:4;18574:2;18563:9;18559:18;18551:26;;18623:9;18617:4;18613:20;18609:1;18598:9;18594:17;18587:47;18651:131;18777:4;18651:131;:::i;:::-;18643:139;;18370:419;;;:::o;18795:::-;18961:4;18999:2;18988:9;18984:18;18976:26;;19048:9;19042:4;19038:20;19034:1;19023:9;19019:17;19012:47;19076:131;19202:4;19076:131;:::i;:::-;19068:139;;18795:419;;;:::o;19220:::-;19386:4;19424:2;19413:9;19409:18;19401:26;;19473:9;19467:4;19463:20;19459:1;19448:9;19444:17;19437:47;19501:131;19627:4;19501:131;:::i;:::-;19493:139;;19220:419;;;:::o;19645:::-;19811:4;19849:2;19838:9;19834:18;19826:26;;19898:9;19892:4;19888:20;19884:1;19873:9;19869:17;19862:47;19926:131;20052:4;19926:131;:::i;:::-;19918:139;;19645:419;;;:::o;20070:222::-;20163:4;20201:2;20190:9;20186:18;20178:26;;20214:71;20282:1;20271:9;20267:17;20258:6;20214:71;:::i;:::-;20070:222;;;;:::o;20298:831::-;20561:4;20599:3;20588:9;20584:19;20576:27;;20613:71;20681:1;20670:9;20666:17;20657:6;20613:71;:::i;:::-;20694:80;20770:2;20759:9;20755:18;20746:6;20694:80;:::i;:::-;20821:9;20815:4;20811:20;20806:2;20795:9;20791:18;20784:48;20849:108;20952:4;20943:6;20849:108;:::i;:::-;20841:116;;20967:72;21035:2;21024:9;21020:18;21011:6;20967:72;:::i;:::-;21049:73;21117:3;21106:9;21102:19;21093:6;21049:73;:::i;:::-;20298:831;;;;;;;;:::o;21135:214::-;21224:4;21262:2;21251:9;21247:18;21239:26;;21275:67;21339:1;21328:9;21324:17;21315:6;21275:67;:::i;:::-;21135:214;;;;:::o;21355:129::-;21389:6;21416:20;;:::i;:::-;21406:30;;21445:33;21473:4;21465:6;21445:33;:::i;:::-;21355:129;;;:::o;21490:75::-;21523:6;21556:2;21550:9;21540:19;;21490:75;:::o;21571:311::-;21648:4;21738:18;21730:6;21727:30;21724:56;;;21760:18;;:::i;:::-;21724:56;21810:4;21802:6;21798:17;21790:25;;21870:4;21864;21860:15;21852:23;;21571:311;;;:::o;21888:132::-;21955:4;21978:3;21970:11;;22008:4;22003:3;21999:14;21991:22;;21888:132;;;:::o;22026:114::-;22093:6;22127:5;22121:12;22111:22;;22026:114;;;:::o;22146:99::-;22198:6;22232:5;22226:12;22216:22;;22146:99;;;:::o;22251:113::-;22321:4;22353;22348:3;22344:14;22336:22;;22251:113;;;:::o;22370:184::-;22469:11;22503:6;22498:3;22491:19;22543:4;22538:3;22534:14;22519:29;;22370:184;;;;:::o;22560:169::-;22644:11;22678:6;22673:3;22666:19;22718:4;22713:3;22709:14;22694:29;;22560:169;;;;:::o;22735:305::-;22775:3;22794:20;22812:1;22794:20;:::i;:::-;22789:25;;22828:20;22846:1;22828:20;:::i;:::-;22823:25;;22982:1;22914:66;22910:74;22907:1;22904:81;22901:107;;;22988:18;;:::i;:::-;22901:107;23032:1;23029;23025:9;23018:16;;22735:305;;;;:::o;23046:185::-;23086:1;23103:20;23121:1;23103:20;:::i;:::-;23098:25;;23137:20;23155:1;23137:20;:::i;:::-;23132:25;;23176:1;23166:35;;23181:18;;:::i;:::-;23166:35;23223:1;23220;23216:9;23211:14;;23046:185;;;;:::o;23237:348::-;23277:7;23300:20;23318:1;23300:20;:::i;:::-;23295:25;;23334:20;23352:1;23334:20;:::i;:::-;23329:25;;23522:1;23454:66;23450:74;23447:1;23444:81;23439:1;23432:9;23425:17;23421:105;23418:131;;;23529:18;;:::i;:::-;23418:131;23577:1;23574;23570:9;23559:20;;23237:348;;;;:::o;23591:191::-;23631:4;23651:20;23669:1;23651:20;:::i;:::-;23646:25;;23685:20;23703:1;23685:20;:::i;:::-;23680:25;;23724:1;23721;23718:8;23715:34;;;23729:18;;:::i;:::-;23715:34;23774:1;23771;23767:9;23759:17;;23591:191;;;;:::o;23788:96::-;23825:7;23854:24;23872:5;23854:24;:::i;:::-;23843:35;;23788:96;;;:::o;23890:90::-;23924:7;23967:5;23960:13;23953:21;23942:32;;23890:90;;;:::o;23986:126::-;24023:7;24063:42;24056:5;24052:54;24041:65;;23986:126;;;:::o;24118:77::-;24155:7;24184:5;24173:16;;24118:77;;;:::o;24201:86::-;24236:7;24276:4;24269:5;24265:16;24254:27;;24201:86;;;:::o;24293:121::-;24351:9;24384:24;24402:5;24384:24;:::i;:::-;24371:37;;24293:121;;;:::o;24420:307::-;24488:1;24498:113;24512:6;24509:1;24506:13;24498:113;;;24597:1;24592:3;24588:11;24582:18;24578:1;24573:3;24569:11;24562:39;24534:2;24531:1;24527:10;24522:15;;24498:113;;;24629:6;24626:1;24623:13;24620:101;;;24709:1;24700:6;24695:3;24691:16;24684:27;24620:101;24469:258;24420:307;;;:::o;24733:281::-;24816:27;24838:4;24816:27;:::i;:::-;24808:6;24804:40;24946:6;24934:10;24931:22;24910:18;24898:10;24895:34;24892:62;24889:88;;;24957:18;;:::i;:::-;24889:88;24997:10;24993:2;24986:22;24776:238;24733:281;;:::o;25020:233::-;25059:3;25082:24;25100:5;25082:24;:::i;:::-;25073:33;;25128:66;25121:5;25118:77;25115:103;;;25198:18;;:::i;:::-;25115:103;25245:1;25238:5;25234:13;25227:20;;25020:233;;;:::o;25259:180::-;25307:77;25304:1;25297:88;25404:4;25401:1;25394:15;25428:4;25425:1;25418:15;25445:180;25493:77;25490:1;25483:88;25590:4;25587:1;25580:15;25614:4;25611:1;25604:15;25631:180;25679:77;25676:1;25669:88;25776:4;25773:1;25766:15;25800:4;25797:1;25790:15;25817:180;25865:77;25862:1;25855:88;25962:4;25959:1;25952:15;25986:4;25983:1;25976:15;26003:117;26112:1;26109;26102:12;26126:117;26235:1;26232;26225:12;26249:117;26358:1;26355;26348:12;26372:117;26481:1;26478;26471:12;26495:102;26536:6;26587:2;26583:7;26578:2;26571:5;26567:14;26563:28;26553:38;;26495:102;;;:::o;26603:222::-;26743:34;26739:1;26731:6;26727:14;26720:58;26812:5;26807:2;26799:6;26795:15;26788:30;26603:222;:::o;26831:229::-;26971:34;26967:1;26959:6;26955:14;26948:58;27040:12;27035:2;27027:6;27023:15;27016:37;26831:229;:::o;27066:221::-;27206:34;27202:1;27194:6;27190:14;27183:58;27275:4;27270:2;27262:6;27258:15;27251:29;27066:221;:::o;27293:177::-;27433:29;27429:1;27421:6;27417:14;27410:53;27293:177;:::o;27476:179::-;27616:31;27612:1;27604:6;27600:14;27593:55;27476:179;:::o;27661:169::-;27801:21;27797:1;27789:6;27785:14;27778:45;27661:169;:::o;27836:220::-;27976:34;27972:1;27964:6;27960:14;27953:58;28045:3;28040:2;28032:6;28028:15;28021:28;27836:220;:::o;28062:182::-;28202:34;28198:1;28190:6;28186:14;28179:58;28062:182;:::o;28250:228::-;28390:34;28386:1;28378:6;28374:14;28367:58;28459:11;28454:2;28446:6;28442:15;28435:36;28250:228;:::o;28484:224::-;28624:34;28620:1;28612:6;28608:14;28601:58;28693:7;28688:2;28680:6;28676:15;28669:32;28484:224;:::o;28714:223::-;28854:34;28850:1;28842:6;28838:14;28831:58;28923:6;28918:2;28910:6;28906:15;28899:31;28714:223;:::o;28943:173::-;29083:25;29079:1;29071:6;29067:14;29060:49;28943:173;:::o;29122:122::-;29195:24;29213:5;29195:24;:::i;:::-;29188:5;29185:35;29175:63;;29234:1;29231;29224:12;29175:63;29122:122;:::o;29250:116::-;29320:21;29335:5;29320:21;:::i;:::-;29313:5;29310:32;29300:60;;29356:1;29353;29346:12;29300:60;29250:116;:::o;29372:122::-;29445:24;29463:5;29445:24;:::i;:::-;29438:5;29435:35;29425:63;;29484:1;29481;29474:12;29425:63;29372:122;:::o

Swarm Source

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