Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Sponsored
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x60c06040 | 13659088 | 492 days 8 hrs ago | IN | Create: TWCToken | 0 ETH | 0.11553192 |
Loading...
Loading
Contract Name:
TWCToken
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-22 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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); } abstract contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor () { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _owner = newOwner; emit OwnershipTransferred(_owner, newOwner); } } abstract contract ERC20 is Context, IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _lockedes; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; /** * @dev Emitted when the lock is triggered by `account`. */ event Lock(address account); /** * @dev Emitted when the unlock is lifted by `account`. */ event UnLock(address account); /** * @dev Sets the values for {name} and {symbol}. * * All two of these values are immutable: they can only be set once during * construction. */ constructor (string memory name_, string memory symbol_, uint8 decimals_) { _name = name_; _symbol = symbol_; _decimals = decimals_; } /** * @dev Returns the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } /** * @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]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } 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"); _approve(sender, _msgSender(), currentAllowance.sub(amount)); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance.sub(subtractedValue)); return true; } function isLocked(address account) public view virtual returns (bool) { return _lockedes[account]; } //-------------------------------------- internal ------------------------------------// /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is 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"); require(_lockedes[sender] != true, "ERC20: transfer account is locked"); _beforeTokenTransfer(sender, recipient, amount); require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(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: * * - `to` 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 = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(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); require(_balances[account] >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = _balances[account].sub(amount); _totalSupply = _totalSupply.sub(amount); emit Transfer(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); } function _lock(address account) internal virtual { require(account != address(0), "ERC20: locking the zero address"); _lockedes[account] = true; emit Lock(account); } function _unlock(address account) internal virtual { require(account != address(0), "ERC20: unlocking the zero address"); _lockedes[account] = false; emit UnLock(account); } /** * @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 to 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 { } } abstract contract ERC20Pausable is ERC20, Pausable { function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override { super._beforeTokenTransfer(from, to, amount); require(!paused(), "ERC20Pausable: token transfer while paused"); } } contract TWCToken is ERC20Pausable, Ownable{ using SafeMath for uint256; string public version = "1.0"; uint256 public MAX_SUPPLY = 10000000000 * (10**18); // constructor constructor() ERC20("Tworld Token","TWC", 18) { _mint(_msgSender(), MAX_SUPPLY); } function burn(uint256 amount) public returns (bool){ _burn(_msgSender(), amount); return true; } function mint(address account, uint256 amount) public onlyOwner returns (bool){ require(totalSupply().add(amount) <= MAX_SUPPLY, "ERC20: total supply exceeds max supply"); _mint(account, amount); return true; } function pause() public onlyOwner returns (bool) { _pause(); return true; } function unpause() public onlyOwner returns (bool) { _unpause(); return true; } function lock(address account) public onlyOwner returns (bool) { _lock(account); return true; } function unlock(address account) public onlyOwner returns (bool) { _unlock(account); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"UnLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"address","name":"account","type":"address"}],"name":"isLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405260036080819052620312e360ec1b60a090815262000026916007919062000345565b506b204fce5e3e250261100000006008553480156200004457600080fd5b50604080518082018252600c81526b2a3bb7b93632102a37b5b2b760a11b60208083019182528351808501909452600384526254574360e81b90840152815191929160129162000098916004919062000345565b508151620000ae90600590602085019062000345565b506006805461ffff191660ff9092169190911790555060009050620000d03390565b6006805462010000600160b01b031916620100006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000136336008546200013c565b6200044f565b6001600160a01b038216620001985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001a6600083836200024a565b620001c281600354620002db60201b620008e31790919060201c565b6003556001600160a01b03821660009081526020818152604090912054620001f5918390620008e3620002db821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b62000262838383620002d660201b620009491760201c565b62000274600654610100900460ff1690565b15620002d65760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b60648201526084016200018f565b505050565b600080620002ea8385620003eb565b9050838110156200033e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200018f565b9392505050565b828054620003539062000412565b90600052602060002090601f016020900481019282620003775760008555620003c2565b82601f106200039257805160ff1916838001178555620003c2565b82800160010185558215620003c2579182015b82811115620003c2578251825591602001919060010190620003a5565b50620003d0929150620003d4565b5090565b5b80821115620003d05760008155600101620003d5565b600082198211156200040d57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200042757607f821691505b602082108114156200044957634e487b7160e01b600052602260045260246000fd5b50919050565b6114b2806200045f6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80634a4fbeec116100c357806395d89b411161007c57806395d89b41146102c9578063a457c2d7146102d1578063a9059cbb146102e4578063dd62ed3e146102f7578063f2fde38b14610330578063f435f5a71461034557600080fd5b80634a4fbeec1461022a57806354fd4d50146102565780635c975abb1461025e57806370a082311461026e5780638456cb59146102975780638da5cb5b1461029f57600080fd5b8063313ce56711610115578063313ce567146101cb57806332cb6b0c146101e057806339509351146101e95780633f4ba83a146101fc57806340c10f191461020457806342966c681461021757600080fd5b806306fdde0314610152578063095ea7b31461017057806318160ddd1461019357806323b872dd146101a55780632f6c493c146101b8575b600080fd5b61015a610358565b604051610167919061128e565b60405180910390f35b61018361017e3660046112fa565b6103ea565b6040519015158152602001610167565b6003545b604051908152602001610167565b6101836101b3366004611324565b610400565b6101836101c6366004611360565b6104b6565b60065460405160ff9091168152602001610167565b61019760085481565b6101836101f73660046112fa565b6104fc565b610183610532565b6101836102123660046112fa565b610574565b61018361022536600461137b565b610625565b610183610238366004611360565b6001600160a01b031660009081526002602052604090205460ff1690565b61015a610631565b600654610100900460ff16610183565b61019761027c366004611360565b6001600160a01b031660009081526020819052604090205490565b6101836106bf565b6006546201000090046001600160a01b03166040516001600160a01b039091168152602001610167565b61015a6106fb565b6101836102df3660046112fa565b61070a565b6101836102f23660046112fa565b6107a5565b610197610305366004611394565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61034361033e366004611360565b6107b2565b005b610183610353366004611360565b6108a6565b606060048054610367906113c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610393906113c7565b80156103e05780601f106103b5576101008083540402835291602001916103e0565b820191906000526020600020905b8154815290600101906020018083116103c357829003601f168201915b5050505050905090565b60006103f733848461094e565b50600192915050565b600061040d848484610a73565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104975760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104ab85336104a68487610cd6565b61094e565b506001949350505050565b6006546000906001600160a01b03620100009091041633146104ea5760405162461bcd60e51b815260040161048e90611402565b6104f382610d18565b5060015b919050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103f79185906104a690866108e3565b6006546000906001600160a01b03620100009091041633146105665760405162461bcd60e51b815260040161048e90611402565b61056e610dd0565b50600190565b6006546000906001600160a01b03620100009091041633146105a85760405162461bcd60e51b815260040161048e90611402565b6008546105be836105b860035490565b906108e3565b111561061b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a20746f74616c20737570706c792065786365656473206d617820604482015265737570706c7960d01b606482015260840161048e565b6103f78383610e69565b60006104f33383610f54565b6007805461063e906113c7565b80601f016020809104026020016040519081016040528092919081815260200182805461066a906113c7565b80156106b75780601f1061068c576101008083540402835291602001916106b7565b820191906000526020600020905b81548152906001019060200180831161069a57829003601f168201915b505050505081565b6006546000906001600160a01b03620100009091041633146106f35760405162461bcd60e51b815260040161048e90611402565b61056e6110bd565b606060058054610367906113c7565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561078c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161048e565b61079b33856104a68487610cd6565b5060019392505050565b60006103f7338484610a73565b6006546001600160a01b03620100009091041633146107e35760405162461bcd60e51b815260040161048e90611402565b6001600160a01b0381166108485760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161048e565b6006805462010000600160b01b031916620100006001600160a01b03848116828102939093179384905560405192939190910416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b6006546000906001600160a01b03620100009091041633146108da5760405162461bcd60e51b815260040161048e90611402565b6104f38261113f565b6000806108f0838561144d565b9050838110156109425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048e565b9392505050565b505050565b6001600160a01b0383166109b05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048e565b6001600160a01b038216610a115760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610ad75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048e565b6001600160a01b038216610b395760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048e565b6001600160a01b03831660009081526002602052604090205460ff16151560011415610bb15760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e73666572206163636f756e74206973206c6f636b656044820152601960fa1b606482015260840161048e565b610bbc8383836111e9565b6001600160a01b038316600090815260208190526040902054811115610c335760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161048e565b6001600160a01b038316600090815260208190526040902054610c569082610cd6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c8590826108e3565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610a66565b600061094283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611254565b6001600160a01b038116610d785760405162461bcd60e51b815260206004820152602160248201527f45524332303a20756e6c6f636b696e6720746865207a65726f206164647265736044820152607360f81b606482015260840161048e565b6001600160a01b038116600081815260026020908152604091829020805460ff1916905590519182527f9e4b5873dcdfeaf6bf534d422fe7d4748b91bc3fc2ea0e5e4c67f74dd8a13c5491015b60405180910390a150565b600654610100900460ff16610e1e5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161048e565b6006805461ff00191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610ebf5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161048e565b610ecb600083836111e9565b600354610ed890826108e3565b6003556001600160a01b038216600090815260208190526040902054610efe90826108e3565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6001600160a01b038216610fb45760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161048e565b610fc0826000836111e9565b6001600160a01b0382166000908152602081905260409020548111156110335760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161048e565b6001600160a01b0382166000908152602081905260409020546110569082610cd6565b6001600160a01b03831660009081526020819052604090205560035461107c9082610cd6565b6003556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610f48565b600654610100900460ff16156111085760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161048e565b6006805461ff0019166101001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e4c3390565b6001600160a01b0381166111955760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206c6f636b696e6720746865207a65726f206164647265737300604482015260640161048e565b6001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fc1b5f12cea7c200ad495a43bf2d4c7ba1a753343c06c339093937849de84d9139101610dc5565b600654610100900460ff16156109495760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b606482015260840161048e565b600081848411156112785760405162461bcd60e51b815260040161048e919061128e565b5060006112858486611465565b95945050505050565b600060208083528351808285015260005b818110156112bb5785810183015185820160400152820161129f565b818111156112cd576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146104f757600080fd5b6000806040838503121561130d57600080fd5b611316836112e3565b946020939093013593505050565b60008060006060848603121561133957600080fd5b611342846112e3565b9250611350602085016112e3565b9150604084013590509250925092565b60006020828403121561137257600080fd5b610942826112e3565b60006020828403121561138d57600080fd5b5035919050565b600080604083850312156113a757600080fd5b6113b0836112e3565b91506113be602084016112e3565b90509250929050565b600181811c908216806113db57607f821691505b602082108114156113fc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561146057611460611437565b500190565b60008282101561147757611477611437565b50039056fea2646970667358221220af6315e2dc81063d184bcc8ab1397da0b02a37b0795937392f4cd8a976dddf2164736f6c63430008090033
Deployed ByteCode Sourcemap
16108:1154:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8743:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9838:169;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;9838:169:0;1053:187:1;9188:108:0;9276:12;;9188:108;;;1391:25:1;;;1379:2;1364:18;9188:108:0;1245:177:1;10015:425:0;;;;;;:::i;:::-;;:::i;17135:122::-;;;;;;:::i;:::-;;:::i;9040:83::-;9106:9;;9040:83;;9106:9;;;;2093:36:1;;2081:2;2066:18;9040:83:0;1951:184:1;16229:50:0;;;;;;10448:218;;;;;;:::i;:::-;;:::i;16899:102::-;;;:::i;16541:244::-;;;;;;:::i;:::-;;:::i;16414:119::-;;;;;;:::i;:::-;;:::i;11062:115::-;;;;;;:::i;:::-;-1:-1:-1;;;;;11151:18:0;11127:4;11151:18;;;:9;:18;;;;;;;;;11062:115;16193:29;;;:::i;5308:86::-;5379:7;;;;;;;5308:86;;9359:127;;;;;;:::i;:::-;-1:-1:-1;;;;;9460:18:0;9433:7;9460:18;;;;;;;;;;;;9359:127;16793:98;;;:::i;6995:87::-;7068:6;;;;;-1:-1:-1;;;;;7068:6:0;6995:87;;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;6995:87:0;2325:203:1;8945:87:0;;;:::i;10674:380::-;;;;;;:::i;:::-;;:::i;9494:175::-;;;;;;:::i;:::-;;:::i;9677:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9793:18:0;;;9766:7;9793:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9677:151;7450:244;;;;;;:::i;:::-;;:::i;:::-;;17009:118;;;;;;:::i;:::-;;:::i;8743:83::-;8780:13;8813:5;8806:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8743:83;:::o;9838:169::-;9921:4;9938:39;1867:10;9961:7;9970:6;9938:8;:39::i;:::-;-1:-1:-1;9995:4:0;9838:169;;;;:::o;10015:425::-;10121:4;10138:36;10148:6;10156:9;10167:6;10138:9;:36::i;:::-;-1:-1:-1;;;;;10214:19:0;;10187:24;10214:19;;;:11;:19;;;;;;;;1867:10;10214:33;;;;;;;;10266:26;;;;10258:79;;;;-1:-1:-1;;;10258:79:0;;3385:2:1;10258:79:0;;;3367:21:1;3424:2;3404:18;;;3397:30;3463:34;3443:18;;;3436:62;-1:-1:-1;;;3514:18:1;;;3507:38;3562:19;;10258:79:0;;;;;;;;;10348:60;10357:6;1867:10;10379:28;:16;10400:6;10379:20;:28::i;:::-;10348:8;:60::i;:::-;-1:-1:-1;10428:4:0;;10015:425;-1:-1:-1;;;;10015:425:0:o;17135:122::-;7068:6;;17194:4;;-1:-1:-1;;;;;7068:6:0;;;;;1867:10;7215:23;7207:68;;;;-1:-1:-1;;;7207:68:0;;;;;;;:::i;:::-;17211:16:::1;17219:7;17211;:16::i;:::-;-1:-1:-1::0;17245:4:0::1;7286:1;17135:122:::0;;;:::o;10448:218::-;1867:10;10536:4;10585:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10585:34:0;;;;;;;;;;10536:4;;10553:83;;10576:7;;10585:50;;10624:10;10585:38;:50::i;16899:102::-;7068:6;;16944:4;;-1:-1:-1;;;;;7068:6:0;;;;;1867:10;7215:23;7207:68;;;;-1:-1:-1;;;7207:68:0;;;;;;;:::i;:::-;16961:10:::1;:8;:10::i;:::-;-1:-1:-1::0;16989:4:0::1;16899:102:::0;:::o;16541:244::-;7068:6;;16616:4;;-1:-1:-1;;;;;7068:6:0;;;;;1867:10;7215:23;7207:68;;;;-1:-1:-1;;;7207:68:0;;;;;;;:::i;:::-;16669:10:::1;;16640:25;16658:6;16640:13;9276:12:::0;;;9188:108;16640:13:::1;:17:::0;::::1;:25::i;:::-;:39;;16632:90;;;::::0;-1:-1:-1;;;16632:90:0;;4155:2:1;16632:90:0::1;::::0;::::1;4137:21:1::0;4194:2;4174:18;;;4167:30;4233:34;4213:18;;;4206:62;-1:-1:-1;;;4284:18:1;;;4277:36;4330:19;;16632:90:0::1;3953:402:1::0;16632:90:0::1;16733:22;16739:7;16748:6;16733:5;:22::i;16414:119::-:0;16460:4;16476:27;1867:10;16496:6;16476:5;:27::i;16193:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16793:98::-;7068:6;;16836:4;;-1:-1:-1;;;;;7068:6:0;;;;;1867:10;7215:23;7207:68;;;;-1:-1:-1;;;7207:68:0;;;;;;;:::i;:::-;16853:8:::1;:6;:8::i;8945:87::-:0;8984:13;9017:7;9010:14;;;;;:::i;10674:380::-;1867:10;10767:4;10811:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10811:34:0;;;;;;;;;;10864:35;;;;10856:85;;;;-1:-1:-1;;;10856:85:0;;4562:2:1;10856:85:0;;;4544:21:1;4601:2;4581:18;;;4574:30;4640:34;4620:18;;;4613:62;-1:-1:-1;;;4691:18:1;;;4684:35;4736:19;;10856:85:0;4360:401:1;10856:85:0;10952:70;1867:10;10975:7;10984:37;:16;11005:15;10984:20;:37::i;10952:70::-;-1:-1:-1;11042:4:0;;10674:380;-1:-1:-1;;;10674:380:0:o;9494:175::-;9580:4;9597:42;1867:10;9621:9;9632:6;9597:9;:42::i;7450:244::-;7068:6;;-1:-1:-1;;;;;7068:6:0;;;;;1867:10;7215:23;7207:68;;;;-1:-1:-1;;;7207:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7539:22:0;::::1;7531:73;;;::::0;-1:-1:-1;;;7531:73:0;;4968:2:1;7531:73:0::1;::::0;::::1;4950:21:1::0;5007:2;4987:18;;;4980:30;5046:34;5026:18;;;5019:62;-1:-1:-1;;;5097:18:1;;;5090:36;5143:19;;7531:73:0::1;4766:402:1::0;7531:73:0::1;7615:6;:17:::0;;-1:-1:-1;;;;;;7615:17:0::1;::::0;-1:-1:-1;;;;;7615:17:0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;7648:38:::1;::::0;7615:17;;7669:6;;;::::1;;::::0;7648:38:::1;::::0;-1:-1:-1;;7648:38:0::1;7450:244:::0;:::o;17009:118::-;7068:6;;17066:4;;-1:-1:-1;;;;;7068:6:0;;;;;1867:10;7215:23;7207:68;;;;-1:-1:-1;;;7207:68:0;;;;;;;:::i;:::-;17083:14:::1;17089:7;17083:5;:14::i;84:179::-:0;142:7;;174:5;178:1;174;:5;:::i;:::-;162:17;;203:1;198;:6;;190:46;;;;-1:-1:-1;;;190:46:0;;5640:2:1;190:46:0;;;5622:21:1;5679:2;5659:18;;;5652:30;5718:29;5698:18;;;5691:57;5765:18;;190:46:0;5438:351:1;190:46:0;254:1;84:179;-1:-1:-1;;;84:179:0:o;15700:92::-;;;;:::o;14332:346::-;-1:-1:-1;;;;;14434:19:0;;14426:68;;;;-1:-1:-1;;;14426:68:0;;5996:2:1;14426:68:0;;;5978:21:1;6035:2;6015:18;;;6008:30;6074:34;6054:18;;;6047:62;-1:-1:-1;;;6125:18:1;;;6118:34;6169:19;;14426:68:0;5794:400:1;14426:68:0;-1:-1:-1;;;;;14513:21:0;;14505:68;;;;-1:-1:-1;;;14505:68:0;;6401:2:1;14505:68:0;;;6383:21:1;6440:2;6420:18;;;6413:30;6479:34;6459:18;;;6452:62;-1:-1:-1;;;6530:18:1;;;6523:32;6572:19;;14505:68:0;6199:398:1;14505:68:0;-1:-1:-1;;;;;14586:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14638:32;;1391:25:1;;;14638:32:0;;1364:18:1;14638:32:0;;;;;;;;14332:346;;;:::o;11759:673::-;-1:-1:-1;;;;;11865:20:0;;11857:70;;;;-1:-1:-1;;;11857:70:0;;6804:2:1;11857:70:0;;;6786:21:1;6843:2;6823:18;;;6816:30;6882:34;6862:18;;;6855:62;-1:-1:-1;;;6933:18:1;;;6926:35;6978:19;;11857:70:0;6602:401:1;11857:70:0;-1:-1:-1;;;;;11946:23:0;;11938:71;;;;-1:-1:-1;;;11938:71:0;;7210:2:1;11938:71:0;;;7192:21:1;7249:2;7229:18;;;7222:30;7288:34;7268:18;;;7261:62;-1:-1:-1;;;7339:18:1;;;7332:33;7382:19;;11938:71:0;7008:399:1;11938:71:0;-1:-1:-1;;;;;12030:17:0;;;;;;:9;:17;;;;;;;;:25;;:17;:25;;12022:71;;;;-1:-1:-1;;;12022:71:0;;7614:2:1;12022:71:0;;;7596:21:1;7653:2;7633:18;;;7626:30;7692:34;7672:18;;;7665:62;-1:-1:-1;;;7743:18:1;;;7736:31;7784:19;;12022:71:0;7412:397:1;12022:71:0;12106:47;12127:6;12135:9;12146:6;12106:20;:47::i;:::-;-1:-1:-1;;;;;12174:17:0;;:9;:17;;;;;;;;;;;:27;-1:-1:-1;12174:27:0;12166:78;;;;-1:-1:-1;;;12166:78:0;;8016:2:1;12166:78:0;;;7998:21:1;8055:2;8035:18;;;8028:30;8094:34;8074:18;;;8067:62;-1:-1:-1;;;8145:18:1;;;8138:36;8191:19;;12166:78:0;7814:402:1;12166:78:0;-1:-1:-1;;;;;12275:17:0;;:9;:17;;;;;;;;;;;:29;;12297:6;12275:21;:29::i;:::-;-1:-1:-1;;;;;12255:17:0;;;:9;:17;;;;;;;;;;;:49;;;;12339:20;;;;;;;:32;;12364:6;12339:24;:32::i;:::-;-1:-1:-1;;;;;12315:20:0;;;:9;:20;;;;;;;;;;;;:56;;;;12389:35;1391:25:1;;;12315:20:0;;12389:35;;;;;;1364:18:1;12389:35:0;1245:177:1;273:136:0;331:7;358:43;362:1;365;358:43;;;;;;;;;;;;;;;;;:3;:43::i;14892:205::-;-1:-1:-1;;;;;14962:21:0;;14954:67;;;;-1:-1:-1;;;14954:67:0;;8423:2:1;14954:67:0;;;8405:21:1;8462:2;8442:18;;;8435:30;8501:34;8481:18;;;8474:62;-1:-1:-1;;;8552:18:1;;;8545:31;8593:19;;14954:67:0;8221:397:1;14954:67:0;-1:-1:-1;;;;;15032:18:0;;15053:5;15032:18;;;:9;:18;;;;;;;;;:26;;-1:-1:-1;;15032:26:0;;;15074:15;;2471:51:1;;;15074:15:0;;2444:18:1;15074:15:0;;;;;;;;14892:205;:::o;6367:120::-;5379:7;;;;;;;5903:41;;;;-1:-1:-1;;;5903:41:0;;8825:2:1;5903:41:0;;;8807:21:1;8864:2;8844:18;;;8837:30;-1:-1:-1;;;8883:18:1;;;8876:50;8943:18;;5903:41:0;8623:344:1;5903:41:0;6426:7:::1;:15:::0;;-1:-1:-1;;6426:15:0::1;::::0;;6457:22:::1;1867:10:::0;6466:12:::1;6457:22;::::0;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;6457:22:0::1;;;;;;;6367:120::o:0;12714:378::-;-1:-1:-1;;;;;12798:21:0;;12790:65;;;;-1:-1:-1;;;12790:65:0;;9174:2:1;12790:65:0;;;9156:21:1;9213:2;9193:18;;;9186:30;9252:33;9232:18;;;9225:61;9303:18;;12790:65:0;8972:355:1;12790:65:0;12868:49;12897:1;12901:7;12910:6;12868:20;:49::i;:::-;12945:12;;:24;;12962:6;12945:16;:24::i;:::-;12930:12;:39;-1:-1:-1;;;;;13001:18:0;;:9;:18;;;;;;;;;;;:30;;13024:6;13001:22;:30::i;:::-;-1:-1:-1;;;;;12980:18:0;;:9;:18;;;;;;;;;;;:51;;;;13047:37;;1391:25:1;;;12980:18:0;;:9;;13047:37;;1364:18:1;13047:37:0;;;;;;;;12714:378;;:::o;13425:469::-;-1:-1:-1;;;;;13509:21:0;;13501:67;;;;-1:-1:-1;;;13501:67:0;;9534:2:1;13501:67:0;;;9516:21:1;9573:2;9553:18;;;9546:30;9612:34;9592:18;;;9585:62;-1:-1:-1;;;9663:18:1;;;9656:31;9704:19;;13501:67:0;9332:397:1;13501:67:0;13581:49;13602:7;13619:1;13623:6;13581:20;:49::i;:::-;-1:-1:-1;;;;;13651:18:0;;:9;:18;;;;;;;;;;;:28;-1:-1:-1;13651:28:0;13643:75;;;;-1:-1:-1;;;13643:75:0;;9936:2:1;13643:75:0;;;9918:21:1;9975:2;9955:18;;;9948:30;10014:34;9994:18;;;9987:62;-1:-1:-1;;;10065:18:1;;;10058:32;10107:19;;13643:75:0;9734:398:1;13643:75:0;-1:-1:-1;;;;;13750:18:0;;:9;:18;;;;;;;;;;;:30;;13773:6;13750:22;:30::i;:::-;-1:-1:-1;;;;;13729:18:0;;:9;:18;;;;;;;;;;:51;13807:12;;:24;;13824:6;13807:16;:24::i;:::-;13791:12;:40;13849:37;;1391:25:1;;;13875:1:0;;-1:-1:-1;;;;;13849:37:0;;;;;1379:2:1;1364:18;13849:37:0;1245:177:1;6108:118:0;5379:7;;;;;;;5633:9;5625:38;;;;-1:-1:-1;;;5625:38:0;;10339:2:1;5625:38:0;;;10321:21:1;10378:2;10358:18;;;10351:30;-1:-1:-1;;;10397:18:1;;;10390:46;10453:18;;5625:38:0;10137:340:1;5625:38:0;6168:7:::1;:14:::0;;-1:-1:-1;;6168:14:0::1;;;::::0;;6198:20:::1;6205:12;1867:10:::0;;1787:98;14686:198;-1:-1:-1;;;;;14754:21:0;;14746:65;;;;-1:-1:-1;;;14746:65:0;;10684:2:1;14746:65:0;;;10666:21:1;10723:2;10703:18;;;10696:30;10762:33;10742:18;;;10735:61;10813:18;;14746:65:0;10482:355:1;14746:65:0;-1:-1:-1;;;;;14822:18:0;;;;;;:9;:18;;;;;;;;;:25;;-1:-1:-1;;14822:25:0;14843:4;14822:25;;;14863:13;;2471:51:1;;;14863:13:0;;2444:18:1;14863:13:0;2325:203:1;15861:238:0;5379:7;;;;;;;16035:9;16027:64;;;;-1:-1:-1;;;16027:64:0;;11044:2:1;16027:64:0;;;11026:21:1;11083:2;11063:18;;;11056:30;11122:34;11102:18;;;11095:62;-1:-1:-1;;;11173:18:1;;;11166:40;11223:19;;16027:64:0;10842:406:1;419:190:0;505:7;541:12;533:6;;;;525:29;;;;-1:-1:-1;;;525:29:0;;;;;;;;:::i;:::-;-1:-1:-1;565:9:0;577:5;581:1;577;:5;:::i;:::-;565:17;419:190;-1:-1:-1;;;;;419:190:0:o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;794:254;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1760:186::-;1819:6;1872:2;1860:9;1851:7;1847:23;1843:32;1840:52;;;1888:1;1885;1878:12;1840:52;1911:29;1930:9;1911:29;:::i;2140:180::-;2199:6;2252:2;2240:9;2231:7;2227:23;2223:32;2220:52;;;2268:1;2265;2258:12;2220:52;-1:-1:-1;2291:23:1;;2140:180;-1:-1:-1;2140:180:1:o;2533:260::-;2601:6;2609;2662:2;2650:9;2641:7;2637:23;2633:32;2630:52;;;2678:1;2675;2668:12;2630:52;2701:29;2720:9;2701:29;:::i;:::-;2691:39;;2749:38;2783:2;2772:9;2768:18;2749:38;:::i;:::-;2739:48;;2533:260;;;;;:::o;2798:380::-;2877:1;2873:12;;;;2920;;;2941:61;;2995:4;2987:6;2983:17;2973:27;;2941:61;3048:2;3040:6;3037:14;3017:18;3014:38;3011:161;;;3094:10;3089:3;3085:20;3082:1;3075:31;3129:4;3126:1;3119:15;3157:4;3154:1;3147:15;3011:161;;2798:380;;;:::o;3592:356::-;3794:2;3776:21;;;3813:18;;;3806:30;3872:34;3867:2;3852:18;;3845:62;3939:2;3924:18;;3592:356::o;5173:127::-;5234:10;5229:3;5225:20;5222:1;5215:31;5265:4;5262:1;5255:15;5289:4;5286:1;5279:15;5305:128;5345:3;5376:1;5372:6;5369:1;5366:13;5363:39;;;5382:18;;:::i;:::-;-1:-1:-1;5418:9:1;;5305:128::o;11253:125::-;11293:4;11321:1;11318;11315:8;11312:34;;;11326:18;;:::i;:::-;-1:-1:-1;11363:9:1;;11253:125::o
Swarm Source
ipfs://af6315e2dc81063d184bcc8ab1397da0b02a37b0795937392f4cd8a976dddf21
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ 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.