Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 67 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19384285 | 206 days ago | IN | 0 ETH | 0.00416491 | ||||
Approve | 19384159 | 206 days ago | IN | 0 ETH | 0.00402023 | ||||
Approve | 19384112 | 206 days ago | IN | 0 ETH | 0.00403885 | ||||
Approve | 19384098 | 206 days ago | IN | 0 ETH | 0.00415264 | ||||
Approve | 19374862 | 208 days ago | IN | 0 ETH | 0.00315442 | ||||
Approve | 19370392 | 208 days ago | IN | 0 ETH | 0.00736169 | ||||
Approve | 19370341 | 208 days ago | IN | 0 ETH | 0.00447467 | ||||
Approve | 19370125 | 208 days ago | IN | 0 ETH | 0.00792501 | ||||
Approve | 19370041 | 208 days ago | IN | 0 ETH | 0.00438905 | ||||
Approve | 19369968 | 208 days ago | IN | 0 ETH | 0.00565897 | ||||
Approve | 19369960 | 208 days ago | IN | 0 ETH | 0.00597273 | ||||
Approve | 19369952 | 208 days ago | IN | 0 ETH | 0.00621538 | ||||
Approve | 19369946 | 208 days ago | IN | 0 ETH | 0.00681692 | ||||
Approve | 19369919 | 208 days ago | IN | 0 ETH | 0.00644906 | ||||
Approve | 19369909 | 208 days ago | IN | 0 ETH | 0.00722967 | ||||
Approve | 19369901 | 208 days ago | IN | 0 ETH | 0.00748221 | ||||
Approve | 19369900 | 208 days ago | IN | 0 ETH | 0.00787316 | ||||
Approve | 19369888 | 208 days ago | IN | 0 ETH | 0.00715451 | ||||
Approve | 19369886 | 208 days ago | IN | 0 ETH | 0.00738204 | ||||
Approve | 19369841 | 208 days ago | IN | 0 ETH | 0.0055081 | ||||
Approve | 19369821 | 208 days ago | IN | 0 ETH | 0.00543241 | ||||
Approve | 19369711 | 208 days ago | IN | 0 ETH | 0.00529205 | ||||
Approve | 19369682 | 208 days ago | IN | 0 ETH | 0.00564232 | ||||
Approve | 19369613 | 208 days ago | IN | 0 ETH | 0.00434262 | ||||
Approve | 19369540 | 208 days ago | IN | 0 ETH | 0.00390923 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-04 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` 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 from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), 'Ownable: caller is not the owner'); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @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'); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { bool private _paused; /** * @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); /** * @dev The operation failed because the contract is paused. */ error EnforcedPause(); /** * @dev The operation failed because the contract is not paused. */ error ExpectedPause(); /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { _requireNotPaused(); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { _requirePaused(); _; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Throws if the contract is paused. */ function _requireNotPaused() internal view virtual { if (paused()) { revert EnforcedPause(); } } /** * @dev Throws if the contract is not paused. */ function _requirePaused() internal view virtual { if (!paused()) { revert ExpectedPause(); } } /** * @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()); } } contract Token is Context, IERC20Metadata, Ownable, Pausable { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isBlacklisted; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private constant _decimals = 18; uint256 public constant hardCap = 800_813_569 * (10 ** _decimals); address public _pauser; address public _blacklister; event PauserUpdated(address indexed by, address indexed oldPauser, address indexed newPauser, uint256 timestamp); event BlacklisterUpdated(address indexed by, address indexed oldBlacklister, address indexed newBlacklister, uint256 timestamp); event PauserRenounced(address indexed by, uint256 timestamp); event BlacklisterRenounced(address indexed by, uint256 timestamp); event AddedToBlacklist(address indexed by, address[] users, uint256 timestamp); event RemovedFromBlacklist(address indexed by, address[] users, uint256 timestamp); /** * @dev Contract constructor. * @param name_ The name of the token. * @param symbol_ The symbol of the token. * @param pauser_ Pauser address. * @param blacklister_ Blacklister address. */ constructor(string memory name_, string memory symbol_, address pauser_, address blacklister_, address to_) { require(pauser_ != address(0) && blacklister_ != address(0) && to_ != address(0), 'Zero Address'); _name = name_; _symbol = symbol_; _pauser = pauser_; _blacklister = blacklister_; _mint(to_, hardCap); emit PauserUpdated(msg.sender, address(0), pauser_, block.timestamp); emit BlacklisterUpdated(msg.sender, address(0), blacklister_, block.timestamp); } modifier onlyBlacklister() { require(msg.sender == _blacklister, 'Caller is not the blacklister'); _; } modifier onlyPauser() { require(msg.sender == _pauser, 'Caller is not the pauser'); _; } /** * @notice Function for blacklister to blacklist users. * @param _users Array of user addresses to be blacklisted. */ function blacklistUser(address[] calldata _users) external onlyBlacklister { for (uint256 i = 0; i < _users.length; i++) { isBlacklisted[_users[i]] = true; } emit AddedToBlacklist(msg.sender, _users, block.timestamp); } /** * @notice Function for blacklister to remove users from blacklist. * @param _users Array of user addresses to be removed from blacklist. */ function removeUserFromBlacklist(address[] calldata _users) external onlyBlacklister { for (uint256 i = 0; i < _users.length; i++) { isBlacklisted[_users[i]] = false; } emit RemovedFromBlacklist(msg.sender, _users, block.timestamp); } /// @notice Function to pause the contract. function pause() external onlyPauser { _pause(); } /// @notice Function to unpause the contract. function unpause() external onlyPauser { _unpause(); } /** * @notice Function for owner to update the blacklister address. * @param _newBlacklister Address of the new blacklister. */ function updateBlacklister(address _newBlacklister) external onlyOwner { require(_newBlacklister != address(0), 'Zero Address!'); require(_blacklister != address(0), 'Blacklister functionality is renounced!'); address oldBlacklister = _blacklister; _blacklister = _newBlacklister; emit BlacklisterUpdated(msg.sender, oldBlacklister, _newBlacklister, block.timestamp); } /** * @notice Function for owner to update the pauser address. * @param _newPauser Address of the new pauser. */ function updatePauser(address _newPauser) external onlyOwner { require(_newPauser != address(0), 'Zero Address!'); require(_pauser != address(0), 'Pauser functionality is renounced!'); address oldPauser = _pauser; _pauser = _newPauser; emit PauserUpdated(msg.sender, oldPauser, _newPauser, block.timestamp); } /** * @notice Function for owner to renounce the blacklister functionality. * @dev This will make blacklisting functionality unusable. */ function renounceBlacklister() external onlyOwner { _blacklister = address(0); emit BlacklisterRenounced(msg.sender, block.timestamp); } /** * @notice Function for owner to renounce the pauser functionality. * @dev This will make pause/unpause functionality unusable. */ function renouncePauser() external onlyOwner { _pauser = address(0); emit PauserRenounced(msg.sender, block.timestamp); } /** * @dev Returns the name of the token. * @return The name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token. * @return The symbol of the token. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used for token display. * @return The number of decimals. */ function decimals() public view virtual override returns (uint8) { return _decimals; } /** * @dev Returns the total supply of the token. * @return The total supply. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev Returns the balance of the specified account. * @param account The address to check the balance for. * @return The balance of the account. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev Transfers tokens from the caller to a specified recipient. * @param recipient The address to transfer tokens to. * @param amount The amount of tokens to transfer. * @return A boolean value indicating whether the transfer was successful. */ function transfer(address recipient, uint256 amount) public virtual override whenNotPaused returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev Returns the amount of tokens that the spender is allowed to spend on behalf of the owner. * @param from The address that approves the spending. * @param to The address that is allowed to spend. * @return The remaining allowance for the spender. */ function allowance(address from, address to) public view virtual override returns (uint256) { return _allowances[from][to]; } /** * @dev Approves the specified address to spend the specified amount of tokens on behalf of the caller. * @param to The address to approve the spending for. * @param amount The amount of tokens to approve. * @return A boolean value indicating whether the approval was successful. */ function approve(address to, uint256 amount) public virtual override whenNotPaused returns (bool) { _approve(_msgSender(), to, amount); return true; } /** * @dev Transfers tokens from one address to another. * @param sender The address to transfer tokens from. * @param recipient The address to transfer tokens to. * @param amount The amount of tokens to transfer. * @return A boolean value indicating whether the transfer was successful. */ function transferFrom(address sender, address recipient, uint256 amount) public virtual override whenNotPaused returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, 'ERC20: transfer amount exceeds allowance'); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Increases the allowance of the specified address to spend tokens on behalf of the caller. * @param to The address to increase the allowance for. * @param addedValue The amount of tokens to increase the allowance by. * @return A boolean value indicating whether the increase was successful. */ function increaseAllowance(address to, uint256 addedValue) public virtual whenNotPaused returns (bool) { _approve(_msgSender(), to, _allowances[_msgSender()][to] + addedValue); return true; } /** * @dev Decreases the allowance granted by the owner of the tokens to `to` account. * @param to The account allowed to spend the tokens. * @param subtractedValue The amount of tokens to decrease the allowance by. * @return A boolean value indicating whether the operation succeeded. */ function decreaseAllowance(address to, uint256 subtractedValue) public virtual whenNotPaused returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][to]; require(currentAllowance >= subtractedValue, 'ERC20: decreased allowance below zero'); unchecked { _approve(_msgSender(), to, currentAllowance - subtractedValue); } return true; } /** * @dev Transfers `amount` tokens from `sender` to `recipient`. * @param sender The account to transfer tokens from. * @param recipient The account to transfer tokens to. * @param amount The amount of tokens to transfer. */ function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(!isBlacklisted[sender], 'sender blacklisted for this action'); require(!isBlacklisted[recipient], 'recipient blacklisted for this action'); require(amount > 0, 'ERC20: transfer amount zero'); require(sender != address(0), 'ERC20: transfer from the zero address'); require(recipient != address(0), 'ERC20: transfer to the zero address'); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, 'ERC20: transfer amount exceeds balance'); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** * @dev Creates `amount` tokens and assigns them to `account`. * @param account The account to assign the newly created tokens to. * @param amount The amount of tokens to create. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), 'ERC20: mint to the zero address'); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the total supply. * @param account The account to burn tokens from. * @param amount The amount of tokens to burn. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), 'ERC20: burn from the zero address'); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, 'ERC20: burn amount exceeds balance'); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Destroys `amount` tokens from the caller's account, reducing the total supply. * @param amount The amount of tokens to burn. */ function burn(uint256 amount) external whenNotPaused { _burn(_msgSender(), amount); } /** * @dev Sets `amount` as the allowance of `to` over the caller's tokens. * @param from The account granting the allowance. * @param to The account allowed to spend the tokens. * @param amount The amount of tokens to allow. */ function _approve(address from, address to, uint256 amount) internal virtual { require(from != address(0), 'ERC20: approve from the zero address'); require(to != address(0), 'ERC20: approve to the zero address'); _allowances[from][to] = amount; emit Approval(from, to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"pauser_","type":"address"},{"internalType":"address","name":"blacklister_","type":"address"},{"internalType":"address","name":"to_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"address[]","name":"users","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AddedToBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"BlacklisterRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"address","name":"oldBlacklister","type":"address"},{"indexed":true,"internalType":"address","name":"newBlacklister","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"BlacklisterUpdated","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":"by","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"PauserRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":true,"internalType":"address","name":"oldPauser","type":"address"},{"indexed":true,"internalType":"address","name":"newPauser","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"PauserUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"address[]","name":"users","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"RemovedFromBlacklist","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":"Unpaused","type":"event"},{"inputs":[],"name":"_blacklister","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_pauser","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":"address[]","name":"_users","type":"address[]"}],"name":"blacklistUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"}],"name":"removeUserFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceBlacklister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renouncePauser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newBlacklister","type":"address"}],"name":"updateBlacklister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newPauser","type":"address"}],"name":"updatePauser","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620040233803806200402383398181016040528101906200003791906200074e565b620000576200004b6200033960201b60201c565b6200034160201b60201c565b60008060146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015620000dc5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620001165750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b62000158576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014f9062000875565b60405180910390fd5b846005908162000169919062000ae2565b5083600690816200017b919062000ae2565b5082600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000230816012600a62000213919062000d59565b632fbb720162000224919062000daa565b6200040560201b60201c565b8273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0396de32a489daf2b10f9a0bed7f609be9cf1012f098f365e37bdbf5a1b380f642604051620002a7919062000e06565b60405180910390a48173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3bf02c05ffb53c7cb13a872f22f8bd9a173a5784139d12a02499d95cc3d0011f4260405162000326919062000e06565b60405180910390a4505050505062000ed0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000477576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200046e9062000e73565b60405180910390fd5b80600460008282546200048b919062000e95565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620004e3919062000e95565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200054a919062000e06565b60405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005bf8262000574565b810181811067ffffffffffffffff82111715620005e157620005e062000585565b5b80604052505050565b6000620005f662000556565b9050620006048282620005b4565b919050565b600067ffffffffffffffff82111562000627576200062662000585565b5b620006328262000574565b9050602081019050919050565b60005b838110156200065f57808201518184015260208101905062000642565b60008484015250505050565b6000620006826200067c8462000609565b620005ea565b905082815260208101848484011115620006a157620006a06200056f565b5b620006ae8482856200063f565b509392505050565b600082601f830112620006ce57620006cd6200056a565b5b8151620006e08482602086016200066b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200071682620006e9565b9050919050565b620007288162000709565b81146200073457600080fd5b50565b60008151905062000748816200071d565b92915050565b600080600080600060a086880312156200076d576200076c62000560565b5b600086015167ffffffffffffffff8111156200078e576200078d62000565565b5b6200079c88828901620006b6565b955050602086015167ffffffffffffffff811115620007c057620007bf62000565565b5b620007ce88828901620006b6565b9450506040620007e18882890162000737565b9350506060620007f48882890162000737565b9250506080620008078882890162000737565b9150509295509295909350565b600082825260208201905092915050565b7f5a65726f20416464726573730000000000000000000000000000000000000000600082015250565b60006200085d600c8362000814565b91506200086a8262000825565b602082019050919050565b6000602082019050818103600083015262000890816200084e565b9050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008ea57607f821691505b6020821081036200090057620008ff620008a2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200096a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200092b565b6200097686836200092b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009c3620009bd620009b7846200098e565b62000998565b6200098e565b9050919050565b6000819050919050565b620009df83620009a2565b620009f7620009ee82620009ca565b84845462000938565b825550505050565b600090565b62000a0e620009ff565b62000a1b818484620009d4565b505050565b5b8181101562000a435762000a3760008262000a04565b60018101905062000a21565b5050565b601f82111562000a925762000a5c8162000906565b62000a67846200091b565b8101602085101562000a77578190505b62000a8f62000a86856200091b565b83018262000a20565b50505b505050565b600082821c905092915050565b600062000ab76000198460080262000a97565b1980831691505092915050565b600062000ad2838362000aa4565b9150826002028217905092915050565b62000aed8262000897565b67ffffffffffffffff81111562000b095762000b0862000585565b5b62000b158254620008d1565b62000b2282828562000a47565b600060209050601f83116001811462000b5a576000841562000b45578287015190505b62000b51858262000ac4565b86555062000bc1565b601f19841662000b6a8662000906565b60005b8281101562000b945784890151825560018201915060208501945060208101905062000b6d565b8683101562000bb4578489015162000bb0601f89168262000aa4565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c575780860481111562000c2f5762000c2e62000bc9565b5b600185161562000c3f5780820291505b808102905062000c4f8562000bf8565b945062000c0f565b94509492505050565b60008262000c72576001905062000d45565b8162000c82576000905062000d45565b816001811462000c9b576002811462000ca65762000cdc565b600191505062000d45565b60ff84111562000cbb5762000cba62000bc9565b5b8360020a91508482111562000cd55762000cd462000bc9565b5b5062000d45565b5060208310610133831016604e8410600b841016171562000d165782820a90508381111562000d105762000d0f62000bc9565b5b62000d45565b62000d25848484600162000c05565b9250905081840481111562000d3f5762000d3e62000bc9565b5b81810290505b9392505050565b600060ff82169050919050565b600062000d66826200098e565b915062000d738362000d4c565b925062000da27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c60565b905092915050565b600062000db7826200098e565b915062000dc4836200098e565b925082820262000dd4816200098e565b9150828204841483151762000dee5762000ded62000bc9565b5b5092915050565b62000e00816200098e565b82525050565b600060208201905062000e1d600083018462000df5565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e5b601f8362000814565b915062000e688262000e23565b602082019050919050565b6000602082019050818103600083015262000e8e8162000e4c565b9050919050565b600062000ea2826200098e565b915062000eaf836200098e565b925082820190508082111562000eca5762000ec962000bc9565b5b92915050565b6131438062000ee06000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80637a88cca4116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e14610497578063f2fde38b146104c7578063fb86a404146104e3578063fe575a8714610501576101c4565b8063a457c2d71461041b578063a9059cbb1461044b578063ad38bf221461047b576101c4565b80638da5cb5b116100d35780638da5cb5b146103a557806391b4af05146103c357806395d89b41146103e1578063994b9a4b146103ff576101c4565b80637a88cca4146103755780638456cb59146103915780638880997e1461039b576101c4565b80633f4ba83a116101665780635c975abb116101405780635c975abb146103135780636ef8d66d1461033157806370a082311461033b578063715018a61461036b576101c4565b80633f4ba83a146102d157806342966c68146102db578063554bab3c146102f7576101c4565b80631bf5fc4d116101a25780631bf5fc4d1461023557806323b872dd14610253578063313ce5671461028357806339509351146102a1576101c4565b806306fdde03146101c9578063095ea7b3146101e757806318160ddd14610217575b600080fd5b6101d1610531565b6040516101de9190611f72565b60405180910390f35b61020160048036038101906101fc9190612032565b6105c3565b60405161020e919061208d565b60405180910390f35b61021f6105e9565b60405161022c91906120b7565b60405180910390f35b61023d6105f3565b60405161024a91906120e1565b60405180910390f35b61026d600480360381019061026891906120fc565b610619565b60405161027a919061208d565b60405180910390f35b61028b610719565b604051610298919061216b565b60405180910390f35b6102bb60048036038101906102b69190612032565b610722565b6040516102c8919061208d565b60405180910390f35b6102d96107d6565b005b6102f560048036038101906102f09190612186565b610870565b005b610311600480360381019061030c91906121b3565b61088c565b005b61031b610a7c565b604051610328919061208d565b60405180910390f35b610339610a92565b005b610355600480360381019061035091906121b3565b610b2c565b60405161036291906120b7565b60405180910390f35b610373610b75565b005b61038f600480360381019061038a9190612245565b610b89565b005b610399610d10565b005b6103a3610daa565b005b6103ad610e44565b6040516103ba91906120e1565b60405180910390f35b6103cb610e6d565b6040516103d891906120e1565b60405180910390f35b6103e9610e93565b6040516103f69190611f72565b60405180910390f35b61041960048036038101906104149190612245565b610f25565b005b61043560048036038101906104309190612032565b6110ac565b604051610442919061208d565b60405180910390f35b61046560048036038101906104609190612032565b6111a0565b604051610472919061208d565b60405180910390f35b610495600480360381019061049091906121b3565b6111c6565b005b6104b160048036038101906104ac9190612292565b6113b6565b6040516104be91906120b7565b60405180910390f35b6104e160048036038101906104dc91906121b3565b61143d565b005b6104eb6114c0565b6040516104f891906120b7565b60405180910390f35b61051b600480360381019061051691906121b3565b6114e0565b604051610528919061208d565b60405180910390f35b60606005805461054090612301565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90612301565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b5050505050905090565b60006105cd611500565b6105df6105d8611541565b8484611549565b6001905092915050565b6000600454905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610623611500565b61062e848484611712565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610679611541565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f0906123a4565b60405180910390fd5b61070d85610705611541565b858403611549565b60019150509392505050565b60006012905090565b600061072c611500565b6107cc610737611541565b848460026000610745611541565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107c791906123f3565b611549565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d90612473565b60405180910390fd5b61086e611adb565b565b610878611500565b610889610883611541565b82611b3d565b50565b610894611cfd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fa906124df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b90612571565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0396de32a489daf2b10f9a0bed7f609be9cf1012f098f365e37bdbf5a1b380f642604051610a7091906120b7565b60405180910390a45050565b60008060149054906101000a900460ff16905090565b610a9a611cfd565b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f1538f8539aa2a70564e3d5b152ba989cd34b7f804fe4d9c521dfb1420c58543542604051610b2291906120b7565b60405180910390a2565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b7d611cfd565b610b876000611d7b565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c10906125dd565b60405180910390fd5b60005b82829050811015610cb957600060036000858585818110610c4057610c3f6125fd565b5b9050602002016020810190610c5591906121b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cb19061262c565b915050610c1c565b503373ffffffffffffffffffffffffffffffffffffffff167f3c4e7591a9d73d49d5215894e6a354eeda25ba9abb20515061ccf9196e173915838342604051610d0493929190612737565b60405180910390a25050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790612473565b60405180910390fd5b610da8611e3f565b565b610db2611cfd565b6000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fa377bf762677193e382b833a0c1d6bd3cb2fc30c30c787b40c999396692c047c42604051610e3a91906120b7565b60405180910390a2565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060068054610ea290612301565b80601f0160208091040260200160405190810160405280929190818152602001828054610ece90612301565b8015610f1b5780601f10610ef057610100808354040283529160200191610f1b565b820191906000526020600020905b815481529060010190602001808311610efe57829003601f168201915b5050505050905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906125dd565b60405180910390fd5b60005b8282905081101561105557600160036000858585818110610fdc57610fdb6125fd565b5b9050602002016020810190610ff191906121b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061104d9061262c565b915050610fb8565b503373ffffffffffffffffffffffffffffffffffffffff167f49af2fb2b3e0837b10c80217895d8479b447967a740c129e3e55b40b024b69828383426040516110a093929190612737565b60405180910390a25050565b60006110b6611500565b6000600260006110c4611541565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611181576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611178906127db565b60405180910390fd5b61119561118c611541565b85858403611549565b600191505092915050565b60006111aa611500565b6111bc6111b5611541565b8484611712565b6001905092915050565b6111ce611cfd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906124df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c59061286d565b60405180910390fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3bf02c05ffb53c7cb13a872f22f8bd9a173a5784139d12a02499d95cc3d0011f426040516113aa91906120b7565b60405180910390a45050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611445611cfd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab906128ff565b60405180910390fd5b6114bd81611d7b565b50565b6012600a6114ce9190612a52565b632fbb72016114dd9190612a9d565b81565b60036020528060005260406000206000915054906101000a900460ff1681565b611508610a7c565b1561153f576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af90612b51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161e90612be3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161170591906120b7565b60405180910390a3505050565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561179f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179690612c75565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561182c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182390612d07565b60405180910390fd5b6000811161186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690612d73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d590612e05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361194d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194490612e97565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb90612f29565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a6991906123f3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acd91906120b7565b60405180910390a350505050565b611ae3611ea2565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611b26611541565b604051611b3391906120e1565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba390612fbb565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a9061304d565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160046000828254611c8b919061306d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cf091906120b7565b60405180910390a3505050565b611d05611541565b73ffffffffffffffffffffffffffffffffffffffff16611d23610e44565b73ffffffffffffffffffffffffffffffffffffffff1614611d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d70906130ed565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611e47611500565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611e8b611541565b604051611e9891906120e1565b60405180910390a1565b611eaa610a7c565b611ee0576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f1c578082015181840152602081019050611f01565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f4482611ee2565b611f4e8185611eed565b9350611f5e818560208601611efe565b611f6781611f28565b840191505092915050565b60006020820190508181036000830152611f8c8184611f39565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc982611f9e565b9050919050565b611fd981611fbe565b8114611fe457600080fd5b50565b600081359050611ff681611fd0565b92915050565b6000819050919050565b61200f81611ffc565b811461201a57600080fd5b50565b60008135905061202c81612006565b92915050565b6000806040838503121561204957612048611f94565b5b600061205785828601611fe7565b92505060206120688582860161201d565b9150509250929050565b60008115159050919050565b61208781612072565b82525050565b60006020820190506120a2600083018461207e565b92915050565b6120b181611ffc565b82525050565b60006020820190506120cc60008301846120a8565b92915050565b6120db81611fbe565b82525050565b60006020820190506120f660008301846120d2565b92915050565b60008060006060848603121561211557612114611f94565b5b600061212386828701611fe7565b935050602061213486828701611fe7565b92505060406121458682870161201d565b9150509250925092565b600060ff82169050919050565b6121658161214f565b82525050565b6000602082019050612180600083018461215c565b92915050565b60006020828403121561219c5761219b611f94565b5b60006121aa8482850161201d565b91505092915050565b6000602082840312156121c9576121c8611f94565b5b60006121d784828501611fe7565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612205576122046121e0565b5b8235905067ffffffffffffffff811115612222576122216121e5565b5b60208301915083602082028301111561223e5761223d6121ea565b5b9250929050565b6000806020838503121561225c5761225b611f94565b5b600083013567ffffffffffffffff81111561227a57612279611f99565b5b612286858286016121ef565b92509250509250929050565b600080604083850312156122a9576122a8611f94565b5b60006122b785828601611fe7565b92505060206122c885828601611fe7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061231957607f821691505b60208210810361232c5761232b6122d2565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061238e602883611eed565b915061239982612332565b604082019050919050565b600060208201905081810360008301526123bd81612381565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123fe82611ffc565b915061240983611ffc565b9250828201905080821115612421576124206123c4565b5b92915050565b7f43616c6c6572206973206e6f7420746865207061757365720000000000000000600082015250565b600061245d601883611eed565b915061246882612427565b602082019050919050565b6000602082019050818103600083015261248c81612450565b9050919050565b7f5a65726f20416464726573732100000000000000000000000000000000000000600082015250565b60006124c9600d83611eed565b91506124d482612493565b602082019050919050565b600060208201905081810360008301526124f8816124bc565b9050919050565b7f5061757365722066756e6374696f6e616c6974792069732072656e6f756e636560008201527f6421000000000000000000000000000000000000000000000000000000000000602082015250565b600061255b602283611eed565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f43616c6c6572206973206e6f742074686520626c61636b6c6973746572000000600082015250565b60006125c7601d83611eed565b91506125d282612591565b602082019050919050565b600060208201905081810360008301526125f6816125ba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061263782611ffc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612669576126686123c4565b5b600182019050919050565b600082825260208201905092915050565b6000819050919050565b61269881611fbe565b82525050565b60006126aa838361268f565b60208301905092915050565b60006126c56020840184611fe7565b905092915050565b6000602082019050919050565b60006126e68385612674565b93506126f182612685565b8060005b8581101561272a5761270782846126b6565b612711888261269e565b975061271c836126cd565b9250506001810190506126f5565b5085925050509392505050565b600060408201905081810360008301526127528185876126da565b905061276160208301846120a8565b949350505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006127c5602583611eed565b91506127d082612769565b604082019050919050565b600060208201905081810360008301526127f4816127b8565b9050919050565b7f426c61636b6c69737465722066756e6374696f6e616c6974792069732072656e60008201527f6f756e6365642100000000000000000000000000000000000000000000000000602082015250565b6000612857602783611eed565b9150612862826127fb565b604082019050919050565b600060208201905081810360008301526128868161284a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128e9602683611eed565b91506128f48261288d565b604082019050919050565b60006020820190508181036000830152612918816128dc565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561297657808604811115612952576129516123c4565b5b60018516156129615780820291505b808102905061296f8561291f565b9450612936565b94509492505050565b60008261298f5760019050612a4b565b8161299d5760009050612a4b565b81600181146129b357600281146129bd576129ec565b6001915050612a4b565b60ff8411156129cf576129ce6123c4565b5b8360020a9150848211156129e6576129e56123c4565b5b50612a4b565b5060208310610133831016604e8410600b8410161715612a215782820a905083811115612a1c57612a1b6123c4565b5b612a4b565b612a2e848484600161292c565b92509050818404811115612a4557612a446123c4565b5b81810290505b9392505050565b6000612a5d82611ffc565b9150612a688361214f565b9250612a957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461297f565b905092915050565b6000612aa882611ffc565b9150612ab383611ffc565b9250828202612ac181611ffc565b91508282048414831517612ad857612ad76123c4565b5b5092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b3b602483611eed565b9150612b4682612adf565b604082019050919050565b60006020820190508181036000830152612b6a81612b2e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bcd602283611eed565b9150612bd882612b71565b604082019050919050565b60006020820190508181036000830152612bfc81612bc0565b9050919050565b7f73656e64657220626c61636b6c697374656420666f722074686973206163746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c5f602283611eed565b9150612c6a82612c03565b604082019050919050565b60006020820190508181036000830152612c8e81612c52565b9050919050565b7f726563697069656e7420626c61636b6c697374656420666f722074686973206160008201527f6374696f6e000000000000000000000000000000000000000000000000000000602082015250565b6000612cf1602583611eed565b9150612cfc82612c95565b604082019050919050565b60006020820190508181036000830152612d2081612ce4565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000612d5d601b83611eed565b9150612d6882612d27565b602082019050919050565b60006020820190508181036000830152612d8c81612d50565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612def602583611eed565b9150612dfa82612d93565b604082019050919050565b60006020820190508181036000830152612e1e81612de2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e81602383611eed565b9150612e8c82612e25565b604082019050919050565b60006020820190508181036000830152612eb081612e74565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612f13602683611eed565b9150612f1e82612eb7565b604082019050919050565b60006020820190508181036000830152612f4281612f06565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fa5602183611eed565b9150612fb082612f49565b604082019050919050565b60006020820190508181036000830152612fd481612f98565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613037602283611eed565b915061304282612fdb565b604082019050919050565b600060208201905081810360008301526130668161302a565b9050919050565b600061307882611ffc565b915061308383611ffc565b925082820390508181111561309b5761309a6123c4565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130d7602083611eed565b91506130e2826130a1565b602082019050919050565b60006020820190508181036000830152613106816130ca565b905091905056fea26469706673582212207a0f02847d28e27ec892ced76b9483db1ac9cd49d4b2fba36aed48d47e60ca1c64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc20000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc20000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc200000000000000000000000000000000000000000000000000000000000000045065656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045045454e00000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80637a88cca4116100f9578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e14610497578063f2fde38b146104c7578063fb86a404146104e3578063fe575a8714610501576101c4565b8063a457c2d71461041b578063a9059cbb1461044b578063ad38bf221461047b576101c4565b80638da5cb5b116100d35780638da5cb5b146103a557806391b4af05146103c357806395d89b41146103e1578063994b9a4b146103ff576101c4565b80637a88cca4146103755780638456cb59146103915780638880997e1461039b576101c4565b80633f4ba83a116101665780635c975abb116101405780635c975abb146103135780636ef8d66d1461033157806370a082311461033b578063715018a61461036b576101c4565b80633f4ba83a146102d157806342966c68146102db578063554bab3c146102f7576101c4565b80631bf5fc4d116101a25780631bf5fc4d1461023557806323b872dd14610253578063313ce5671461028357806339509351146102a1576101c4565b806306fdde03146101c9578063095ea7b3146101e757806318160ddd14610217575b600080fd5b6101d1610531565b6040516101de9190611f72565b60405180910390f35b61020160048036038101906101fc9190612032565b6105c3565b60405161020e919061208d565b60405180910390f35b61021f6105e9565b60405161022c91906120b7565b60405180910390f35b61023d6105f3565b60405161024a91906120e1565b60405180910390f35b61026d600480360381019061026891906120fc565b610619565b60405161027a919061208d565b60405180910390f35b61028b610719565b604051610298919061216b565b60405180910390f35b6102bb60048036038101906102b69190612032565b610722565b6040516102c8919061208d565b60405180910390f35b6102d96107d6565b005b6102f560048036038101906102f09190612186565b610870565b005b610311600480360381019061030c91906121b3565b61088c565b005b61031b610a7c565b604051610328919061208d565b60405180910390f35b610339610a92565b005b610355600480360381019061035091906121b3565b610b2c565b60405161036291906120b7565b60405180910390f35b610373610b75565b005b61038f600480360381019061038a9190612245565b610b89565b005b610399610d10565b005b6103a3610daa565b005b6103ad610e44565b6040516103ba91906120e1565b60405180910390f35b6103cb610e6d565b6040516103d891906120e1565b60405180910390f35b6103e9610e93565b6040516103f69190611f72565b60405180910390f35b61041960048036038101906104149190612245565b610f25565b005b61043560048036038101906104309190612032565b6110ac565b604051610442919061208d565b60405180910390f35b61046560048036038101906104609190612032565b6111a0565b604051610472919061208d565b60405180910390f35b610495600480360381019061049091906121b3565b6111c6565b005b6104b160048036038101906104ac9190612292565b6113b6565b6040516104be91906120b7565b60405180910390f35b6104e160048036038101906104dc91906121b3565b61143d565b005b6104eb6114c0565b6040516104f891906120b7565b60405180910390f35b61051b600480360381019061051691906121b3565b6114e0565b604051610528919061208d565b60405180910390f35b60606005805461054090612301565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90612301565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b5050505050905090565b60006105cd611500565b6105df6105d8611541565b8484611549565b6001905092915050565b6000600454905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610623611500565b61062e848484611712565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610679611541565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f0906123a4565b60405180910390fd5b61070d85610705611541565b858403611549565b60019150509392505050565b60006012905090565b600061072c611500565b6107cc610737611541565b848460026000610745611541565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107c791906123f3565b611549565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d90612473565b60405180910390fd5b61086e611adb565b565b610878611500565b610889610883611541565b82611b3d565b50565b610894611cfd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fa906124df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b90612571565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0396de32a489daf2b10f9a0bed7f609be9cf1012f098f365e37bdbf5a1b380f642604051610a7091906120b7565b60405180910390a45050565b60008060149054906101000a900460ff16905090565b610a9a611cfd565b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f1538f8539aa2a70564e3d5b152ba989cd34b7f804fe4d9c521dfb1420c58543542604051610b2291906120b7565b60405180910390a2565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b7d611cfd565b610b876000611d7b565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c10906125dd565b60405180910390fd5b60005b82829050811015610cb957600060036000858585818110610c4057610c3f6125fd565b5b9050602002016020810190610c5591906121b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cb19061262c565b915050610c1c565b503373ffffffffffffffffffffffffffffffffffffffff167f3c4e7591a9d73d49d5215894e6a354eeda25ba9abb20515061ccf9196e173915838342604051610d0493929190612737565b60405180910390a25050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9790612473565b60405180910390fd5b610da8611e3f565b565b610db2611cfd565b6000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fa377bf762677193e382b833a0c1d6bd3cb2fc30c30c787b40c999396692c047c42604051610e3a91906120b7565b60405180910390a2565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060068054610ea290612301565b80601f0160208091040260200160405190810160405280929190818152602001828054610ece90612301565b8015610f1b5780601f10610ef057610100808354040283529160200191610f1b565b820191906000526020600020905b815481529060010190602001808311610efe57829003601f168201915b5050505050905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906125dd565b60405180910390fd5b60005b8282905081101561105557600160036000858585818110610fdc57610fdb6125fd565b5b9050602002016020810190610ff191906121b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061104d9061262c565b915050610fb8565b503373ffffffffffffffffffffffffffffffffffffffff167f49af2fb2b3e0837b10c80217895d8479b447967a740c129e3e55b40b024b69828383426040516110a093929190612737565b60405180910390a25050565b60006110b6611500565b6000600260006110c4611541565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611181576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611178906127db565b60405180910390fd5b61119561118c611541565b85858403611549565b600191505092915050565b60006111aa611500565b6111bc6111b5611541565b8484611712565b6001905092915050565b6111ce611cfd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906124df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c59061286d565b60405180910390fd5b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3bf02c05ffb53c7cb13a872f22f8bd9a173a5784139d12a02499d95cc3d0011f426040516113aa91906120b7565b60405180910390a45050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611445611cfd565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab906128ff565b60405180910390fd5b6114bd81611d7b565b50565b6012600a6114ce9190612a52565b632fbb72016114dd9190612a9d565b81565b60036020528060005260406000206000915054906101000a900460ff1681565b611508610a7c565b1561153f576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115af90612b51565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161e90612be3565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161170591906120b7565b60405180910390a3505050565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561179f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179690612c75565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561182c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182390612d07565b60405180910390fd5b6000811161186f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186690612d73565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d590612e05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361194d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194490612e97565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156119d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cb90612f29565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a6991906123f3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611acd91906120b7565b60405180910390a350505050565b611ae3611ea2565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611b26611541565b604051611b3391906120e1565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba390612fbb565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a9061304d565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160046000828254611c8b919061306d565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cf091906120b7565b60405180910390a3505050565b611d05611541565b73ffffffffffffffffffffffffffffffffffffffff16611d23610e44565b73ffffffffffffffffffffffffffffffffffffffff1614611d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d70906130ed565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611e47611500565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611e8b611541565b604051611e9891906120e1565b60405180910390a1565b611eaa610a7c565b611ee0576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f1c578082015181840152602081019050611f01565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f4482611ee2565b611f4e8185611eed565b9350611f5e818560208601611efe565b611f6781611f28565b840191505092915050565b60006020820190508181036000830152611f8c8184611f39565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc982611f9e565b9050919050565b611fd981611fbe565b8114611fe457600080fd5b50565b600081359050611ff681611fd0565b92915050565b6000819050919050565b61200f81611ffc565b811461201a57600080fd5b50565b60008135905061202c81612006565b92915050565b6000806040838503121561204957612048611f94565b5b600061205785828601611fe7565b92505060206120688582860161201d565b9150509250929050565b60008115159050919050565b61208781612072565b82525050565b60006020820190506120a2600083018461207e565b92915050565b6120b181611ffc565b82525050565b60006020820190506120cc60008301846120a8565b92915050565b6120db81611fbe565b82525050565b60006020820190506120f660008301846120d2565b92915050565b60008060006060848603121561211557612114611f94565b5b600061212386828701611fe7565b935050602061213486828701611fe7565b92505060406121458682870161201d565b9150509250925092565b600060ff82169050919050565b6121658161214f565b82525050565b6000602082019050612180600083018461215c565b92915050565b60006020828403121561219c5761219b611f94565b5b60006121aa8482850161201d565b91505092915050565b6000602082840312156121c9576121c8611f94565b5b60006121d784828501611fe7565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612205576122046121e0565b5b8235905067ffffffffffffffff811115612222576122216121e5565b5b60208301915083602082028301111561223e5761223d6121ea565b5b9250929050565b6000806020838503121561225c5761225b611f94565b5b600083013567ffffffffffffffff81111561227a57612279611f99565b5b612286858286016121ef565b92509250509250929050565b600080604083850312156122a9576122a8611f94565b5b60006122b785828601611fe7565b92505060206122c885828601611fe7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061231957607f821691505b60208210810361232c5761232b6122d2565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061238e602883611eed565b915061239982612332565b604082019050919050565b600060208201905081810360008301526123bd81612381565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006123fe82611ffc565b915061240983611ffc565b9250828201905080821115612421576124206123c4565b5b92915050565b7f43616c6c6572206973206e6f7420746865207061757365720000000000000000600082015250565b600061245d601883611eed565b915061246882612427565b602082019050919050565b6000602082019050818103600083015261248c81612450565b9050919050565b7f5a65726f20416464726573732100000000000000000000000000000000000000600082015250565b60006124c9600d83611eed565b91506124d482612493565b602082019050919050565b600060208201905081810360008301526124f8816124bc565b9050919050565b7f5061757365722066756e6374696f6e616c6974792069732072656e6f756e636560008201527f6421000000000000000000000000000000000000000000000000000000000000602082015250565b600061255b602283611eed565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f43616c6c6572206973206e6f742074686520626c61636b6c6973746572000000600082015250565b60006125c7601d83611eed565b91506125d282612591565b602082019050919050565b600060208201905081810360008301526125f6816125ba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061263782611ffc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612669576126686123c4565b5b600182019050919050565b600082825260208201905092915050565b6000819050919050565b61269881611fbe565b82525050565b60006126aa838361268f565b60208301905092915050565b60006126c56020840184611fe7565b905092915050565b6000602082019050919050565b60006126e68385612674565b93506126f182612685565b8060005b8581101561272a5761270782846126b6565b612711888261269e565b975061271c836126cd565b9250506001810190506126f5565b5085925050509392505050565b600060408201905081810360008301526127528185876126da565b905061276160208301846120a8565b949350505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006127c5602583611eed565b91506127d082612769565b604082019050919050565b600060208201905081810360008301526127f4816127b8565b9050919050565b7f426c61636b6c69737465722066756e6374696f6e616c6974792069732072656e60008201527f6f756e6365642100000000000000000000000000000000000000000000000000602082015250565b6000612857602783611eed565b9150612862826127fb565b604082019050919050565b600060208201905081810360008301526128868161284a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006128e9602683611eed565b91506128f48261288d565b604082019050919050565b60006020820190508181036000830152612918816128dc565b9050919050565b60008160011c9050919050565b6000808291508390505b600185111561297657808604811115612952576129516123c4565b5b60018516156129615780820291505b808102905061296f8561291f565b9450612936565b94509492505050565b60008261298f5760019050612a4b565b8161299d5760009050612a4b565b81600181146129b357600281146129bd576129ec565b6001915050612a4b565b60ff8411156129cf576129ce6123c4565b5b8360020a9150848211156129e6576129e56123c4565b5b50612a4b565b5060208310610133831016604e8410600b8410161715612a215782820a905083811115612a1c57612a1b6123c4565b5b612a4b565b612a2e848484600161292c565b92509050818404811115612a4557612a446123c4565b5b81810290505b9392505050565b6000612a5d82611ffc565b9150612a688361214f565b9250612a957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461297f565b905092915050565b6000612aa882611ffc565b9150612ab383611ffc565b9250828202612ac181611ffc565b91508282048414831517612ad857612ad76123c4565b5b5092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612b3b602483611eed565b9150612b4682612adf565b604082019050919050565b60006020820190508181036000830152612b6a81612b2e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bcd602283611eed565b9150612bd882612b71565b604082019050919050565b60006020820190508181036000830152612bfc81612bc0565b9050919050565b7f73656e64657220626c61636b6c697374656420666f722074686973206163746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c5f602283611eed565b9150612c6a82612c03565b604082019050919050565b60006020820190508181036000830152612c8e81612c52565b9050919050565b7f726563697069656e7420626c61636b6c697374656420666f722074686973206160008201527f6374696f6e000000000000000000000000000000000000000000000000000000602082015250565b6000612cf1602583611eed565b9150612cfc82612c95565b604082019050919050565b60006020820190508181036000830152612d2081612ce4565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000612d5d601b83611eed565b9150612d6882612d27565b602082019050919050565b60006020820190508181036000830152612d8c81612d50565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612def602583611eed565b9150612dfa82612d93565b604082019050919050565b60006020820190508181036000830152612e1e81612de2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e81602383611eed565b9150612e8c82612e25565b604082019050919050565b60006020820190508181036000830152612eb081612e74565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612f13602683611eed565b9150612f1e82612eb7565b604082019050919050565b60006020820190508181036000830152612f4281612f06565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fa5602183611eed565b9150612fb082612f49565b604082019050919050565b60006020820190508181036000830152612fd481612f98565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613037602283611eed565b915061304282612fdb565b604082019050919050565b600060208201905081810360008301526130668161302a565b9050919050565b600061307882611ffc565b915061308383611ffc565b925082820390508181111561309b5761309a6123c4565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006130d7602083611eed565b91506130e2826130a1565b602082019050919050565b60006020820190508181036000830152613106816130ca565b905091905056fea26469706673582212207a0f02847d28e27ec892ced76b9483db1ac9cd49d4b2fba36aed48d47e60ca1c64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc20000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc20000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc200000000000000000000000000000000000000000000000000000000000000045065656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045045454e00000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Peen
Arg [1] : symbol_ (string): PEEN
Arg [2] : pauser_ (address): 0x8E70aB1bB13Fbbaf40450a80a8A950aF512abBc2
Arg [3] : blacklister_ (address): 0x8E70aB1bB13Fbbaf40450a80a8A950aF512abBc2
Arg [4] : to_ (address): 0x8E70aB1bB13Fbbaf40450a80a8A950aF512abBc2
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc2
Arg [3] : 0000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc2
Arg [4] : 0000000000000000000000008e70ab1bb13fbbaf40450a80a8a950af512abbc2
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 5065656e00000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 5045454e00000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
8572:12070:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13333:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15544:163;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13948:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9011:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16031:440;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13752:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16804:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11558:62;;;:::i;:::-;;19984:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12300:337;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7650:80;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13100:134;;;:::i;:::-;;14228:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5250:97;;;:::i;:::-;;11133:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11445:58;;;:::i;:::-;;12796:149;;;:::i;:::-;;4645:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9038:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13530:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10724:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17326:384;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14629:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11769:397;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15096:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5492:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8941:65;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8762:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13333:94;13387:13;13416:5;13409:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13333:94;:::o;15544:163::-;15636:4;7295:19;:17;:19::i;:::-;15649:34:::1;15658:12;:10;:12::i;:::-;15672:2;15676:6;15649:8;:34::i;:::-;15697:4;15690:11;;15544:163:::0;;;;:::o;13948:102::-;14009:7;14032:12;;14025:19;;13948:102;:::o;9011:22::-;;;;;;;;;;;;;:::o;16031:440::-;16151:4;7295:19;:17;:19::i;:::-;16164:36:::1;16174:6;16182:9;16193:6;16164:9;:36::i;:::-;16209:24;16236:11;:19;16248:6;16236:19;;;;;;;;;;;;;;;:33;16256:12;:10;:12::i;:::-;16236:33;;;;;;;;;;;;;;;;16209:60;;16304:6;16284:16;:26;;16276:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;16381:57;16390:6;16398:12;:10;:12::i;:::-;16431:6;16412:16;:25;16381:8;:57::i;:::-;16461:4;16454:11;;;16031:440:::0;;;;;:::o;13752:94::-;13810:5;8934:2;13824:16;;13752:94;:::o;16804:204::-;16901:4;7295:19;:17;:19::i;:::-;16914:70:::1;16923:12;:10;:12::i;:::-;16937:2;16973:10;16941:11;:25;16953:12;:10;:12::i;:::-;16941:25;;;;;;;;;;;;;;;:29;16967:2;16941:29;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;16914:8;:70::i;:::-;16998:4;16991:11;;16804:204:::0;;;;:::o;11558:62::-;10532:7;;;;;;;;;;;10518:21;;:10;:21;;;10510:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;11604:10:::1;:8;:10::i;:::-;11558:62::o:0;19984:93::-;7295:19;:17;:19::i;:::-;20044:27:::1;20050:12;:10;:12::i;:::-;20064:6;20044:5;:27::i;:::-;19984:93:::0;:::o;12300:337::-;4545:13;:11;:13::i;:::-;12398:1:::1;12376:24;;:10;:24;;::::0;12368:50:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12452:1;12433:21;;:7;;;;;;;;;;;:21;;::::0;12425:68:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12500:17;12520:7;;;;;;;;;;;12500:27;;12544:10;12534:7;;:20;;;;;;;;;;;;;;;;;;12603:10;12566:65;;12592:9;12566:65;;12580:10;12566:65;;;12615:15;12566:65;;;;;;:::i;:::-;;;;;;;;12361:276;12300:337:::0;:::o;7650:80::-;7697:4;7717:7;;;;;;;;;;;7710:14;;7650:80;:::o;13100:134::-;4545:13;:11;:13::i;:::-;13170:1:::1;13152:7;;:20;;;;;;;;;;;;;;;;;;13200:10;13184:44;;;13212:15;13184:44;;;;;;:::i;:::-;;;;;;;;13100:134::o:0;14228:121::-;14302:7;14325:9;:18;14335:7;14325:18;;;;;;;;;;;;;;;;14318:25;;14228:121;;;:::o;5250:97::-;4545:13;:11;:13::i;:::-;5311:30:::1;5338:1;5311:18;:30::i;:::-;5250:97::o:0;11133:259::-;10417:12;;;;;;;;;;;10403:26;;:10;:26;;;10395:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11230:9:::1;11225:93;11249:6;;:13;;11245:1;:17;11225:93;;;11305:5;11278:13;:24;11292:6;;11299:1;11292:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11278:24;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;11264:3;;;;;:::i;:::-;;;;11225:93;;;;11350:10;11329:57;;;11362:6;;11370:15;11329:57;;;;;;;;:::i;:::-;;;;;;;;11133:259:::0;;:::o;11445:58::-;10532:7;;;;;;;;;;;10518:21;;:10;:21;;;10510:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;11489:8:::1;:6;:8::i;:::-;11445:58::o:0;12796:149::-;4545:13;:11;:13::i;:::-;12876:1:::1;12853:12;;:25;;;;;;;;;;;;;;;;;;12911:10;12890:49;;;12923:15;12890:49;;;;;;:::i;:::-;;;;;;;;12796:149::o:0;4645:81::-;4691:7;4714:6;;;;;;;;;;;4707:13;;4645:81;:::o;9038:27::-;;;;;;;;;;;;;:::o;13530:98::-;13586:13;13615:7;13608:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13530:98;:::o;10724:244::-;10417:12;;;;;;;;;;;10403:26;;:10;:26;;;10395:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10811:9:::1;10806:92;10830:6;;:13;;10826:1;:17;10806:92;;;10886:4;10859:13;:24;10873:6;;10880:1;10873:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10859:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;10845:3;;;;;:::i;:::-;;;;10806:92;;;;10926:10;10909:53;;;10938:6;;10946:15;10909:53;;;;;;;;:::i;:::-;;;;;;;;10724:244:::0;;:::o;17326:384::-;17428:4;7295:19;:17;:19::i;:::-;17441:24:::1;17468:11;:25;17480:12;:10;:12::i;:::-;17468:25;;;;;;;;;;;;;;;:29;17494:2;17468:29;;;;;;;;;;;;;;;;17441:56;;17532:15;17512:16;:35;;17504:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;17615:62;17624:12;:10;:12::i;:::-;17638:2;17661:15;17642:16;:34;17615:8;:62::i;:::-;17700:4;17693:11;;;17326:384:::0;;;;:::o;14629:179::-;14729:4;7295:19;:17;:19::i;:::-;14742:42:::1;14752:12;:10;:12::i;:::-;14766:9;14777:6;14742:9;:42::i;:::-;14798:4;14791:11;;14629:179:::0;;;;:::o;11769:397::-;4545:13;:11;:13::i;:::-;11882:1:::1;11855:29;;:15;:29;;::::0;11847:55:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11941:1;11917:26;;:12;;;;;;;;;;;:26;;::::0;11909:78:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11994:22;12019:12;;;;;;;;;;;11994:37;;12053:15;12038:12;;:30;;;;;;;;;;;;;;;;;;12127:15;12080:80;;12111:14;12080:80;;12099:10;12080:80;;;12144:15;12080:80;;;;;;:::i;:::-;;;;;;;;11840:326;11769:397:::0;:::o;15096:133::-;15179:7;15202:11;:17;15214:4;15202:17;;;;;;;;;;;;;;;:21;15220:2;15202:21;;;;;;;;;;;;;;;;15195:28;;15096:133;;;;:::o;5492:191::-;4545:13;:11;:13::i;:::-;5597:1:::1;5577:22;;:8;:22;;::::0;5569:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5649:28;5668:8;5649:18;:28::i;:::-;5492:191:::0;:::o;8941:65::-;8934:2;8990;:15;;;;:::i;:::-;8975:11;:31;;;;:::i;:::-;8941:65;:::o;8762:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7795:116::-;7857:8;:6;:8::i;:::-;7853:53;;;7883:15;;;;;;;;;;;;;;7853:53;7795:116::o;3412:92::-;3465:7;3488:10;3481:17;;3412:92;:::o;20335:304::-;20443:1;20427:18;;:4;:18;;;20419:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20515:1;20501:16;;:2;:16;;;20493:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;20589:6;20565:11;:17;20577:4;20565:17;;;;;;;;;;;;;;;:21;20583:2;20565:21;;;;;;;;;;;;;;;:30;;;;20622:2;20607:26;;20616:4;20607:26;;;20626:6;20607:26;;;;;;:::i;:::-;;;;;;;;20335:304;;;:::o;17966:755::-;18069:13;:21;18083:6;18069:21;;;;;;;;;;;;;;;;;;;;;;;;;18068:22;18060:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;18145:13;:24;18159:9;18145:24;;;;;;;;;;;;;;;;;;;;;;;;;18144:25;18136:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;18235:1;18226:6;:10;18218:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;18301:1;18283:20;;:6;:20;;;18275:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18381:1;18360:23;;:9;:23;;;18352:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18432:21;18456:9;:17;18466:6;18456:17;;;;;;;;;;;;;;;;18432:41;;18505:6;18488:13;:23;;18480:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18616:6;18600:13;:22;18580:9;:17;18590:6;18580:17;;;;;;;;;;;;;;;:42;;;;18660:6;18636:9;:20;18646:9;18636:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;18697:9;18680:35;;18689:6;18680:35;;;18708:6;18680:35;;;;;;:::i;:::-;;;;;;;;18053:668;17966:755;;;:::o;8455:110::-;7528:16;:14;:16::i;:::-;8520:5:::1;8510:7:::0;::::1;:15;;;;;;;;;;;;;;;;;;8537:22;8546:12;:10;:12::i;:::-;8537:22;;;;;;:::i;:::-;;;;;;;;8455:110::o:0;19392:432::-;19491:1;19472:21;;:7;:21;;;19464:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19540:22;19565:9;:18;19575:7;19565:18;;;;;;;;;;;;;;;;19540:43;;19616:6;19598:14;:24;;19590:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;19725:6;19708:14;:23;19687:9;:18;19697:7;19687:18;;;;;;;;;;;;;;;:44;;;;19761:6;19745:12;;:22;;;;;;;:::i;:::-;;;;;;;;19807:1;19781:37;;19790:7;19781:37;;;19811:6;19781:37;;;;;;:::i;:::-;;;;;;;;19457:367;19392:432;;:::o;4796:126::-;4867:12;:10;:12::i;:::-;4856:23;;:7;:5;:7::i;:::-;:23;;;4848:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4796:126::o;5833:177::-;5903:16;5922:6;;;;;;;;;;;5903:25;;5944:8;5935:6;;:17;;;;;;;;;;;;;;;;;;5995:8;5964:40;;5985:8;5964:40;;;;;;;;;;;;5896:114;5833:177;:::o;8222:108::-;7295:19;:17;:19::i;:::-;8288:4:::1;8278:7;;:14;;;;;;;;;;;;;;;;;;8304:20;8311:12;:10;:12::i;:::-;8304:20;;;;;;:::i;:::-;;;;;;;;8222:108::o:0;7980:114::-;8040:8;:6;:8::i;:::-;8035:54;;8066:15;;;;;;;;;;;;;;8035:54;7980:114::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:118::-;3885:24;3903:5;3885:24;:::i;:::-;3880:3;3873:37;3798:118;;:::o;3922:222::-;4015:4;4053:2;4042:9;4038:18;4030:26;;4066:71;4134:1;4123:9;4119:17;4110:6;4066:71;:::i;:::-;3922:222;;;;:::o;4150:619::-;4227:6;4235;4243;4292:2;4280:9;4271:7;4267:23;4263:32;4260:119;;;4298:79;;:::i;:::-;4260:119;4418:1;4443:53;4488:7;4479:6;4468:9;4464:22;4443:53;:::i;:::-;4433:63;;4389:117;4545:2;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4516:118;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4150:619;;;;;:::o;4775:86::-;4810:7;4850:4;4843:5;4839:16;4828:27;;4775:86;;;:::o;4867:112::-;4950:22;4966:5;4950:22;:::i;:::-;4945:3;4938:35;4867:112;;:::o;4985:214::-;5074:4;5112:2;5101:9;5097:18;5089:26;;5125:67;5189:1;5178:9;5174:17;5165:6;5125:67;:::i;:::-;4985:214;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:117::-;5984:1;5981;5974:12;5998:117;6107:1;6104;6097:12;6121:117;6230:1;6227;6220:12;6261:568;6334:8;6344:6;6394:3;6387:4;6379:6;6375:17;6371:27;6361:122;;6402:79;;:::i;:::-;6361:122;6515:6;6502:20;6492:30;;6545:18;6537:6;6534:30;6531:117;;;6567:79;;:::i;:::-;6531:117;6681:4;6673:6;6669:17;6657:29;;6735:3;6727:4;6719:6;6715:17;6705:8;6701:32;6698:41;6695:128;;;6742:79;;:::i;:::-;6695:128;6261:568;;;;;:::o;6835:559::-;6921:6;6929;6978:2;6966:9;6957:7;6953:23;6949:32;6946:119;;;6984:79;;:::i;:::-;6946:119;7132:1;7121:9;7117:17;7104:31;7162:18;7154:6;7151:30;7148:117;;;7184:79;;:::i;:::-;7148:117;7297:80;7369:7;7360:6;7349:9;7345:22;7297:80;:::i;:::-;7279:98;;;;7075:312;6835:559;;;;;:::o;7400:474::-;7468:6;7476;7525:2;7513:9;7504:7;7500:23;7496:32;7493:119;;;7531:79;;:::i;:::-;7493:119;7651:1;7676:53;7721:7;7712:6;7701:9;7697:22;7676:53;:::i;:::-;7666:63;;7622:117;7778:2;7804:53;7849:7;7840:6;7829:9;7825:22;7804:53;:::i;:::-;7794:63;;7749:118;7400:474;;;;;:::o;7880:180::-;7928:77;7925:1;7918:88;8025:4;8022:1;8015:15;8049:4;8046:1;8039:15;8066:320;8110:6;8147:1;8141:4;8137:12;8127:22;;8194:1;8188:4;8184:12;8215:18;8205:81;;8271:4;8263:6;8259:17;8249:27;;8205:81;8333:2;8325:6;8322:14;8302:18;8299:38;8296:84;;8352:18;;:::i;:::-;8296:84;8117:269;8066:320;;;:::o;8392:227::-;8532:34;8528:1;8520:6;8516:14;8509:58;8601:10;8596:2;8588:6;8584:15;8577:35;8392:227;:::o;8625:366::-;8767:3;8788:67;8852:2;8847:3;8788:67;:::i;:::-;8781:74;;8864:93;8953:3;8864:93;:::i;:::-;8982:2;8977:3;8973:12;8966:19;;8625:366;;;:::o;8997:419::-;9163:4;9201:2;9190:9;9186:18;9178:26;;9250:9;9244:4;9240:20;9236:1;9225:9;9221:17;9214:47;9278:131;9404:4;9278:131;:::i;:::-;9270:139;;8997:419;;;:::o;9422:180::-;9470:77;9467:1;9460:88;9567:4;9564:1;9557:15;9591:4;9588:1;9581:15;9608:191;9648:3;9667:20;9685:1;9667:20;:::i;:::-;9662:25;;9701:20;9719:1;9701:20;:::i;:::-;9696:25;;9744:1;9741;9737:9;9730:16;;9765:3;9762:1;9759:10;9756:36;;;9772:18;;:::i;:::-;9756:36;9608:191;;;;:::o;9805:174::-;9945:26;9941:1;9933:6;9929:14;9922:50;9805:174;:::o;9985:366::-;10127:3;10148:67;10212:2;10207:3;10148:67;:::i;:::-;10141:74;;10224:93;10313:3;10224:93;:::i;:::-;10342:2;10337:3;10333:12;10326:19;;9985:366;;;:::o;10357:419::-;10523:4;10561:2;10550:9;10546:18;10538:26;;10610:9;10604:4;10600:20;10596:1;10585:9;10581:17;10574:47;10638:131;10764:4;10638:131;:::i;:::-;10630:139;;10357:419;;;:::o;10782:163::-;10922:15;10918:1;10910:6;10906:14;10899:39;10782:163;:::o;10951:366::-;11093:3;11114:67;11178:2;11173:3;11114:67;:::i;:::-;11107:74;;11190:93;11279:3;11190:93;:::i;:::-;11308:2;11303:3;11299:12;11292:19;;10951:366;;;:::o;11323:419::-;11489:4;11527:2;11516:9;11512:18;11504:26;;11576:9;11570:4;11566:20;11562:1;11551:9;11547:17;11540:47;11604:131;11730:4;11604:131;:::i;:::-;11596:139;;11323:419;;;:::o;11748:221::-;11888:34;11884:1;11876:6;11872:14;11865:58;11957:4;11952:2;11944:6;11940:15;11933:29;11748:221;:::o;11975:366::-;12117:3;12138:67;12202:2;12197:3;12138:67;:::i;:::-;12131:74;;12214:93;12303:3;12214:93;:::i;:::-;12332:2;12327:3;12323:12;12316:19;;11975:366;;;:::o;12347:419::-;12513:4;12551:2;12540:9;12536:18;12528:26;;12600:9;12594:4;12590:20;12586:1;12575:9;12571:17;12564:47;12628:131;12754:4;12628:131;:::i;:::-;12620:139;;12347:419;;;:::o;12772:179::-;12912:31;12908:1;12900:6;12896:14;12889:55;12772:179;:::o;12957:366::-;13099:3;13120:67;13184:2;13179:3;13120:67;:::i;:::-;13113:74;;13196:93;13285:3;13196:93;:::i;:::-;13314:2;13309:3;13305:12;13298:19;;12957:366;;;:::o;13329:419::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13582:9;13576:4;13572:20;13568:1;13557:9;13553:17;13546:47;13610:131;13736:4;13610:131;:::i;:::-;13602:139;;13329:419;;;:::o;13754:180::-;13802:77;13799:1;13792:88;13899:4;13896:1;13889:15;13923:4;13920:1;13913:15;13940:233;13979:3;14002:24;14020:5;14002:24;:::i;:::-;13993:33;;14048:66;14041:5;14038:77;14035:103;;14118:18;;:::i;:::-;14035:103;14165:1;14158:5;14154:13;14147:20;;13940:233;;;:::o;14179:184::-;14278:11;14312:6;14307:3;14300:19;14352:4;14347:3;14343:14;14328:29;;14179:184;;;;:::o;14369:102::-;14438:4;14461:3;14453:11;;14369:102;;;:::o;14477:108::-;14554:24;14572:5;14554:24;:::i;:::-;14549:3;14542:37;14477:108;;:::o;14591:179::-;14660:10;14681:46;14723:3;14715:6;14681:46;:::i;:::-;14759:4;14754:3;14750:14;14736:28;;14591:179;;;;:::o;14776:122::-;14828:5;14853:39;14888:2;14883:3;14879:12;14874:3;14853:39;:::i;:::-;14844:48;;14776:122;;;;:::o;14904:115::-;14976:4;15008;15003:3;14999:14;14991:22;;14904:115;;;:::o;15055:699::-;15184:3;15207:86;15286:6;15281:3;15207:86;:::i;:::-;15200:93;;15317:58;15369:5;15317:58;:::i;:::-;15398:7;15429:1;15414:315;15439:6;15436:1;15433:13;15414:315;;;15509:42;15544:6;15535:7;15509:42;:::i;:::-;15571:63;15630:3;15615:13;15571:63;:::i;:::-;15564:70;;15657:62;15712:6;15657:62;:::i;:::-;15647:72;;15474:255;15461:1;15458;15454:9;15449:14;;15414:315;;;15418:14;15745:3;15738:10;;15189:565;;15055:699;;;;;:::o;15760:503::-;15941:4;15979:2;15968:9;15964:18;15956:26;;16028:9;16022:4;16018:20;16014:1;16003:9;15999:17;15992:47;16056:118;16169:4;16160:6;16152;16056:118;:::i;:::-;16048:126;;16184:72;16252:2;16241:9;16237:18;16228:6;16184:72;:::i;:::-;15760:503;;;;;;:::o;16269:224::-;16409:34;16405:1;16397:6;16393:14;16386:58;16478:7;16473:2;16465:6;16461:15;16454:32;16269:224;:::o;16499:366::-;16641:3;16662:67;16726:2;16721:3;16662:67;:::i;:::-;16655:74;;16738:93;16827:3;16738:93;:::i;:::-;16856:2;16851:3;16847:12;16840:19;;16499:366;;;:::o;16871:419::-;17037:4;17075:2;17064:9;17060:18;17052:26;;17124:9;17118:4;17114:20;17110:1;17099:9;17095:17;17088:47;17152:131;17278:4;17152:131;:::i;:::-;17144:139;;16871:419;;;:::o;17296:226::-;17436:34;17432:1;17424:6;17420:14;17413:58;17505:9;17500:2;17492:6;17488:15;17481:34;17296:226;:::o;17528:366::-;17670:3;17691:67;17755:2;17750:3;17691:67;:::i;:::-;17684:74;;17767:93;17856:3;17767:93;:::i;:::-;17885:2;17880:3;17876:12;17869:19;;17528:366;;;:::o;17900:419::-;18066:4;18104:2;18093:9;18089:18;18081:26;;18153:9;18147:4;18143:20;18139:1;18128:9;18124:17;18117:47;18181:131;18307:4;18181:131;:::i;:::-;18173:139;;17900:419;;;:::o;18325:225::-;18465:34;18461:1;18453:6;18449:14;18442:58;18534:8;18529:2;18521:6;18517:15;18510:33;18325:225;:::o;18556:366::-;18698:3;18719:67;18783:2;18778:3;18719:67;:::i;:::-;18712:74;;18795:93;18884:3;18795:93;:::i;:::-;18913:2;18908:3;18904:12;18897:19;;18556:366;;;:::o;18928:419::-;19094:4;19132:2;19121:9;19117:18;19109:26;;19181:9;19175:4;19171:20;19167:1;19156:9;19152:17;19145:47;19209:131;19335:4;19209:131;:::i;:::-;19201:139;;18928:419;;;:::o;19353:102::-;19395:8;19442:5;19439:1;19435:13;19414:34;;19353:102;;;:::o;19461:848::-;19522:5;19529:4;19553:6;19544:15;;19577:5;19568:14;;19591:712;19612:1;19602:8;19599:15;19591:712;;;19707:4;19702:3;19698:14;19692:4;19689:24;19686:50;;;19716:18;;:::i;:::-;19686:50;19766:1;19756:8;19752:16;19749:451;;;20181:4;20174:5;20170:16;20161:25;;19749:451;20231:4;20225;20221:15;20213:23;;20261:32;20284:8;20261:32;:::i;:::-;20249:44;;19591:712;;;19461:848;;;;;;;:::o;20315:1073::-;20369:5;20560:8;20550:40;;20581:1;20572:10;;20583:5;;20550:40;20609:4;20599:36;;20626:1;20617:10;;20628:5;;20599:36;20695:4;20743:1;20738:27;;;;20779:1;20774:191;;;;20688:277;;20738:27;20756:1;20747:10;;20758:5;;;20774:191;20819:3;20809:8;20806:17;20803:43;;;20826:18;;:::i;:::-;20803:43;20875:8;20872:1;20868:16;20859:25;;20910:3;20903:5;20900:14;20897:40;;;20917:18;;:::i;:::-;20897:40;20950:5;;;20688:277;;21074:2;21064:8;21061:16;21055:3;21049:4;21046:13;21042:36;21024:2;21014:8;21011:16;21006:2;21000:4;20997:12;20993:35;20977:111;20974:246;;;21130:8;21124:4;21120:19;21111:28;;21165:3;21158:5;21155:14;21152:40;;;21172:18;;:::i;:::-;21152:40;21205:5;;20974:246;21245:42;21283:3;21273:8;21267:4;21264:1;21245:42;:::i;:::-;21230:57;;;;21319:4;21314:3;21310:14;21303:5;21300:25;21297:51;;;21328:18;;:::i;:::-;21297:51;21377:4;21370:5;21366:16;21357:25;;20315:1073;;;;;;:::o;21394:281::-;21452:5;21476:23;21494:4;21476:23;:::i;:::-;21468:31;;21520:25;21536:8;21520:25;:::i;:::-;21508:37;;21564:104;21601:66;21591:8;21585:4;21564:104;:::i;:::-;21555:113;;21394:281;;;;:::o;21681:410::-;21721:7;21744:20;21762:1;21744:20;:::i;:::-;21739:25;;21778:20;21796:1;21778:20;:::i;:::-;21773:25;;21833:1;21830;21826:9;21855:30;21873:11;21855:30;:::i;:::-;21844:41;;22034:1;22025:7;22021:15;22018:1;22015:22;21995:1;21988:9;21968:83;21945:139;;22064:18;;:::i;:::-;21945:139;21729:362;21681:410;;;;:::o;22097:223::-;22237:34;22233:1;22225:6;22221:14;22214:58;22306:6;22301:2;22293:6;22289:15;22282:31;22097:223;:::o;22326:366::-;22468:3;22489:67;22553:2;22548:3;22489:67;:::i;:::-;22482:74;;22565:93;22654:3;22565:93;:::i;:::-;22683:2;22678:3;22674:12;22667:19;;22326:366;;;:::o;22698:419::-;22864:4;22902:2;22891:9;22887:18;22879:26;;22951:9;22945:4;22941:20;22937:1;22926:9;22922:17;22915:47;22979:131;23105:4;22979:131;:::i;:::-;22971:139;;22698:419;;;:::o;23123:221::-;23263:34;23259:1;23251:6;23247:14;23240:58;23332:4;23327:2;23319:6;23315:15;23308:29;23123:221;:::o;23350:366::-;23492:3;23513:67;23577:2;23572:3;23513:67;:::i;:::-;23506:74;;23589:93;23678:3;23589:93;:::i;:::-;23707:2;23702:3;23698:12;23691:19;;23350:366;;;:::o;23722:419::-;23888:4;23926:2;23915:9;23911:18;23903:26;;23975:9;23969:4;23965:20;23961:1;23950:9;23946:17;23939:47;24003:131;24129:4;24003:131;:::i;:::-;23995:139;;23722:419;;;:::o;24147:221::-;24287:34;24283:1;24275:6;24271:14;24264:58;24356:4;24351:2;24343:6;24339:15;24332:29;24147:221;:::o;24374:366::-;24516:3;24537:67;24601:2;24596:3;24537:67;:::i;:::-;24530:74;;24613:93;24702:3;24613:93;:::i;:::-;24731:2;24726:3;24722:12;24715:19;;24374:366;;;:::o;24746:419::-;24912:4;24950:2;24939:9;24935:18;24927:26;;24999:9;24993:4;24989:20;24985:1;24974:9;24970:17;24963:47;25027:131;25153:4;25027:131;:::i;:::-;25019:139;;24746:419;;;:::o;25171:224::-;25311:34;25307:1;25299:6;25295:14;25288:58;25380:7;25375:2;25367:6;25363:15;25356:32;25171:224;:::o;25401:366::-;25543:3;25564:67;25628:2;25623:3;25564:67;:::i;:::-;25557:74;;25640:93;25729:3;25640:93;:::i;:::-;25758:2;25753:3;25749:12;25742:19;;25401:366;;;:::o;25773:419::-;25939:4;25977:2;25966:9;25962:18;25954:26;;26026:9;26020:4;26016:20;26012:1;26001:9;25997:17;25990:47;26054:131;26180:4;26054:131;:::i;:::-;26046:139;;25773:419;;;:::o;26198:177::-;26338:29;26334:1;26326:6;26322:14;26315:53;26198:177;:::o;26381:366::-;26523:3;26544:67;26608:2;26603:3;26544:67;:::i;:::-;26537:74;;26620:93;26709:3;26620:93;:::i;:::-;26738:2;26733:3;26729:12;26722:19;;26381:366;;;:::o;26753:419::-;26919:4;26957:2;26946:9;26942:18;26934:26;;27006:9;27000:4;26996:20;26992:1;26981:9;26977:17;26970:47;27034:131;27160:4;27034:131;:::i;:::-;27026:139;;26753:419;;;:::o;27178:224::-;27318:34;27314:1;27306:6;27302:14;27295:58;27387:7;27382:2;27374:6;27370:15;27363:32;27178:224;:::o;27408:366::-;27550:3;27571:67;27635:2;27630:3;27571:67;:::i;:::-;27564:74;;27647:93;27736:3;27647:93;:::i;:::-;27765:2;27760:3;27756:12;27749:19;;27408:366;;;:::o;27780:419::-;27946:4;27984:2;27973:9;27969:18;27961:26;;28033:9;28027:4;28023:20;28019:1;28008:9;28004:17;27997:47;28061:131;28187:4;28061:131;:::i;:::-;28053:139;;27780:419;;;:::o;28205:222::-;28345:34;28341:1;28333:6;28329:14;28322:58;28414:5;28409:2;28401:6;28397:15;28390:30;28205:222;:::o;28433:366::-;28575:3;28596:67;28660:2;28655:3;28596:67;:::i;:::-;28589:74;;28672:93;28761:3;28672:93;:::i;:::-;28790:2;28785:3;28781:12;28774:19;;28433:366;;;:::o;28805:419::-;28971:4;29009:2;28998:9;28994:18;28986:26;;29058:9;29052:4;29048:20;29044:1;29033:9;29029:17;29022:47;29086:131;29212:4;29086:131;:::i;:::-;29078:139;;28805:419;;;:::o;29230:225::-;29370:34;29366:1;29358:6;29354:14;29347:58;29439:8;29434:2;29426:6;29422:15;29415:33;29230:225;:::o;29461:366::-;29603:3;29624:67;29688:2;29683:3;29624:67;:::i;:::-;29617:74;;29700:93;29789:3;29700:93;:::i;:::-;29818:2;29813:3;29809:12;29802:19;;29461:366;;;:::o;29833:419::-;29999:4;30037:2;30026:9;30022:18;30014:26;;30086:9;30080:4;30076:20;30072:1;30061:9;30057:17;30050:47;30114:131;30240:4;30114:131;:::i;:::-;30106:139;;29833:419;;;:::o;30258:220::-;30398:34;30394:1;30386:6;30382:14;30375:58;30467:3;30462:2;30454:6;30450:15;30443:28;30258:220;:::o;30484:366::-;30626:3;30647:67;30711:2;30706:3;30647:67;:::i;:::-;30640:74;;30723:93;30812:3;30723:93;:::i;:::-;30841:2;30836:3;30832:12;30825:19;;30484:366;;;:::o;30856:419::-;31022:4;31060:2;31049:9;31045:18;31037:26;;31109:9;31103:4;31099:20;31095:1;31084:9;31080:17;31073:47;31137:131;31263:4;31137:131;:::i;:::-;31129:139;;30856:419;;;:::o;31281:221::-;31421:34;31417:1;31409:6;31405:14;31398:58;31490:4;31485:2;31477:6;31473:15;31466:29;31281:221;:::o;31508:366::-;31650:3;31671:67;31735:2;31730:3;31671:67;:::i;:::-;31664:74;;31747:93;31836:3;31747:93;:::i;:::-;31865:2;31860:3;31856:12;31849:19;;31508:366;;;:::o;31880:419::-;32046:4;32084:2;32073:9;32069:18;32061:26;;32133:9;32127:4;32123:20;32119:1;32108:9;32104:17;32097:47;32161:131;32287:4;32161:131;:::i;:::-;32153:139;;31880:419;;;:::o;32305:194::-;32345:4;32365:20;32383:1;32365:20;:::i;:::-;32360:25;;32399:20;32417:1;32399:20;:::i;:::-;32394:25;;32443:1;32440;32436:9;32428:17;;32467:1;32461:4;32458:11;32455:37;;;32472:18;;:::i;:::-;32455:37;32305:194;;;;:::o;32505:182::-;32645:34;32641:1;32633:6;32629:14;32622:58;32505:182;:::o;32693:366::-;32835:3;32856:67;32920:2;32915:3;32856:67;:::i;:::-;32849:74;;32932:93;33021:3;32932:93;:::i;:::-;33050:2;33045:3;33041:12;33034:19;;32693:366;;;:::o;33065:419::-;33231:4;33269:2;33258:9;33254:18;33246:26;;33318:9;33312:4;33308:20;33304:1;33293:9;33289:17;33282:47;33346:131;33472:4;33346:131;:::i;:::-;33338:139;;33065:419;;;:::o
Swarm Source
ipfs://7a0f02847d28e27ec892ced76b9483db1ac9cd49d4b2fba36aed48d47e60ca1c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.