Token Dairy.Money MILK
Overview ERC20
Price
$0.00 @ 0.000000 AVAX
Fully Diluted Market Cap
Total Supply:
1,963,733 MILK
Holders:
614 addresses
Transfers:
-
Contract:
Decimals:
18
[ Download CSV Export ]
[ Download CSV Export ]
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MilkToken
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2022-02-07 */ // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ 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); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File: @openzeppelin/contracts/token/ERC20/ERC20.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { 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); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: milkToken.sol pragma solidity ^ 0.8.0; contract MilkToken is ERC20{ //treasury address to be given on contract creation address public treasury; constructor( string memory name, string memory symbol, uint256 initialSupply, address _treasury ) ERC20(name, symbol) { treasury = _treasury; _mint(_treasury, initialSupply * 1e18); } //mint allowed to be sent only from treasury address, and mints to treasury address function mint(uint256 _amount) public { require(msg.sender == treasury, 'Can only be used by Dairy.Money Treasury'); _mint(msg.sender, _amount * 1e18); } //burn tokens from treasury address, can be sent only from treasury address function burn(uint256 _amount) public { require(msg.sender == treasury, 'Can only be used by Dairy.Money Treasury'); _burn(msg.sender, _amount * 1e18); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"_treasury","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"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":"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":[{"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":"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":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162002417380380620024178339818101604052810190620000379190620003be565b838381600390805190602001906200005192919062000262565b5080600490805190602001906200006a92919062000262565b50505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000d581670de0b6b3a764000084620000c99190620005b2565b620000df60201b60201c565b5050505062000802565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000152576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014990620004a6565b60405180910390fd5b62000166600083836200025860201b60201c565b80600260008282546200017a919062000555565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001d1919062000555565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002389190620004c8565b60405180910390a362000254600083836200025d60201b60201c565b5050565b505050565b505050565b828054620002709062000687565b90600052602060002090601f016020900481019282620002945760008555620002e0565b82601f10620002af57805160ff1916838001178555620002e0565b82800160010185558215620002e0579182015b82811115620002df578251825591602001919060010190620002c2565b5b509050620002ef9190620002f3565b5090565b5b808211156200030e576000816000905550600101620002f4565b5090565b60006200032962000323846200050e565b620004e5565b90508281526020810184848401111562000348576200034762000785565b5b6200035584828562000651565b509392505050565b6000815190506200036e81620007ce565b92915050565b600082601f8301126200038c576200038b62000780565b5b81516200039e84826020860162000312565b91505092915050565b600081519050620003b881620007e8565b92915050565b60008060008060808587031215620003db57620003da6200078f565b5b600085015167ffffffffffffffff811115620003fc57620003fb6200078a565b5b6200040a8782880162000374565b945050602085015167ffffffffffffffff8111156200042e576200042d6200078a565b5b6200043c8782880162000374565b93505060406200044f87828801620003a7565b925050606062000462878288016200035d565b91505092959194509250565b60006200047d601f8362000544565b91506200048a82620007a5565b602082019050919050565b620004a08162000647565b82525050565b60006020820190508181036000830152620004c1816200046e565b9050919050565b6000602082019050620004df600083018462000495565b92915050565b6000620004f162000504565b9050620004ff8282620006bd565b919050565b6000604051905090565b600067ffffffffffffffff8211156200052c576200052b62000751565b5b620005378262000794565b9050602081019050919050565b600082825260208201905092915050565b6000620005628262000647565b91506200056f8362000647565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005a757620005a6620006f3565b5b828201905092915050565b6000620005bf8262000647565b9150620005cc8362000647565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006085762000607620006f3565b5b828202905092915050565b6000620006208262000627565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200067157808201518184015260208101905062000654565b8381111562000681576000848401525b50505050565b60006002820490506001821680620006a057607f821691505b60208210811415620006b757620006b662000722565b5b50919050565b620006c88262000794565b810181811067ffffffffffffffff82111715620006ea57620006e962000751565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620007d98162000613565b8114620007e557600080fd5b50565b620007f38162000647565b8114620007ff57600080fd5b50565b611c0580620008126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806361d027b31161008c578063a0712d6811610066578063a0712d6814610261578063a457c2d71461027d578063a9059cbb146102ad578063dd62ed3e146102dd576100ea565b806361d027b3146101f557806370a082311461021357806395d89b4114610243576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806342966c68146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f761030d565b604051610104919061147c565b60405180910390f35b610127600480360381019061012291906111e3565b61039f565b6040516101349190611461565b60405180910390f35b6101456103bd565b60405161015291906115fe565b60405180910390f35b61017560048036038101906101709190611190565b6103c7565b6040516101829190611461565b60405180910390f35b6101936104bf565b6040516101a09190611619565b60405180910390f35b6101c360048036038101906101be91906111e3565b6104c8565b6040516101d09190611461565b60405180910390f35b6101f360048036038101906101ee9190611223565b610574565b005b6101fd610624565b60405161020a9190611446565b60405180910390f35b61022d60048036038101906102289190611123565b61064a565b60405161023a91906115fe565b60405180910390f35b61024b610692565b604051610258919061147c565b60405180910390f35b61027b60048036038101906102769190611223565b610724565b005b610297600480360381019061029291906111e3565b6107d4565b6040516102a49190611461565b60405180910390f35b6102c760048036038101906102c291906111e3565b6108bf565b6040516102d49190611461565b60405180910390f35b6102f760048036038101906102f29190611150565b6108dd565b60405161030491906115fe565b60405180910390f35b60606003805461031c906117bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610348906117bc565b80156103955780601f1061036a57610100808354040283529160200191610395565b820191906000526020600020905b81548152906001019060200180831161037857829003601f168201915b5050505050905090565b60006103b36103ac610964565b848461096c565b6001905092915050565b6000600254905090565b60006103d4848484610b37565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061041f610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561049f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104969061151e565b60405180910390fd5b6104b3856104ab610964565b85840361096c565b60019150509392505050565b60006012905090565b600061056a6104d5610964565b8484600160006104e3610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105659190611650565b61096c565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610604576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fb9061155e565b60405180910390fd5b61062133670de0b6b3a76400008361061c91906116a6565b610db8565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546106a1906117bc565b80601f01602080910402602001604051908101604052809291908181526020018280546106cd906117bc565b801561071a5780601f106106ef5761010080835404028352916020019161071a565b820191906000526020600020905b8154815290600101906020018083116106fd57829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab9061155e565b60405180910390fd5b6107d133670de0b6b3a7640000836107cc91906116a6565b610f8f565b50565b600080600160006107e3610964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610897906115be565b60405180910390fd5b6108b46108ab610964565b8585840361096c565b600191505092915050565b60006108d36108cc610964565b8484610b37565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d39061159e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a43906114de565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b2a91906115fe565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e9061157e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e9061149e565b60405180910390fd5b610c228383836110ef565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9f906114fe565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d3b9190611650565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9f91906115fe565b60405180910390a3610db28484846110f4565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1f9061153e565b60405180910390fd5b610e34826000836110ef565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb1906114be565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610f119190611700565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f7691906115fe565b60405180910390a3610f8a836000846110f4565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff6906115de565b60405180910390fd5b61100b600083836110ef565b806002600082825461101d9190611650565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110729190611650565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110d791906115fe565b60405180910390a36110eb600083836110f4565b5050565b505050565b505050565b60008135905061110881611ba1565b92915050565b60008135905061111d81611bb8565b92915050565b6000602082840312156111395761113861184c565b5b6000611147848285016110f9565b91505092915050565b600080604083850312156111675761116661184c565b5b6000611175858286016110f9565b9250506020611186858286016110f9565b9150509250929050565b6000806000606084860312156111a9576111a861184c565b5b60006111b7868287016110f9565b93505060206111c8868287016110f9565b92505060406111d98682870161110e565b9150509250925092565b600080604083850312156111fa576111f961184c565b5b6000611208858286016110f9565b92505060206112198582860161110e565b9150509250929050565b6000602082840312156112395761123861184c565b5b60006112478482850161110e565b91505092915050565b61125981611734565b82525050565b61126881611746565b82525050565b600061127982611634565b611283818561163f565b9350611293818560208601611789565b61129c81611851565b840191505092915050565b60006112b460238361163f565b91506112bf82611862565b604082019050919050565b60006112d760228361163f565b91506112e2826118b1565b604082019050919050565b60006112fa60228361163f565b915061130582611900565b604082019050919050565b600061131d60268361163f565b91506113288261194f565b604082019050919050565b600061134060288361163f565b915061134b8261199e565b604082019050919050565b600061136360218361163f565b915061136e826119ed565b604082019050919050565b600061138660288361163f565b915061139182611a3c565b604082019050919050565b60006113a960258361163f565b91506113b482611a8b565b604082019050919050565b60006113cc60248361163f565b91506113d782611ada565b604082019050919050565b60006113ef60258361163f565b91506113fa82611b29565b604082019050919050565b6000611412601f8361163f565b915061141d82611b78565b602082019050919050565b61143181611772565b82525050565b6114408161177c565b82525050565b600060208201905061145b6000830184611250565b92915050565b6000602082019050611476600083018461125f565b92915050565b60006020820190508181036000830152611496818461126e565b905092915050565b600060208201905081810360008301526114b7816112a7565b9050919050565b600060208201905081810360008301526114d7816112ca565b9050919050565b600060208201905081810360008301526114f7816112ed565b9050919050565b6000602082019050818103600083015261151781611310565b9050919050565b6000602082019050818103600083015261153781611333565b9050919050565b6000602082019050818103600083015261155781611356565b9050919050565b6000602082019050818103600083015261157781611379565b9050919050565b600060208201905081810360008301526115978161139c565b9050919050565b600060208201905081810360008301526115b7816113bf565b9050919050565b600060208201905081810360008301526115d7816113e2565b9050919050565b600060208201905081810360008301526115f781611405565b9050919050565b60006020820190506116136000830184611428565b92915050565b600060208201905061162e6000830184611437565b92915050565b600081519050919050565b600082825260208201905092915050565b600061165b82611772565b915061166683611772565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561169b5761169a6117ee565b5b828201905092915050565b60006116b182611772565b91506116bc83611772565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156116f5576116f46117ee565b5b828202905092915050565b600061170b82611772565b915061171683611772565b925082821015611729576117286117ee565b5b828203905092915050565b600061173f82611752565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156117a757808201518184015260208101905061178c565b838111156117b6576000848401525b50505050565b600060028204905060018216806117d457607f821691505b602082108114156117e8576117e761181d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616e206f6e6c7920626520757365642062792044616972792e4d6f6e65792060008201527f5472656173757279000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611baa81611734565b8114611bb557600080fd5b50565b611bc181611772565b8114611bcc57600080fd5b5056fea2646970667358221220e685fb02cb1675f1b95214ba6ff588d8a617248a34bc0295af5e1cd40f4d4d4864736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000894aded08989ab2921d3a645461abfe1bfdbd505000000000000000000000000000000000000000000000000000000000000001044616972792e4d6f6e6579204d494c4b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d494c4b00000000000000000000000000000000000000000000000000000000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000894aded08989ab2921d3a645461abfe1bfdbd505000000000000000000000000000000000000000000000000000000000000001044616972792e4d6f6e6579204d494c4b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d494c4b00000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Dairy.Money MILK
Arg [1] : symbol (string): MILK
Arg [2] : initialSupply (uint256): 1000000
Arg [3] : _treasury (address): 0x894aded08989ab2921d3a645461abfe1bfdbd505
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000f4240
Arg [3] : 000000000000000000000000894aded08989ab2921d3a645461abfe1bfdbd505
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [5] : 44616972792e4d6f6e6579204d494c4b00000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 4d494c4b00000000000000000000000000000000000000000000000000000000
Deployed ByteCode Sourcemap
16672:868:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6655:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8822:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7775:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9473:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7617:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10374:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17366:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16762:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7946:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6874:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17109:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11092:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8286:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8524:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6655:100;6709:13;6742:5;6735:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6655:100;:::o;8822:169::-;8905:4;8922:39;8931:12;:10;:12::i;:::-;8945:7;8954:6;8922:8;:39::i;:::-;8979:4;8972:11;;8822:169;;;;:::o;7775:108::-;7836:7;7863:12;;7856:19;;7775:108;:::o;9473:492::-;9613:4;9630:36;9640:6;9648:9;9659:6;9630:9;:36::i;:::-;9679:24;9706:11;:19;9718:6;9706:19;;;;;;;;;;;;;;;:33;9726:12;:10;:12::i;:::-;9706:33;;;;;;;;;;;;;;;;9679:60;;9778:6;9758:16;:26;;9750:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9865:57;9874:6;9882:12;:10;:12::i;:::-;9915:6;9896:16;:25;9865:8;:57::i;:::-;9953:4;9946:11;;;9473:492;;;;;:::o;7617:93::-;7675:5;7700:2;7693:9;;7617:93;:::o;10374:215::-;10462:4;10479:80;10488:12;:10;:12::i;:::-;10502:7;10548:10;10511:11;:25;10523:12;:10;:12::i;:::-;10511:25;;;;;;;;;;;;;;;:34;10537:7;10511:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10479:8;:80::i;:::-;10577:4;10570:11;;10374:215;;;;:::o;17366:169::-;17434:8;;;;;;;;;;;17420:22;;:10;:22;;;17412:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17495:33;17501:10;17523:4;17513:7;:14;;;;:::i;:::-;17495:5;:33::i;:::-;17366:169;:::o;16762:23::-;;;;;;;;;;;;;:::o;7946:127::-;8020:7;8047:9;:18;8057:7;8047:18;;;;;;;;;;;;;;;;8040:25;;7946:127;;;:::o;6874:104::-;6930:13;6963:7;6956:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6874:104;:::o;17109:169::-;17177:8;;;;;;;;;;;17163:22;;:10;:22;;;17155:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;17238:33;17244:10;17266:4;17256:7;:14;;;;:::i;:::-;17238:5;:33::i;:::-;17109:169;:::o;11092:413::-;11185:4;11202:24;11229:11;:25;11241:12;:10;:12::i;:::-;11229:25;;;;;;;;;;;;;;;:34;11255:7;11229:34;;;;;;;;;;;;;;;;11202:61;;11302:15;11282:16;:35;;11274:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11395:67;11404:12;:10;:12::i;:::-;11418:7;11446:15;11427:16;:34;11395:8;:67::i;:::-;11493:4;11486:11;;;11092:413;;;;:::o;8286:175::-;8372:4;8389:42;8399:12;:10;:12::i;:::-;8413:9;8424:6;8389:9;:42::i;:::-;8449:4;8442:11;;8286:175;;;;:::o;8524:151::-;8613:7;8640:11;:18;8652:5;8640:18;;;;;;;;;;;;;;;:27;8659:7;8640:27;;;;;;;;;;;;;;;;8633:34;;8524:151;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;14776:380::-;14929:1;14912:19;;:5;:19;;;;14904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15010:1;14991:21;;:7;:21;;;;14983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15094:6;15064:11;:18;15076:5;15064:18;;;;;;;;;;;;;;;:27;15083:7;15064:27;;;;;;;;;;;;;;;:36;;;;15132:7;15116:32;;15125:5;15116:32;;;15141:6;15116:32;;;;;;:::i;:::-;;;;;;;;14776:380;;;:::o;11995:733::-;12153:1;12135:20;;:6;:20;;;;12127:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12237:1;12216:23;;:9;:23;;;;12208:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12292:47;12313:6;12321:9;12332:6;12292:20;:47::i;:::-;12352:21;12376:9;:17;12386:6;12376:17;;;;;;;;;;;;;;;;12352:41;;12429:6;12412:13;:23;;12404:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12550:6;12534:13;:22;12514:9;:17;12524:6;12514:17;;;;;;;;;;;;;;;:42;;;;12602:6;12578:9;:20;12588:9;12578:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12643:9;12626:35;;12635:6;12626:35;;;12654:6;12626:35;;;;;;:::i;:::-;;;;;;;;12674:46;12694:6;12702:9;12713:6;12674:19;:46::i;:::-;12116:612;11995:733;;;:::o;13747:591::-;13850:1;13831:21;;:7;:21;;;;13823:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13903:49;13924:7;13941:1;13945:6;13903:20;:49::i;:::-;13965:22;13990:9;:18;14000:7;13990:18;;;;;;;;;;;;;;;;13965:43;;14045:6;14027:14;:24;;14019:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14164:6;14147:14;:23;14126:9;:18;14136:7;14126:18;;;;;;;;;;;;;;;:44;;;;14208:6;14192:12;;:22;;;;;;;:::i;:::-;;;;;;;;14258:1;14232:37;;14241:7;14232:37;;;14262:6;14232:37;;;;;;:::i;:::-;;;;;;;;14282:48;14302:7;14319:1;14323:6;14282:19;:48::i;:::-;13812:526;13747:591;;:::o;13015:399::-;13118:1;13099:21;;:7;:21;;;;13091:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;13169:49;13198:1;13202:7;13211:6;13169:20;:49::i;:::-;13247:6;13231:12;;:22;;;;;;;:::i;:::-;;;;;;;;13286:6;13264:9;:18;13274:7;13264:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;13329:7;13308:37;;13325:1;13308:37;;;13338:6;13308:37;;;;;;:::i;:::-;;;;;;;;13358:48;13386:1;13390:7;13399:6;13358:19;:48::i;:::-;13015:399;;:::o;15756:125::-;;;;:::o;16485:124::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:119;;;2331:79;;:::i;:::-;2293:119;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2217:329;;;;:::o;2552:118::-;2639:24;2657:5;2639:24;:::i;:::-;2634:3;2627:37;2552:118;;:::o;2676:109::-;2757:21;2772:5;2757:21;:::i;:::-;2752:3;2745:34;2676:109;;:::o;2791:364::-;2879:3;2907:39;2940:5;2907:39;:::i;:::-;2962:71;3026:6;3021:3;2962:71;:::i;:::-;2955:78;;3042:52;3087:6;3082:3;3075:4;3068:5;3064:16;3042:52;:::i;:::-;3119:29;3141:6;3119:29;:::i;:::-;3114:3;3110:39;3103:46;;2883:272;2791:364;;;;:::o;3161:366::-;3303:3;3324:67;3388:2;3383:3;3324:67;:::i;:::-;3317:74;;3400:93;3489:3;3400:93;:::i;:::-;3518:2;3513:3;3509:12;3502:19;;3161:366;;;:::o;3533:::-;3675:3;3696:67;3760:2;3755:3;3696:67;:::i;:::-;3689:74;;3772:93;3861:3;3772:93;:::i;:::-;3890:2;3885:3;3881:12;3874:19;;3533:366;;;:::o;3905:::-;4047:3;4068:67;4132:2;4127:3;4068:67;:::i;:::-;4061:74;;4144:93;4233:3;4144:93;:::i;:::-;4262:2;4257:3;4253:12;4246:19;;3905:366;;;:::o;4277:::-;4419:3;4440:67;4504:2;4499:3;4440:67;:::i;:::-;4433:74;;4516:93;4605:3;4516:93;:::i;:::-;4634:2;4629:3;4625:12;4618:19;;4277:366;;;:::o;4649:::-;4791:3;4812:67;4876:2;4871:3;4812:67;:::i;:::-;4805:74;;4888:93;4977:3;4888:93;:::i;:::-;5006:2;5001:3;4997:12;4990:19;;4649:366;;;:::o;5021:::-;5163:3;5184:67;5248:2;5243:3;5184:67;:::i;:::-;5177:74;;5260:93;5349:3;5260:93;:::i;:::-;5378:2;5373:3;5369:12;5362:19;;5021:366;;;:::o;5393:::-;5535:3;5556:67;5620:2;5615:3;5556:67;:::i;:::-;5549:74;;5632:93;5721:3;5632:93;:::i;:::-;5750:2;5745:3;5741:12;5734:19;;5393:366;;;:::o;5765:::-;5907:3;5928:67;5992:2;5987:3;5928:67;:::i;:::-;5921:74;;6004:93;6093:3;6004:93;:::i;:::-;6122:2;6117:3;6113:12;6106:19;;5765:366;;;:::o;6137:::-;6279:3;6300:67;6364:2;6359:3;6300:67;:::i;:::-;6293:74;;6376:93;6465:3;6376:93;:::i;:::-;6494:2;6489:3;6485:12;6478:19;;6137:366;;;:::o;6509:::-;6651:3;6672:67;6736:2;6731:3;6672:67;:::i;:::-;6665:74;;6748:93;6837:3;6748:93;:::i;:::-;6866:2;6861:3;6857:12;6850:19;;6509:366;;;:::o;6881:::-;7023:3;7044:67;7108:2;7103:3;7044:67;:::i;:::-;7037:74;;7120:93;7209:3;7120:93;:::i;:::-;7238:2;7233:3;7229:12;7222:19;;6881:366;;;:::o;7253:118::-;7340:24;7358:5;7340:24;:::i;:::-;7335:3;7328:37;7253:118;;:::o;7377:112::-;7460:22;7476:5;7460:22;:::i;:::-;7455:3;7448:35;7377:112;;:::o;7495:222::-;7588:4;7626:2;7615:9;7611:18;7603:26;;7639:71;7707:1;7696:9;7692:17;7683:6;7639:71;:::i;:::-;7495:222;;;;:::o;7723:210::-;7810:4;7848:2;7837:9;7833:18;7825:26;;7861:65;7923:1;7912:9;7908:17;7899:6;7861:65;:::i;:::-;7723:210;;;;:::o;7939:313::-;8052:4;8090:2;8079:9;8075:18;8067:26;;8139:9;8133:4;8129:20;8125:1;8114:9;8110:17;8103:47;8167:78;8240:4;8231:6;8167:78;:::i;:::-;8159:86;;7939:313;;;;:::o;8258:419::-;8424:4;8462:2;8451:9;8447:18;8439:26;;8511:9;8505:4;8501:20;8497:1;8486:9;8482:17;8475:47;8539:131;8665:4;8539:131;:::i;:::-;8531:139;;8258:419;;;:::o;8683:::-;8849:4;8887:2;8876:9;8872:18;8864:26;;8936:9;8930:4;8926:20;8922:1;8911:9;8907:17;8900:47;8964:131;9090:4;8964:131;:::i;:::-;8956:139;;8683:419;;;:::o;9108:::-;9274:4;9312:2;9301:9;9297:18;9289:26;;9361:9;9355:4;9351:20;9347:1;9336:9;9332:17;9325:47;9389:131;9515:4;9389:131;:::i;:::-;9381:139;;9108:419;;;:::o;9533:::-;9699:4;9737:2;9726:9;9722:18;9714:26;;9786:9;9780:4;9776:20;9772:1;9761:9;9757:17;9750:47;9814:131;9940:4;9814:131;:::i;:::-;9806:139;;9533:419;;;:::o;9958:::-;10124:4;10162:2;10151:9;10147:18;10139:26;;10211:9;10205:4;10201:20;10197:1;10186:9;10182:17;10175:47;10239:131;10365:4;10239:131;:::i;:::-;10231:139;;9958:419;;;:::o;10383:::-;10549:4;10587:2;10576:9;10572:18;10564:26;;10636:9;10630:4;10626:20;10622:1;10611:9;10607:17;10600:47;10664:131;10790:4;10664:131;:::i;:::-;10656:139;;10383:419;;;:::o;10808:::-;10974:4;11012:2;11001:9;10997:18;10989:26;;11061:9;11055:4;11051:20;11047:1;11036:9;11032:17;11025:47;11089:131;11215:4;11089:131;:::i;:::-;11081:139;;10808:419;;;:::o;11233:::-;11399:4;11437:2;11426:9;11422:18;11414:26;;11486:9;11480:4;11476:20;11472:1;11461:9;11457:17;11450:47;11514:131;11640:4;11514:131;:::i;:::-;11506:139;;11233:419;;;:::o;11658:::-;11824:4;11862:2;11851:9;11847:18;11839:26;;11911:9;11905:4;11901:20;11897:1;11886:9;11882:17;11875:47;11939:131;12065:4;11939:131;:::i;:::-;11931:139;;11658:419;;;:::o;12083:::-;12249:4;12287:2;12276:9;12272:18;12264:26;;12336:9;12330:4;12326:20;12322:1;12311:9;12307:17;12300:47;12364:131;12490:4;12364:131;:::i;:::-;12356:139;;12083:419;;;:::o;12508:::-;12674:4;12712:2;12701:9;12697:18;12689:26;;12761:9;12755:4;12751:20;12747:1;12736:9;12732:17;12725:47;12789:131;12915:4;12789:131;:::i;:::-;12781:139;;12508:419;;;:::o;12933:222::-;13026:4;13064:2;13053:9;13049:18;13041:26;;13077:71;13145:1;13134:9;13130:17;13121:6;13077:71;:::i;:::-;12933:222;;;;:::o;13161:214::-;13250:4;13288:2;13277:9;13273:18;13265:26;;13301:67;13365:1;13354:9;13350:17;13341:6;13301:67;:::i;:::-;13161:214;;;;:::o;13462:99::-;13514:6;13548:5;13542:12;13532:22;;13462:99;;;:::o;13567:169::-;13651:11;13685:6;13680:3;13673:19;13725:4;13720:3;13716:14;13701:29;;13567:169;;;;:::o;13742:305::-;13782:3;13801:20;13819:1;13801:20;:::i;:::-;13796:25;;13835:20;13853:1;13835:20;:::i;:::-;13830:25;;13989:1;13921:66;13917:74;13914:1;13911:81;13908:107;;;13995:18;;:::i;:::-;13908:107;14039:1;14036;14032:9;14025:16;;13742:305;;;;:::o;14053:348::-;14093:7;14116:20;14134:1;14116:20;:::i;:::-;14111:25;;14150:20;14168:1;14150:20;:::i;:::-;14145:25;;14338:1;14270:66;14266:74;14263:1;14260:81;14255:1;14248:9;14241:17;14237:105;14234:131;;;14345:18;;:::i;:::-;14234:131;14393:1;14390;14386:9;14375:20;;14053:348;;;;:::o;14407:191::-;14447:4;14467:20;14485:1;14467:20;:::i;:::-;14462:25;;14501:20;14519:1;14501:20;:::i;:::-;14496:25;;14540:1;14537;14534:8;14531:34;;;14545:18;;:::i;:::-;14531:34;14590:1;14587;14583:9;14575:17;;14407:191;;;;:::o;14604:96::-;14641:7;14670:24;14688:5;14670:24;:::i;:::-;14659:35;;14604:96;;;:::o;14706:90::-;14740:7;14783:5;14776:13;14769:21;14758:32;;14706:90;;;:::o;14802:126::-;14839:7;14879:42;14872:5;14868:54;14857:65;;14802:126;;;:::o;14934:77::-;14971:7;15000:5;14989:16;;14934:77;;;:::o;15017:86::-;15052:7;15092:4;15085:5;15081:16;15070:27;;15017:86;;;:::o;15109:307::-;15177:1;15187:113;15201:6;15198:1;15195:13;15187:113;;;15286:1;15281:3;15277:11;15271:18;15267:1;15262:3;15258:11;15251:39;15223:2;15220:1;15216:10;15211:15;;15187:113;;;15318:6;15315:1;15312:13;15309:101;;;15398:1;15389:6;15384:3;15380:16;15373:27;15309:101;15158:258;15109:307;;;:::o;15422:320::-;15466:6;15503:1;15497:4;15493:12;15483:22;;15550:1;15544:4;15540:12;15571:18;15561:81;;15627:4;15619:6;15615:17;15605:27;;15561:81;15689:2;15681:6;15678:14;15658:18;15655:38;15652:84;;;15708:18;;:::i;:::-;15652:84;15473:269;15422:320;;;:::o;15748:180::-;15796:77;15793:1;15786:88;15893:4;15890:1;15883:15;15917:4;15914:1;15907:15;15934:180;15982:77;15979:1;15972:88;16079:4;16076:1;16069:15;16103:4;16100:1;16093:15;16243:117;16352:1;16349;16342:12;16366:102;16407:6;16458:2;16454:7;16449:2;16442:5;16438:14;16434:28;16424:38;;16366:102;;;:::o;16474:222::-;16614:34;16610:1;16602:6;16598:14;16591:58;16683:5;16678:2;16670:6;16666:15;16659:30;16474:222;:::o;16702:221::-;16842:34;16838:1;16830:6;16826:14;16819:58;16911:4;16906:2;16898:6;16894:15;16887:29;16702:221;:::o;16929:::-;17069:34;17065:1;17057:6;17053:14;17046:58;17138:4;17133:2;17125:6;17121:15;17114:29;16929:221;:::o;17156:225::-;17296:34;17292:1;17284:6;17280:14;17273:58;17365:8;17360:2;17352:6;17348:15;17341:33;17156:225;:::o;17387:227::-;17527:34;17523:1;17515:6;17511:14;17504:58;17596:10;17591:2;17583:6;17579:15;17572:35;17387:227;:::o;17620:220::-;17760:34;17756:1;17748:6;17744:14;17737:58;17829:3;17824:2;17816:6;17812:15;17805:28;17620:220;:::o;17846:227::-;17986:34;17982:1;17974:6;17970:14;17963:58;18055:10;18050:2;18042:6;18038:15;18031:35;17846:227;:::o;18079:224::-;18219:34;18215:1;18207:6;18203:14;18196:58;18288:7;18283:2;18275:6;18271:15;18264:32;18079:224;:::o;18309:223::-;18449:34;18445:1;18437:6;18433:14;18426:58;18518:6;18513:2;18505:6;18501:15;18494:31;18309:223;:::o;18538:224::-;18678:34;18674:1;18666:6;18662:14;18655:58;18747:7;18742:2;18734:6;18730:15;18723:32;18538:224;:::o;18768:181::-;18908:33;18904:1;18896:6;18892:14;18885:57;18768:181;:::o;18955:122::-;19028:24;19046:5;19028:24;:::i;:::-;19021:5;19018:35;19008:63;;19067:1;19064;19057:12;19008:63;18955:122;:::o;19083:::-;19156:24;19174:5;19156:24;:::i;:::-;19149:5;19146:35;19136:63;;19195:1;19192;19185:12;19136:63;19083:122;:::o
Swarm Source
ipfs://e685fb02cb1675f1b95214ba6ff588d8a617248a34bc0295af5e1cd40f4d4d48