Token Decentral Games ICE

 

Overview ERC-20

Price
$0.00 @ 0.005419 MATIC (+0.14%)
Fully Diluted Market Cap
Total Supply:
415,098,708 ICE

Holders:
15,292 addresses

Transfers:
-

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

OVERVIEW

Decentral games offers Play-to-earn gaming in the metaverse. Users can stake $DG in governance and earn up to 40% in yield rewards.


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

Contract Source Code Verified (Exact Match)

Contract Name:
IceToken

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 3 of 3: iceToken.sol
// SPDX-License-Identifier: -- 🧊 --

pragma solidity ^0.8.6;

import "./EIP712MetaTransaction.sol";

contract IceToken is EIP712MetaTransaction {

    string private _name = "Decentral Games ICE";
    string private _symbol = "ICE";
    uint8 private _decimals = 18;

    address public IceMaster;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 value
    );

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    modifier onlyIceMaster {
        require(
            _msgSender() == IceMaster,
            'IceToken: access denied'
        );
        _;
    }

    constructor(
        address _IceMaster
    )
        EIP712Base('IceToken', 'v1.2')
    {
        IceMaster = _IceMaster;
    }

    function transferOwnership(
        address _contractDAO
    )
        external
        onlyIceMaster
    {
        IceMaster = _contractDAO;
    }

    function renounceOwnership()
        external
        onlyIceMaster
    {
        IceMaster = address(0x0);
    }

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

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

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

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

    function balanceOf(
        address _account
    )
        external
        view
        returns (uint256)
    {
        return _balances[_account];
    }

    function transfer(
        address _recipient,
        uint256 _amount
    )
        external
        returns (bool)
    {
        _transfer(
            _msgSender(),
            _recipient,
            _amount
        );

        return true;
    }

    function _transfer(
        address _sender,
        address _recipient,
        uint256 _amount
    )
        internal
    {
        _balances[_sender] =
        _balances[_sender] - _amount;

        _balances[_recipient] =
        _balances[_recipient] + _amount;

        emit Transfer(
            _sender,
            _recipient,
            _amount
        );
    }

    function transferFrom(
        address _sender,
        address _recipient,
        uint256 _amount
    )
        external
        returns (bool)
    {
        _approve(
            _sender,
            _msgSender(),
            _allowances[_sender][_msgSender()] - _amount
        );

        _transfer(
            _sender,
            _recipient,
            _amount
        );

        return true;
    }

    function allowance(
        address _owner,
        address _spender
    )
        external
        view
        returns (uint256)
    {
        return _allowances[_owner][_spender];
    }

    function approve(
        address _spender,
        uint256 _amount
    )
        external
        returns (bool)
    {
        _approve(
            _msgSender(),
            _spender,
            _amount
        );

        return true;
    }

    function _approve(
        address _owner,
        address _spender,
        uint256 _amount
    )
        internal
    {
        _allowances[_owner][_spender] = _amount;

        emit Approval(
            _owner,
            _spender,
            _amount
        );
    }

    function mint(
        address _account,
        uint256 _amount
    )
        external
        onlyIceMaster
    {
        _totalSupply =
        _totalSupply + _amount;

        _balances[_account] =
        _balances[_account] + _amount;

        emit Transfer(
            address(0x0),
            _account,
            _amount
        );
    }

    function burn(
        uint256 _amount
    )
        external
    {
        _balances[_msgSender()] =
        _balances[_msgSender()] - _amount;

        _totalSupply =
        _totalSupply - _amount;

        emit Transfer(
            _msgSender(),
            address(0x0),
            _amount
        );
    }

    function _msgSender()
        internal
        view
        returns (address sender)
    {
        if (msg.sender == address(this)) {
            bytes memory array = msg.data;
            uint256 index = msg.data.length;
            assembly {
                // Load the 32 bytes word from memory with the address on the lower 20 bytes, and mask those.
                sender := and(
                    mload(add(array, index)),
                    0xffffffffffffffffffffffffffffffffffffffff
                )
            }
        } else {
            sender = msg.sender;
        }
    }
}

File 1 of 3: EIP712Base.sol
// SPDX-License-Identifier: -- 🎲 --

pragma solidity ^0.8.7;

contract EIP712Base {

    struct EIP712Domain {
        string name;
        string version;
        uint256 chainId;
        address verifyingContract;
    }

    bytes32 internal constant EIP712_DOMAIN_TYPEHASH = keccak256(bytes("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"));
    bytes32 internal domainSeperator;

    constructor(string memory name, string memory version) {
        domainSeperator = keccak256(abi.encode(
			EIP712_DOMAIN_TYPEHASH,
			keccak256(bytes(name)),
			keccak256(bytes(version)),
			getChainID(),
			address(this)
		));
    }

    function getChainID() internal pure returns (uint256 id) {
		assembly {
			id := 1 // set to Goerli for now, Mainnet later
		}
	}

    function getDomainSeperator() private view returns(bytes32) {
		return domainSeperator;
	}

    /**
    * Accept message hash and returns hash message in EIP712 compatible form
    * So that it can be used to recover signer from signature signed using EIP712 formatted data
    * https://eips.ethereum.org/EIPS/eip-712
    * "\\x19" makes the encoding deterministic
    * "\\x01" is the version byte to make it compatible to EIP-191
    */
    function toTypedMessageHash(bytes32 messageHash) internal view returns(bytes32) {
        return keccak256(abi.encodePacked("\x19\x01", getDomainSeperator(), messageHash));
    }
}

File 2 of 3: EIP712MetaTransaction.sol
// SPDX-License-Identifier: -- 💎 --

pragma solidity ^0.8.7;

import "./EIP712Base.sol";

abstract contract EIP712MetaTransaction is EIP712Base {

    bytes32 private constant META_TRANSACTION_TYPEHASH =
        keccak256(
            bytes(
                "MetaTransaction(uint256 nonce,address from,bytes functionSignature)"
            )
        );

    event MetaTransactionExecuted(
        address userAddress,
        address payable relayerAddress,
        bytes functionSignature
    );

    mapping(address => uint256) internal nonces;

    /*
     * Meta transaction structure.
     * No point of including value field here as if user is doing value transfer then he has the funds to pay for gas
     * He should call the desired function directly in that case.
     */
    struct MetaTransaction {
		uint256 nonce;
		address from;
        bytes functionSignature;
	}

    function executeMetaTransaction(
        address userAddress,
        bytes memory functionSignature,
        bytes32 sigR,
        bytes32 sigS,
        uint8 sigV
    )
        public
        payable
        returns(bytes memory)
    {
        MetaTransaction memory metaTx = MetaTransaction(
            {
                nonce: nonces[userAddress],
                from: userAddress,
                functionSignature: functionSignature
            }
        );

        require(
            verify(
                userAddress,
                metaTx,
                sigR,
                sigS,
                sigV
            ), "Signer and signature do not match"
        );

	    nonces[userAddress] =
	    nonces[userAddress] + 1;

        // Append userAddress at the end to extract it from calling context
        (bool success, bytes memory returnData) = address(this).call(
            abi.encodePacked(
                functionSignature,
                userAddress
            )
        );

        require(
            success,
            'Function call not successful'
        );

        emit MetaTransactionExecuted(
            userAddress,
            payable(msg.sender),
            functionSignature
        );

        return returnData;
    }

    function hashMetaTransaction(
        MetaTransaction memory metaTx
    )
        internal
        pure
        returns (bytes32)
    {
		return keccak256(
		    abi.encode(
                META_TRANSACTION_TYPEHASH,
                metaTx.nonce,
                metaTx.from,
                keccak256(metaTx.functionSignature)
            )
        );
	}

    function verify(
        address user,
        MetaTransaction memory metaTx,
        bytes32 sigR,
        bytes32 sigS,
        uint8 sigV
    )
        internal
        view
        returns (bool)
    {
        address signer = ecrecover(
            toTypedMessageHash(
                hashMetaTransaction(metaTx)
            ),
            sigV,
            sigR,
            sigS
        );

        require(
            signer != address(0x0),
            'Invalid signature'
        );
		return signer == user;
	}

    function msgSender() internal view returns(address sender) {
        if(msg.sender == address(this)) {
            bytes memory array = msg.data;
            uint256 index = msg.data.length;
            assembly {
                // Load the 32 bytes word from memory with the address on the lower 20 bytes, and mask those.
                sender := and(mload(add(array, index)), 0xffffffffffffffffffffffffffffffffffffffff)
            }
        } else {
            sender = msg.sender;
        }
        return sender;
    }

    function getNonce(
        address _user
    )
        external
        view
        returns(uint256 nonce)
    {
        nonce = nonces[_user];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_IceMaster","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address payable","name":"relayerAddress","type":"address"},{"indexed":false,"internalType":"bytes","name":"functionSignature","type":"bytes"}],"name":"MetaTransactionExecuted","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":"IceMaster","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bytes","name":"functionSignature","type":"bytes"},{"internalType":"bytes32","name":"sigR","type":"bytes32"},{"internalType":"bytes32","name":"sigS","type":"bytes32"},{"internalType":"uint8","name":"sigV","type":"uint8"}],"name":"executeMetaTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"_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":"_contractDAO","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280601381526020017f446563656e7472616c2047616d65732049434500000000000000000000000000815250600290805190602001906200005192919062000222565b506040518060400160405280600381526020017f4943450000000000000000000000000000000000000000000000000000000000815250600390805190602001906200009f92919062000222565b506012600460006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b50604051620023d7380380620023d78339818101604052810190620000ef9190620002e9565b6040518060400160405280600881526020017f496365546f6b656e0000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f76312e3200000000000000000000000000000000000000000000000000000000815250604051806080016040528060528152602001620023856052913980519060200120828051906020012082805190602001206200019c6200021960201b60201c565b30604051602001620001b39594939291906200034e565b60405160208183030381529060405280519060200120600081905550505080600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000477565b60006001905090565b8280546200023090620003f3565b90600052602060002090601f016020900481019282620002545760008555620002a0565b82601f106200026f57805160ff1916838001178555620002a0565b82800160010185558215620002a0579182015b828111156200029f57825182559160200191906001019062000282565b5b509050620002af9190620002b3565b5090565b5b80821115620002ce576000816000905550600101620002b4565b5090565b600081519050620002e3816200045d565b92915050565b60006020828403121562000302576200030162000458565b5b60006200031284828501620002d2565b91505092915050565b6200032681620003ab565b82525050565b6200033781620003bf565b82525050565b6200034881620003e9565b82525050565b600060a0820190506200036560008301886200032c565b6200037460208301876200032c565b6200038360408301866200032c565b6200039260608301856200033d565b620003a160808301846200031b565b9695505050505050565b6000620003b882620003c9565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200040c57607f821691505b6020821081141562000423576200042262000429565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6200046881620003ab565b81146200047457600080fd5b50565b611efe80620004876000396000f3fe6080604052600436106100f35760003560e01c806342966c681161008a57806395d89b411161005957806395d89b4114610331578063a9059cbb1461035c578063dd62ed3e14610399578063f2fde38b146103d6576100f3565b806342966c681461028957806347bb7ae3146102b257806370a08231146102dd578063715018a61461031a576100f3565b806323b872dd116100c657806323b872dd146101bb5780632d0335ab146101f8578063313ce5671461023557806340c10f1914610260576100f3565b806306fdde03146100f8578063095ea7b3146101235780630c53c51c1461016057806318160ddd14610190575b600080fd5b34801561010457600080fd5b5061010d6103ff565b60405161011a919061192d565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611550565b610491565b6040516101579190611866565b60405180910390f35b61017a600480360381019061017591906114b9565b6104af565b604051610187919061190b565b60405180910390f35b34801561019c57600080fd5b506101a5610719565b6040516101b291906119cf565b60405180910390f35b3480156101c757600080fd5b506101e260048036038101906101dd9190611466565b610723565b6040516101ef9190611866565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a91906113f9565b6107db565b60405161022c91906119cf565b60405180910390f35b34801561024157600080fd5b5061024a610824565b60405161025791906119ea565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190611550565b61083b565b005b34801561029557600080fd5b506102b060048036038101906102ab9190611590565b6109de565b005b3480156102be57600080fd5b506102c7610afe565b6040516102d4919061180d565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff91906113f9565b610b24565b60405161031191906119cf565b60405180910390f35b34801561032657600080fd5b5061032f610b6d565b005b34801561033d57600080fd5b50610346610c48565b604051610353919061192d565b60405180910390f35b34801561036857600080fd5b50610383600480360381019061037e9190611550565b610cda565b6040516103909190611866565b60405180910390f35b3480156103a557600080fd5b506103c060048036038101906103bb9190611426565b610cf8565b6040516103cd91906119cf565b60405180910390f35b3480156103e257600080fd5b506103fd60048036038101906103f891906113f9565b610d7f565b005b60606002805461040e90611be6565b80601f016020809104026020016040519081016040528092919081815260200182805461043a90611be6565b80156104875780601f1061045c57610100808354040283529160200191610487565b820191906000526020600020905b81548152906001019060200180831161046a57829003601f168201915b5050505050905090565b60006104a561049e610e5a565b8484610f0b565b6001905092915050565b606060006040518060600160405280600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506105328782878787610ff6565b610571576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610568906119af565b60405180910390fd5b60018060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105bc9190611aa9565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000803073ffffffffffffffffffffffffffffffffffffffff16888a60405160200161062c9291906117ae565b6040516020818303038152906040526040516106489190611797565b6000604051808303816000865af19150503d8060008114610685576040519150601f19603f3d011682016040523d82523d6000602084013e61068a565b606091505b5091509150816106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c69061194f565b60405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b89338a60405161070293929190611828565b60405180910390a180935050505095945050505050565b6000600754905090565b60006107c584610731610e5a565b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061077b610e5a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107c09190611aff565b610f0b565b6107d0848484611105565b600190509392505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600460009054906101000a900460ff16905090565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087c610e5a565b73ffffffffffffffffffffffffffffffffffffffff16146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c99061198f565b60405180910390fd5b806007546108e09190611aa9565b60078190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109319190611aa9565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d291906119cf565b60405180910390a35050565b80600560006109eb610e5a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a309190611aff565b60056000610a3c610e5a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600754610a889190611aff565b600781905550600073ffffffffffffffffffffffffffffffffffffffff16610aae610e5a565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610af391906119cf565b60405180910390a350565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bae610e5a565b73ffffffffffffffffffffffffffffffffffffffff1614610c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfb9061198f565b60405180910390fd5b6000600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060038054610c5790611be6565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8390611be6565b8015610cd05780601f10610ca557610100808354040283529160200191610cd0565b820191906000526020600020905b815481529060010190602001808311610cb357829003601f168201915b5050505050905090565b6000610cee610ce7610e5a565b8484611105565b6001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dc0610e5a565b73ffffffffffffffffffffffffffffffffffffffff1614610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d9061198f565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610f0457600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff818301511692505050610f08565b3390505b90565b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe991906119cf565b60405180910390a3505050565b600080600161100c6110078861128b565b6112f3565b8487876040516000815260200160405260405161102c94939291906118c6565b6020604051602081039080840390855afa15801561104e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c19061196f565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161491505095945050505050565b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111509190611aff565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111de9190611aa9565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161127e91906119cf565b60405180910390a3505050565b6000604051806080016040528060438152602001611e866043913980519060200120826000015183602001518460400151805190602001206040516020016112d69493929190611881565b604051602081830303815290604052805190602001209050919050565b60006112fd61132c565b8260405160200161130f9291906117d6565b604051602081830303815290604052805190602001209050919050565b60008054905090565b600061134861134384611a2a565b611a05565b90508281526020810184848401111561136457611363611d09565b5b61136f848285611ba4565b509392505050565b60008135905061138681611e29565b92915050565b60008135905061139b81611e40565b92915050565b600082601f8301126113b6576113b5611d04565b5b81356113c6848260208601611335565b91505092915050565b6000813590506113de81611e57565b92915050565b6000813590506113f381611e6e565b92915050565b60006020828403121561140f5761140e611d13565b5b600061141d84828501611377565b91505092915050565b6000806040838503121561143d5761143c611d13565b5b600061144b85828601611377565b925050602061145c85828601611377565b9150509250929050565b60008060006060848603121561147f5761147e611d13565b5b600061148d86828701611377565b935050602061149e86828701611377565b92505060406114af868287016113cf565b9150509250925092565b600080600080600060a086880312156114d5576114d4611d13565b5b60006114e388828901611377565b955050602086013567ffffffffffffffff81111561150457611503611d0e565b5b611510888289016113a1565b94505060406115218882890161138c565b93505060606115328882890161138c565b9250506080611543888289016113e4565b9150509295509295909350565b6000806040838503121561156757611566611d13565b5b600061157585828601611377565b9250506020611586858286016113cf565b9150509250929050565b6000602082840312156115a6576115a5611d13565b5b60006115b4848285016113cf565b91505092915050565b6115c681611b45565b82525050565b6115d581611b33565b82525050565b6115ec6115e782611b33565b611c49565b82525050565b6115fb81611b57565b82525050565b61160a81611b63565b82525050565b61162161161c82611b63565b611c5b565b82525050565b600061163282611a5b565b61163c8185611a71565b935061164c818560208601611bb3565b61165581611d18565b840191505092915050565b600061166b82611a5b565b6116758185611a82565b9350611685818560208601611bb3565b80840191505092915050565b600061169c82611a66565b6116a68185611a8d565b93506116b6818560208601611bb3565b6116bf81611d18565b840191505092915050565b60006116d7601c83611a8d565b91506116e282611d36565b602082019050919050565b60006116fa600283611a9e565b915061170582611d5f565b600282019050919050565b600061171d601183611a8d565b915061172882611d88565b602082019050919050565b6000611740601783611a8d565b915061174b82611db1565b602082019050919050565b6000611763602183611a8d565b915061176e82611dda565b604082019050919050565b61178281611b8d565b82525050565b61179181611b97565b82525050565b60006117a38284611660565b915081905092915050565b60006117ba8285611660565b91506117c682846115db565b6014820191508190509392505050565b60006117e1826116ed565b91506117ed8285611610565b6020820191506117fd8284611610565b6020820191508190509392505050565b600060208201905061182260008301846115cc565b92915050565b600060608201905061183d60008301866115cc565b61184a60208301856115bd565b818103604083015261185c8184611627565b9050949350505050565b600060208201905061187b60008301846115f2565b92915050565b60006080820190506118966000830187611601565b6118a36020830186611779565b6118b060408301856115cc565b6118bd6060830184611601565b95945050505050565b60006080820190506118db6000830187611601565b6118e86020830186611788565b6118f56040830185611601565b6119026060830184611601565b95945050505050565b600060208201905081810360008301526119258184611627565b905092915050565b600060208201905081810360008301526119478184611691565b905092915050565b60006020820190508181036000830152611968816116ca565b9050919050565b6000602082019050818103600083015261198881611710565b9050919050565b600060208201905081810360008301526119a881611733565b9050919050565b600060208201905081810360008301526119c881611756565b9050919050565b60006020820190506119e46000830184611779565b92915050565b60006020820190506119ff6000830184611788565b92915050565b6000611a0f611a20565b9050611a1b8282611c18565b919050565b6000604051905090565b600067ffffffffffffffff821115611a4557611a44611cd5565b5b611a4e82611d18565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000611ab482611b8d565b9150611abf83611b8d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611af457611af3611c77565b5b828201905092915050565b6000611b0a82611b8d565b9150611b1583611b8d565b925082821015611b2857611b27611c77565b5b828203905092915050565b6000611b3e82611b6d565b9050919050565b6000611b5082611b6d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015611bd1578082015181840152602081019050611bb6565b83811115611be0576000848401525b50505050565b60006002820490506001821680611bfe57607f821691505b60208210811415611c1257611c11611ca6565b5b50919050565b611c2182611d18565b810181811067ffffffffffffffff82111715611c4057611c3f611cd5565b5b80604052505050565b6000611c5482611c65565b9050919050565b6000819050919050565b6000611c7082611d29565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f46756e6374696f6e2063616c6c206e6f74207375636365737366756c00000000600082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b7f496365546f6b656e3a206163636573732064656e696564000000000000000000600082015250565b7f5369676e657220616e64207369676e617475726520646f206e6f74206d61746360008201527f6800000000000000000000000000000000000000000000000000000000000000602082015250565b611e3281611b33565b8114611e3d57600080fd5b50565b611e4981611b63565b8114611e5457600080fd5b50565b611e6081611b8d565b8114611e6b57600080fd5b50565b611e7781611b97565b8114611e8257600080fd5b5056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a264697066735822122004ea0b153cd30abf469addfbcdeb9e29cde5c3a3674e5ccd65a0943ebcf7bc2464736f6c63430008070033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e7472616374290000000000000000000000008aef51b9eecaca6b4a9c73d5b0fe1937a072af04

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

0000000000000000000000008aef51b9eecaca6b4a9c73d5b0fe1937a072af04

-----Decoded View---------------
Arg [0] : _IceMaster (address): 0x8aef51b9eecaca6b4a9c73d5b0fe1937a072af04

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008aef51b9eecaca6b4a9c73d5b0fe1937a072af04


Deployed ByteCode Sourcemap

110:5082:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1312:117;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3306:258;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;922:1323:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1691:125:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2664:429;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3731:158:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1566:117:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3867:367;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4242:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;287:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1824:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1186:118;;;;;;;;;;;;;:::i;:::-;;1437:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1994:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3101:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1024:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1312:117;1378:13;1416:5;1409:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1312:117;:::o;3306:258::-;3419:4;3441:91;3464:12;:10;:12::i;:::-;3491:8;3514:7;3441:8;:91::i;:::-;3552:4;3545:11;;3306:258;;;;:::o;922:1323:1:-;1149:12;1179:29;1211:192;;;;;;;;1267:6;:19;1274:11;1267:19;;;;;;;;;;;;;;;;1211:192;;;;1311:11;1211:192;;;;;;1360:17;1211:192;;;1179:224;;1438:145;1463:11;1493:6;1518:4;1541;1564;1438:6;:145::i;:::-;1416:215;;;;;;;;;;;;:::i;:::-;;;;;;;;;1691:1;1669:6;:19;1676:11;1669:19;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;1641:6;:19;1648:11;1641:19;;;;;;;;;;;;;;;:51;;;;1783:12;1797:23;1832:4;1824:18;;1892:17;1928:11;1857:97;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1824:141;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1782:183;;;;2000:7;1978:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:126;2119:11;2153:10;2179:17;2081:126;;;;;;;;:::i;:::-;;;;;;;;2227:10;2220:17;;;;;922:1323;;;;;;;:::o;1691:125:2:-;1764:7;1796:12;;1789:19;;1691:125;:::o;2664:429::-;2810:4;2832:127;2855:7;2877:12;:10;:12::i;:::-;2941:7;2904:11;:20;2916:7;2904:20;;;;;;;;;;;;;;;:34;2925:12;:10;:12::i;:::-;2904:34;;;;;;;;;;;;;;;;:44;;;;:::i;:::-;2832:8;:127::i;:::-;2972:89;2996:7;3018:10;3043:7;2972:9;:89::i;:::-;3081:4;3074:11;;2664:429;;;;;:::o;3731:158:1:-;3829:13;3868:6;:13;3875:5;3868:13;;;;;;;;;;;;;;;;3860:21;;3731:158;;;:::o;1566:117:2:-;1636:5;1666:9;;;;;;;;;;;1659:16;;1566:117;:::o;3867:367::-;794:9;;;;;;;;;;;778:25;;:12;:10;:12::i;:::-;:25;;;756:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;4037:7:::1;4022:12;;:22;;;;:::i;:::-;3998:12;:46;;;;4110:7;4088:9;:19;4098:8;4088:19;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;4057:9;:19;4067:8;4057:19;;;;;;;;;;;;;;;:60;;;;4185:8;4135:91;;4166:3;4135:91;;;4208:7;4135:91;;;;;;:::i;:::-;;;;;;;;3867:367:::0;;:::o;4242:329::-;4384:7;4358:9;:23;4368:12;:10;:12::i;:::-;4358:23;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;4323:9;:23;4333:12;:10;:12::i;:::-;4323:23;;;;;;;;;;;;;;;:68;;;;4443:7;4428:12;;:22;;;;:::i;:::-;4404:12;:46;;;;4526:3;4468:95;;4491:12;:10;:12::i;:::-;4468:95;;;4545:7;4468:95;;;;;;:::i;:::-;;;;;;;;4242:329;:::o;287:24::-;;;;;;;;;;;;;:::o;1824:162::-;1927:7;1959:9;:19;1969:8;1959:19;;;;;;;;;;;;;;;;1952:26;;1824:162;;;:::o;1186:118::-;794:9;;;;;;;;;;;778:25;;:12;:10;:12::i;:::-;:25;;;756:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1292:3:::1;1272:9;;:24;;;;;;;;;;;;;;;;;;1186:118::o:0;1437:121::-;1505:13;1543:7;1536:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1437:121;:::o;1994:264::-;2110:4;2132:94;2156:12;:10;:12::i;:::-;2183:10;2208:7;2132:9;:94::i;:::-;2246:4;2239:11;;1994:264;;;;:::o;3101:197::-;3229:7;3261:11;:19;3273:6;3261:19;;;;;;;;;;;;;;;:29;3281:8;3261:29;;;;;;;;;;;;;;;;3254:36;;3101:197;;;;:::o;1024:154::-;794:9;;;;;;;;;;;778:25;;:12;:10;:12::i;:::-;:25;;;756:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1158:12:::1;1146:9;;:24;;;;;;;;;;;;;;;;;;1024:154:::0;:::o;4579:610::-;4651:14;4709:4;4687:27;;:10;:27;;;4683:499;;;4731:18;4752:8;;4731:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4775:13;4791:8;;:15;;4775:31;;5043:42;5013:5;5006;5002:17;4996:24;4970:134;4960:144;;4830:289;;4683:499;;;5160:10;5151:19;;4683:499;4579:610;:::o;3572:287::-;3741:7;3709:11;:19;3721:6;3709:19;;;;;;;;;;;;;;;:29;3729:8;3709:29;;;;;;;;;;;;;;;:39;;;;3810:8;3766:85;;3789:6;3766:85;;;3833:7;3766:85;;;;;;:::i;:::-;;;;;;;;3572:287;;;:::o;2631:546:1:-;2834:4;2856:14;2873:171;2897:79;2934:27;2954:6;2934:19;:27::i;:::-;2897:18;:79::i;:::-;2991:4;3010;3029;2873:171;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2856:188;;3097:3;3079:22;;:6;:22;;;;3057:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;3168:4;3158:14;;:6;:14;;;3151:21;;;2631:546;;;;;;;:::o;2266:390:2:-;2458:7;2437:9;:18;2447:7;2437:18;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;2407:9;:18;2417:7;2407:18;;;;;;;;;;;;;;;:58;;;;2535:7;2511:9;:21;2521:10;2511:21;;;;;;;;;;;;;;;;:31;;;;:::i;:::-;2478:9;:21;2488:10;2478:21;;;;;;;;;;;;;;;:64;;;;2605:10;2560:88;;2583:7;2560:88;;;2630:7;2560:88;;;;;;:::i;:::-;;;;;;;;2266:390;;;:::o;2253:370:1:-;2379:7;248:108;;;;;;;;;;;;;;;;;224:143;;;;;;2496:6;:12;;;2527:6;:11;;;2567:6;:24;;;2557:35;;;;;;2423:184;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2405:213;;;;;;2398:220;;2253:370;;;:::o;1290:180:0:-;1361:7;1427:20;:18;:20::i;:::-;1449:11;1398:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1388:74;;;;;;1381:81;;1290:180;;;:::o;835:92::-;886:7;907:15;;900:22;;835:92;:::o;7:410:3:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:112;;;280:79;;:::i;:::-;249:112;370:41;404:6;399:3;394;370:41;:::i;:::-;90:327;7:410;;;;;:::o;423:139::-;469:5;507:6;494:20;485:29;;523:33;550:5;523:33;:::i;:::-;423:139;;;;:::o;568:::-;614:5;652:6;639:20;630:29;;668:33;695:5;668:33;:::i;:::-;568:139;;;;:::o;726:338::-;781:5;830:3;823:4;815:6;811:17;807:27;797:122;;838:79;;:::i;:::-;797:122;955:6;942:20;980:78;1054:3;1046:6;1039:4;1031:6;1027:17;980:78;:::i;:::-;971:87;;787:277;726:338;;;;:::o;1070:139::-;1116:5;1154:6;1141:20;1132:29;;1170:33;1197:5;1170:33;:::i;:::-;1070:139;;;;:::o;1215:135::-;1259:5;1297:6;1284:20;1275:29;;1313:31;1338:5;1313:31;:::i;:::-;1215:135;;;;:::o;1356:329::-;1415:6;1464:2;1452:9;1443:7;1439:23;1435:32;1432:119;;;1470:79;;:::i;:::-;1432:119;1590:1;1615:53;1660:7;1651:6;1640:9;1636:22;1615:53;:::i;:::-;1605:63;;1561:117;1356:329;;;;:::o;1691:474::-;1759:6;1767;1816:2;1804:9;1795:7;1791:23;1787:32;1784:119;;;1822:79;;:::i;:::-;1784:119;1942:1;1967:53;2012:7;2003:6;1992:9;1988:22;1967:53;:::i;:::-;1957:63;;1913:117;2069:2;2095:53;2140:7;2131:6;2120:9;2116:22;2095:53;:::i;:::-;2085:63;;2040:118;1691:474;;;;;:::o;2171:619::-;2248:6;2256;2264;2313:2;2301:9;2292:7;2288:23;2284:32;2281:119;;;2319:79;;:::i;:::-;2281:119;2439:1;2464:53;2509:7;2500:6;2489:9;2485:22;2464:53;:::i;:::-;2454:63;;2410:117;2566:2;2592:53;2637:7;2628:6;2617:9;2613:22;2592:53;:::i;:::-;2582:63;;2537:118;2694:2;2720:53;2765:7;2756:6;2745:9;2741:22;2720:53;:::i;:::-;2710:63;;2665:118;2171:619;;;;;:::o;2796:1085::-;2898:6;2906;2914;2922;2930;2979:3;2967:9;2958:7;2954:23;2950:33;2947:120;;;2986:79;;:::i;:::-;2947:120;3106:1;3131:53;3176:7;3167:6;3156:9;3152:22;3131:53;:::i;:::-;3121:63;;3077:117;3261:2;3250:9;3246:18;3233:32;3292:18;3284:6;3281:30;3278:117;;;3314:79;;:::i;:::-;3278:117;3419:62;3473:7;3464:6;3453:9;3449:22;3419:62;:::i;:::-;3409:72;;3204:287;3530:2;3556:53;3601:7;3592:6;3581:9;3577:22;3556:53;:::i;:::-;3546:63;;3501:118;3658:2;3684:53;3729:7;3720:6;3709:9;3705:22;3684:53;:::i;:::-;3674:63;;3629:118;3786:3;3813:51;3856:7;3847:6;3836:9;3832:22;3813:51;:::i;:::-;3803:61;;3757:117;2796:1085;;;;;;;;:::o;3887:474::-;3955:6;3963;4012:2;4000:9;3991:7;3987:23;3983:32;3980:119;;;4018:79;;:::i;:::-;3980:119;4138:1;4163:53;4208:7;4199:6;4188:9;4184:22;4163:53;:::i;:::-;4153:63;;4109:117;4265:2;4291:53;4336:7;4327:6;4316:9;4312:22;4291:53;:::i;:::-;4281:63;;4236:118;3887:474;;;;;:::o;4367:329::-;4426:6;4475:2;4463:9;4454:7;4450:23;4446:32;4443:119;;;4481:79;;:::i;:::-;4443:119;4601:1;4626:53;4671:7;4662:6;4651:9;4647:22;4626:53;:::i;:::-;4616:63;;4572:117;4367:329;;;;:::o;4702:142::-;4805:32;4831:5;4805:32;:::i;:::-;4800:3;4793:45;4702:142;;:::o;4850:118::-;4937:24;4955:5;4937:24;:::i;:::-;4932:3;4925:37;4850:118;;:::o;4974:157::-;5079:45;5099:24;5117:5;5099:24;:::i;:::-;5079:45;:::i;:::-;5074:3;5067:58;4974:157;;:::o;5137:109::-;5218:21;5233:5;5218:21;:::i;:::-;5213:3;5206:34;5137:109;;:::o;5252:118::-;5339:24;5357:5;5339:24;:::i;:::-;5334:3;5327:37;5252:118;;:::o;5376:157::-;5481:45;5501:24;5519:5;5501:24;:::i;:::-;5481:45;:::i;:::-;5476:3;5469:58;5376:157;;:::o;5539:360::-;5625:3;5653:38;5685:5;5653:38;:::i;:::-;5707:70;5770:6;5765:3;5707:70;:::i;:::-;5700:77;;5786:52;5831:6;5826:3;5819:4;5812:5;5808:16;5786:52;:::i;:::-;5863:29;5885:6;5863:29;:::i;:::-;5858:3;5854:39;5847:46;;5629:270;5539:360;;;;:::o;5905:373::-;6009:3;6037:38;6069:5;6037:38;:::i;:::-;6091:88;6172:6;6167:3;6091:88;:::i;:::-;6084:95;;6188:52;6233:6;6228:3;6221:4;6214:5;6210:16;6188:52;:::i;:::-;6265:6;6260:3;6256:16;6249:23;;6013:265;5905:373;;;;:::o;6284:364::-;6372:3;6400:39;6433:5;6400:39;:::i;:::-;6455:71;6519:6;6514:3;6455:71;:::i;:::-;6448:78;;6535:52;6580:6;6575:3;6568:4;6561:5;6557:16;6535:52;:::i;:::-;6612:29;6634:6;6612:29;:::i;:::-;6607:3;6603:39;6596:46;;6376:272;6284:364;;;;:::o;6654:366::-;6796:3;6817:67;6881:2;6876:3;6817:67;:::i;:::-;6810:74;;6893:93;6982:3;6893:93;:::i;:::-;7011:2;7006:3;7002:12;6995:19;;6654:366;;;:::o;7026:400::-;7186:3;7207:84;7289:1;7284:3;7207:84;:::i;:::-;7200:91;;7300:93;7389:3;7300:93;:::i;:::-;7418:1;7413:3;7409:11;7402:18;;7026:400;;;:::o;7432:366::-;7574:3;7595:67;7659:2;7654:3;7595:67;:::i;:::-;7588:74;;7671:93;7760:3;7671:93;:::i;:::-;7789:2;7784:3;7780:12;7773:19;;7432:366;;;:::o;7804:::-;7946:3;7967:67;8031:2;8026:3;7967:67;:::i;:::-;7960:74;;8043:93;8132:3;8043:93;:::i;:::-;8161:2;8156:3;8152:12;8145:19;;7804:366;;;:::o;8176:::-;8318:3;8339:67;8403:2;8398:3;8339:67;:::i;:::-;8332:74;;8415:93;8504:3;8415:93;:::i;:::-;8533:2;8528:3;8524:12;8517:19;;8176:366;;;:::o;8548:118::-;8635:24;8653:5;8635:24;:::i;:::-;8630:3;8623:37;8548:118;;:::o;8672:112::-;8755:22;8771:5;8755:22;:::i;:::-;8750:3;8743:35;8672:112;;:::o;8790:271::-;8920:3;8942:93;9031:3;9022:6;8942:93;:::i;:::-;8935:100;;9052:3;9045:10;;8790:271;;;;:::o;9067:412::-;9225:3;9247:93;9336:3;9327:6;9247:93;:::i;:::-;9240:100;;9350:75;9421:3;9412:6;9350:75;:::i;:::-;9450:2;9445:3;9441:12;9434:19;;9470:3;9463:10;;9067:412;;;;;:::o;9485:663::-;9726:3;9748:148;9892:3;9748:148;:::i;:::-;9741:155;;9906:75;9977:3;9968:6;9906:75;:::i;:::-;10006:2;10001:3;9997:12;9990:19;;10019:75;10090:3;10081:6;10019:75;:::i;:::-;10119:2;10114:3;10110:12;10103:19;;10139:3;10132:10;;9485:663;;;;;:::o;10154:222::-;10247:4;10285:2;10274:9;10270:18;10262:26;;10298:71;10366:1;10355:9;10351:17;10342:6;10298:71;:::i;:::-;10154:222;;;;:::o;10382:561::-;10565:4;10603:2;10592:9;10588:18;10580:26;;10616:71;10684:1;10673:9;10669:17;10660:6;10616:71;:::i;:::-;10697:88;10781:2;10770:9;10766:18;10757:6;10697:88;:::i;:::-;10832:9;10826:4;10822:20;10817:2;10806:9;10802:18;10795:48;10860:76;10931:4;10922:6;10860:76;:::i;:::-;10852:84;;10382:561;;;;;;:::o;10949:210::-;11036:4;11074:2;11063:9;11059:18;11051:26;;11087:65;11149:1;11138:9;11134:17;11125:6;11087:65;:::i;:::-;10949:210;;;;:::o;11165:553::-;11342:4;11380:3;11369:9;11365:19;11357:27;;11394:71;11462:1;11451:9;11447:17;11438:6;11394:71;:::i;:::-;11475:72;11543:2;11532:9;11528:18;11519:6;11475:72;:::i;:::-;11557;11625:2;11614:9;11610:18;11601:6;11557:72;:::i;:::-;11639;11707:2;11696:9;11692:18;11683:6;11639:72;:::i;:::-;11165:553;;;;;;;:::o;11724:545::-;11897:4;11935:3;11924:9;11920:19;11912:27;;11949:71;12017:1;12006:9;12002:17;11993:6;11949:71;:::i;:::-;12030:68;12094:2;12083:9;12079:18;12070:6;12030:68;:::i;:::-;12108:72;12176:2;12165:9;12161:18;12152:6;12108:72;:::i;:::-;12190;12258:2;12247:9;12243:18;12234:6;12190:72;:::i;:::-;11724:545;;;;;;;:::o;12275:309::-;12386:4;12424:2;12413:9;12409:18;12401:26;;12473:9;12467:4;12463:20;12459:1;12448:9;12444:17;12437:47;12501:76;12572:4;12563:6;12501:76;:::i;:::-;12493:84;;12275:309;;;;:::o;12590:313::-;12703:4;12741:2;12730:9;12726:18;12718:26;;12790:9;12784:4;12780:20;12776:1;12765:9;12761:17;12754:47;12818:78;12891:4;12882:6;12818:78;:::i;:::-;12810:86;;12590:313;;;;:::o;12909:419::-;13075:4;13113:2;13102:9;13098:18;13090:26;;13162:9;13156:4;13152:20;13148:1;13137:9;13133:17;13126:47;13190:131;13316:4;13190:131;:::i;:::-;13182:139;;12909:419;;;:::o;13334:::-;13500:4;13538:2;13527:9;13523:18;13515:26;;13587:9;13581:4;13577:20;13573:1;13562:9;13558:17;13551:47;13615:131;13741:4;13615:131;:::i;:::-;13607:139;;13334:419;;;:::o;13759:::-;13925:4;13963:2;13952:9;13948:18;13940:26;;14012:9;14006:4;14002:20;13998:1;13987:9;13983:17;13976:47;14040:131;14166:4;14040:131;:::i;:::-;14032:139;;13759:419;;;:::o;14184:::-;14350:4;14388:2;14377:9;14373:18;14365:26;;14437:9;14431:4;14427:20;14423:1;14412:9;14408:17;14401:47;14465:131;14591:4;14465:131;:::i;:::-;14457:139;;14184:419;;;:::o;14609:222::-;14702:4;14740:2;14729:9;14725:18;14717:26;;14753:71;14821:1;14810:9;14806:17;14797:6;14753:71;:::i;:::-;14609:222;;;;:::o;14837:214::-;14926:4;14964:2;14953:9;14949:18;14941:26;;14977:67;15041:1;15030:9;15026:17;15017:6;14977:67;:::i;:::-;14837:214;;;;:::o;15057:129::-;15091:6;15118:20;;:::i;:::-;15108:30;;15147:33;15175:4;15167:6;15147:33;:::i;:::-;15057:129;;;:::o;15192:75::-;15225:6;15258:2;15252:9;15242:19;;15192:75;:::o;15273:307::-;15334:4;15424:18;15416:6;15413:30;15410:56;;;15446:18;;:::i;:::-;15410:56;15484:29;15506:6;15484:29;:::i;:::-;15476:37;;15568:4;15562;15558:15;15550:23;;15273:307;;;:::o;15586:98::-;15637:6;15671:5;15665:12;15655:22;;15586:98;;;:::o;15690:99::-;15742:6;15776:5;15770:12;15760:22;;15690:99;;;:::o;15795:168::-;15878:11;15912:6;15907:3;15900:19;15952:4;15947:3;15943:14;15928:29;;15795:168;;;;:::o;15969:147::-;16070:11;16107:3;16092:18;;15969:147;;;;:::o;16122:169::-;16206:11;16240:6;16235:3;16228:19;16280:4;16275:3;16271:14;16256:29;;16122:169;;;;:::o;16297:148::-;16399:11;16436:3;16421:18;;16297:148;;;;:::o;16451:305::-;16491:3;16510:20;16528:1;16510:20;:::i;:::-;16505:25;;16544:20;16562:1;16544:20;:::i;:::-;16539:25;;16698:1;16630:66;16626:74;16623:1;16620:81;16617:107;;;16704:18;;:::i;:::-;16617:107;16748:1;16745;16741:9;16734:16;;16451:305;;;;:::o;16762:191::-;16802:4;16822:20;16840:1;16822:20;:::i;:::-;16817:25;;16856:20;16874:1;16856:20;:::i;:::-;16851:25;;16895:1;16892;16889:8;16886:34;;;16900:18;;:::i;:::-;16886:34;16945:1;16942;16938:9;16930:17;;16762:191;;;;:::o;16959:96::-;16996:7;17025:24;17043:5;17025:24;:::i;:::-;17014:35;;16959:96;;;:::o;17061:104::-;17106:7;17135:24;17153:5;17135:24;:::i;:::-;17124:35;;17061:104;;;:::o;17171:90::-;17205:7;17248:5;17241:13;17234:21;17223:32;;17171:90;;;:::o;17267:77::-;17304:7;17333:5;17322:16;;17267:77;;;:::o;17350:126::-;17387:7;17427:42;17420:5;17416:54;17405:65;;17350:126;;;:::o;17482:77::-;17519:7;17548:5;17537:16;;17482:77;;;:::o;17565:86::-;17600:7;17640:4;17633:5;17629:16;17618:27;;17565:86;;;:::o;17657:154::-;17741:6;17736:3;17731;17718:30;17803:1;17794:6;17789:3;17785:16;17778:27;17657:154;;;:::o;17817:307::-;17885:1;17895:113;17909:6;17906:1;17903:13;17895:113;;;17994:1;17989:3;17985:11;17979:18;17975:1;17970:3;17966:11;17959:39;17931:2;17928:1;17924:10;17919:15;;17895:113;;;18026:6;18023:1;18020:13;18017:101;;;18106:1;18097:6;18092:3;18088:16;18081:27;18017:101;17866:258;17817:307;;;:::o;18130:320::-;18174:6;18211:1;18205:4;18201:12;18191:22;;18258:1;18252:4;18248:12;18279:18;18269:81;;18335:4;18327:6;18323:17;18313:27;;18269:81;18397:2;18389:6;18386:14;18366:18;18363:38;18360:84;;;18416:18;;:::i;:::-;18360:84;18181:269;18130:320;;;:::o;18456:281::-;18539:27;18561:4;18539:27;:::i;:::-;18531:6;18527:40;18669:6;18657:10;18654:22;18633:18;18621:10;18618:34;18615:62;18612:88;;;18680:18;;:::i;:::-;18612:88;18720:10;18716:2;18709:22;18499:238;18456:281;;:::o;18743:100::-;18782:7;18811:26;18831:5;18811:26;:::i;:::-;18800:37;;18743:100;;;:::o;18849:79::-;18888:7;18917:5;18906:16;;18849:79;;;:::o;18934:94::-;18973:7;19002:20;19016:5;19002:20;:::i;:::-;18991:31;;18934:94;;;:::o;19034:180::-;19082:77;19079:1;19072:88;19179:4;19176:1;19169:15;19203:4;19200:1;19193:15;19220:180;19268:77;19265:1;19258:88;19365:4;19362:1;19355:15;19389:4;19386:1;19379:15;19406:180;19454:77;19451:1;19444:88;19551:4;19548:1;19541:15;19575:4;19572:1;19565:15;19592:117;19701:1;19698;19691:12;19715:117;19824:1;19821;19814:12;19838:117;19947:1;19944;19937:12;19961:117;20070:1;20067;20060:12;20084:102;20125:6;20176:2;20172:7;20167:2;20160:5;20156:14;20152:28;20142:38;;20084:102;;;:::o;20192:94::-;20225:8;20273:5;20269:2;20265:14;20244:35;;20192:94;;;:::o;20292:178::-;20432:30;20428:1;20420:6;20416:14;20409:54;20292:178;:::o;20476:214::-;20616:66;20612:1;20604:6;20600:14;20593:90;20476:214;:::o;20696:167::-;20836:19;20832:1;20824:6;20820:14;20813:43;20696:167;:::o;20869:173::-;21009:25;21005:1;20997:6;20993:14;20986:49;20869:173;:::o;21048:220::-;21188:34;21184:1;21176:6;21172:14;21165:58;21257:3;21252:2;21244:6;21240:15;21233:28;21048:220;:::o;21274:122::-;21347:24;21365:5;21347:24;:::i;:::-;21340:5;21337:35;21327:63;;21386:1;21383;21376:12;21327:63;21274:122;:::o;21402:::-;21475:24;21493:5;21475:24;:::i;:::-;21468:5;21465:35;21455:63;;21514:1;21511;21504:12;21455:63;21402:122;:::o;21530:::-;21603:24;21621:5;21603:24;:::i;:::-;21596:5;21593:35;21583:63;;21642:1;21639;21632:12;21583:63;21530:122;:::o;21658:118::-;21729:22;21745:5;21729:22;:::i;:::-;21722:5;21719:33;21709:61;;21766:1;21763;21756:12;21709:61;21658:118;:::o

Swarm Source

ipfs://04ea0b153cd30abf469addfbcdeb9e29cde5c3a3674e5ccd65a0943ebcf7bc24
Loading