ETH Price: $3,488.64 (+2.35%)

Token

ADAMANTIUM (ADAMANTIUM)
 

Overview

Max Total Supply

1,000,000,000,000,000,000 ADAMANTIUM

Holders

182

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.16 ADAMANTIUM

Value
$0.00
0x573f34b3a77ee38a6fbb8d7eb006bea2647299b0
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ADAMANTIUM

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.9;
pragma experimental ABIEncoderV2;

// SPDX-License-Identifier:MIT

// token contract interface
interface IBEP20 {
    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
    );
}

// Dex Factory contract interface
interface IDexFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

// Dex Router contract interface
interface IDexRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

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

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

contract Ownable is Context {
    address private _owner;

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

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

    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 = payable(address(0));
    }

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


contract ADAMANTIUM is Context, IBEP20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public isExcludedFromFee;
    mapping(address => bool) public isExcludedFromMaxTx;

    string private _name = "ADAMANTIUM";
    string private _symbol = "ADAMANTIUM";
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 1 * 1e18 * 1e9; // 1 quintillion

    IDexRouter public dexRouter;
    address public dexPair;
    address public feeAddress1;
    address public feeAddress2;

    uint256 public maxTxAmount = _totalSupply.mul(2).div(100); // should be 2% percent per transaction
    uint256 public percentDivider = 1000;
    uint256 public launchTime; // can be set only once

    bool public feesStatus; // disable by default
    bool public _tradingOpen; //once switched on, can never be switched off.

    uint256 public taxFee1 = 0; // 0% will be added to the feeAddress1
    uint256 public taxFee2 = 0; // 0% will be added to the feeAddress2

    constructor(address _feeAddress1, address _feeAddress2) {
        _balances[owner()] = _totalSupply;

        feeAddress1 = _feeAddress1;
        feeAddress2 = _feeAddress2;

        IDexRouter _dexRouter = IDexRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        // Create a dex pair for this new ADAMANTIUM
        dexPair = IDexFactory(_dexRouter.factory()).createPair(
            address(this),
            _dexRouter.WETH()
        );

        // set the rest of the contract variables
        dexRouter = _dexRouter;

        //exclude owner and this contract from fee
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[_feeAddress1] = true;
        isExcludedFromFee[_feeAddress2] = true;

        // exclude from max tx
        isExcludedFromMaxTx[owner()] = true;
        isExcludedFromMaxTx[address(this)] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    //to receive BNB from dexRouter when swapping
    receive() external payable {}

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

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

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

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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ADAMANTIUM: decreased allowance below zero"
            )
        );
        return true;
    }

    function includeOrExcludeFromFee(address account, bool value)
        external
        onlyOwner
    {
        isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTx(address _address, bool value)
        external
        onlyOwner
    {
        isExcludedFromMaxTx[_address] = value;
    }

    function setMaxTxAmount(uint256 _amount) external onlyOwner {
        maxTxAmount = _amount;
    }

    function setFeePercent(uint256 _taxFee1, uint256 _taxFee2)
        external
        onlyOwner
    {
        taxFee1 = _taxFee1;
        taxFee2 = _taxFee2;
    }

    function enableOrDisableFees(bool _value) external onlyOwner {
        feesStatus = _value;
    }

    function updateAddresses(
        address payable _feeAddress1,
        address payable _feeAddress2
    ) external onlyOwner {
        feeAddress1 = _feeAddress1;
        feeAddress2 = _feeAddress2;
    }

    function setRoute(IDexRouter _router, address _pair) external onlyOwner {
        dexRouter = _router;
        dexPair = _pair;
    }

    function launch() external onlyOwner {
        require(!_tradingOpen, "ADAMANTIUM: Already enabled");
        _tradingOpen = true;
        launchTime = block.timestamp;
    }

    function removeStuckBnb(address payable _account, uint256 _amount)
        external
        onlyOwner
    {
        _account.transfer(_amount);
    }

    function removeStuckToken(
        IBEP20 _token,
        address _account,
        uint256 _amount
    ) external onlyOwner {
        _token.transfer(_account, _amount);
    }

    function totalFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = amount.mul(taxFee1.add(taxFee2)).div(percentDivider);
        return fee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(
            owner != address(0),
            "ADAMANTIUM: approve from the zero address"
        );
        require(
            spender != address(0),
            "ADAMANTIUM: 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),
            "ADAMANTIUM: transfer from the zero address"
        );
        require(to != address(0), "ADAMANTIUM: transfer to the zero address");
        require(amount > 0, "ADAMANTIUM: Amount must be greater than zero");

        if (
            isExcludedFromMaxTx[from] == false &&
            isExcludedFromMaxTx[to] == false // by default false
        ) {
            require(
                amount <= maxTxAmount,
                "ADAMANTIUM: amount exceeded max limit"
            );

            if (!_tradingOpen) {
                require(
                    from != dexPair && to != dexPair,
                    "ADAMANTIUM: Trading is not enabled yet"
                );
            }
        }

        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to isExcludedFromFee account then remove the fee
        if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) {
            takeFee = false;
        }

        //transfer amount, it will take tax, burn, liquidity fee
        _tokenTransfer(from, to, amount, takeFee);
    }

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) {
            _balances[sender] = _balances[sender].sub(amount);
            _balances[recipient] = _balances[recipient].add(amount);

            emit Transfer(sender, recipient, amount);
        } else {
            uint256 allFee = totalFeePerTx(amount);
            uint256 tTransferAmount = amount.sub(allFee);
            _balances[sender] = _balances[sender].sub(amount);
            _balances[recipient] = _balances[recipient].add(tTransferAmount);
            emit Transfer(sender, recipient, tTransferAmount);

            if (taxFee1 > 0) _takeFee1(sender, amount);
            if (taxFee2 > 0) _takeFee2(sender, amount);
        }
    }

    function _takeFee1(address sender, uint256 amount) private {
        uint256 fee = amount.mul(taxFee1).div(percentDivider);
        _balances[feeAddress1] = _balances[feeAddress1].add(fee);

        emit Transfer(sender, feeAddress1, fee);
    }

    function _takeFee2(address sender, uint256 amount) private {
        uint256 fee = amount.mul(taxFee2).div(percentDivider);
        _balances[feeAddress2] = _balances[feeAddress2].add(fee);

        emit Transfer(sender, feeAddress2, fee);
    }
}

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) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_feeAddress1","type":"address"},{"internalType":"address","name":"_feeAddress2","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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeAddress1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAddress2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"removeStuckBnb","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IBEP20","name":"_token","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"removeStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxFee1","type":"uint256"},{"internalType":"uint256","name":"_taxFee2","type":"uint256"}],"name":"setFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IDexRouter","name":"_router","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"setRoute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFee1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFee2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_feeAddress1","type":"address"},{"internalType":"address payable","name":"_feeAddress2","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600a81526020017f4144414d414e5449554d00000000000000000000000000000000000000000000815250600590805190602001906200005192919062000938565b506040518060400160405280600a81526020017f4144414d414e5449554d00000000000000000000000000000000000000000000815250600690805190602001906200009f92919062000938565b506009600760006101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce8000000600855620001036064620000ef6002600854620007c960201b62001b7d1790919060201c565b6200084d60201b62001bf81790919060201c565b600d556103e8600e55600060115560006012553480156200012357600080fd5b50604051620047c3380380620047c3833981810160405281019062000149919062000a52565b620001596200089f60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600854600160006200022a620008a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034a57600080fd5b505afa1580156200035f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000385919062000a99565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003e857600080fd5b505afa158015620003fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000423919062000a99565b6040518363ffffffff1660e01b81526004016200044292919062000adc565b602060405180830381600087803b1580156200045d57600080fd5b505af115801562000472573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000498919062000a99565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006200052f620008a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460006200069e620008a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000757620008a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620007b8919062000b24565b60405180910390a350505062000dfd565b600080831415620007de576000905062000847565b60008284620007ee919062000b70565b9050828482620007ff919062000c00565b1462000842576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008399062000cbf565b60405180910390fd5b809150505b92915050565b60006200089783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008d060201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000911919062000d74565b60405180910390fd5b50600083856200092b919062000c00565b9050809150509392505050565b828054620009469062000dc7565b90600052602060002090601f0160209004810192826200096a5760008555620009b6565b82601f106200098557805160ff1916838001178555620009b6565b82800160010185558215620009b6579182015b82811115620009b557825182559160200191906001019062000998565b5b509050620009c59190620009c9565b5090565b5b80821115620009e4576000816000905550600101620009ca565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a1a82620009ed565b9050919050565b62000a2c8162000a0d565b811462000a3857600080fd5b50565b60008151905062000a4c8162000a21565b92915050565b6000806040838503121562000a6c5762000a6b620009e8565b5b600062000a7c8582860162000a3b565b925050602062000a8f8582860162000a3b565b9150509250929050565b60006020828403121562000ab25762000ab1620009e8565b5b600062000ac28482850162000a3b565b91505092915050565b62000ad68162000a0d565b82525050565b600060408201905062000af3600083018562000acb565b62000b02602083018462000acb565b9392505050565b6000819050919050565b62000b1e8162000b09565b82525050565b600060208201905062000b3b600083018462000b13565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b7d8262000b09565b915062000b8a8362000b09565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000bc65762000bc562000b41565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000c0d8262000b09565b915062000c1a8362000b09565b92508262000c2d5762000c2c62000bd1565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000ca760218362000c38565b915062000cb48262000c49565b604082019050919050565b6000602082019050818103600083015262000cda8162000c98565b9050919050565b600081519050919050565b60005b8381101562000d0c57808201518184015260208101905062000cef565b8381111562000d1c576000848401525b50505050565b6000601f19601f8301169050919050565b600062000d408262000ce1565b62000d4c818562000c38565b935062000d5e81856020860162000cec565b62000d698162000d22565b840191505092915050565b6000602082019050818103600083015262000d90818462000d33565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000de057607f821691505b6020821081141562000df75762000df662000d98565b5b50919050565b6139b68062000e0d6000396000f3fe6080604052600436106102295760003560e01c80638da5cb5b11610123578063c27f55e2116100ab578063ec28438a1161006f578063ec28438a1461082a578063f242ab4114610853578063f2fde38b1461087e578063f882a056146108a7578063fe6f1b05146108e457610230565b8063c27f55e214610743578063cd52c7011461076e578063dd62ed3e14610799578063ea5b9e85146107d6578063eb78f95e146107ff57610230565b8063a457c2d7116100f2578063a457c2d71461064e578063a9059cbb1461068b578063b0bc2a2d146106c8578063bcda3a03146106f1578063c1d110371461071a57610230565b80638da5cb5b146105a657806395d89b41146105d15780639e406797146105fc578063a0f622851461062557610230565b806339509351116101b1578063715018a611610175578063715018a6146104e3578063790ca413146104fa578063875e5a0314610525578063879dd3c5146105505780638c0b5e221461057b57610230565b806339509351146103c65780635342acb414610403578063658c27a9146104405780636f1678261461047d57806370a08231146104a657610230565b8063095ea7b3116101f8578063095ea7b3146102cb57806318160ddd146103085780631b3b8b791461033357806323b872dd1461035e578063313ce5671461039b57610230565b806301339c21146102355780630505e94d1461024c57806306fdde03146102755780630758d924146102a057610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a61090f565b005b34801561025857600080fd5b50610273600480360381019061026e9190612ac3565b610a18565b005b34801561028157600080fd5b5061028a610b33565b6040516102979190612b9c565b60405180910390f35b3480156102ac57600080fd5b506102b5610bc5565b6040516102c29190612c1d565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190612c6e565b610beb565b6040516102ff9190612cc9565b60405180910390f35b34801561031457600080fd5b5061031d610c09565b60405161032a9190612cf3565b60405180910390f35b34801561033f57600080fd5b50610348610c13565b6040516103559190612d1d565b60405180910390f35b34801561036a57600080fd5b5061038560048036038101906103809190612d38565b610c39565b6040516103929190612cc9565b60405180910390f35b3480156103a757600080fd5b506103b0610d12565b6040516103bd9190612da7565b60405180910390f35b3480156103d257600080fd5b506103ed60048036038101906103e89190612c6e565b610d29565b6040516103fa9190612cc9565b60405180910390f35b34801561040f57600080fd5b5061042a60048036038101906104259190612dc2565b610ddc565b6040516104379190612cc9565b60405180910390f35b34801561044c57600080fd5b5061046760048036038101906104629190612dc2565b610dfc565b6040516104749190612cc9565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f9190612def565b610e1c565b005b3480156104b257600080fd5b506104cd60048036038101906104c89190612dc2565b610ec3565b6040516104da9190612cf3565b60405180910390f35b3480156104ef57600080fd5b506104f8610f0c565b005b34801561050657600080fd5b5061050f61105f565b60405161051c9190612cf3565b60405180910390f35b34801561053157600080fd5b5061053a611065565b6040516105479190612cf3565b60405180910390f35b34801561055c57600080fd5b5061056561106b565b6040516105729190612cc9565b60405180910390f35b34801561058757600080fd5b5061059061107e565b60405161059d9190612cf3565b60405180910390f35b3480156105b257600080fd5b506105bb611084565b6040516105c89190612d1d565b60405180910390f35b3480156105dd57600080fd5b506105e66110ad565b6040516105f39190612b9c565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190612e5b565b61113f565b005b34801561063157600080fd5b5061064c60048036038101906106479190612ed9565b61122f565b005b34801561065a57600080fd5b5061067560048036038101906106709190612c6e565b61130f565b6040516106829190612cc9565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190612c6e565b6113dc565b6040516106bf9190612cc9565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea9190612f19565b6113fa565b005b3480156106fd57600080fd5b5061071860048036038101906107139190612f84565b6114ac565b005b34801561072657600080fd5b50610741600480360381019061073c9190612fd7565b6115d4565b005b34801561074f57600080fd5b506107586116ef565b6040516107659190612cf3565b60405180910390f35b34801561077a57600080fd5b506107836116f5565b6040516107909190612cc9565b60405180910390f35b3480156107a557600080fd5b506107c060048036038101906107bb9190613017565b611708565b6040516107cd9190612cf3565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190612e5b565b61178f565b005b34801561080b57600080fd5b5061081461187f565b6040516108219190612d1d565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190613057565b6118a5565b005b34801561085f57600080fd5b50610868611944565b6040516108759190612d1d565b60405180910390f35b34801561088a57600080fd5b506108a560048036038101906108a09190612dc2565b61196a565b005b3480156108b357600080fd5b506108ce60048036038101906108c99190613057565b611b2c565b6040516108db9190612cf3565b60405180910390f35b3480156108f057600080fd5b506108f9611b77565b6040516109069190612cf3565b60405180910390f35b610917611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b906130d0565b60405180910390fd5b601060019054906101000a900460ff16156109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb9061313c565b60405180910390fd5b6001601060016101000a81548160ff02191690831515021790555042600f81905550565b610a20611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa4906130d0565b60405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b606060058054610b429061318b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6e9061318b565b8015610bbb5780601f10610b9057610100808354040283529160200191610bbb565b820191906000526020600020905b815481529060010190602001808311610b9e57829003601f168201915b5050505050905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bff610bf8611c42565b8484611c4a565b6001905092915050565b6000600854905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c46848484611e15565b610d0784610c52611c42565b610d02856040518060600160405280602d8152602001613954602d9139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cb8611c42565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e9092919063ffffffff16565b611c4a565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000610dd2610d36611c42565b84610dcd8560026000610d47611c42565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b611c4a565b6001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b610e24611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea8906130d0565b60405180910390fd5b81601181905550806012819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f14611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f98906130d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60115481565b601060009054906101000a900460ff1681565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546110bc9061318b565b80601f01602080910402602001604051908101604052809291908181526020018280546110e89061318b565b80156111355780601f1061110a57610100808354040283529160200191611135565b820191906000526020600020905b81548152906001019060200180831161111857829003601f168201915b5050505050905090565b611147611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb906130d0565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611237611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906130d0565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561130a573d6000803e3d6000fd5b505050565b60006113d261131c611c42565b846113cd856040518060600160405280602a815260200161392a602a913960026000611346611c42565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e9092919063ffffffff16565b611c4a565b6001905092915050565b60006113f06113e9611c42565b8484611e15565b6001905092915050565b611402611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611486906130d0565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b6114b4611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611538906130d0565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161157c9291906131bd565b602060405180830381600087803b15801561159657600080fd5b505af11580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce91906131fb565b50505050565b6115dc611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611669576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611660906130d0565b60405180910390fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60125481565b601060019054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611797611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b906130d0565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118ad611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611931906130d0565b60405180910390fd5b80600d8190555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611972611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f6906130d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a669061329a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611b6c600e54611b5e611b4f60125460115461227290919063ffffffff16565b86611b7d90919063ffffffff16565b611bf890919063ffffffff16565b905080915050919050565b600e5481565b600080831415611b905760009050611bf2565b60008284611b9e91906132e9565b9050828482611bad9190613372565b14611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490613415565b60405180910390fd5b809150505b92915050565b6000611c3a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122d0565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb1906134a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2190613539565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e089190612cf3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c906135cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eec9061365d565b60405180910390fd5b60008111611f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2f906136ef565b60405180910390fd5b60001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611fe8575060001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561213357600d54811115612032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202990613781565b60405180910390fd5b601060019054906101000a900460ff1661213257600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120f25750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b612131576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212890613813565b60405180910390fd5b5b5b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121da5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121f25750601060009054906101000a900460ff16155b156121fc57600090505b61220884848484612333565b50505050565b6000838311158290612256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224d9190612b9c565b60405180910390fd5b50600083856122659190613833565b9050809150509392505050565b60008082846122819190613867565b9050838110156122c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122bd90613909565b60405180910390fd5b8091505092915050565b60008083118290612317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230e9190612b9c565b60405180910390fd5b50600083856123269190613372565b9050809150509392505050565b806124cc5761238a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061241f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124bf9190612cf3565b60405180910390a36126ae565b60006124d783611b2c565b905060006124ee82856126b490919063ffffffff16565b905061254284600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b490919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125d781600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126779190612cf3565b60405180910390a3600060115411156126955761269486856126fe565b5b600060125411156126ab576126aa8685612890565b5b50505b50505050565b60006126f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061220e565b905092915050565b6000612729600e5461271b60115485611b7d90919063ffffffff16565b611bf890919063ffffffff16565b905061279f8160016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b60016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128839190612cf3565b60405180910390a3505050565b60006128bb600e546128ad60125485611b7d90919063ffffffff16565b611bf890919063ffffffff16565b90506129318160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a159190612cf3565b60405180910390a3505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a5282612a27565b9050919050565b6000612a6482612a47565b9050919050565b612a7481612a59565b8114612a7f57600080fd5b50565b600081359050612a9181612a6b565b92915050565b612aa081612a47565b8114612aab57600080fd5b50565b600081359050612abd81612a97565b92915050565b60008060408385031215612ada57612ad9612a22565b5b6000612ae885828601612a82565b9250506020612af985828601612aae565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b3d578082015181840152602081019050612b22565b83811115612b4c576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b6e82612b03565b612b788185612b0e565b9350612b88818560208601612b1f565b612b9181612b52565b840191505092915050565b60006020820190508181036000830152612bb68184612b63565b905092915050565b6000819050919050565b6000612be3612bde612bd984612a27565b612bbe565b612a27565b9050919050565b6000612bf582612bc8565b9050919050565b6000612c0782612bea565b9050919050565b612c1781612bfc565b82525050565b6000602082019050612c326000830184612c0e565b92915050565b6000819050919050565b612c4b81612c38565b8114612c5657600080fd5b50565b600081359050612c6881612c42565b92915050565b60008060408385031215612c8557612c84612a22565b5b6000612c9385828601612aae565b9250506020612ca485828601612c59565b9150509250929050565b60008115159050919050565b612cc381612cae565b82525050565b6000602082019050612cde6000830184612cba565b92915050565b612ced81612c38565b82525050565b6000602082019050612d086000830184612ce4565b92915050565b612d1781612a47565b82525050565b6000602082019050612d326000830184612d0e565b92915050565b600080600060608486031215612d5157612d50612a22565b5b6000612d5f86828701612aae565b9350506020612d7086828701612aae565b9250506040612d8186828701612c59565b9150509250925092565b600060ff82169050919050565b612da181612d8b565b82525050565b6000602082019050612dbc6000830184612d98565b92915050565b600060208284031215612dd857612dd7612a22565b5b6000612de684828501612aae565b91505092915050565b60008060408385031215612e0657612e05612a22565b5b6000612e1485828601612c59565b9250506020612e2585828601612c59565b9150509250929050565b612e3881612cae565b8114612e4357600080fd5b50565b600081359050612e5581612e2f565b92915050565b60008060408385031215612e7257612e71612a22565b5b6000612e8085828601612aae565b9250506020612e9185828601612e46565b9150509250929050565b6000612ea682612a27565b9050919050565b612eb681612e9b565b8114612ec157600080fd5b50565b600081359050612ed381612ead565b92915050565b60008060408385031215612ef057612eef612a22565b5b6000612efe85828601612ec4565b9250506020612f0f85828601612c59565b9150509250929050565b600060208284031215612f2f57612f2e612a22565b5b6000612f3d84828501612e46565b91505092915050565b6000612f5182612a47565b9050919050565b612f6181612f46565b8114612f6c57600080fd5b50565b600081359050612f7e81612f58565b92915050565b600080600060608486031215612f9d57612f9c612a22565b5b6000612fab86828701612f6f565b9350506020612fbc86828701612aae565b9250506040612fcd86828701612c59565b9150509250925092565b60008060408385031215612fee57612fed612a22565b5b6000612ffc85828601612ec4565b925050602061300d85828601612ec4565b9150509250929050565b6000806040838503121561302e5761302d612a22565b5b600061303c85828601612aae565b925050602061304d85828601612aae565b9150509250929050565b60006020828403121561306d5761306c612a22565b5b600061307b84828501612c59565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130ba602083612b0e565b91506130c582613084565b602082019050919050565b600060208201905081810360008301526130e9816130ad565b9050919050565b7f4144414d414e5449554d3a20416c726561647920656e61626c65640000000000600082015250565b6000613126601b83612b0e565b9150613131826130f0565b602082019050919050565b6000602082019050818103600083015261315581613119565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806131a357607f821691505b602082108114156131b7576131b661315c565b5b50919050565b60006040820190506131d26000830185612d0e565b6131df6020830184612ce4565b9392505050565b6000815190506131f581612e2f565b92915050565b60006020828403121561321157613210612a22565b5b600061321f848285016131e6565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613284602683612b0e565b915061328f82613228565b604082019050919050565b600060208201905081810360008301526132b381613277565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132f482612c38565b91506132ff83612c38565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613338576133376132ba565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061337d82612c38565b915061338883612c38565b92508261339857613397613343565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006133ff602183612b0e565b915061340a826133a3565b604082019050919050565b6000602082019050818103600083015261342e816133f2565b9050919050565b7f4144414d414e5449554d3a20617070726f76652066726f6d20746865207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b6000613491602983612b0e565b915061349c82613435565b604082019050919050565b600060208201905081810360008301526134c081613484565b9050919050565b7f4144414d414e5449554d3a20617070726f766520746f20746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b6000613523602783612b0e565b915061352e826134c7565b604082019050919050565b6000602082019050818103600083015261355281613516565b9050919050565b7f4144414d414e5449554d3a207472616e736665722066726f6d20746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006135b5602a83612b0e565b91506135c082613559565b604082019050919050565b600060208201905081810360008301526135e4816135a8565b9050919050565b7f4144414d414e5449554d3a207472616e7366657220746f20746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000613647602883612b0e565b9150613652826135eb565b604082019050919050565b600060208201905081810360008301526136768161363a565b9050919050565b7f4144414d414e5449554d3a20416d6f756e74206d75737420626520677265617460008201527f6572207468616e207a65726f0000000000000000000000000000000000000000602082015250565b60006136d9602c83612b0e565b91506136e48261367d565b604082019050919050565b60006020820190508181036000830152613708816136cc565b9050919050565b7f4144414d414e5449554d3a20616d6f756e74206578636565646564206d61782060008201527f6c696d6974000000000000000000000000000000000000000000000000000000602082015250565b600061376b602583612b0e565b91506137768261370f565b604082019050919050565b6000602082019050818103600083015261379a8161375e565b9050919050565b7f4144414d414e5449554d3a2054726164696e67206973206e6f7420656e61626c60008201527f6564207965740000000000000000000000000000000000000000000000000000602082015250565b60006137fd602683612b0e565b9150613808826137a1565b604082019050919050565b6000602082019050818103600083015261382c816137f0565b9050919050565b600061383e82612c38565b915061384983612c38565b92508282101561385c5761385b6132ba565b5b828203905092915050565b600061387282612c38565b915061387d83612c38565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138b2576138b16132ba565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138f3601b83612b0e565b91506138fe826138bd565b602082019050919050565b60006020820190508181036000830152613922816138e6565b905091905056fe4144414d414e5449554d3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4144414d414e5449554d3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220db10c29a8dbf40dedb83412154b3493bac6f83ccd07537dea7e082a140f8edc764736f6c634300080900330000000000000000000000002a14e56d14e2615cb6626b9dbc90a6f3940f8a4d0000000000000000000000002a14e56d14e2615cb6626b9dbc90a6f3940f8a4d

Deployed Bytecode

0x6080604052600436106102295760003560e01c80638da5cb5b11610123578063c27f55e2116100ab578063ec28438a1161006f578063ec28438a1461082a578063f242ab4114610853578063f2fde38b1461087e578063f882a056146108a7578063fe6f1b05146108e457610230565b8063c27f55e214610743578063cd52c7011461076e578063dd62ed3e14610799578063ea5b9e85146107d6578063eb78f95e146107ff57610230565b8063a457c2d7116100f2578063a457c2d71461064e578063a9059cbb1461068b578063b0bc2a2d146106c8578063bcda3a03146106f1578063c1d110371461071a57610230565b80638da5cb5b146105a657806395d89b41146105d15780639e406797146105fc578063a0f622851461062557610230565b806339509351116101b1578063715018a611610175578063715018a6146104e3578063790ca413146104fa578063875e5a0314610525578063879dd3c5146105505780638c0b5e221461057b57610230565b806339509351146103c65780635342acb414610403578063658c27a9146104405780636f1678261461047d57806370a08231146104a657610230565b8063095ea7b3116101f8578063095ea7b3146102cb57806318160ddd146103085780631b3b8b791461033357806323b872dd1461035e578063313ce5671461039b57610230565b806301339c21146102355780630505e94d1461024c57806306fdde03146102755780630758d924146102a057610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a61090f565b005b34801561025857600080fd5b50610273600480360381019061026e9190612ac3565b610a18565b005b34801561028157600080fd5b5061028a610b33565b6040516102979190612b9c565b60405180910390f35b3480156102ac57600080fd5b506102b5610bc5565b6040516102c29190612c1d565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190612c6e565b610beb565b6040516102ff9190612cc9565b60405180910390f35b34801561031457600080fd5b5061031d610c09565b60405161032a9190612cf3565b60405180910390f35b34801561033f57600080fd5b50610348610c13565b6040516103559190612d1d565b60405180910390f35b34801561036a57600080fd5b5061038560048036038101906103809190612d38565b610c39565b6040516103929190612cc9565b60405180910390f35b3480156103a757600080fd5b506103b0610d12565b6040516103bd9190612da7565b60405180910390f35b3480156103d257600080fd5b506103ed60048036038101906103e89190612c6e565b610d29565b6040516103fa9190612cc9565b60405180910390f35b34801561040f57600080fd5b5061042a60048036038101906104259190612dc2565b610ddc565b6040516104379190612cc9565b60405180910390f35b34801561044c57600080fd5b5061046760048036038101906104629190612dc2565b610dfc565b6040516104749190612cc9565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f9190612def565b610e1c565b005b3480156104b257600080fd5b506104cd60048036038101906104c89190612dc2565b610ec3565b6040516104da9190612cf3565b60405180910390f35b3480156104ef57600080fd5b506104f8610f0c565b005b34801561050657600080fd5b5061050f61105f565b60405161051c9190612cf3565b60405180910390f35b34801561053157600080fd5b5061053a611065565b6040516105479190612cf3565b60405180910390f35b34801561055c57600080fd5b5061056561106b565b6040516105729190612cc9565b60405180910390f35b34801561058757600080fd5b5061059061107e565b60405161059d9190612cf3565b60405180910390f35b3480156105b257600080fd5b506105bb611084565b6040516105c89190612d1d565b60405180910390f35b3480156105dd57600080fd5b506105e66110ad565b6040516105f39190612b9c565b60405180910390f35b34801561060857600080fd5b50610623600480360381019061061e9190612e5b565b61113f565b005b34801561063157600080fd5b5061064c60048036038101906106479190612ed9565b61122f565b005b34801561065a57600080fd5b5061067560048036038101906106709190612c6e565b61130f565b6040516106829190612cc9565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190612c6e565b6113dc565b6040516106bf9190612cc9565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea9190612f19565b6113fa565b005b3480156106fd57600080fd5b5061071860048036038101906107139190612f84565b6114ac565b005b34801561072657600080fd5b50610741600480360381019061073c9190612fd7565b6115d4565b005b34801561074f57600080fd5b506107586116ef565b6040516107659190612cf3565b60405180910390f35b34801561077a57600080fd5b506107836116f5565b6040516107909190612cc9565b60405180910390f35b3480156107a557600080fd5b506107c060048036038101906107bb9190613017565b611708565b6040516107cd9190612cf3565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190612e5b565b61178f565b005b34801561080b57600080fd5b5061081461187f565b6040516108219190612d1d565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190613057565b6118a5565b005b34801561085f57600080fd5b50610868611944565b6040516108759190612d1d565b60405180910390f35b34801561088a57600080fd5b506108a560048036038101906108a09190612dc2565b61196a565b005b3480156108b357600080fd5b506108ce60048036038101906108c99190613057565b611b2c565b6040516108db9190612cf3565b60405180910390f35b3480156108f057600080fd5b506108f9611b77565b6040516109069190612cf3565b60405180910390f35b610917611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b906130d0565b60405180910390fd5b601060019054906101000a900460ff16156109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb9061313c565b60405180910390fd5b6001601060016101000a81548160ff02191690831515021790555042600f81905550565b610a20611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa4906130d0565b60405180910390fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b606060058054610b429061318b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6e9061318b565b8015610bbb5780601f10610b9057610100808354040283529160200191610bbb565b820191906000526020600020905b815481529060010190602001808311610b9e57829003601f168201915b5050505050905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bff610bf8611c42565b8484611c4a565b6001905092915050565b6000600854905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c46848484611e15565b610d0784610c52611c42565b610d02856040518060600160405280602d8152602001613954602d9139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cb8611c42565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e9092919063ffffffff16565b611c4a565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000610dd2610d36611c42565b84610dcd8560026000610d47611c42565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b611c4a565b6001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b610e24611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea8906130d0565b60405180910390fd5b81601181905550806012819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f14611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f98906130d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60115481565b601060009054906101000a900460ff1681565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546110bc9061318b565b80601f01602080910402602001604051908101604052809291908181526020018280546110e89061318b565b80156111355780601f1061110a57610100808354040283529160200191611135565b820191906000526020600020905b81548152906001019060200180831161111857829003601f168201915b5050505050905090565b611147611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb906130d0565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611237611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906130d0565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561130a573d6000803e3d6000fd5b505050565b60006113d261131c611c42565b846113cd856040518060600160405280602a815260200161392a602a913960026000611346611c42565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461220e9092919063ffffffff16565b611c4a565b6001905092915050565b60006113f06113e9611c42565b8484611e15565b6001905092915050565b611402611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611486906130d0565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b6114b4611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611538906130d0565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161157c9291906131bd565b602060405180830381600087803b15801561159657600080fd5b505af11580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce91906131fb565b50505050565b6115dc611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611669576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611660906130d0565b60405180910390fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60125481565b601060019054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611797611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b906130d0565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118ad611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611931906130d0565b60405180910390fd5b80600d8190555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611972611c42565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f6906130d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a669061329a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611b6c600e54611b5e611b4f60125460115461227290919063ffffffff16565b86611b7d90919063ffffffff16565b611bf890919063ffffffff16565b905080915050919050565b600e5481565b600080831415611b905760009050611bf2565b60008284611b9e91906132e9565b9050828482611bad9190613372565b14611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490613415565b60405180910390fd5b809150505b92915050565b6000611c3a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122d0565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb1906134a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2190613539565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e089190612cf3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c906135cb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eec9061365d565b60405180910390fd5b60008111611f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2f906136ef565b60405180910390fd5b60001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611fe8575060001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561213357600d54811115612032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202990613781565b60405180910390fd5b601060019054906101000a900460ff1661213257600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120f25750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b612131576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212890613813565b60405180910390fd5b5b5b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121da5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121f25750601060009054906101000a900460ff16155b156121fc57600090505b61220884848484612333565b50505050565b6000838311158290612256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224d9190612b9c565b60405180910390fd5b50600083856122659190613833565b9050809150509392505050565b60008082846122819190613867565b9050838110156122c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122bd90613909565b60405180910390fd5b8091505092915050565b60008083118290612317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230e9190612b9c565b60405180910390fd5b50600083856123269190613372565b9050809150509392505050565b806124cc5761238a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061241f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124bf9190612cf3565b60405180910390a36126ae565b60006124d783611b2c565b905060006124ee82856126b490919063ffffffff16565b905061254284600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b490919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125d781600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126779190612cf3565b60405180910390a3600060115411156126955761269486856126fe565b5b600060125411156126ab576126aa8685612890565b5b50505b50505050565b60006126f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061220e565b905092915050565b6000612729600e5461271b60115485611b7d90919063ffffffff16565b611bf890919063ffffffff16565b905061279f8160016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b60016000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128839190612cf3565b60405180910390a3505050565b60006128bb600e546128ad60125485611b7d90919063ffffffff16565b611bf890919063ffffffff16565b90506129318160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227290919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612a159190612cf3565b60405180910390a3505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a5282612a27565b9050919050565b6000612a6482612a47565b9050919050565b612a7481612a59565b8114612a7f57600080fd5b50565b600081359050612a9181612a6b565b92915050565b612aa081612a47565b8114612aab57600080fd5b50565b600081359050612abd81612a97565b92915050565b60008060408385031215612ada57612ad9612a22565b5b6000612ae885828601612a82565b9250506020612af985828601612aae565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b3d578082015181840152602081019050612b22565b83811115612b4c576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b6e82612b03565b612b788185612b0e565b9350612b88818560208601612b1f565b612b9181612b52565b840191505092915050565b60006020820190508181036000830152612bb68184612b63565b905092915050565b6000819050919050565b6000612be3612bde612bd984612a27565b612bbe565b612a27565b9050919050565b6000612bf582612bc8565b9050919050565b6000612c0782612bea565b9050919050565b612c1781612bfc565b82525050565b6000602082019050612c326000830184612c0e565b92915050565b6000819050919050565b612c4b81612c38565b8114612c5657600080fd5b50565b600081359050612c6881612c42565b92915050565b60008060408385031215612c8557612c84612a22565b5b6000612c9385828601612aae565b9250506020612ca485828601612c59565b9150509250929050565b60008115159050919050565b612cc381612cae565b82525050565b6000602082019050612cde6000830184612cba565b92915050565b612ced81612c38565b82525050565b6000602082019050612d086000830184612ce4565b92915050565b612d1781612a47565b82525050565b6000602082019050612d326000830184612d0e565b92915050565b600080600060608486031215612d5157612d50612a22565b5b6000612d5f86828701612aae565b9350506020612d7086828701612aae565b9250506040612d8186828701612c59565b9150509250925092565b600060ff82169050919050565b612da181612d8b565b82525050565b6000602082019050612dbc6000830184612d98565b92915050565b600060208284031215612dd857612dd7612a22565b5b6000612de684828501612aae565b91505092915050565b60008060408385031215612e0657612e05612a22565b5b6000612e1485828601612c59565b9250506020612e2585828601612c59565b9150509250929050565b612e3881612cae565b8114612e4357600080fd5b50565b600081359050612e5581612e2f565b92915050565b60008060408385031215612e7257612e71612a22565b5b6000612e8085828601612aae565b9250506020612e9185828601612e46565b9150509250929050565b6000612ea682612a27565b9050919050565b612eb681612e9b565b8114612ec157600080fd5b50565b600081359050612ed381612ead565b92915050565b60008060408385031215612ef057612eef612a22565b5b6000612efe85828601612ec4565b9250506020612f0f85828601612c59565b9150509250929050565b600060208284031215612f2f57612f2e612a22565b5b6000612f3d84828501612e46565b91505092915050565b6000612f5182612a47565b9050919050565b612f6181612f46565b8114612f6c57600080fd5b50565b600081359050612f7e81612f58565b92915050565b600080600060608486031215612f9d57612f9c612a22565b5b6000612fab86828701612f6f565b9350506020612fbc86828701612aae565b9250506040612fcd86828701612c59565b9150509250925092565b60008060408385031215612fee57612fed612a22565b5b6000612ffc85828601612ec4565b925050602061300d85828601612ec4565b9150509250929050565b6000806040838503121561302e5761302d612a22565b5b600061303c85828601612aae565b925050602061304d85828601612aae565b9150509250929050565b60006020828403121561306d5761306c612a22565b5b600061307b84828501612c59565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130ba602083612b0e565b91506130c582613084565b602082019050919050565b600060208201905081810360008301526130e9816130ad565b9050919050565b7f4144414d414e5449554d3a20416c726561647920656e61626c65640000000000600082015250565b6000613126601b83612b0e565b9150613131826130f0565b602082019050919050565b6000602082019050818103600083015261315581613119565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806131a357607f821691505b602082108114156131b7576131b661315c565b5b50919050565b60006040820190506131d26000830185612d0e565b6131df6020830184612ce4565b9392505050565b6000815190506131f581612e2f565b92915050565b60006020828403121561321157613210612a22565b5b600061321f848285016131e6565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613284602683612b0e565b915061328f82613228565b604082019050919050565b600060208201905081810360008301526132b381613277565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132f482612c38565b91506132ff83612c38565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613338576133376132ba565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061337d82612c38565b915061338883612c38565b92508261339857613397613343565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006133ff602183612b0e565b915061340a826133a3565b604082019050919050565b6000602082019050818103600083015261342e816133f2565b9050919050565b7f4144414d414e5449554d3a20617070726f76652066726f6d20746865207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b6000613491602983612b0e565b915061349c82613435565b604082019050919050565b600060208201905081810360008301526134c081613484565b9050919050565b7f4144414d414e5449554d3a20617070726f766520746f20746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b6000613523602783612b0e565b915061352e826134c7565b604082019050919050565b6000602082019050818103600083015261355281613516565b9050919050565b7f4144414d414e5449554d3a207472616e736665722066726f6d20746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006135b5602a83612b0e565b91506135c082613559565b604082019050919050565b600060208201905081810360008301526135e4816135a8565b9050919050565b7f4144414d414e5449554d3a207472616e7366657220746f20746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000613647602883612b0e565b9150613652826135eb565b604082019050919050565b600060208201905081810360008301526136768161363a565b9050919050565b7f4144414d414e5449554d3a20416d6f756e74206d75737420626520677265617460008201527f6572207468616e207a65726f0000000000000000000000000000000000000000602082015250565b60006136d9602c83612b0e565b91506136e48261367d565b604082019050919050565b60006020820190508181036000830152613708816136cc565b9050919050565b7f4144414d414e5449554d3a20616d6f756e74206578636565646564206d61782060008201527f6c696d6974000000000000000000000000000000000000000000000000000000602082015250565b600061376b602583612b0e565b91506137768261370f565b604082019050919050565b6000602082019050818103600083015261379a8161375e565b9050919050565b7f4144414d414e5449554d3a2054726164696e67206973206e6f7420656e61626c60008201527f6564207965740000000000000000000000000000000000000000000000000000602082015250565b60006137fd602683612b0e565b9150613808826137a1565b604082019050919050565b6000602082019050818103600083015261382c816137f0565b9050919050565b600061383e82612c38565b915061384983612c38565b92508282101561385c5761385b6132ba565b5b828203905092915050565b600061387282612c38565b915061387d83612c38565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138b2576138b16132ba565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006138f3601b83612b0e565b91506138fe826138bd565b602082019050919050565b60006020820190508181036000830152613922816138e6565b905091905056fe4144414d414e5449554d3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4144414d414e5449554d3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220db10c29a8dbf40dedb83412154b3493bac6f83ccd07537dea7e082a140f8edc764736f6c63430008090033

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

0000000000000000000000002a14e56d14e2615cb6626b9dbc90a6f3940f8a4d0000000000000000000000002a14e56d14e2615cb6626b9dbc90a6f3940f8a4d

-----Decoded View---------------
Arg [0] : _feeAddress1 (address): 0x2a14e56d14E2615CB6626B9Dbc90A6f3940F8A4D
Arg [1] : _feeAddress2 (address): 0x2a14e56d14E2615CB6626B9Dbc90A6f3940F8A4D

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002a14e56d14e2615cb6626b9dbc90a6f3940f8a4d
Arg [1] : 0000000000000000000000002a14e56d14e2615cb6626b9dbc90a6f3940f8a4d


Deployed Bytecode Sourcemap

2525:9554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8152:178;;;;;;;;;;;;;:::i;:::-;;8008:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4771:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3048:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5682:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5048:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3111:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5883:451;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4957:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6342:300;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2741:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2797:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7507:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5156:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2070:157;;;;;;;;;;;;;:::i;:::-;;3326:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3515:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3384:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3179:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1856:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4862:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7228:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8338:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6650:405;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5283:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7682:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8500:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7789:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3587:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3435:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5490:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7063:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3144:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7399:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3082:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2235:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8690:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3283:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8152:178;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8209:12:::1;;;;;;;;;;;8208:13;8200:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;8279:4;8264:12;;:19;;;;;;;;;;;;;;;;;;8307:15;8294:10;:28;;;;8152:178::o:0;8008:136::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8103:7:::1;8091:9;;:19;;;;;;;;;;;;;;;;;;8131:5;8121:7;;:15;;;;;;;;;;;;;;;;;;8008:136:::0;;:::o;4771:83::-;4808:13;4841:5;4834:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4771:83;:::o;3048:27::-;;;;;;;;;;;;;:::o;5682:193::-;5784:4;5806:39;5815:12;:10;:12::i;:::-;5829:7;5838:6;5806:8;:39::i;:::-;5863:4;5856:11;;5682:193;;;;:::o;5048:100::-;5101:7;5128:12;;5121:19;;5048:100;:::o;3111:26::-;;;;;;;;;;;;;:::o;5883:451::-;6015:4;6032:36;6042:6;6050:9;6061:6;6032:9;:36::i;:::-;6079:225;6102:6;6123:12;:10;:12::i;:::-;6150:143;6206:6;6150:143;;;;;;;;;;;;;;;;;:11;:19;6162:6;6150:19;;;;;;;;;;;;;;;:33;6170:12;:10;:12::i;:::-;6150:33;;;;;;;;;;;;;;;;:37;;:143;;;;;:::i;:::-;6079:8;:225::i;:::-;6322:4;6315:11;;5883:451;;;;;:::o;4957:83::-;4998:5;5023:9;;;;;;;;;;;5016:16;;4957:83;:::o;6342:300::-;6457:4;6479:133;6502:12;:10;:12::i;:::-;6529:7;6551:50;6590:10;6551:11;:25;6563:12;:10;:12::i;:::-;6551:25;;;;;;;;;;;;;;;:34;6577:7;6551:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;6479:8;:133::i;:::-;6630:4;6623:11;;6342:300;;;;:::o;2741:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;2797:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;7507:167::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7629:8:::1;7619:7;:18;;;;7658:8;7648:7;:18;;;;7507:167:::0;;:::o;5156:119::-;5222:7;5249:9;:18;5259:7;5249:18;;;;;;;;;;;;;;;;5242:25;;5156:119;;;:::o;2070:157::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2177:1:::1;2140:40;;2161:6;::::0;::::1;;;;;;;;2140:40;;;;;;;;;;;;2216:1;2191:6:::0;::::1;:28;;;;;;;;;;;;;;;;;;2070:157::o:0;3326:25::-;;;;:::o;3515:26::-;;;;:::o;3384:22::-;;;;;;;;;;;;;:::o;3179:57::-;;;;:::o;1856:79::-;1894:7;1921:6;;;;;;;;;;;1914:13;;1856:79;:::o;4862:87::-;4901:13;4934:7;4927:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4862:87;:::o;7228:163::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7378:5:::1;7346:19;:29;7366:8;7346:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7228:163:::0;;:::o;8338:154::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8458:8:::1;:17;;:26;8476:7;8458:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8338:154:::0;;:::o;6650:405::-;6770:4;6792:233;6815:12;:10;:12::i;:::-;6842:7;6864:150;6921:15;6864:150;;;;;;;;;;;;;;;;;:11;:25;6876:12;:10;:12::i;:::-;6864:25;;;;;;;;;;;;;;;:34;6890:7;6864:34;;;;;;;;;;;;;;;;:38;;:150;;;;;:::i;:::-;6792:8;:233::i;:::-;7043:4;7036:11;;6650:405;;;;:::o;5283:199::-;5388:4;5410:42;5420:12;:10;:12::i;:::-;5434:9;5445:6;5410:9;:42::i;:::-;5470:4;5463:11;;5283:199;;;;:::o;7682:99::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7767:6:::1;7754:10;;:19;;;;;;;;;;;;;;;;;;7682:99:::0;:::o;8500:182::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8640:6:::1;:15;;;8656:8;8666:7;8640:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8500:182:::0;;;:::o;7789:211::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7943:12:::1;7929:11;;:26;;;;;;;;;;;;;;;;;;7980:12;7966:11;;:26;;;;;;;;;;;;;;;;;;7789:211:::0;;:::o;3587:26::-;;;;:::o;3435:24::-;;;;;;;;;;;;;:::o;5490:184::-;5607:7;5639:11;:18;5651:5;5639:18;;;;;;;;;;;;;;;:27;5658:7;5639:27;;;;;;;;;;;;;;;;5632:34;;5490:184;;;;:::o;7063:157::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7207:5:::1;7178:17;:26;7196:7;7178:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;7063:157:::0;;:::o;3144:26::-;;;;;;;;;;;;;:::o;7399:100::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7484:7:::1;7470:11;:21;;;;7399:100:::0;:::o;3082:22::-;;;;;;;;;;;;;:::o;2235:281::-;1993:12;:10;:12::i;:::-;1983:22;;:6;;;;;;;;;;:22;;;1975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2358:1:::1;2338:22;;:8;:22;;;;2316:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2471:8;2442:38;;2463:6;::::0;::::1;;;;;;;;2442:38;;;;;;;;;;;;2500:8;2491:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2235:281:::0;:::o;8690:175::-;8750:7;8770:11;8784:52;8821:14;;8784:32;8795:20;8807:7;;8795;;:11;;:20;;;;:::i;:::-;8784:6;:10;;:32;;;;:::i;:::-;:36;;:52;;;;:::i;:::-;8770:66;;8854:3;8847:10;;;8690:175;;;:::o;3283:36::-;;;;:::o;12674:471::-;12732:7;12982:1;12977;:6;12973:47;;;13007:1;13000:8;;;;12973:47;13032:9;13048:1;13044;:5;;;;:::i;:::-;13032:17;;13077:1;13072;13068;:5;;;;:::i;:::-;:10;13060:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13136:1;13129:8;;;12674:471;;;;;:::o;13153:132::-;13211:7;13238:39;13242:1;13245;13238:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;13231:46;;13153:132;;;;:::o;1311:115::-;1364:15;1407:10;1392:26;;1311:115;:::o;8873:455::-;9031:1;9014:19;;:5;:19;;;;8992:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9154:1;9135:21;;:7;:21;;;;9113:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9266:6;9236:11;:18;9248:5;9236:18;;;;;;;;;;;;;;;:27;9255:7;9236:27;;;;;;;;;;;;;;;:36;;;;9304:7;9288:32;;9297:5;9288:32;;;9313:6;9288:32;;;;;;:::i;:::-;;;;;;;;8873:455;;;:::o;9336:1315::-;9488:1;9472:18;;:4;:18;;;;9450:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9593:1;9579:16;;:2;:16;;;;9571:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9668:1;9659:6;:10;9651:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9778:5;9749:34;;:19;:25;9769:4;9749:25;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;:83;;;;;9827:5;9800:32;;:19;:23;9820:2;9800:23;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;9749:83;9731:494;;;9915:11;;9905:6;:21;;9879:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;10021:12;;;;;;;;;;;10016:198;;10092:7;;;;;;;;;;;10084:15;;:4;:15;;;;:32;;;;;10109:7;;;;;;;;;;;10103:13;;:2;:13;;;;10084:32;10054:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;10016:198;9731:494;10298:12;10313:4;10298:19;;10417:17;:23;10435:4;10417:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;10444:17;:21;10462:2;10444:21;;;;;;;;;;;;;;;;;;;;;;;;;10417:48;:63;;;;10470:10;;;;;;;;;;;10469:11;10417:63;10413:111;;;10507:5;10497:15;;10413:111;10602:41;10617:4;10623:2;10627:6;10635:7;10602:14;:41::i;:::-;9439:1212;9336:1315;;;:::o;12440:226::-;12560:7;12593:1;12588;:6;;12596:12;12580:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;12620:9;12636:1;12632;:5;;;;:::i;:::-;12620:17;;12657:1;12650:8;;;12440:226;;;;;:::o;12107:181::-;12165:7;12185:9;12201:1;12197;:5;;;;:::i;:::-;12185:17;;12226:1;12221;:6;;12213:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;12279:1;12272:8;;;12107:181;;;;:::o;13293:312::-;13413:7;13445:1;13441;:5;13448:12;13433:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;13472:9;13488:1;13484;:5;;;;:::i;:::-;13472:17;;13596:1;13589:8;;;13293:312;;;;;:::o;10732:828::-;10888:7;10883:670;;10932:29;10954:6;10932:9;:17;10942:6;10932:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;10912:9;:17;10922:6;10912:17;;;;;;;;;;;;;;;:49;;;;10999:32;11024:6;10999:9;:20;11009:9;10999:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10976:9;:20;10986:9;10976:20;;;;;;;;;;;;;;;:55;;;;11070:9;11053:35;;11062:6;11053:35;;;11081:6;11053:35;;;;;;:::i;:::-;;;;;;;;10883:670;;;11121:14;11138:21;11152:6;11138:13;:21::i;:::-;11121:38;;11174:23;11200:18;11211:6;11200;:10;;:18;;;;:::i;:::-;11174:44;;11253:29;11275:6;11253:9;:17;11263:6;11253:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;11233:9;:17;11243:6;11233:17;;;;;;;;;;;;;;;:49;;;;11320:41;11345:15;11320:9;:20;11330:9;11320:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;11297:9;:20;11307:9;11297:20;;;;;;;;;;;;;;;:64;;;;11398:9;11381:44;;11390:6;11381:44;;;11409:15;11381:44;;;;;;:::i;:::-;;;;;;;;11456:1;11446:7;;:11;11442:42;;;11459:25;11469:6;11477;11459:9;:25::i;:::-;11442:42;11513:1;11503:7;;:11;11499:42;;;11516:25;11526:6;11534;11516:9;:25::i;:::-;11499:42;11106:447;;10883:670;10732:828;;;;:::o;12296:136::-;12354:7;12381:43;12385:1;12388;12381:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;12374:50;;12296:136;;;;:::o;11568:250::-;11638:11;11652:39;11676:14;;11652:19;11663:7;;11652:6;:10;;:19;;;;:::i;:::-;:23;;:39;;;;:::i;:::-;11638:53;;11727:31;11754:3;11727:9;:22;11737:11;;;;;;;;;;;11727:22;;;;;;;;;;;;;;;;:26;;:31;;;;:::i;:::-;11702:9;:22;11712:11;;;;;;;;;;;11702:22;;;;;;;;;;;;;;;:56;;;;11793:11;;;;;;;;;;;11776:34;;11785:6;11776:34;;;11806:3;11776:34;;;;;;:::i;:::-;;;;;;;;11627:191;11568:250;;:::o;11826:::-;11896:11;11910:39;11934:14;;11910:19;11921:7;;11910:6;:10;;:19;;;;:::i;:::-;:23;;:39;;;;:::i;:::-;11896:53;;11985:31;12012:3;11985:9;:22;11995:11;;;;;;;;;;;11985:22;;;;;;;;;;;;;;;;:26;;:31;;;;:::i;:::-;11960:9;:22;11970:11;;;;;;;;;;;11960:22;;;;;;;;;;;;;;;:56;;;;12051:11;;;;;;;;;;;12034:34;;12043:6;12034:34;;;12064:3;12034:34;;;;;;:::i;:::-;;;;;;;;11885:191;11826:250;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:113::-;622:7;651:24;669:5;651:24;:::i;:::-;640:35;;568:113;;;:::o;687:156::-;777:41;812:5;777:41;:::i;:::-;770:5;767:52;757:80;;833:1;830;823:12;757:80;687:156;:::o;849:173::-;912:5;950:6;937:20;928:29;;966:50;1010:5;966:50;:::i;:::-;849:173;;;;:::o;1028:122::-;1101:24;1119:5;1101:24;:::i;:::-;1094:5;1091:35;1081:63;;1140:1;1137;1130:12;1081:63;1028:122;:::o;1156:139::-;1202:5;1240:6;1227:20;1218:29;;1256:33;1283:5;1256:33;:::i;:::-;1156:139;;;;:::o;1301:508::-;1386:6;1394;1443:2;1431:9;1422:7;1418:23;1414:32;1411:119;;;1449:79;;:::i;:::-;1411:119;1569:1;1594:70;1656:7;1647:6;1636:9;1632:22;1594:70;:::i;:::-;1584:80;;1540:134;1713:2;1739:53;1784:7;1775:6;1764:9;1760:22;1739:53;:::i;:::-;1729:63;;1684:118;1301:508;;;;;:::o;1815:99::-;1867:6;1901:5;1895:12;1885:22;;1815:99;;;:::o;1920:169::-;2004:11;2038:6;2033:3;2026:19;2078:4;2073:3;2069:14;2054:29;;1920:169;;;;:::o;2095:307::-;2163:1;2173:113;2187:6;2184:1;2181:13;2173:113;;;2272:1;2267:3;2263:11;2257:18;2253:1;2248:3;2244:11;2237:39;2209:2;2206:1;2202:10;2197:15;;2173:113;;;2304:6;2301:1;2298:13;2295:101;;;2384:1;2375:6;2370:3;2366:16;2359:27;2295:101;2144:258;2095:307;;;:::o;2408:102::-;2449:6;2500:2;2496:7;2491:2;2484:5;2480:14;2476:28;2466:38;;2408:102;;;:::o;2516:364::-;2604:3;2632:39;2665:5;2632:39;:::i;:::-;2687:71;2751:6;2746:3;2687:71;:::i;:::-;2680:78;;2767:52;2812:6;2807:3;2800:4;2793:5;2789:16;2767:52;:::i;:::-;2844:29;2866:6;2844:29;:::i;:::-;2839:3;2835:39;2828:46;;2608:272;2516:364;;;;:::o;2886:313::-;2999:4;3037:2;3026:9;3022:18;3014:26;;3086:9;3080:4;3076:20;3072:1;3061:9;3057:17;3050:47;3114:78;3187:4;3178:6;3114:78;:::i;:::-;3106:86;;2886:313;;;;:::o;3205:60::-;3233:3;3254:5;3247:12;;3205:60;;;:::o;3271:142::-;3321:9;3354:53;3372:34;3381:24;3399:5;3381:24;:::i;:::-;3372:34;:::i;:::-;3354:53;:::i;:::-;3341:66;;3271:142;;;:::o;3419:126::-;3469:9;3502:37;3533:5;3502:37;:::i;:::-;3489:50;;3419:126;;;:::o;3551:143::-;3618:9;3651:37;3682:5;3651:37;:::i;:::-;3638:50;;3551:143;;;:::o;3700:165::-;3804:54;3852:5;3804:54;:::i;:::-;3799:3;3792:67;3700:165;;:::o;3871:256::-;3981:4;4019:2;4008:9;4004:18;3996:26;;4032:88;4117:1;4106:9;4102:17;4093:6;4032:88;:::i;:::-;3871:256;;;;:::o;4133:77::-;4170:7;4199:5;4188:16;;4133:77;;;:::o;4216:122::-;4289:24;4307:5;4289:24;:::i;:::-;4282:5;4279:35;4269:63;;4328:1;4325;4318:12;4269:63;4216:122;:::o;4344:139::-;4390:5;4428:6;4415:20;4406:29;;4444:33;4471:5;4444:33;:::i;:::-;4344:139;;;;:::o;4489:474::-;4557:6;4565;4614:2;4602:9;4593:7;4589:23;4585:32;4582:119;;;4620:79;;:::i;:::-;4582:119;4740:1;4765:53;4810:7;4801:6;4790:9;4786:22;4765:53;:::i;:::-;4755:63;;4711:117;4867:2;4893:53;4938:7;4929:6;4918:9;4914:22;4893:53;:::i;:::-;4883:63;;4838:118;4489:474;;;;;:::o;4969:90::-;5003:7;5046:5;5039:13;5032:21;5021:32;;4969:90;;;:::o;5065:109::-;5146:21;5161:5;5146:21;:::i;:::-;5141:3;5134:34;5065:109;;:::o;5180:210::-;5267:4;5305:2;5294:9;5290:18;5282:26;;5318:65;5380:1;5369:9;5365:17;5356:6;5318:65;:::i;:::-;5180:210;;;;:::o;5396:118::-;5483:24;5501:5;5483:24;:::i;:::-;5478:3;5471:37;5396:118;;:::o;5520:222::-;5613:4;5651:2;5640:9;5636:18;5628:26;;5664:71;5732:1;5721:9;5717:17;5708:6;5664:71;:::i;:::-;5520:222;;;;:::o;5748:118::-;5835:24;5853:5;5835:24;:::i;:::-;5830:3;5823:37;5748:118;;:::o;5872:222::-;5965:4;6003:2;5992:9;5988:18;5980:26;;6016:71;6084:1;6073:9;6069:17;6060:6;6016:71;:::i;:::-;5872:222;;;;:::o;6100:619::-;6177:6;6185;6193;6242:2;6230:9;6221:7;6217:23;6213:32;6210:119;;;6248:79;;:::i;:::-;6210:119;6368:1;6393:53;6438:7;6429:6;6418:9;6414:22;6393:53;:::i;:::-;6383:63;;6339:117;6495:2;6521:53;6566:7;6557:6;6546:9;6542:22;6521:53;:::i;:::-;6511:63;;6466:118;6623:2;6649:53;6694:7;6685:6;6674:9;6670:22;6649:53;:::i;:::-;6639:63;;6594:118;6100:619;;;;;:::o;6725:86::-;6760:7;6800:4;6793:5;6789:16;6778:27;;6725:86;;;:::o;6817:112::-;6900:22;6916:5;6900:22;:::i;:::-;6895:3;6888:35;6817:112;;:::o;6935:214::-;7024:4;7062:2;7051:9;7047:18;7039:26;;7075:67;7139:1;7128:9;7124:17;7115:6;7075:67;:::i;:::-;6935:214;;;;:::o;7155:329::-;7214:6;7263:2;7251:9;7242:7;7238:23;7234:32;7231:119;;;7269:79;;:::i;:::-;7231:119;7389:1;7414:53;7459:7;7450:6;7439:9;7435:22;7414:53;:::i;:::-;7404:63;;7360:117;7155:329;;;;:::o;7490:474::-;7558:6;7566;7615:2;7603:9;7594:7;7590:23;7586:32;7583:119;;;7621:79;;:::i;:::-;7583:119;7741:1;7766:53;7811:7;7802:6;7791:9;7787:22;7766:53;:::i;:::-;7756:63;;7712:117;7868:2;7894:53;7939:7;7930:6;7919:9;7915:22;7894:53;:::i;:::-;7884:63;;7839:118;7490:474;;;;;:::o;7970:116::-;8040:21;8055:5;8040:21;:::i;:::-;8033:5;8030:32;8020:60;;8076:1;8073;8066:12;8020:60;7970:116;:::o;8092:133::-;8135:5;8173:6;8160:20;8151:29;;8189:30;8213:5;8189:30;:::i;:::-;8092:133;;;;:::o;8231:468::-;8296:6;8304;8353:2;8341:9;8332:7;8328:23;8324:32;8321:119;;;8359:79;;:::i;:::-;8321:119;8479:1;8504:53;8549:7;8540:6;8529:9;8525:22;8504:53;:::i;:::-;8494:63;;8450:117;8606:2;8632:50;8674:7;8665:6;8654:9;8650:22;8632:50;:::i;:::-;8622:60;;8577:115;8231:468;;;;;:::o;8705:104::-;8750:7;8779:24;8797:5;8779:24;:::i;:::-;8768:35;;8705:104;;;:::o;8815:138::-;8896:32;8922:5;8896:32;:::i;:::-;8889:5;8886:43;8876:71;;8943:1;8940;8933:12;8876:71;8815:138;:::o;8959:155::-;9013:5;9051:6;9038:20;9029:29;;9067:41;9102:5;9067:41;:::i;:::-;8959:155;;;;:::o;9120:490::-;9196:6;9204;9253:2;9241:9;9232:7;9228:23;9224:32;9221:119;;;9259:79;;:::i;:::-;9221:119;9379:1;9404:61;9457:7;9448:6;9437:9;9433:22;9404:61;:::i;:::-;9394:71;;9350:125;9514:2;9540:53;9585:7;9576:6;9565:9;9561:22;9540:53;:::i;:::-;9530:63;;9485:118;9120:490;;;;;:::o;9616:323::-;9672:6;9721:2;9709:9;9700:7;9696:23;9692:32;9689:119;;;9727:79;;:::i;:::-;9689:119;9847:1;9872:50;9914:7;9905:6;9894:9;9890:22;9872:50;:::i;:::-;9862:60;;9818:114;9616:323;;;;:::o;9945:109::-;9995:7;10024:24;10042:5;10024:24;:::i;:::-;10013:35;;9945:109;;;:::o;10060:148::-;10146:37;10177:5;10146:37;:::i;:::-;10139:5;10136:48;10126:76;;10198:1;10195;10188:12;10126:76;10060:148;:::o;10214:165::-;10273:5;10311:6;10298:20;10289:29;;10327:46;10367:5;10327:46;:::i;:::-;10214:165;;;;:::o;10385:645::-;10475:6;10483;10491;10540:2;10528:9;10519:7;10515:23;10511:32;10508:119;;;10546:79;;:::i;:::-;10508:119;10666:1;10691:66;10749:7;10740:6;10729:9;10725:22;10691:66;:::i;:::-;10681:76;;10637:130;10806:2;10832:53;10877:7;10868:6;10857:9;10853:22;10832:53;:::i;:::-;10822:63;;10777:118;10934:2;10960:53;11005:7;10996:6;10985:9;10981:22;10960:53;:::i;:::-;10950:63;;10905:118;10385:645;;;;;:::o;11036:506::-;11120:6;11128;11177:2;11165:9;11156:7;11152:23;11148:32;11145:119;;;11183:79;;:::i;:::-;11145:119;11303:1;11328:61;11381:7;11372:6;11361:9;11357:22;11328:61;:::i;:::-;11318:71;;11274:125;11438:2;11464:61;11517:7;11508:6;11497:9;11493:22;11464:61;:::i;:::-;11454:71;;11409:126;11036:506;;;;;:::o;11548:474::-;11616:6;11624;11673:2;11661:9;11652:7;11648:23;11644:32;11641:119;;;11679:79;;:::i;:::-;11641:119;11799:1;11824:53;11869:7;11860:6;11849:9;11845:22;11824:53;:::i;:::-;11814:63;;11770:117;11926:2;11952:53;11997:7;11988:6;11977:9;11973:22;11952:53;:::i;:::-;11942:63;;11897:118;11548:474;;;;;:::o;12028:329::-;12087:6;12136:2;12124:9;12115:7;12111:23;12107:32;12104:119;;;12142:79;;:::i;:::-;12104:119;12262:1;12287:53;12332:7;12323:6;12312:9;12308:22;12287:53;:::i;:::-;12277:63;;12233:117;12028:329;;;;:::o;12363:182::-;12503:34;12499:1;12491:6;12487:14;12480:58;12363:182;:::o;12551:366::-;12693:3;12714:67;12778:2;12773:3;12714:67;:::i;:::-;12707:74;;12790:93;12879:3;12790:93;:::i;:::-;12908:2;12903:3;12899:12;12892:19;;12551:366;;;:::o;12923:419::-;13089:4;13127:2;13116:9;13112:18;13104:26;;13176:9;13170:4;13166:20;13162:1;13151:9;13147:17;13140:47;13204:131;13330:4;13204:131;:::i;:::-;13196:139;;12923:419;;;:::o;13348:177::-;13488:29;13484:1;13476:6;13472:14;13465:53;13348:177;:::o;13531:366::-;13673:3;13694:67;13758:2;13753:3;13694:67;:::i;:::-;13687:74;;13770:93;13859:3;13770:93;:::i;:::-;13888:2;13883:3;13879:12;13872:19;;13531:366;;;:::o;13903:419::-;14069:4;14107:2;14096:9;14092:18;14084:26;;14156:9;14150:4;14146:20;14142:1;14131:9;14127:17;14120:47;14184:131;14310:4;14184:131;:::i;:::-;14176:139;;13903:419;;;:::o;14328:180::-;14376:77;14373:1;14366:88;14473:4;14470:1;14463:15;14497:4;14494:1;14487:15;14514:320;14558:6;14595:1;14589:4;14585:12;14575:22;;14642:1;14636:4;14632:12;14663:18;14653:81;;14719:4;14711:6;14707:17;14697:27;;14653:81;14781:2;14773:6;14770:14;14750:18;14747:38;14744:84;;;14800:18;;:::i;:::-;14744:84;14565:269;14514:320;;;:::o;14840:332::-;14961:4;14999:2;14988:9;14984:18;14976:26;;15012:71;15080:1;15069:9;15065:17;15056:6;15012:71;:::i;:::-;15093:72;15161:2;15150:9;15146:18;15137:6;15093:72;:::i;:::-;14840:332;;;;;:::o;15178:137::-;15232:5;15263:6;15257:13;15248:22;;15279:30;15303:5;15279:30;:::i;:::-;15178:137;;;;:::o;15321:345::-;15388:6;15437:2;15425:9;15416:7;15412:23;15408:32;15405:119;;;15443:79;;:::i;:::-;15405:119;15563:1;15588:61;15641:7;15632:6;15621:9;15617:22;15588:61;:::i;:::-;15578:71;;15534:125;15321:345;;;;:::o;15672:225::-;15812:34;15808:1;15800:6;15796:14;15789:58;15881:8;15876:2;15868:6;15864:15;15857:33;15672:225;:::o;15903:366::-;16045:3;16066:67;16130:2;16125:3;16066:67;:::i;:::-;16059:74;;16142:93;16231:3;16142:93;:::i;:::-;16260:2;16255:3;16251:12;16244:19;;15903:366;;;:::o;16275:419::-;16441:4;16479:2;16468:9;16464:18;16456:26;;16528:9;16522:4;16518:20;16514:1;16503:9;16499:17;16492:47;16556:131;16682:4;16556:131;:::i;:::-;16548:139;;16275:419;;;:::o;16700:180::-;16748:77;16745:1;16738:88;16845:4;16842:1;16835:15;16869:4;16866:1;16859:15;16886:348;16926:7;16949:20;16967:1;16949:20;:::i;:::-;16944:25;;16983:20;17001:1;16983:20;:::i;:::-;16978:25;;17171:1;17103:66;17099:74;17096:1;17093:81;17088:1;17081:9;17074:17;17070:105;17067:131;;;17178:18;;:::i;:::-;17067:131;17226:1;17223;17219:9;17208:20;;16886:348;;;;:::o;17240:180::-;17288:77;17285:1;17278:88;17385:4;17382:1;17375:15;17409:4;17406:1;17399:15;17426:185;17466:1;17483:20;17501:1;17483:20;:::i;:::-;17478:25;;17517:20;17535:1;17517:20;:::i;:::-;17512:25;;17556:1;17546:35;;17561:18;;:::i;:::-;17546:35;17603:1;17600;17596:9;17591:14;;17426:185;;;;:::o;17617:220::-;17757:34;17753:1;17745:6;17741:14;17734:58;17826:3;17821:2;17813:6;17809:15;17802:28;17617:220;:::o;17843:366::-;17985:3;18006:67;18070:2;18065:3;18006:67;:::i;:::-;17999:74;;18082:93;18171:3;18082:93;:::i;:::-;18200:2;18195:3;18191:12;18184:19;;17843:366;;;:::o;18215:419::-;18381:4;18419:2;18408:9;18404:18;18396:26;;18468:9;18462:4;18458:20;18454:1;18443:9;18439:17;18432:47;18496:131;18622:4;18496:131;:::i;:::-;18488:139;;18215:419;;;:::o;18640:228::-;18780:34;18776:1;18768:6;18764:14;18757:58;18849:11;18844:2;18836:6;18832:15;18825:36;18640:228;:::o;18874:366::-;19016:3;19037:67;19101:2;19096:3;19037:67;:::i;:::-;19030:74;;19113:93;19202:3;19113:93;:::i;:::-;19231:2;19226:3;19222:12;19215:19;;18874:366;;;:::o;19246:419::-;19412:4;19450:2;19439:9;19435:18;19427:26;;19499:9;19493:4;19489:20;19485:1;19474:9;19470:17;19463:47;19527:131;19653:4;19527:131;:::i;:::-;19519:139;;19246:419;;;:::o;19671:226::-;19811:34;19807:1;19799:6;19795:14;19788:58;19880:9;19875:2;19867:6;19863:15;19856:34;19671:226;:::o;19903:366::-;20045:3;20066:67;20130:2;20125:3;20066:67;:::i;:::-;20059:74;;20142:93;20231:3;20142:93;:::i;:::-;20260:2;20255:3;20251:12;20244:19;;19903:366;;;:::o;20275:419::-;20441:4;20479:2;20468:9;20464:18;20456:26;;20528:9;20522:4;20518:20;20514:1;20503:9;20499:17;20492:47;20556:131;20682:4;20556:131;:::i;:::-;20548:139;;20275:419;;;:::o;20700:229::-;20840:34;20836:1;20828:6;20824:14;20817:58;20909:12;20904:2;20896:6;20892:15;20885:37;20700:229;:::o;20935:366::-;21077:3;21098:67;21162:2;21157:3;21098:67;:::i;:::-;21091:74;;21174:93;21263:3;21174:93;:::i;:::-;21292:2;21287:3;21283:12;21276:19;;20935:366;;;:::o;21307:419::-;21473:4;21511:2;21500:9;21496:18;21488:26;;21560:9;21554:4;21550:20;21546:1;21535:9;21531:17;21524:47;21588:131;21714:4;21588:131;:::i;:::-;21580:139;;21307:419;;;:::o;21732:227::-;21872:34;21868:1;21860:6;21856:14;21849:58;21941:10;21936:2;21928:6;21924:15;21917:35;21732:227;:::o;21965:366::-;22107:3;22128:67;22192:2;22187:3;22128:67;:::i;:::-;22121:74;;22204:93;22293:3;22204:93;:::i;:::-;22322:2;22317:3;22313:12;22306:19;;21965:366;;;:::o;22337:419::-;22503:4;22541:2;22530:9;22526:18;22518:26;;22590:9;22584:4;22580:20;22576:1;22565:9;22561:17;22554:47;22618:131;22744:4;22618:131;:::i;:::-;22610:139;;22337:419;;;:::o;22762:231::-;22902:34;22898:1;22890:6;22886:14;22879:58;22971:14;22966:2;22958:6;22954:15;22947:39;22762:231;:::o;22999:366::-;23141:3;23162:67;23226:2;23221:3;23162:67;:::i;:::-;23155:74;;23238:93;23327:3;23238:93;:::i;:::-;23356:2;23351:3;23347:12;23340:19;;22999:366;;;:::o;23371:419::-;23537:4;23575:2;23564:9;23560:18;23552:26;;23624:9;23618:4;23614:20;23610:1;23599:9;23595:17;23588:47;23652:131;23778:4;23652:131;:::i;:::-;23644:139;;23371:419;;;:::o;23796:224::-;23936:34;23932:1;23924:6;23920:14;23913:58;24005:7;24000:2;23992:6;23988:15;23981:32;23796:224;:::o;24026:366::-;24168:3;24189:67;24253:2;24248:3;24189:67;:::i;:::-;24182:74;;24265:93;24354:3;24265:93;:::i;:::-;24383:2;24378:3;24374:12;24367:19;;24026:366;;;:::o;24398:419::-;24564:4;24602:2;24591:9;24587:18;24579:26;;24651:9;24645:4;24641:20;24637:1;24626:9;24622:17;24615:47;24679:131;24805:4;24679:131;:::i;:::-;24671:139;;24398:419;;;:::o;24823:225::-;24963:34;24959:1;24951:6;24947:14;24940:58;25032:8;25027:2;25019:6;25015:15;25008:33;24823:225;:::o;25054:366::-;25196:3;25217:67;25281:2;25276:3;25217:67;:::i;:::-;25210:74;;25293:93;25382:3;25293:93;:::i;:::-;25411:2;25406:3;25402:12;25395:19;;25054:366;;;:::o;25426:419::-;25592:4;25630:2;25619:9;25615:18;25607:26;;25679:9;25673:4;25669:20;25665:1;25654:9;25650:17;25643:47;25707:131;25833:4;25707:131;:::i;:::-;25699:139;;25426:419;;;:::o;25851:191::-;25891:4;25911:20;25929:1;25911:20;:::i;:::-;25906:25;;25945:20;25963:1;25945:20;:::i;:::-;25940:25;;25984:1;25981;25978:8;25975:34;;;25989:18;;:::i;:::-;25975:34;26034:1;26031;26027:9;26019:17;;25851:191;;;;:::o;26048:305::-;26088:3;26107:20;26125:1;26107:20;:::i;:::-;26102:25;;26141:20;26159:1;26141:20;:::i;:::-;26136:25;;26295:1;26227:66;26223:74;26220:1;26217:81;26214:107;;;26301:18;;:::i;:::-;26214:107;26345:1;26342;26338:9;26331:16;;26048:305;;;;:::o;26359:177::-;26499:29;26495:1;26487:6;26483:14;26476:53;26359:177;:::o;26542:366::-;26684:3;26705:67;26769:2;26764:3;26705:67;:::i;:::-;26698:74;;26781:93;26870:3;26781:93;:::i;:::-;26899:2;26894:3;26890:12;26883:19;;26542:366;;;:::o;26914:419::-;27080:4;27118:2;27107:9;27103:18;27095:26;;27167:9;27161:4;27157:20;27153:1;27142:9;27138:17;27131:47;27195:131;27321:4;27195:131;:::i;:::-;27187:139;;26914:419;;;:::o

Swarm Source

ipfs://db10c29a8dbf40dedb83412154b3493bac6f83ccd07537dea7e082a140f8edc7
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.