Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 11,049 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20514338 | 107 days ago | IN | 0 ETH | 0.00021614 | ||||
Approve | 20514152 | 107 days ago | IN | 0 ETH | 0.00014948 | ||||
Approve | 19895552 | 193 days ago | IN | 0 ETH | 0.00007958 | ||||
Approve | 19585781 | 237 days ago | IN | 0 ETH | 0.00034335 | ||||
Approve | 19585769 | 237 days ago | IN | 0 ETH | 0.00035015 | ||||
Approve | 19123104 | 302 days ago | IN | 0 ETH | 0.00104505 | ||||
Approve | 19070655 | 309 days ago | IN | 0 ETH | 0.00040081 | ||||
Approve | 18865665 | 338 days ago | IN | 0 ETH | 0.00039435 | ||||
Approve | 17255172 | 564 days ago | IN | 0 ETH | 0.00082318 | ||||
Approve | 17063573 | 591 days ago | IN | 0 ETH | 0.00060381 | ||||
Approve | 17044061 | 593 days ago | IN | 0 ETH | 0.00065159 | ||||
Approve | 17036339 | 594 days ago | IN | 0 ETH | 0.00078655 | ||||
Approve | 16860980 | 619 days ago | IN | 0 ETH | 0.00029331 | ||||
Approve | 16842840 | 622 days ago | IN | 0 ETH | 0.00062125 | ||||
Approve | 15582714 | 798 days ago | IN | 0 ETH | 0.00029555 | ||||
Approve | 15530695 | 805 days ago | IN | 0 ETH | 0.00019323 | ||||
Approve | 15530693 | 805 days ago | IN | 0 ETH | 0.00019309 | ||||
Approve | 15530690 | 805 days ago | IN | 0 ETH | 0.00017601 | ||||
Approve | 14365903 | 992 days ago | IN | 0 ETH | 0.00058793 | ||||
Approve | 13900314 | 1064 days ago | IN | 0 ETH | 0.05233961 | ||||
Approve | 12527937 | 1278 days ago | IN | 0 ETH | 0.00094136 | ||||
Approve | 12522514 | 1279 days ago | IN | 0 ETH | 0.00089145 | ||||
Approve | 12522514 | 1279 days ago | IN | 0 ETH | 0.00108672 | ||||
Approve | 12522514 | 1279 days ago | IN | 0 ETH | 0.00103549 | ||||
Approve | 12328421 | 1309 days ago | IN | 0 ETH | 0.00161725 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Artem
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-28 */ pragma solidity ^0.5.16; pragma experimental ABIEncoderV2; contract Artem { /// @notice EIP-20 token name for this token string public constant name = "Artem"; /// @notice EIP-20 token symbol for this token string public constant symbol = "ARTT"; /// @notice EIP-20 token decimals for this token uint8 public constant decimals = 18; /// @notice Total number of tokens in circulation uint public constant totalSupply = 4204800e18; // 4.2 million Artem /// @notice Allowance amounts on behalf of others mapping (address => mapping (address => uint96)) internal allowances; /// @notice Official record of token balances for each account mapping (address => uint96) internal balances; /// @notice A record of each accounts delegate mapping (address => address) public delegates; /// @notice A checkpoint for marking number of votes from a given block struct Checkpoint { uint32 fromBlock; uint96 votes; } /// @notice A record of votes checkpoints for each account, by index mapping (address => mapping (uint32 => Checkpoint)) public checkpoints; /// @notice The number of checkpoints for each account mapping (address => uint32) public numCheckpoints; /// @notice The EIP-712 typehash for the contract's domain bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); /// @notice The EIP-712 typehash for the delegation struct used by the contract bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)"); /// @notice A record of states for signing / validating signatures mapping (address => uint) public nonces; /// @notice An event thats emitted when an account changes its delegate event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate); /// @notice An event thats emitted when a delegate account's vote balance changes event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance); /// @notice The standard EIP-20 transfer event event Transfer(address indexed from, address indexed to, uint256 amount); /// @notice The standard EIP-20 approval event event Approval(address indexed owner, address indexed spender, uint256 amount); /** * @notice Construct a new Artem token * @param account The initial account to grant all the tokens */ constructor(address account) public { balances[account] = uint96(totalSupply); emit Transfer(address(0), account, totalSupply); } /** * @notice Get the number of tokens `spender` is approved to spend on behalf of `account` * @param account The address of the account holding the funds * @param spender The address of the account spending the funds * @return The number of tokens approved */ function allowance(address account, address spender) external view returns (uint) { return allowances[account][spender]; } /** * @notice Approve `spender` to transfer up to `amount` from `src` * @dev This will overwrite the approval amount for `spender` * and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve) * @param spender The address of the account which may transfer tokens * @param rawAmount The number of tokens that are approved (2^256-1 means infinite) * @return Whether or not the approval succeeded */ function approve(address spender, uint rawAmount) external returns (bool) { uint96 amount; if (rawAmount == uint(-1)) { amount = uint96(-1); } else { amount = safe96(rawAmount, "Artem::approve: amount exceeds 96 bits"); } allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } /** * @notice Get the number of tokens held by the `account` * @param account The address of the account to get the balance of * @return The number of tokens held */ function balanceOf(address account) external view returns (uint) { return balances[account]; } /** * @notice Transfer `amount` tokens from `msg.sender` to `dst` * @param dst The address of the destination account * @param rawAmount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transfer(address dst, uint rawAmount) external returns (bool) { uint96 amount = safe96(rawAmount, "Artem::transfer: amount exceeds 96 bits"); _transferTokens(msg.sender, dst, amount); return true; } /** * @notice Transfer `amount` tokens from `src` to `dst` * @param src The address of the source account * @param dst The address of the destination account * @param rawAmount The number of tokens to transfer * @return Whether or not the transfer succeeded */ function transferFrom(address src, address dst, uint rawAmount) external returns (bool) { address spender = msg.sender; uint96 spenderAllowance = allowances[src][spender]; uint96 amount = safe96(rawAmount, "Artem::approve: amount exceeds 96 bits"); if (spender != src && spenderAllowance != uint96(-1)) { uint96 newAllowance = sub96(spenderAllowance, amount, "Artem::transferFrom: transfer amount exceeds spender allowance"); allowances[src][spender] = newAllowance; emit Approval(src, spender, newAllowance); } _transferTokens(src, dst, amount); return true; } /** * @notice Delegate votes from `msg.sender` to `delegatee` * @param delegatee The address to delegate votes to */ function delegate(address delegatee) public { return _delegate(msg.sender, delegatee); } /** * @notice Delegates votes from signatory to `delegatee` * @param delegatee The address to delegate votes to * @param nonce The contract state required to match the signature * @param expiry The time at which to expire the signature * @param v The recovery byte of the signature * @param r Half of the ECDSA signature pair * @param s Half of the ECDSA signature pair */ function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public { bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this))); bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry)); bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); address signatory = ecrecover(digest, v, r, s); require(signatory != address(0), "Artem::delegateBySig: invalid signature"); require(nonce == nonces[signatory]++, "Artem::delegateBySig: invalid nonce"); require(now <= expiry, "Artem::delegateBySig: signature expired"); return _delegate(signatory, delegatee); } /** * @notice Gets the current votes balance for `account` * @param account The address to get votes balance * @return The number of current votes for `account` */ function getCurrentVotes(address account) external view returns (uint96) { uint32 nCheckpoints = numCheckpoints[account]; return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0; } /** * @notice Determine the prior number of votes for an account as of a block number * @dev Block number must be a finalized block or else this function will revert to prevent misinformation. * @param account The address of the account to check * @param blockNumber The block number to get the vote balance at * @return The number of votes the account had as of the given block */ function getPriorVotes(address account, uint blockNumber) public view returns (uint96) { require(blockNumber < block.number, "Comp::getPriorVotes: not yet determined"); uint32 nCheckpoints = numCheckpoints[account]; if (nCheckpoints == 0) { return 0; } // First check most recent balance if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) { return checkpoints[account][nCheckpoints - 1].votes; } // Next check implicit zero balance if (checkpoints[account][0].fromBlock > blockNumber) { return 0; } uint32 lower = 0; uint32 upper = nCheckpoints - 1; while (upper > lower) { uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow Checkpoint memory cp = checkpoints[account][center]; if (cp.fromBlock == blockNumber) { return cp.votes; } else if (cp.fromBlock < blockNumber) { lower = center; } else { upper = center - 1; } } return checkpoints[account][lower].votes; } function _delegate(address delegator, address delegatee) internal { address currentDelegate = delegates[delegator]; uint96 delegatorBalance = balances[delegator]; delegates[delegator] = delegatee; emit DelegateChanged(delegator, currentDelegate, delegatee); _moveDelegates(currentDelegate, delegatee, delegatorBalance); } function _transferTokens(address src, address dst, uint96 amount) internal { require(src != address(0), "Comp::_transferTokens: cannot transfer from the zero address"); require(dst != address(0), "Comp::_transferTokens: cannot transfer to the zero address"); balances[src] = sub96(balances[src], amount, "Comp::_transferTokens: transfer amount exceeds balance"); balances[dst] = add96(balances[dst], amount, "Comp::_transferTokens: transfer amount overflows"); emit Transfer(src, dst, amount); _moveDelegates(delegates[src], delegates[dst], amount); } function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal { if (srcRep != dstRep && amount > 0) { if (srcRep != address(0)) { uint32 srcRepNum = numCheckpoints[srcRep]; uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0; uint96 srcRepNew = sub96(srcRepOld, amount, "Comp::_moveVotes: vote amount underflows"); _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew); } if (dstRep != address(0)) { uint32 dstRepNum = numCheckpoints[dstRep]; uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0; uint96 dstRepNew = add96(dstRepOld, amount, "Comp::_moveVotes: vote amount overflows"); _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew); } } } function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal { uint32 blockNumber = safe32(block.number, "Comp::_writeCheckpoint: block number exceeds 32 bits"); if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) { checkpoints[delegatee][nCheckpoints - 1].votes = newVotes; } else { checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes); numCheckpoints[delegatee] = nCheckpoints + 1; } emit DelegateVotesChanged(delegatee, oldVotes, newVotes); } function safe32(uint n, string memory errorMessage) internal pure returns (uint32) { require(n < 2**32, errorMessage); return uint32(n); } function safe96(uint n, string memory errorMessage) internal pure returns (uint96) { require(n < 2**96, errorMessage); return uint96(n); } function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) { uint96 c = a + b; require(c >= a, errorMessage); return c; } function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) { require(b <= a, errorMessage); return a - b; } function getChainId() internal pure returns (uint) { uint256 chainId; assembly { chainId := chainid() } return chainId; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"payable":false,"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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001bd038038062001bd08339810160408190526200003491620000bc565b6001600160a01b03811660008181526001602052604080822080546001600160601b0319166a037a66aa2c9ecf0400000090811790915590517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200009a91620000f6565b60405180910390a35062000135565b8051620000b6816200011b565b92915050565b600060208284031215620000cf57600080fd5b6000620000dd8484620000a9565b949350505050565b620000f08162000118565b82525050565b60208101620000b68284620000e5565b60006001600160a01b038216620000b6565b90565b620001268162000106565b81146200013257600080fd5b50565b611a8b80620001456000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea571461025f578063c3cda52014610272578063dd62ed3e14610285578063e7a324dc14610298578063f1127ed8146102a057610121565b806370a08231146101fe578063782d6fe1146102115780637ecebe001461023157806395d89b4114610244578063a9059cbb1461024c57610121565b806323b872dd116100f457806323b872dd14610181578063313ce56714610194578063587cde1e146101a95780635c19a95c146101c95780636fcfff45146101de57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016457806320606b7014610179575b600080fd5b61012e6102c1565b60405161013b9190611739565b60405180910390f35b6101576101523660046111ff565b6102e2565b60405161013b919061168f565b61016c61039f565b60405161013b919061169d565b61016c6103ae565b61015761018f3660046111b2565b6103c5565b61019c61050a565b60405161013b91906117d3565b6101bc6101b7366004611152565b61050f565b60405161013b9190611681565b6101dc6101d7366004611152565b61052a565b005b6101f16101ec366004611152565b610537565b60405161013b91906117aa565b61016c61020c366004611152565b61054f565b61022461021f3660046111ff565b610573565b60405161013b91906117ef565b61016c61023f366004611152565b61078a565b61012e61079c565b61015761025a3660046111ff565b6107bc565b61022461026d366004611152565b6107f8565b6101dc61028036600461122f565b610868565b61016c610293366004611178565b610a4f565b61016c610a81565b6102b36102ae3660046112b6565b610a8d565b60405161013b9291906117b8565b60405180604001604052806005815260200164417274656d60d81b81525081565b6000806000198314156102f8575060001961031d565b61031a83604051806060016040528060268152602001611a2360269139610ac2565b90505b336000818152602081815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061038b9085906117e1565b60405180910390a360019150505b92915050565b6a037a66aa2c9ecf0400000081565b6040516103ba9061166b565b604051809103902081565b6001600160a01b0383166000908152602081815260408083203380855290835281842054825160608101909352602680845291936001600160601b0390911692859261041b9288929190611a2390830139610ac2565b9050866001600160a01b0316836001600160a01b03161415801561044857506001600160601b0382811614155b156104f057600061047283836040518060600160405280603e8152602001611966603e9139610af1565b6001600160a01b03898116600081815260208181526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104e69085906117e1565b60405180910390a3505b6104fb878783610b30565b600193505050505b9392505050565b601281565b6002602052600090815260409020546001600160a01b031681565b6105343382610cdb565b50565b60046020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600160205260409020546001600160601b031690565b600043821061059d5760405162461bcd60e51b81526004016105949061175a565b60405180910390fd5b6001600160a01b03831660009081526004602052604090205463ffffffff16806105cb576000915050610399565b6001600160a01b038416600090815260036020908152604080832063ffffffff600019860181168552925290912054168310610647576001600160a01b03841660009081526003602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610399565b6001600160a01b038416600090815260036020908152604080832083805290915290205463ffffffff16831015610682576000915050610399565b600060001982015b8163ffffffff168163ffffffff16111561074557600282820363ffffffff160481036106b461110f565b506001600160a01b038716600090815260036020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610720576020015194506103999350505050565b805163ffffffff168711156107375781935061073e565b6001820392505b505061068a565b506001600160a01b038516600090815260036020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60056020526000908152604090205481565b604051806040016040528060048152602001631054951560e21b81525081565b6000806107e18360405180606001604052806027815260200161190b60279139610ac2565b90506107ee338583610b30565b5060019392505050565b6001600160a01b03811660009081526004602052604081205463ffffffff1680610823576000610503565b6001600160a01b0383166000908152600360209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03169392505050565b60006040516108769061166b565b604080519182900382208282019091526005825264417274656d60d81b6020909201919091527fa0cc8a0168b634b7f97bac93a69d4c4c1ba49b0250d3a1534fdcfa81ed5be28f6108c5610d65565b306040516020016108d994939291906116e9565b60405160208183030381529060405280519060200120905060006040516108ff90611676565b60405190819003812061091a918a908a908a906020016116ab565b6040516020818303038152906040528051906020012090506000828260405160200161094792919061163a565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610984949392919061171e565b6020604051602081039080840390855afa1580156109a6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166109d95760405162461bcd60e51b81526004016105949061179a565b6001600160a01b03811660009081526005602052604090208054600181019091558914610a185760405162461bcd60e51b81526004016105949061174a565b87421115610a385760405162461bcd60e51b81526004016105949061177a565b610a42818b610cdb565b505050505b505050505050565b6001600160a01b039182166000908152602081815260408083209390941682529190915220546001600160601b031690565b6040516103ba90611676565b600360209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b600081600160601b8410610ae95760405162461bcd60e51b81526004016105949190611739565b509192915050565b6000836001600160601b0316836001600160601b031611158290610b285760405162461bcd60e51b81526004016105949190611739565b505050900390565b6001600160a01b038316610b565760405162461bcd60e51b81526004016105949061178a565b6001600160a01b038216610b7c5760405162461bcd60e51b81526004016105949061176a565b6001600160a01b038316600090815260016020908152604091829020548251606081019093526036808452610bc7936001600160601b0390921692859291906118d590830139610af1565b6001600160a01b03848116600090815260016020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452610c2f94919091169285929091906119cc90830139610d69565b6001600160a01b038381166000818152600160205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c9c9085906117e1565b60405180910390a36001600160a01b03808416600090815260026020526040808220548584168352912054610cd692918216911683610da5565b505050565b6001600160a01b03808316600081815260026020818152604080842080546001845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610d5f828483610da5565b50505050565b4690565b6000838301826001600160601b038087169083161015610d9c5760405162461bcd60e51b81526004016105949190611739565b50949350505050565b816001600160a01b0316836001600160a01b031614158015610dd057506000816001600160601b0316115b15610cd6576001600160a01b03831615610e88576001600160a01b03831660009081526004602052604081205463ffffffff169081610e10576000610e4f565b6001600160a01b0385166000908152600360209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000610e7682856040518060600160405280602881526020016119a460289139610af1565b9050610e8486848484610f33565b5050505b6001600160a01b03821615610cd6576001600160a01b03821660009081526004602052604081205463ffffffff169081610ec3576000610f02565b6001600160a01b0384166000908152600360209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000610f2982856040518060600160405280602781526020016119fc60279139610d69565b9050610a47858484845b6000610f5743604051806060016040528060348152602001611932603491396110e8565b905060008463ffffffff16118015610fa057506001600160a01b038516600090815260036020908152604080832063ffffffff6000198901811685529252909120548282169116145b15610fff576001600160a01b0385166000908152600360209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b0385160217905561109e565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600383528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600490935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516110d99291906117fd565b60405180910390a25050505050565b600081600160201b8410610ae95760405162461bcd60e51b81526004016105949190611739565b604080518082019091526000808252602082015290565b8035610399816118a5565b8035610399816118b9565b8035610399816118c2565b8035610399816118cb565b60006020828403121561116457600080fd5b60006111708484611126565b949350505050565b6000806040838503121561118b57600080fd5b60006111978585611126565b92505060206111a885828601611126565b9150509250929050565b6000806000606084860312156111c757600080fd5b60006111d38686611126565b93505060206111e486828701611126565b92505060406111f586828701611131565b9150509250925092565b6000806040838503121561121257600080fd5b600061121e8585611126565b92505060206111a885828601611131565b60008060008060008060c0878903121561124857600080fd5b60006112548989611126565b965050602061126589828a01611131565b955050604061127689828a01611131565b945050606061128789828a01611147565b935050608061129889828a01611131565b92505060a06112a989828a01611131565b9150509295509295509295565b600080604083850312156112c957600080fd5b60006112d58585611126565b92505060206111a88582860161113c565b6112ef8161182a565b82525050565b6112ef81611835565b6112ef8161183a565b6112ef6113138261183a565b61183a565b600061132382611818565b61132d818561181c565b935061133d81856020860161186f565b6113468161189b565b9093019392505050565b600061135d60238361181c565b7f417274656d3a3a64656c656761746542795369673a20696e76616c6964206e6f8152626e636560e81b602082015260400192915050565b60006113a2600283611825565b61190160f01b815260020192915050565b60006113c060278361181c565b7f436f6d703a3a6765745072696f72566f7465733a206e6f742079657420646574815266195c9b5a5b995960ca1b602082015260400192915050565b6000611409603a8361181c565b7f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747281527f616e7366657220746f20746865207a65726f2061646472657373000000000000602082015260400192915050565b600061146860278361181c565b7f417274656d3a3a64656c656761746542795369673a207369676e617475726520815266195e1c1a5c995960ca1b602082015260400192915050565b60006114b1604383611825565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b600061151c603c8361181c565b7f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747281527f616e736665722066726f6d20746865207a65726f206164647265737300000000602082015260400192915050565b600061157b60278361181c565b7f417274656d3a3a64656c656761746542795369673a20696e76616c6964207369815266676e617475726560c81b602082015260400192915050565b60006115c4603a83611825565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b6112ef81611849565b6112ef81611852565b6112ef81611864565b6112ef81611858565b600061164582611395565b91506116518285611307565b6020820191506116618284611307565b5060200192915050565b6000610399826114a4565b6000610399826115b7565b6020810161039982846112e6565b6020810161039982846112f5565b6020810161039982846112fe565b608081016116b982876112fe565b6116c660208301866112e6565b6116d360408301856112fe565b6116e060608301846112fe565b95945050505050565b608081016116f782876112fe565b61170460208301866112fe565b61171160408301856112fe565b6116e060608301846112e6565b6080810161172c82876112fe565b6116c6602083018661161f565b602080825281016105038184611318565b6020808252810161039981611350565b60208082528101610399816113b3565b60208082528101610399816113fc565b602080825281016103998161145b565b602080825281016103998161150f565b602080825281016103998161156e565b602081016103998284611616565b604081016117c68285611616565b6105036020830184611631565b60208101610399828461161f565b602081016103998284611628565b602081016103998284611631565b6040810161180b8285611628565b6105036020830184611628565b5190565b90815260200190565b919050565b60006103998261183d565b151590565b90565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b600061039982611858565b60005b8381101561188a578181015183820152602001611872565b83811115610d5f5750506000910152565b601f01601f191690565b6118ae8161182a565b811461053457600080fd5b6118ae8161183a565b6118ae81611849565b6118ae8161185256fe436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365417274656d3a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473436f6d703a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473417274656d3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773417274656d3a3a617070726f76653a20616d6f756e7420657863656564732039362062697473a365627a7a72315820948ea1f9391e02177e5e20e203fdeef9828fb56a659bd43d953a6cce8a11a56c6c6578706572696d656e74616cf564736f6c634300051000400000000000000000000000007d6408d97f84c613a7c027214edae306710ce29b
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea571461025f578063c3cda52014610272578063dd62ed3e14610285578063e7a324dc14610298578063f1127ed8146102a057610121565b806370a08231146101fe578063782d6fe1146102115780637ecebe001461023157806395d89b4114610244578063a9059cbb1461024c57610121565b806323b872dd116100f457806323b872dd14610181578063313ce56714610194578063587cde1e146101a95780635c19a95c146101c95780636fcfff45146101de57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016457806320606b7014610179575b600080fd5b61012e6102c1565b60405161013b9190611739565b60405180910390f35b6101576101523660046111ff565b6102e2565b60405161013b919061168f565b61016c61039f565b60405161013b919061169d565b61016c6103ae565b61015761018f3660046111b2565b6103c5565b61019c61050a565b60405161013b91906117d3565b6101bc6101b7366004611152565b61050f565b60405161013b9190611681565b6101dc6101d7366004611152565b61052a565b005b6101f16101ec366004611152565b610537565b60405161013b91906117aa565b61016c61020c366004611152565b61054f565b61022461021f3660046111ff565b610573565b60405161013b91906117ef565b61016c61023f366004611152565b61078a565b61012e61079c565b61015761025a3660046111ff565b6107bc565b61022461026d366004611152565b6107f8565b6101dc61028036600461122f565b610868565b61016c610293366004611178565b610a4f565b61016c610a81565b6102b36102ae3660046112b6565b610a8d565b60405161013b9291906117b8565b60405180604001604052806005815260200164417274656d60d81b81525081565b6000806000198314156102f8575060001961031d565b61031a83604051806060016040528060268152602001611a2360269139610ac2565b90505b336000818152602081815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061038b9085906117e1565b60405180910390a360019150505b92915050565b6a037a66aa2c9ecf0400000081565b6040516103ba9061166b565b604051809103902081565b6001600160a01b0383166000908152602081815260408083203380855290835281842054825160608101909352602680845291936001600160601b0390911692859261041b9288929190611a2390830139610ac2565b9050866001600160a01b0316836001600160a01b03161415801561044857506001600160601b0382811614155b156104f057600061047283836040518060600160405280603e8152602001611966603e9139610af1565b6001600160a01b03898116600081815260208181526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104e69085906117e1565b60405180910390a3505b6104fb878783610b30565b600193505050505b9392505050565b601281565b6002602052600090815260409020546001600160a01b031681565b6105343382610cdb565b50565b60046020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600160205260409020546001600160601b031690565b600043821061059d5760405162461bcd60e51b81526004016105949061175a565b60405180910390fd5b6001600160a01b03831660009081526004602052604090205463ffffffff16806105cb576000915050610399565b6001600160a01b038416600090815260036020908152604080832063ffffffff600019860181168552925290912054168310610647576001600160a01b03841660009081526003602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610399565b6001600160a01b038416600090815260036020908152604080832083805290915290205463ffffffff16831015610682576000915050610399565b600060001982015b8163ffffffff168163ffffffff16111561074557600282820363ffffffff160481036106b461110f565b506001600160a01b038716600090815260036020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610720576020015194506103999350505050565b805163ffffffff168711156107375781935061073e565b6001820392505b505061068a565b506001600160a01b038516600090815260036020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60056020526000908152604090205481565b604051806040016040528060048152602001631054951560e21b81525081565b6000806107e18360405180606001604052806027815260200161190b60279139610ac2565b90506107ee338583610b30565b5060019392505050565b6001600160a01b03811660009081526004602052604081205463ffffffff1680610823576000610503565b6001600160a01b0383166000908152600360209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03169392505050565b60006040516108769061166b565b604080519182900382208282019091526005825264417274656d60d81b6020909201919091527fa0cc8a0168b634b7f97bac93a69d4c4c1ba49b0250d3a1534fdcfa81ed5be28f6108c5610d65565b306040516020016108d994939291906116e9565b60405160208183030381529060405280519060200120905060006040516108ff90611676565b60405190819003812061091a918a908a908a906020016116ab565b6040516020818303038152906040528051906020012090506000828260405160200161094792919061163a565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610984949392919061171e565b6020604051602081039080840390855afa1580156109a6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166109d95760405162461bcd60e51b81526004016105949061179a565b6001600160a01b03811660009081526005602052604090208054600181019091558914610a185760405162461bcd60e51b81526004016105949061174a565b87421115610a385760405162461bcd60e51b81526004016105949061177a565b610a42818b610cdb565b505050505b505050505050565b6001600160a01b039182166000908152602081815260408083209390941682529190915220546001600160601b031690565b6040516103ba90611676565b600360209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b600081600160601b8410610ae95760405162461bcd60e51b81526004016105949190611739565b509192915050565b6000836001600160601b0316836001600160601b031611158290610b285760405162461bcd60e51b81526004016105949190611739565b505050900390565b6001600160a01b038316610b565760405162461bcd60e51b81526004016105949061178a565b6001600160a01b038216610b7c5760405162461bcd60e51b81526004016105949061176a565b6001600160a01b038316600090815260016020908152604091829020548251606081019093526036808452610bc7936001600160601b0390921692859291906118d590830139610af1565b6001600160a01b03848116600090815260016020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452610c2f94919091169285929091906119cc90830139610d69565b6001600160a01b038381166000818152600160205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c9c9085906117e1565b60405180910390a36001600160a01b03808416600090815260026020526040808220548584168352912054610cd692918216911683610da5565b505050565b6001600160a01b03808316600081815260026020818152604080842080546001845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610d5f828483610da5565b50505050565b4690565b6000838301826001600160601b038087169083161015610d9c5760405162461bcd60e51b81526004016105949190611739565b50949350505050565b816001600160a01b0316836001600160a01b031614158015610dd057506000816001600160601b0316115b15610cd6576001600160a01b03831615610e88576001600160a01b03831660009081526004602052604081205463ffffffff169081610e10576000610e4f565b6001600160a01b0385166000908152600360209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000610e7682856040518060600160405280602881526020016119a460289139610af1565b9050610e8486848484610f33565b5050505b6001600160a01b03821615610cd6576001600160a01b03821660009081526004602052604081205463ffffffff169081610ec3576000610f02565b6001600160a01b0384166000908152600360209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000610f2982856040518060600160405280602781526020016119fc60279139610d69565b9050610a47858484845b6000610f5743604051806060016040528060348152602001611932603491396110e8565b905060008463ffffffff16118015610fa057506001600160a01b038516600090815260036020908152604080832063ffffffff6000198901811685529252909120548282169116145b15610fff576001600160a01b0385166000908152600360209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b0385160217905561109e565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600383528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600490935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516110d99291906117fd565b60405180910390a25050505050565b600081600160201b8410610ae95760405162461bcd60e51b81526004016105949190611739565b604080518082019091526000808252602082015290565b8035610399816118a5565b8035610399816118b9565b8035610399816118c2565b8035610399816118cb565b60006020828403121561116457600080fd5b60006111708484611126565b949350505050565b6000806040838503121561118b57600080fd5b60006111978585611126565b92505060206111a885828601611126565b9150509250929050565b6000806000606084860312156111c757600080fd5b60006111d38686611126565b93505060206111e486828701611126565b92505060406111f586828701611131565b9150509250925092565b6000806040838503121561121257600080fd5b600061121e8585611126565b92505060206111a885828601611131565b60008060008060008060c0878903121561124857600080fd5b60006112548989611126565b965050602061126589828a01611131565b955050604061127689828a01611131565b945050606061128789828a01611147565b935050608061129889828a01611131565b92505060a06112a989828a01611131565b9150509295509295509295565b600080604083850312156112c957600080fd5b60006112d58585611126565b92505060206111a88582860161113c565b6112ef8161182a565b82525050565b6112ef81611835565b6112ef8161183a565b6112ef6113138261183a565b61183a565b600061132382611818565b61132d818561181c565b935061133d81856020860161186f565b6113468161189b565b9093019392505050565b600061135d60238361181c565b7f417274656d3a3a64656c656761746542795369673a20696e76616c6964206e6f8152626e636560e81b602082015260400192915050565b60006113a2600283611825565b61190160f01b815260020192915050565b60006113c060278361181c565b7f436f6d703a3a6765745072696f72566f7465733a206e6f742079657420646574815266195c9b5a5b995960ca1b602082015260400192915050565b6000611409603a8361181c565b7f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747281527f616e7366657220746f20746865207a65726f2061646472657373000000000000602082015260400192915050565b600061146860278361181c565b7f417274656d3a3a64656c656761746542795369673a207369676e617475726520815266195e1c1a5c995960ca1b602082015260400192915050565b60006114b1604383611825565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b600061151c603c8361181c565b7f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747281527f616e736665722066726f6d20746865207a65726f206164647265737300000000602082015260400192915050565b600061157b60278361181c565b7f417274656d3a3a64656c656761746542795369673a20696e76616c6964207369815266676e617475726560c81b602082015260400192915050565b60006115c4603a83611825565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b6112ef81611849565b6112ef81611852565b6112ef81611864565b6112ef81611858565b600061164582611395565b91506116518285611307565b6020820191506116618284611307565b5060200192915050565b6000610399826114a4565b6000610399826115b7565b6020810161039982846112e6565b6020810161039982846112f5565b6020810161039982846112fe565b608081016116b982876112fe565b6116c660208301866112e6565b6116d360408301856112fe565b6116e060608301846112fe565b95945050505050565b608081016116f782876112fe565b61170460208301866112fe565b61171160408301856112fe565b6116e060608301846112e6565b6080810161172c82876112fe565b6116c6602083018661161f565b602080825281016105038184611318565b6020808252810161039981611350565b60208082528101610399816113b3565b60208082528101610399816113fc565b602080825281016103998161145b565b602080825281016103998161150f565b602080825281016103998161156e565b602081016103998284611616565b604081016117c68285611616565b6105036020830184611631565b60208101610399828461161f565b602081016103998284611628565b602081016103998284611631565b6040810161180b8285611628565b6105036020830184611628565b5190565b90815260200190565b919050565b60006103998261183d565b151590565b90565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b600061039982611858565b60005b8381101561188a578181015183820152602001611872565b83811115610d5f5750506000910152565b601f01601f191690565b6118ae8161182a565b811461053457600080fd5b6118ae8161183a565b6118ae81611849565b6118ae8161185256fe436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365417274656d3a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473436f6d703a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473417274656d3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773417274656d3a3a617070726f76653a20616d6f756e7420657863656564732039362062697473a365627a7a72315820948ea1f9391e02177e5e20e203fdeef9828fb56a659bd43d953a6cce8a11a56c6c6578706572696d656e74616cf564736f6c63430005100040
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007d6408d97f84c613a7c027214edae306710ce29b
-----Decoded View---------------
Arg [0] : account (address): 0x7D6408d97f84c613a7c027214EDae306710cE29b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007d6408d97f84c613a7c027214edae306710ce29b
Deployed Bytecode Sourcemap
63:12839:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;63:12839:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:37;;;:::i;:::-;;;;;;;;;;;;;;;;3676:420;;;;;;;;;:::i;:::-;;;;;;;;433:45;;;:::i;:::-;;;;;;;;1364:122;;;:::i;5220:674::-;;;;;;;;;:::i;334:35::-;;;:::i;:::-;;;;;;;;814:45;;;;;;;;;:::i;:::-;;;;;;;;6042:102;;;;;;;;;:::i;:::-;;1242:49;;;;;;;;;:::i;:::-;;;;;;;;4299:108;;;;;;;;;:::i;8224:1218::-;;;;;;;;;:::i;:::-;;;;;;;;1778:39;;;;;;;;;:::i;233:38::-;;;:::i;4671:239::-;;;;;;;;;:::i;7571:222::-;;;;;;;;;:::i;6578:792::-;;;;;;;;;:::i;3062:136::-;;;;;;;;;:::i;1580:117::-;;;:::i;1103:70::-;;;;;;;;;:::i;:::-;;;;;;;;;135:37;;;;;;;;;;;;;;-1:-1:-1;;;135:37:0;;;;:::o;3676:420::-;3744:4;3761:13;-1:-1:-1;;3789:9:0;:21;3785:174;;;-1:-1:-1;;;3785:174:0;;;3888:59;3895:9;3888:59;;;;;;;;;;;;;;;;;:6;:59::i;:::-;3879:68;;3785:174;3982:10;3971;:22;;;;;;;;;;;-1:-1:-1;;;;;3971:31:0;;;;;;;;;;;:40;;-1:-1:-1;;;;;;3971:40:0;-1:-1:-1;;;;;3971:40:0;;;;;4029:37;;3971:31;;3982:10;4029:37;;;;3971:40;;4029:37;;;;;;;;;;4084:4;4077:11;;;3676:420;;;;;:::o;433:45::-;468:10;433:45;:::o;1364:122::-;1406:80;;;;;;;;;;;;;;1364:122;:::o;5220:674::-;-1:-1:-1;;;;;5384:15:0;;5302:4;5384:15;;;;;;;;;;;5337:10;5384:24;;;;;;;;;;5435:59;;;;;;;;;;;;5337:10;;-1:-1:-1;;;;;5384:24:0;;;;5302:4;;5435:59;;5442:9;;5435:59;;;;;;;:6;:59::i;:::-;5419:75;;5522:3;-1:-1:-1;;;;;5511:14:0;:7;-1:-1:-1;;;;;5511:14:0;;;:48;;;;-1:-1:-1;;;;;;5529:30:0;;;;;5511:48;5507:312;;;5576:19;5598:97;5604:16;5622:6;5598:97;;;;;;;;;;;;;;;;;:5;:97::i;:::-;-1:-1:-1;;;;;5710:15:0;;;:10;:15;;;;;;;;;;;:24;;;;;;;;;;;;;;:39;;-1:-1:-1;;;;;;5710:39:0;-1:-1:-1;;;;;5710:39:0;;;;;5771:36;5710:39;;-1:-1:-1;5710:24:0;;5771:36;;;;5710:39;;5771:36;;;;;;;;;;5507:312;;5831:33;5847:3;5852;5857:6;5831:15;:33::i;:::-;5882:4;5875:11;;;;;5220:674;;;;;;:::o;334:35::-;367:2;334:35;:::o;814:45::-;;;;;;;;;;;;-1:-1:-1;;;;;814:45:0;;:::o;6042:102::-;6104:32;6114:10;6126:9;6104;:32::i;:::-;6042:102;:::o;1242:49::-;;;;;;;;;;;;;;;:::o;4299:108::-;-1:-1:-1;;;;;4382:17:0;4358:4;4382:17;;;:8;:17;;;;;;-1:-1:-1;;;;;4382:17:0;;4299:108::o;8224:1218::-;8303:6;8344:12;8330:11;:26;8322:78;;;;-1:-1:-1;;;8322:78:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8435:23:0;;8413:19;8435:23;;;:14;:23;;;;;;;;8473:17;8469:58;;8514:1;8507:8;;;;;8469:58;-1:-1:-1;;;;;8587:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;8608:16:0;;8587:38;;;;;;;;;:48;;:63;-1:-1:-1;8583:147:0;;-1:-1:-1;;;;;8674:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;8695:16:0;;;;8674:38;;;;;;;;:44;-1:-1:-1;;;8674:44:0;;-1:-1:-1;;;;;8674:44:0;;-1:-1:-1;8667:51:0;;8583:147;-1:-1:-1;;;;;8791:20:0;;;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:23;:33;:47;-1:-1:-1;8787:88:0;;;8862:1;8855:8;;;;;8787:88;8887:12;-1:-1:-1;;8929:16:0;;8956:428;8971:5;8963:13;;:5;:13;;;8956:428;;;9035:1;9018:13;;;9017:19;;;9009:27;;9078:20;;:::i;:::-;-1:-1:-1;;;;;;9101:20:0;;;;;;:11;:20;;;;;;;;:28;;;;;;;;;;;;;9078:51;;;;;;;;;;;;;;;-1:-1:-1;;;9078:51:0;;;-1:-1:-1;;;;;9078:51:0;;;;;;;;;9148:27;;9144:229;;;9203:8;;;;-1:-1:-1;9196:15:0;;-1:-1:-1;;;;9196:15:0;9144:229;9237:12;;:26;;;-1:-1:-1;9233:140:0;;;9292:6;9284:14;;9233:140;;;9356:1;9347:6;:10;9339:18;;9233:140;8956:428;;;;;-1:-1:-1;;;;;;9401:20:0;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;:33;-1:-1:-1;;;;;;;;9401:33:0;;;;;-1:-1:-1;;8224:1218:0;;;;:::o;1778:39::-;;;;;;;;;;;;;:::o;233:38::-;;;;;;;;;;;;;;-1:-1:-1;;;233:38:0;;;;:::o;4671:239::-;4736:4;4753:13;4769:60;4776:9;4769:60;;;;;;;;;;;;;;;;;:6;:60::i;:::-;4753:76;;4840:40;4856:10;4868:3;4873:6;4840:15;:40::i;:::-;-1:-1:-1;4898:4:0;;4671:239;-1:-1:-1;;;4671:239:0:o;7571:222::-;-1:-1:-1;;;;;7677:23:0;;7636:6;7677:23;;;:14;:23;;;;;;;;7718:16;:67;;7784:1;7718:67;;;-1:-1:-1;;;;;7737:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;7758:16:0;;7737:38;;;;;;;;;:44;-1:-1:-1;;;7737:44:0;;-1:-1:-1;;;;;7737:44:0;7711:74;7571:222;-1:-1:-1;;;7571:222:0:o;6578:792::-;6694:23;1406:80;;;;;;;;;;;;;;;;6774:4;;;;;;;;;-1:-1:-1;;;6774:4:0;;;;;;;;6758:22;6782:12;:10;:12::i;:::-;6804:4;6730:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6730:80:0;;;6720:91;;;;;;6694:117;;6822:18;1626:71;;;;;;;;;;;;;;;6853:57;;6885:9;;6896:5;;6903:6;;6853:57;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6853:57:0;;;6843:68;;;;;;6822:89;;6922:14;6978:15;6995:10;6949:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6949:57:0;;;6939:68;;;;;;6922:85;;7018:17;7038:26;7048:6;7056:1;7059;7062;7038:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;7038:26:0;;-1:-1:-1;;7038:26:0;;;-1:-1:-1;;;;;;;7083:23:0;;7075:75;;;;-1:-1:-1;;;7075:75:0;;;;;;;;;-1:-1:-1;;;;;7178:17:0;;;;;;:6;:17;;;;;:19;;;;;;;;7169:28;;7161:76;;;;-1:-1:-1;;;7161:76:0;;;;;;;;;7263:6;7256:3;:13;;7248:65;;;;-1:-1:-1;;;7248:65:0;;;;;;;;;7331:31;7341:9;7352;7331;:31::i;:::-;7324:38;;;;6578:792;;;;;;;:::o;3062:136::-;-1:-1:-1;;;;;3162:19:0;;;3138:4;3162:19;;;;;;;;;;;:28;;;;;;;;;;;;-1:-1:-1;;;;;3162:28:0;;3062:136::o;1580:117::-;1626:71;;;;;;1103:70;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1103:70:0;;-1:-1:-1;;;;;1103:70:0;;:::o;12208:161::-;12283:6;12321:12;-1:-1:-1;;;12310:9:0;;12302:32;;;;-1:-1:-1;;;12302:32:0;;;;;;;;;;-1:-1:-1;12359:1:0;;12208:161;-1:-1:-1;;12208:161:0:o;12573:165::-;12659:6;12691:1;-1:-1:-1;;;;;12686:6:0;:1;-1:-1:-1;;;;;12686:6:0;;;12694:12;12678:29;;;;;-1:-1:-1;;;12678:29:0;;;;;;;;;;-1:-1:-1;;;12725:5:0;;;12573:165::o;9833:614::-;-1:-1:-1;;;;;9927:17:0;;9919:90;;;;-1:-1:-1;;;9919:90:0;;;;;;;;;-1:-1:-1;;;;;10028:17:0;;10020:88;;;;-1:-1:-1;;;10020:88:0;;;;;;;;;-1:-1:-1;;;;;10143:13:0;;;;;;:8;:13;;;;;;;;;;10137:86;;;;;;;;;;;;;;-1:-1:-1;;;;;10143:13:0;;;;10158:6;;10137:86;;;;;;;:5;:86::i;:::-;-1:-1:-1;;;;;10121:13:0;;;;;;;:8;:13;;;;;;;;:102;;-1:-1:-1;;;;;;10121:102:0;-1:-1:-1;;;;;10121:102:0;;;;;;10256:13;;;;;;;;;;10250:80;;;;;;;;;;;;;;10256:13;;;;;10271:6;;10250:80;;;;;;;;:5;:80::i;:::-;-1:-1:-1;;;;;10234:13:0;;;;;;;:8;:13;;;;;;;:96;;-1:-1:-1;;;;;;10234:96:0;-1:-1:-1;;;;;10234:96:0;;;;;;;;;;;10346:26;;;;;;;;;;10365:6;;10346:26;;;;;;;;;;-1:-1:-1;;;;;10400:14:0;;;;;;;:9;:14;;;;;;;10416;;;;;;;;10385:54;;10400:14;;;;10416;10432:6;10385:14;:54::i;:::-;9833:614;;;:::o;9450:375::-;-1:-1:-1;;;;;9553:20:0;;;9527:23;9553:20;;;:9;:20;;;;;;;;;;;9610:19;;;;;;9640:20;;;;:32;;;-1:-1:-1;;;;;;9640:32:0;;;;;;;9690:54;;9553:20;;;;;-1:-1:-1;;;;;9610:19:0;;;;9640:32;;9553:20;;;9690:54;;9527:23;9690:54;9757:60;9772:15;9789:9;9800:16;9757:14;:60::i;:::-;9450:375;;;;:::o;12746:153::-;12856:9;12746:153;:::o;12377:188::-;12463:6;12493:5;;;12525:12;-1:-1:-1;;;;;12517:6:0;;;;;;;;12509:29;;;;-1:-1:-1;;;12509:29:0;;;;;;;;;;-1:-1:-1;12556:1:0;12377:188;-1:-1:-1;;;;12377:188:0:o;10455:939::-;10560:6;-1:-1:-1;;;;;10550:16:0;:6;-1:-1:-1;;;;;10550:16:0;;;:30;;;;;10579:1;10570:6;-1:-1:-1;;;;;10570:10:0;;10550:30;10546:841;;;-1:-1:-1;;;;;10601:20:0;;;10597:382;;-1:-1:-1;;;;;10661:22:0;;10642:16;10661:22;;;:14;:22;;;;;;;;;10721:13;:60;;10780:1;10721:60;;;-1:-1:-1;;;;;10737:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;10757:13:0;;10737:34;;;;;;;;;:40;-1:-1:-1;;;10737:40:0;;-1:-1:-1;;;;;10737:40:0;10721:60;10702:79;;10800:16;10819:68;10825:9;10836:6;10819:68;;;;;;;;;;;;;;;;;:5;:68::i;:::-;10800:87;;10906:57;10923:6;10931:9;10942;10953;10906:16;:57::i;:::-;10597:382;;;;-1:-1:-1;;;;;10999:20:0;;;10995:381;;-1:-1:-1;;;;;11059:22:0;;11040:16;11059:22;;;:14;:22;;;;;;;;;11119:13;:60;;11178:1;11119:60;;;-1:-1:-1;;;;;11135:19:0;;;;;;:11;:19;;;;;;;;-1:-1:-1;;11155:13:0;;11135:34;;;;;;;;;:40;-1:-1:-1;;;11135:40:0;;-1:-1:-1;;;;;11135:40:0;11119:60;11100:79;;11198:16;11217:67;11223:9;11234:6;11217:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;11198:86;;11303:57;11320:6;11328:9;11339;11350;11402:629;11520:18;11541:76;11548:12;11541:76;;;;;;;;;;;;;;;;;:6;:76::i;:::-;11520:97;;11647:1;11632:12;:16;;;:85;;;;-1:-1:-1;;;;;;11652:22:0;;;;;;:11;:22;;;;;;;;:65;-1:-1:-1;;11675:16:0;;11652:40;;;;;;;;;:50;:65;;;:50;;:65;11632:85;11628:329;;;-1:-1:-1;;;;;11732:22:0;;;;;;:11;:22;;;;;;;;-1:-1:-1;;11755:16:0;;11732:40;;;;;;;;;:57;;-1:-1:-1;;11732:57:0;-1:-1:-1;;;;;;;;11732:57:0;;;;;;11628:329;;;11857:33;;;;;;;;;;;;;;-1:-1:-1;;;;;11857:33:0;;;;;;;;;;-1:-1:-1;;;;;11818:22:0;;-1:-1:-1;11818:22:0;;;:11;:22;;;;;:36;;;;;;;;;;:72;;;;;;;;;-1:-1:-1;;;11818:72:0;-1:-1:-1;;11818:72:0;;;-1:-1:-1;;11818:72:0;;;;;;;;;;;;;;;11903:25;;;11818:72;11903:25;;;;;;;:44;;11818:72;11931:16;;11903:44;;;;;;;;;;;;;11628:329;11993:9;-1:-1:-1;;;;;11972:51:0;;12004:8;12014;11972:51;;;;;;;;;;;;;;;;11402:629;;;;;:::o;12039:161::-;12114:6;12152:12;-1:-1:-1;;;12141:9:0;;12133:32;;;;-1:-1:-1;;;12133:32:0;;;;;;;;;63:12839;;;;;;;;;;-1:-1:-1;63:12839:0;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:130;209:20;;234:33;209:20;234:33;;416:128;482:20;;507:32;482:20;507:32;;551:126;616:20;;641:31;616:20;641:31;;684:241;;788:2;776:9;767:7;763:23;759:32;756:2;;;804:1;801;794:12;756:2;839:1;856:53;901:7;881:9;856:53;;;846:63;750:175;-1:-1;;;;750:175;932:366;;;1053:2;1041:9;1032:7;1028:23;1024:32;1021:2;;;1069:1;1066;1059:12;1021:2;1104:1;1121:53;1166:7;1146:9;1121:53;;;1111:63;;1083:97;1211:2;1229:53;1274:7;1265:6;1254:9;1250:22;1229:53;;;1219:63;;1190:98;1015:283;;;;;;1305:491;;;;1443:2;1431:9;1422:7;1418:23;1414:32;1411:2;;;1459:1;1456;1449:12;1411:2;1494:1;1511:53;1556:7;1536:9;1511:53;;;1501:63;;1473:97;1601:2;1619:53;1664:7;1655:6;1644:9;1640:22;1619:53;;;1609:63;;1580:98;1709:2;1727:53;1772:7;1763:6;1752:9;1748:22;1727:53;;;1717:63;;1688:98;1405:391;;;;;;1803:366;;;1924:2;1912:9;1903:7;1899:23;1895:32;1892:2;;;1940:1;1937;1930:12;1892:2;1975:1;1992:53;2037:7;2017:9;1992:53;;;1982:63;;1954:97;2082:2;2100:53;2145:7;2136:6;2125:9;2121:22;2100:53;;2176:865;;;;;;;2363:3;2351:9;2342:7;2338:23;2334:33;2331:2;;;2380:1;2377;2370:12;2331:2;2415:1;2432:53;2477:7;2457:9;2432:53;;;2422:63;;2394:97;2522:2;2540:53;2585:7;2576:6;2565:9;2561:22;2540:53;;;2530:63;;2501:98;2630:2;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;;;2638:63;;2609:98;2738:2;2756:51;2799:7;2790:6;2779:9;2775:22;2756:51;;;2746:61;;2717:96;2844:3;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;;;2853:63;;2823:99;2953:3;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;;;2962:63;;2932:99;2325:716;;;;;;;;;3048:364;;;3168:2;3156:9;3147:7;3143:23;3139:32;3136:2;;;3184:1;3181;3174:12;3136:2;3219:1;3236:53;3281:7;3261:9;3236:53;;;3226:63;;3198:97;3326:2;3344:52;3388:7;3379:6;3368:9;3364:22;3344:52;;3419:113;3502:24;3520:5;3502:24;;;3497:3;3490:37;3484:48;;;3539:104;3616:21;3631:5;3616:21;;3650:113;3733:24;3751:5;3733:24;;3770:152;3871:45;3891:24;3909:5;3891:24;;;3871:45;;3929:347;;4041:39;4074:5;4041:39;;;4092:71;4156:6;4151:3;4092:71;;;4085:78;;4168:52;4213:6;4208:3;4201:4;4194:5;4190:16;4168:52;;;4241:29;4263:6;4241:29;;;4232:39;;;;4021:255;-1:-1;;;4021:255;4630:372;;4790:67;4854:2;4849:3;4790:67;;;4890:34;4870:55;;-1:-1;;;4954:2;4945:12;;4938:27;4993:2;4984:12;;4776:226;-1:-1;;4776:226;5011:398;;5189:84;5271:1;5266:3;5189:84;;;-1:-1;;;5286:87;;5401:1;5392:11;;5175:234;-1:-1;;5175:234;5418:376;;5578:67;5642:2;5637:3;5578:67;;;5678:34;5658:55;;-1:-1;;;5742:2;5733:12;;5726:31;5785:2;5776:12;;5564:230;-1:-1;;5564:230;5803:395;;5963:67;6027:2;6022:3;5963:67;;;6063:34;6043:55;;6132:28;6127:2;6118:12;;6111:50;6189:2;6180:12;;5949:249;-1:-1;;5949:249;6207:376;;6367:67;6431:2;6426:3;6367:67;;;6467:34;6447:55;;-1:-1;;;6531:2;6522:12;;6515:31;6574:2;6565:12;;6353:230;-1:-1;;6353:230;6592:477;;6770:85;6852:2;6847:3;6770:85;;;6888:34;6868:55;;6957:34;6952:2;6943:12;;6936:56;-1:-1;;;7021:2;7012:12;;7005:27;7060:2;7051:12;;6756:313;-1:-1;;6756:313;7078:397;;7238:67;7302:2;7297:3;7238:67;;;7338:34;7318:55;;7407:30;7402:2;7393:12;;7386:52;7466:2;7457:12;;7224:251;-1:-1;;7224:251;7484:376;;7644:67;7708:2;7703:3;7644:67;;;7744:34;7724:55;;-1:-1;;;7808:2;7799:12;;7792:31;7851:2;7842:12;;7630:230;-1:-1;;7630:230;7869:431;;8047:85;8129:2;8124:3;8047:85;;;8165:34;8145:55;;8234:28;8229:2;8220:12;;8213:50;8291:2;8282:12;;8033:267;-1:-1;;8033:267;8428:110;8509:23;8526:5;8509:23;;8545:107;8624:22;8640:5;8624:22;;8659:124;8741:36;8771:5;8741:36;;8790:110;8871:23;8888:5;8871:23;;8907:650;;9162:148;9306:3;9162:148;;;9155:155;;9321:75;9392:3;9383:6;9321:75;;;9418:2;9413:3;9409:12;9402:19;;9432:75;9503:3;9494:6;9432:75;;;-1:-1;9529:2;9520:12;;9143:414;-1:-1;;9143:414;9564:372;;9763:148;9907:3;9763:148;;9943:372;;10142:148;10286:3;10142:148;;10322:213;10440:2;10425:18;;10454:71;10429:9;10498:6;10454:71;;10542:201;10654:2;10639:18;;10668:65;10643:9;10706:6;10668:65;;10750:213;10868:2;10853:18;;10882:71;10857:9;10926:6;10882:71;;10970:547;11172:3;11157:19;;11187:71;11161:9;11231:6;11187:71;;;11269:72;11337:2;11326:9;11322:18;11313:6;11269:72;;;11352;11420:2;11409:9;11405:18;11396:6;11352:72;;;11435;11503:2;11492:9;11488:18;11479:6;11435:72;;;11143:374;;;;;;;;11524:547;11726:3;11711:19;;11741:71;11715:9;11785:6;11741:71;;;11823:72;11891:2;11880:9;11876:18;11867:6;11823:72;;;11906;11974:2;11963:9;11959:18;11950:6;11906:72;;;11989;12057:2;12046:9;12042:18;12033:6;11989:72;;12078:539;12276:3;12261:19;;12291:71;12265:9;12335:6;12291:71;;;12373:68;12437:2;12426:9;12422:18;12413:6;12373:68;;12624:293;12758:2;12772:47;;;12743:18;;12833:74;12743:18;12893:6;12833:74;;13232:407;13423:2;13437:47;;;13408:18;;13498:131;13408:18;13498:131;;13646:407;13837:2;13851:47;;;13822:18;;13912:131;13822:18;13912:131;;14060:407;14251:2;14265:47;;;14236:18;;14326:131;14236:18;14326:131;;14474:407;14665:2;14679:47;;;14650:18;;14740:131;14650:18;14740:131;;14888:407;15079:2;15093:47;;;15064:18;;15154:131;15064:18;15154:131;;15302:407;15493:2;15507:47;;;15478:18;;15568:131;15478:18;15568:131;;15936:209;16052:2;16037:18;;16066:69;16041:9;16108:6;16066:69;;16152:316;16294:2;16279:18;;16308:69;16283:9;16350:6;16308:69;;;16388:70;16454:2;16443:9;16439:18;16430:6;16388:70;;16475:205;16589:2;16574:18;;16603:67;16578:9;16643:6;16603:67;;16687:211;16804:2;16789:18;;16818:70;16793:9;16861:6;16818:70;;16905:209;17021:2;17006:18;;17035:69;17010:9;17077:6;17035:69;;17121:320;17265:2;17250:18;;17279:70;17254:9;17322:6;17279:70;;;17360:71;17427:2;17416:9;17412:18;17403:6;17360:71;;17448:118;17532:12;;17503:63;17703:163;17806:19;;;17855:4;17846:14;;17799:67;17875:145;18011:3;17989:31;-1:-1;17989:31;18028:91;;18090:24;18108:5;18090:24;;18126:85;18192:13;18185:21;;18168:43;18218:72;18280:5;18263:27;18297:121;-1:-1;;;;;18359:54;;18342:76;18504:88;18576:10;18565:22;;18548:44;18599:81;18670:4;18659:16;;18642:38;18687:104;-1:-1;;;;;18748:38;;18731:60;18798:106;;18876:23;18893:5;18876:23;;18912:268;18977:1;18984:101;18998:6;18995:1;18992:13;18984:101;;;19065:11;;;19059:18;19046:11;;;19039:39;19020:2;19013:10;18984:101;;;19100:6;19097:1;19094:13;19091:2;;;-1:-1;;19165:1;19147:16;;19140:27;18961:219;19269:97;19357:2;19337:14;-1:-1;;19333:28;;19317:49;19374:117;19443:24;19461:5;19443:24;;;19436:5;19433:35;19423:2;;19482:1;19479;19472:12;19498:117;19567:24;19585:5;19567:24;;19746:115;19814:23;19831:5;19814:23;;19868:113;19935:22;19951:5;19935:22;
Swarm Source
bzzr://948ea1f9391e02177e5e20e203fdeef9828fb56a659bd43d953a6cce8a11a56c
Loading...
Loading
Loading...
Loading
OVERVIEW
ARTEM Token (ARTT) is an ERC-20 asset that empowers community governance of the ARTEM protocol.Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.