Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 6 from a total of 6 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 12535447 | 1734 days ago | IN | 0 ETH | 0.00111214 | ||||
| Transfer | 12534770 | 1734 days ago | IN | 0 ETH | 0.00117044 | ||||
| Transfer | 12529017 | 1735 days ago | IN | 0 ETH | 0.00111214 | ||||
| Transfer | 12523442 | 1736 days ago | IN | 0 ETH | 0.00198974 | ||||
| Transfer | 12522720 | 1736 days ago | IN | 0 ETH | 0.00204869 | ||||
| Transfer | 12521742 | 1736 days ago | IN | 0 ETH | 0.00186723 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ERC20Custom
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-05-29
*/
/**
*Submitted for verification at Etherscan.io on 2020-10-01
*/
/**
*Submitted for verification at Etherscan.io on 2020-09-29
*/
/**
*Submitted for verification at Etherscan.io on 2019-12-12
*/
pragma solidity ^0.5.0;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
library Roles {
struct Role {
mapping (address => bool) bearer;
}
/**
* @dev give an account access to this role
*/
function add(Role storage role, address account) internal {
require(account != address(0));
require(!has(role, account));
role.bearer[account] = true;
}
/**
* @dev remove an account's access to this role
*/
function remove(Role storage role, address account) internal {
require(account != address(0));
require(has(role, account));
role.bearer[account] = false;
}
/**
* @dev check if an account has this role
* @return bool
*/
function has(Role storage role, address account) internal view returns (bool) {
require(account != address(0));
return role.bearer[account];
}
}
contract Ownable {
address public owner;
address public newOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() public {
owner = msg.sender;
newOwner = address(0);
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
modifier onlyNewOwner() {
require(msg.sender != address(0));
require(msg.sender == newOwner);
_;
}
function isOwner(address account) public view returns (bool) {
if( account == owner ){
return true;
}
else {
return false;
}
}
function transferOwnership(address _newOwner) public onlyOwner {
require(_newOwner != address(0));
newOwner = _newOwner;
}
function acceptOwnership() public onlyNewOwner returns(bool) {
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
newOwner = address(0);
}
}
contract PauserRole is Ownable{
using Roles for Roles.Role;
event PauserAdded(address indexed account);
event PauserRemoved(address indexed account);
Roles.Role private _pausers;
constructor () internal {
_addPauser(msg.sender);
}
modifier onlyPauser() {
require(isPauser(msg.sender)|| isOwner(msg.sender));
_;
}
function isPauser(address account) public view returns (bool) {
return _pausers.has(account);
}
function addPauser(address account) public onlyPauser {
_addPauser(account);
}
function removePauser(address account) public onlyOwner {
_removePauser(account);
}
function renouncePauser() public {
_removePauser(msg.sender);
}
function _addPauser(address account) internal {
_pausers.add(account);
emit PauserAdded(account);
}
function _removePauser(address account) internal {
_pausers.remove(account);
emit PauserRemoved(account);
}
}
contract Pausable is PauserRole {
event Paused(address account);
event Unpaused(address account);
bool private _paused;
constructor () internal {
_paused = false;
}
/**
* @return true if the contract is paused, false otherwise.
*/
function paused() public view returns (bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*/
modifier whenNotPaused() {
require(!_paused);
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*/
modifier whenPaused() {
require(_paused);
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() public onlyPauser whenNotPaused {
_paused = true;
emit Paused(msg.sender);
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() public onlyPauser whenPaused {
_paused = false;
emit Unpaused(msg.sender);
}
}
interface IERC20 {
function transfer(address to, uint256 value) external returns (bool);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(address from, address to, uint256 value) external returns (bool);
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract ERC20 is IERC20 {
using SafeMath for uint256;
mapping (address => uint256) internal _balances;
mapping (address => mapping (address => uint256)) internal _allowed;
uint256 private _totalSupply;
/**
* @dev Total number of tokens in existence
*/
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
/**
* @dev Gets the balance of the specified address.
* @param owner The address to query the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address owner) public view returns (uint256) {
return _balances[owner];
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param owner address The address which owns the funds.
* @param spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
*/
function allowance(address owner, address spender) public view returns (uint256) {
return _allowed[owner][spender];
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param spender The address which will spend the funds.
* @param value The amount of tokens to be spent.
*/
function approve(address spender, uint256 value) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
/**
* @dev Transfer tokens from one address to another.
* Note that while this function emits an Approval event, this is not required as per the specification,
* and other compliant implementations may not emit the event.
* @param from address The address which you want to send tokens from
* @param to address The address which you want to transfer to
* @param value uint256 the amount of tokens to be transferred
*/
function transferFrom(address from, address to, uint256 value) public returns (bool) {
_allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
_transfer(from, to, value);
emit Approval(from, msg.sender, _allowed[from][msg.sender]);
return true;
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed_[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* Emits an Approval event.
* @param spender The address which will spend the funds.
* @param addedValue The amount of tokens to increase the allowance by.
*/
function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue);
emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
* approve should be called when allowed_[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* Emits an Approval event.
* @param spender The address which will spend the funds.
* @param subtractedValue The amount of tokens to decrease the allowance by.
*/
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
require(spender != address(0));
_allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue);
emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
return true;
}
/**
* @dev Transfer token for a specified address
* @param to The address to transfer to.
* @param value The amount to be transferred.
*/
function transfer(address to, uint256 value) public returns (bool) {
_transfer(msg.sender, to, value);
return true;
}
/**
* @dev Transfer token for a specified addresses
* @param from The address to transfer from.
* @param to The address to transfer to.
* @param value The amount to be transferred.
*/
function _transfer(address from, address to, uint256 value) internal {
require(to != address(0));
require(from != address(0));
_balances[from] = _balances[from].sub(value);
_balances[to] = _balances[to].add(value);
emit Transfer(from, to, value);
}
/**
* @dev Destroys `amount` tokens from the caller.
*
* See {ERC20-_burn}.
*/
function burn(uint256 value) public returns (bool) {
_burn(msg.sender, value);
return true;
}
function mint(uint256 value) public returns (bool) {
_mint(msg.sender, value);
return true;
}
/**
* @dev Internal function that burns an amount of the token of a given
* account.
* @param account The account whose tokens will be burnt.
* @param value The amount that will be burnt.
*/
function _burn(address account, uint256 value) internal {
require(account != address(0));
_totalSupply = _totalSupply.sub(value);
_balances[account] = _balances[account].sub(value);
emit Transfer(account, address(0), value);
}
/**
* @dev Internal function that burns an amount of the token of a given
* account, deducting from the sender's allowance for said account. Uses the
* internal burn function.
* Emits an Approval event (reflecting the reduced allowance).
* @param account The account whose tokens will be burnt.
* @param value The amount that will be burnt.
*/
function _burnFrom(address account, uint256 value) internal {
_allowed[account][msg.sender] = _allowed[account][msg.sender].sub(value);
_burn(account, value);
emit Approval(account, msg.sender, _allowed[account][msg.sender]);
}
/**
* @dev Internal function that mints an amount of the token and assigns it to
* an account. This encapsulates the modification of balances such that the
* proper events are emitted.
* @param account The account that will receive the created tokens.
* @param value The amount that will be created.
*/
function _mint(address account, uint256 value) internal {
require(account != address(0));
_totalSupply = _totalSupply.add(value);
_balances[account] = _balances[account].add(value);
emit Transfer(address(0), account, value);
}
}
contract ERC20Pausable is ERC20, Pausable {
function transfer(address to, uint256 value) public whenNotPaused returns (bool) {
return super.transfer(to, value);
}
function transferFrom(address from, address to, uint256 value) public whenNotPaused returns (bool) {
return super.transferFrom(from, to, value);
}
/*
* approve/increaseApprove/decreaseApprove can be set when Paused state
*/
/*
* function approve(address spender, uint256 value) public whenNotPaused returns (bool) {
* return super.approve(spender, value);
* }
*
* function increaseAllowance(address spender, uint addedValue) public whenNotPaused returns (bool success) {
* return super.increaseAllowance(spender, addedValue);
* }
*
* function decreaseAllowance(address spender, uint subtractedValue) public whenNotPaused returns (bool success) {
* return super.decreaseAllowance(spender, subtractedValue);
* }
*/
}
contract ERC20Detailed is IERC20 {
string private _name;
string private _symbol;
uint8 private _decimals;
constructor (string memory name, string memory symbol, uint8 decimals) public {
_name = name;
_symbol = symbol;
_decimals = decimals;
}
/**
* @return the name of the token.
*/
function name() public view returns (string memory) {
return _name;
}
/**
* @return the symbol of the token.
*/
function symbol() public view returns (string memory) {
return _symbol;
}
/**
* @return the number of decimals of the token.
*/
function decimals() public view returns (uint8) {
return _decimals;
}
}
contract ERC20Custom is ERC20Detailed, ERC20Pausable {
struct LockInfo {
uint256 _releaseTime;
uint256 _amount;
}
mapping (address => LockInfo[]) public timelockList;
mapping (address => bool) public frozenAccount;
event Freeze(address indexed holder);
event Unfreeze(address indexed holder);
event Lock(address indexed holder, uint256 value, uint256 releaseTime);
event Unlock(address indexed holder, uint256 value);
modifier notFrozen(address _holder) {
require(!frozenAccount[_holder]);
_;
}
constructor(
uint256 initialSupply,
uint8 decimals,
string memory tokenName,
string memory tokenSymbol
) ERC20Detailed(tokenName, tokenSymbol, decimals) public {
_mint(msg.sender, initialSupply * (10 ** uint256(decimals)));
}
function timelockListLength(address owner) public view returns (uint256) {
return timelockList[owner].length;
}
function balanceOf(address owner) public view returns (uint256) {
uint256 totalBalance = super.balanceOf(owner);
if( timelockList[owner].length >0 ){
for(uint i=0; i<timelockList[owner].length;i++){
totalBalance = totalBalance.add(timelockList[owner][i]._amount);
}
}
return totalBalance;
}
function balanceOfTimelocked(address owner) public view returns (uint256) {
uint256 totalLocked = 0;
if( timelockList[owner].length >0 ){
for(uint i=0; i<timelockList[owner].length;i++){
totalLocked = totalLocked.add(timelockList[owner][i]._amount);
}
}
return totalLocked;
}
function balanceOfAvailable(address owner) public view returns (uint256) {
uint256 totalBalance = super.balanceOf(owner);
return totalBalance;
}
function transfer(address to, uint256 value) public notFrozen(msg.sender) returns (bool) {
if (timelockList[msg.sender].length > 0 ) {
_autoUnlock(msg.sender);
}
return super.transfer(to, value);
}
function transferFrom(address from, address to, uint256 value) public notFrozen(from) returns (bool) {
if (timelockList[from].length > 0) {
_autoUnlock(from);
}
return super.transferFrom(from, to, value);
}
function freezeAccount(address holder) public onlyPauser returns (bool) {
require(!frozenAccount[holder]);
require(timelockList[holder].length == 0);
frozenAccount[holder] = true;
emit Freeze(holder);
return true;
}
function unfreezeAccount(address holder) public onlyPauser returns (bool) {
require(frozenAccount[holder]);
frozenAccount[holder] = false;
emit Unfreeze(holder);
return true;
}
function lockByQuantity(address holder, uint256 value, uint256 releaseTime) public onlyPauser returns (bool) {
require(!frozenAccount[holder]);
_lock(holder,value,releaseTime);
return true;
}
function unlockByQuantity(address holder, uint256 value, uint256 releaseTime) public onlyPauser returns (bool) {
//1
require(!frozenAccount[holder]);
//2
require(timelockList[holder].length >0);
//3
uint256 totalLocked;
for(uint idx = 0; idx < timelockList[holder].length ; idx++ ){
totalLocked = totalLocked.add(timelockList[holder][idx]._amount);
}
require(totalLocked >value);
//4
for(uint idx = 0; idx < timelockList[holder].length ; idx++ ) {
if( _unlock(holder, idx) ) {
idx -=1;
}
}
//5
_lock(holder,totalLocked.sub(value),releaseTime);
return true;
}
function transferWithLock(address holder, uint256 value, uint256 releaseTime) public onlyPauser returns (bool) {
_transfer(msg.sender, holder, value);
_lock(holder,value,releaseTime);
return true;
}
function unlock(address holder, uint256 idx) public onlyPauser returns (bool) {
require( timelockList[holder].length > idx, "AhnLog_There is not lock info.");
_unlock(holder,idx);
return true;
}
function _lock(address holder, uint256 value, uint256 releaseTime) internal returns (bool) {
_balances[holder] = _balances[holder].sub(value);
timelockList[holder].push( LockInfo(releaseTime, value) );
emit Lock(holder, value, releaseTime);
return true;
}
function _unlock(address holder, uint256 idx) internal returns(bool) {
LockInfo storage lockinfo = timelockList[holder][idx];
uint256 releaseAmount = lockinfo._amount;
delete timelockList[holder][idx];
timelockList[holder][idx] = timelockList[holder][timelockList[holder].length.sub(1)];
timelockList[holder].length -=1;
emit Unlock(holder, releaseAmount);
_balances[holder] = _balances[holder].add(releaseAmount);
return true;
}
function _autoUnlock(address holder) internal returns (bool) {
for(uint256 idx =0; idx < timelockList[holder].length ; idx++ ) {
if (timelockList[holder][idx]._releaseTime <= now) {
// If lockupinfo was deleted, loop restart at same position.
if( _unlock(holder, idx) ) {
idx -=1;
}
}
}
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"releaseTime","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"PauserRemoved","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":true,"internalType":"address","name":"holder","type":"address"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOfAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOfTimelocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"freezeAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frozenAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isPauser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"releaseTime","type":"uint256"}],"name":"lockByQuantity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"timelockList","outputs":[{"internalType":"uint256","name":"_releaseTime","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"timelockListLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"releaseTime","type":"uint256"}],"name":"transferWithLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"}],"name":"unfreezeAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"unlock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"releaseTime","type":"uint256"}],"name":"unlockByQuantity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b5060405162003f5438038062003f54833981810160405260808110156200003757600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200006c57600080fd5b838201915060208201858111156200008357600080fd5b8251866001820283011164010000000082111715620000a157600080fd5b8083526020830192505050908051906020019080838360005b83811015620000d7578082015181840152602081019050620000ba565b50505050905090810190601f168015620001055780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012957600080fd5b838201915060208201858111156200014057600080fd5b82518660018202830111640100000000821117156200015e57600080fd5b8083526020830192505050908051906020019080838360005b838110156200019457808201518184015260208101905062000177565b50505050905090810190601f168015620001c25780820380516001836020036101000a031916815260200191505b506040525050508181848260009080519060200190620001e492919062000685565b508160019080519060200190620001fd92919062000685565b5080600260006101000a81548160ff021916908360ff16021790555050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002b033620002ef60201b60201c565b6000600960006101000a81548160ff021916908315150217905550620002e5338460ff16600a0a86026200035060201b60201c565b5050505062000734565b6200030a816008620004b360201b620036b71790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200038b57600080fd5b620003a7816005546200056960201b620026331790919060201c565b6005819055506200040681600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200056960201b620026331790919060201c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620004ee57600080fd5b620005008282620005f260201b60201c565b156200050b57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080828401905083811015620005e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200062e57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006c857805160ff1916838001178555620006f9565b82800160010185558215620006f9579182015b82811115620006f8578251825591602001919060010190620006db565b5b5090506200070891906200070c565b5090565b6200073191905b808211156200072d57600081600090555060010162000713565b5090565b90565b61381080620007446000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806378b7652811610125578063a9059cbb116100ad578063d4ee1d901161007c578063d4ee1d9014610bc6578063dd62ed3e14610c10578063de6baccb14610c88578063f26c159f14610cf8578063f2fde38b14610d545761021c565b8063a9059cbb14610a43578063b414d4b614610aa9578063ba8907cb14610b05578063d26c4a7614610b5d5761021c565b80638456cb59116100f45780638456cb59146108c05780638da5cb5b146108ca57806395d89b4114610914578063a0712d6814610997578063a457c2d7146109dd5761021c565b806378b765281461078457806379ba5097146107f45780637eee288d1461081657806382dc1ec41461087c5761021c565b806342966c68116101a85780636b2c0f55116101775780636b2c0f551461062a5780636ef8d66d1461066e57806370a082311461067857806377b623b1146106d0578063788649ea146107285761021c565b806342966c681461050e578063461165931461055457806346fbf68e146105ac5780635c975abb146106085761021c565b806323b872dd116101ef57806323b872dd146103985780632f54bf6e1461041e578063313ce5671461047a578063395093511461049e5780633f4ba83a146105045761021c565b806306fdde0314610221578063095ea7b3146102a45780630996eebe1461030a57806318160ddd1461037a575b600080fd5b610229610d98565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026957808201518184015260208101905061024e565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102f0600480360360408110156102ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e3a565b604051808215151515815260200191505060405180910390f35b6103606004803603606081101561032057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610f65565b604051808215151515815260200191505060405180910390f35b6103826111a9565b6040518082815260200191505060405180910390f35b610404600480360360608110156103ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111b3565b604051808215151515815260200191505060405180910390f35b6104606004803603602081101561043457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611278565b604051808215151515815260200191505060405180910390f35b6104826112e3565b604051808260ff1660ff16815260200191505060405180910390f35b6104ea600480360360408110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112fa565b604051808215151515815260200191505060405180910390f35b61050c61152f565b005b61053a6004803603602081101561052457600080fd5b81019080803590602001909291905050506115ea565b604051808215151515815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115ff565b6040518082815260200191505060405180910390f35b6105ee600480360360208110156105c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611729565b604051808215151515815260200191505060405180910390f35b610610611746565b604051808215151515815260200191505060405180910390f35b61066c6004803603602081101561064057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061175d565b005b6106766117c3565b005b6106ba6004803603602081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117ce565b6040518082815260200191505060405180910390f35b610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ff565b6040518082815260200191505060405180910390f35b61076a6004803603602081101561073e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611916565b604051808215151515815260200191505060405180910390f35b6107da6004803603606081101561079a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611a34565b604051808215151515815260200191505060405180910390f35b6107fc611ac6565b604051808215151515815260200191505060405180910390f35b6108626004803603604081101561082c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ca1565b604051808215151515815260200191505060405180910390f35b6108be6004803603602081101561089257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d91565b005b6108c8611dbf565b005b6108d2611e7b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61091c611ea1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095c578082015181840152602081019050610941565b50505050905090810190601f1680156109895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109c3600480360360208110156109ad57600080fd5b8101908080359060200190929190505050611f43565b604051808215151515815260200191505060405180910390f35b610a29600480360360408110156109f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f58565b604051808215151515815260200191505060405180910390f35b610a8f60048036036040811015610a5957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061218d565b604051808215151515815260200191505060405180910390f35b610aeb60048036036020811015610abf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612250565b604051808215151515815260200191505060405180910390f35b610b4760048036036020811015610b1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612270565b6040518082815260200191505060405180910390f35b610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122bc565b604051808381526020018281526020019250505060405180910390f35b610bce6122fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c7260048036036040811015610c2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612320565b6040518082815260200191505060405180910390f35b610cde60048036036060811015610c9e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506123a7565b604051808215151515815260200191505060405180910390f35b610d3a60048036036020811015610d0e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123ed565b604051808215151515815260200191505060405180910390f35b610d9660048036036020811015610d6a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061255b565b005b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e305780601f10610e0557610100808354040283529160200191610e30565b820191906000526020600020905b815481529060010190602001808311610e1357829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e7557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610f7033611729565b80610f805750610f7f33611278565b5b610f8957600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fe057600080fd5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501161102f57600080fd5b600080600090505b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156110fe576110ef600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106110ce57fe5b9060005260206000209060020201600101548361263390919063ffffffff16565b91508080600101915050611037565b5083811161110b57600080fd5b60008090505b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561117e5761116586826126bb565b15611171576001810390505b8080600101915050611111565b5061119c8561119686846129ed90919063ffffffff16565b85612a37565b5060019150509392505050565b6000600554905090565b600083600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561120d57600080fd5b6000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156112635761126185612bc5565b505b61126e858585612ca7565b9150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d957600190506112de565b600090505b919050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561133557600080fd5b6113c482600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61153833611729565b80611548575061154733611278565b5b61155157600080fd5b600960009054906101000a900460ff1661156a57600080fd5b6000600960006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b60006115f63383612cd7565b60019050919050565b600080600090506000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156117205760008090505b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561171e5761170f600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106116ee57fe5b9060005260206000209060020201600101548361263390919063ffffffff16565b91508080600101915050611657565b505b80915050919050565b600061173f826008612e2b90919063ffffffff16565b9050919050565b6000600960009054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117b757600080fd5b6117c081612ebd565b50565b6117cc33612ebd565b565b6000806117da83612f17565b90506000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156118f65760008090505b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156118f4576118e5600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106118c457fe5b9060005260206000209060020201600101548361263390919063ffffffff16565b9150808060010191505061182d565b505b80915050919050565b60008061190b83612f17565b905080915050919050565b600061192133611729565b80611931575061193033611278565b5b61193a57600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661199057600080fd5b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee60405160405180910390a260019050919050565b6000611a3f33611729565b80611a4f5750611a4e33611278565b5b611a5857600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611aaf57600080fd5b611aba848484612a37565b50600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611b0157600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b5b57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090565b6000611cac33611729565b80611cbc5750611cbb33611278565b5b611cc557600080fd5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011611d7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f41686e4c6f675f5468657265206973206e6f74206c6f636b20696e666f2e000081525060200191505060405180910390fd5b611d8683836126bb565b506001905092915050565b611d9a33611729565b80611daa5750611da933611278565b5b611db357600080fd5b611dbc81612f60565b50565b611dc833611729565b80611dd85750611dd733611278565b5b611de157600080fd5b600960009054906101000a900460ff1615611dfb57600080fd5b6001600960006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f395780601f10611f0e57610100808354040283529160200191611f39565b820191906000526020600020905b815481529060010190602001808311611f1c57829003601f168201915b5050505050905090565b6000611f4f3383612fba565b60019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f9357600080fd5b61202282600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600033600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121e757600080fd5b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561223d5761223b33612bc5565b505b612247848461310e565b91505092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600a60205281600052604060002081815481106122d557fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006123b233611729565b806123c257506123c133611278565b5b6123cb57600080fd5b6123d633858561313c565b6123e1848484612a37565b50600190509392505050565b60006123f833611729565b80612408575061240733611278565b5b61241157600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561246857600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050146124b757600080fd5b6001600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc32304960405160405180910390a260019050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125b557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125ef57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110156126b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061270857fe5b90600052602060002090600202019050600081600101549050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811061276b57fe5b906000526020600020906002020160008082016000905560018201600090555050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206128216001600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506129ed90919063ffffffff16565b8154811061282b57fe5b9060005260206000209060020201600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858154811061288357fe5b906000526020600020906002020160008201548160000155600182015481600101559050506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818180549050039150816128fd919061377a565b508473ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1826040518082815260200191505060405180910390a261299e81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019250505092915050565b6000612a2f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613344565b905092915050565b6000612a8b83600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280848152602001858152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050508373ffffffffffffffffffffffffffffffffffffffff167f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b8484604051808381526020018281526020019250505060405180910390a2600190509392505050565b600080600090505b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612c9d5742600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612c6257fe5b90600052602060002090600202016000015411612c9057612c8383826126bb565b15612c8f576001810390505b5b8080600101915050612bcd565b5060019050919050565b6000600960009054906101000a900460ff1615612cc357600080fd5b612cce848484613404565b90509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d1157600080fd5b612d26816005546129ed90919063ffffffff16565b600581905550612d7e81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e6657600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612ed181600861360c90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b612f748160086136b790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ff457600080fd5b6130098160055461263390919063ffffffff16565b60058190555061306181600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960009054906101000a900460ff161561312a57600080fd5b6131348383613763565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561317657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156131b057600080fd5b61320281600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061329781600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906133f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133b657808201518184015260208101905061339b565b50505050905090810190601f1680156133e35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061349582600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352084848461313c565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561364657600080fd5b6136508282612e2b565b61365957600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156136f157600080fd5b6136fb8282612e2b565b1561370557600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061377033848461313c565b6001905092915050565b8154818355818111156137a7576002028160020283600052602060002091820191016137a691906137ac565b5b505050565b6137d891905b808211156137d4576000808201600090556001820160009055506002016137b2565b5090565b9056fea265627a7a723158206aa1adc406e15d097eba19cdd44e2d7dec2fb497505c3f7177ead551e7914ca464736f6c63430005110032000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b4f4c4956454320434f494e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f4c434300000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061021c5760003560e01c806378b7652811610125578063a9059cbb116100ad578063d4ee1d901161007c578063d4ee1d9014610bc6578063dd62ed3e14610c10578063de6baccb14610c88578063f26c159f14610cf8578063f2fde38b14610d545761021c565b8063a9059cbb14610a43578063b414d4b614610aa9578063ba8907cb14610b05578063d26c4a7614610b5d5761021c565b80638456cb59116100f45780638456cb59146108c05780638da5cb5b146108ca57806395d89b4114610914578063a0712d6814610997578063a457c2d7146109dd5761021c565b806378b765281461078457806379ba5097146107f45780637eee288d1461081657806382dc1ec41461087c5761021c565b806342966c68116101a85780636b2c0f55116101775780636b2c0f551461062a5780636ef8d66d1461066e57806370a082311461067857806377b623b1146106d0578063788649ea146107285761021c565b806342966c681461050e578063461165931461055457806346fbf68e146105ac5780635c975abb146106085761021c565b806323b872dd116101ef57806323b872dd146103985780632f54bf6e1461041e578063313ce5671461047a578063395093511461049e5780633f4ba83a146105045761021c565b806306fdde0314610221578063095ea7b3146102a45780630996eebe1461030a57806318160ddd1461037a575b600080fd5b610229610d98565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026957808201518184015260208101905061024e565b50505050905090810190601f1680156102965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102f0600480360360408110156102ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e3a565b604051808215151515815260200191505060405180910390f35b6103606004803603606081101561032057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610f65565b604051808215151515815260200191505060405180910390f35b6103826111a9565b6040518082815260200191505060405180910390f35b610404600480360360608110156103ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111b3565b604051808215151515815260200191505060405180910390f35b6104606004803603602081101561043457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611278565b604051808215151515815260200191505060405180910390f35b6104826112e3565b604051808260ff1660ff16815260200191505060405180910390f35b6104ea600480360360408110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112fa565b604051808215151515815260200191505060405180910390f35b61050c61152f565b005b61053a6004803603602081101561052457600080fd5b81019080803590602001909291905050506115ea565b604051808215151515815260200191505060405180910390f35b6105966004803603602081101561056a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115ff565b6040518082815260200191505060405180910390f35b6105ee600480360360208110156105c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611729565b604051808215151515815260200191505060405180910390f35b610610611746565b604051808215151515815260200191505060405180910390f35b61066c6004803603602081101561064057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061175d565b005b6106766117c3565b005b6106ba6004803603602081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117ce565b6040518082815260200191505060405180910390f35b610712600480360360208110156106e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ff565b6040518082815260200191505060405180910390f35b61076a6004803603602081101561073e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611916565b604051808215151515815260200191505060405180910390f35b6107da6004803603606081101561079a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611a34565b604051808215151515815260200191505060405180910390f35b6107fc611ac6565b604051808215151515815260200191505060405180910390f35b6108626004803603604081101561082c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ca1565b604051808215151515815260200191505060405180910390f35b6108be6004803603602081101561089257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d91565b005b6108c8611dbf565b005b6108d2611e7b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61091c611ea1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561095c578082015181840152602081019050610941565b50505050905090810190601f1680156109895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109c3600480360360208110156109ad57600080fd5b8101908080359060200190929190505050611f43565b604051808215151515815260200191505060405180910390f35b610a29600480360360408110156109f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f58565b604051808215151515815260200191505060405180910390f35b610a8f60048036036040811015610a5957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061218d565b604051808215151515815260200191505060405180910390f35b610aeb60048036036020811015610abf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612250565b604051808215151515815260200191505060405180910390f35b610b4760048036036020811015610b1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612270565b6040518082815260200191505060405180910390f35b610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122bc565b604051808381526020018281526020019250505060405180910390f35b610bce6122fa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c7260048036036040811015610c2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612320565b6040518082815260200191505060405180910390f35b610cde60048036036060811015610c9e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506123a7565b604051808215151515815260200191505060405180910390f35b610d3a60048036036020811015610d0e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123ed565b604051808215151515815260200191505060405180910390f35b610d9660048036036020811015610d6a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061255b565b005b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e305780601f10610e0557610100808354040283529160200191610e30565b820191906000526020600020905b815481529060010190602001808311610e1357829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e7557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610f7033611729565b80610f805750610f7f33611278565b5b610f8957600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fe057600080fd5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501161102f57600080fd5b600080600090505b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156110fe576110ef600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106110ce57fe5b9060005260206000209060020201600101548361263390919063ffffffff16565b91508080600101915050611037565b5083811161110b57600080fd5b60008090505b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561117e5761116586826126bb565b15611171576001810390505b8080600101915050611111565b5061119c8561119686846129ed90919063ffffffff16565b85612a37565b5060019150509392505050565b6000600554905090565b600083600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561120d57600080fd5b6000600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156112635761126185612bc5565b505b61126e858585612ca7565b9150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d957600190506112de565b600090505b919050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561133557600080fd5b6113c482600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61153833611729565b80611548575061154733611278565b5b61155157600080fd5b600960009054906101000a900460ff1661156a57600080fd5b6000600960006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b60006115f63383612cd7565b60019050919050565b600080600090506000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156117205760008090505b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561171e5761170f600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106116ee57fe5b9060005260206000209060020201600101548361263390919063ffffffff16565b91508080600101915050611657565b505b80915050919050565b600061173f826008612e2b90919063ffffffff16565b9050919050565b6000600960009054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117b757600080fd5b6117c081612ebd565b50565b6117cc33612ebd565b565b6000806117da83612f17565b90506000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156118f65760008090505b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156118f4576118e5600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106118c457fe5b9060005260206000209060020201600101548361263390919063ffffffff16565b9150808060010191505061182d565b505b80915050919050565b60008061190b83612f17565b905080915050919050565b600061192133611729565b80611931575061193033611278565b5b61193a57600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661199057600080fd5b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee60405160405180910390a260019050919050565b6000611a3f33611729565b80611a4f5750611a4e33611278565b5b611a5857600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611aaf57600080fd5b611aba848484612a37565b50600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611b0157600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b5b57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090565b6000611cac33611729565b80611cbc5750611cbb33611278565b5b611cc557600080fd5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011611d7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f41686e4c6f675f5468657265206973206e6f74206c6f636b20696e666f2e000081525060200191505060405180910390fd5b611d8683836126bb565b506001905092915050565b611d9a33611729565b80611daa5750611da933611278565b5b611db357600080fd5b611dbc81612f60565b50565b611dc833611729565b80611dd85750611dd733611278565b5b611de157600080fd5b600960009054906101000a900460ff1615611dfb57600080fd5b6001600960006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f395780601f10611f0e57610100808354040283529160200191611f39565b820191906000526020600020905b815481529060010190602001808311611f1c57829003601f168201915b5050505050905090565b6000611f4f3383612fba565b60019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f9357600080fd5b61202282600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600033600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121e757600080fd5b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561223d5761223b33612bc5565b505b612247848461310e565b91505092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600a60205281600052604060002081815481106122d557fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006123b233611729565b806123c257506123c133611278565b5b6123cb57600080fd5b6123d633858561313c565b6123e1848484612a37565b50600190509392505050565b60006123f833611729565b80612408575061240733611278565b5b61241157600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561246857600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050146124b757600080fd5b6001600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc32304960405160405180910390a260019050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125b557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125ef57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110156126b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811061270857fe5b90600052602060002090600202019050600081600101549050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811061276b57fe5b906000526020600020906002020160008082016000905560018201600090555050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206128216001600a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506129ed90919063ffffffff16565b8154811061282b57fe5b9060005260206000209060020201600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858154811061288357fe5b906000526020600020906002020160008201548160000155600182015481600101559050506001600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818180549050039150816128fd919061377a565b508473ffffffffffffffffffffffffffffffffffffffff167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1826040518082815260200191505060405180910390a261299e81600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019250505092915050565b6000612a2f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613344565b905092915050565b6000612a8b83600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280848152602001858152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050508373ffffffffffffffffffffffffffffffffffffffff167f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b8484604051808381526020018281526020019250505060405180910390a2600190509392505050565b600080600090505b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612c9d5742600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612c6257fe5b90600052602060002090600202016000015411612c9057612c8383826126bb565b15612c8f576001810390505b5b8080600101915050612bcd565b5060019050919050565b6000600960009054906101000a900460ff1615612cc357600080fd5b612cce848484613404565b90509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d1157600080fd5b612d26816005546129ed90919063ffffffff16565b600581905550612d7e81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e6657600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612ed181600861360c90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b612f748160086136b790919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ff457600080fd5b6130098160055461263390919063ffffffff16565b60058190555061306181600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600960009054906101000a900460ff161561312a57600080fd5b6131348383613763565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561317657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156131b057600080fd5b61320281600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061329781600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263390919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008383111582906133f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133b657808201518184015260208101905061339b565b50505050905090810190601f1680156133e35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061349582600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ed90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352084848461313c565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561364657600080fd5b6136508282612e2b565b61365957600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156136f157600080fd5b6136fb8282612e2b565b1561370557600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061377033848461313c565b6001905092915050565b8154818355818111156137a7576002028160020283600052602060002091820191016137a691906137ac565b5b505050565b6137d891905b808211156137d4576000808201600090556001820160009055506002016137b2565b5090565b9056fea265627a7a723158206aa1adc406e15d097eba19cdd44e2d7dec2fb497505c3f7177ead551e7914ca464736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000b4f4c4956454320434f494e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f4c434300000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : initialSupply (uint256): 1000000000
Arg [1] : decimals (uint8): 18
Arg [2] : tokenName (string): OLIVEC COIN
Arg [3] : tokenSymbol (string): OLCC
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [5] : 4f4c4956454320434f494e000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 4f4c434300000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
19628:5694:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19628:5694:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19222:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19222:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12127:244;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12127:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22818:762;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22818:762:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10597:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21830:251;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21830:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6852:193;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6852:193:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19538:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13658:323;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13658:323:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9503:118;;;:::i;:::-;;15785:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15785:116:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21032:363;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21032:363:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7789:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7789:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8756:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8006:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8006:97:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8111:77;;;:::i;:::-;;20646:378;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20646:378:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21403:169;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21403:169:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22362:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22362:217:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22587:223;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22587:223:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7206:181;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;23826:226;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23826:226:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7906:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7906:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9292:116;;;:::i;:::-;;6379:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19372:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19372:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15913:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15913:116:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14501:333;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14501:333:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;21580:242;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21580:242:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19837:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19837:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20513:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20513:125:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19779:51;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19779:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6406:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11349:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11349:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23588:230;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23588:230:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22089:265;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22089:265:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7053:145;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7053:145:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19222:83;19259:13;19292:5;19285:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19222:83;:::o;12127:244::-;12192:4;12236:1;12217:21;;:7;:21;;;;12209:30;;;;;;12284:5;12252:8;:20;12261:10;12252:20;;;;;;;;;;;;;;;:29;12273:7;12252:29;;;;;;;;;;;;;;;:37;;;;12326:7;12305:36;;12314:10;12305:36;;;12335:5;12305:36;;;;;;;;;;;;;;;;;;12359:4;12352:11;;12127:244;;;;:::o;22818:762::-;22923:4;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;22962:13;:21;22976:6;22962:21;;;;;;;;;;;;;;;;;;;;;;;;;22961:22;22953:31;;;;;;23045:1;23016:12;:20;23029:6;23016:20;;;;;;;;;;;;;;;:27;;;;:30;23008:39;;;;;;23073:19;23107:8;23118:1;23107:12;;23103:152;23127:12;:20;23140:6;23127:20;;;;;;;;;;;;;;;:27;;;;23121:3;:33;23103:152;;;23193:50;23209:12;:20;23222:6;23209:20;;;;;;;;;;;;;;;23230:3;23209:25;;;;;;;;;;;;;;;;;;:33;;;23193:11;:15;;:50;;;;:::i;:::-;23179:64;;23157:5;;;;;;;23103:152;;;;23286:5;23273:11;:18;23265:27;;;;;;23322:8;23333:1;23322:12;;23318:157;23342:12;:20;23355:6;23342:20;;;;;;;;;;;;;;;:27;;;;23336:3;:33;23318:157;;;23399:20;23407:6;23415:3;23399:7;:20::i;:::-;23395:69;;;23447:1;23441:7;;;;23395:69;23372:5;;;;;;;23318:157;;;;23500:48;23506:6;23513:22;23529:5;23513:11;:15;;:22;;;;:::i;:::-;23536:11;23500:5;:48::i;:::-;;23568:4;23561:11;;;22818:762;;;;;:::o;10597:91::-;10641:7;10668:12;;10661:19;;10597:91;:::o;21830:251::-;21925:4;21910;20173:13;:22;20187:7;20173:22;;;;;;;;;;;;;;;;;;;;;;;;;20172:23;20164:32;;;;;;21974:1;21946:12;:18;21959:4;21946:18;;;;;;;;;;;;;;;:25;;;;:29;21942:79;;;21992:17;22004:4;21992:11;:17::i;:::-;;21942:79;22038:35;22057:4;22063:2;22067:5;22038:18;:35::i;:::-;22031:42;;21830:251;;;;;;:::o;6852:193::-;6907:4;6939:5;;;;;;;;;;;6928:16;;:7;:16;;;6924:114;;;6968:4;6961:11;;;;6924:114;7021:5;7014:12;;6852:193;;;;:::o;19538:83::-;19579:5;19604:9;;;;;;;;;;;19597:16;;19538:83;:::o;13658:323::-;13738:4;13782:1;13763:21;;:7;:21;;;;13755:30;;;;;;13830:45;13864:10;13830:8;:20;13839:10;13830:20;;;;;;;;;;;;;;;:29;13851:7;13830:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;13798:8;:20;13807:10;13798:20;;;;;;;;;;;;;;;:29;13819:7;13798:29;;;;;;;;;;;;;;;:77;;;;13912:7;13891:60;;13900:10;13891:60;;;13921:8;:20;13930:10;13921:20;;;;;;;;;;;;;;;:29;13942:7;13921:29;;;;;;;;;;;;;;;;13891:60;;;;;;;;;;;;;;;;;;13969:4;13962:11;;13658:323;;;;:::o;9503:118::-;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;9172:7;;;;;;;;;;;9164:16;;;;;;9572:5;9562:7;;:15;;;;;;;;;;;;;;;;;;9593:20;9602:10;9593:20;;;;;;;;;;;;;;;;;;;;;;9503:118::o;15785:116::-;15830:4;15847:24;15853:10;15865:5;15847;:24::i;:::-;15889:4;15882:11;;15785:116;;;:::o;21032:363::-;21097:7;21119:19;21141:1;21119:23;;21185:1;21157:12;:19;21170:5;21157:19;;;;;;;;;;;;;;;:26;;;;:29;21153:204;;;21207:6;21214:1;21207:8;;21203:143;21219:12;:19;21232:5;21219:19;;;;;;;;;;;;;;;:26;;;;21217:1;:28;21203:143;;;21283:47;21299:12;:19;21312:5;21299:19;;;;;;;;;;;;;;;21319:1;21299:22;;;;;;;;;;;;;;;;;;:30;;;21283:11;:15;;:47;;;;:::i;:::-;21269:61;;21246:3;;;;;;;21203:143;;;;21153:204;21376:11;21369:18;;;21032:363;;;:::o;7789:109::-;7845:4;7869:21;7882:7;7869:8;:12;;:21;;;;:::i;:::-;7862:28;;7789:109;;;:::o;8756:78::-;8795:4;8819:7;;;;;;;;;;;8812:14;;8756:78;:::o;8006:97::-;6682:5;;;;;;;;;;;6668:19;;:10;:19;;;6660:28;;;;;;8073:22;8087:7;8073:13;:22::i;:::-;8006:97;:::o;8111:77::-;8155:25;8169:10;8155:13;:25::i;:::-;8111:77::o;20646:378::-;20701:7;20723:20;20746:22;20762:5;20746:15;:22::i;:::-;20723:45;;20811:1;20783:12;:19;20796:5;20783:19;;;;;;;;;;;;;;;:26;;;;:29;20779:206;;;20833:6;20840:1;20833:8;;20829:145;20845:12;:19;20858:5;20845:19;;;;;;;;;;;;;;;:26;;;;20843:1;:28;20829:145;;;20910:48;20927:12;:19;20940:5;20927:19;;;;;;;;;;;;;;;20947:1;20927:22;;;;;;;;;;;;;;;;;;:30;;;20910:12;:16;;:48;;;;:::i;:::-;20895:63;;20872:3;;;;;;;20829:145;;;;20779:206;21004:12;20997:19;;;20646:378;;;:::o;21403:169::-;21467:7;21489:20;21512:22;21528:5;21512:15;:22::i;:::-;21489:45;;21552:12;21545:19;;;21403:169;;;:::o;22362:217::-;22430:4;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;22455:13;:21;22469:6;22455:21;;;;;;;;;;;;;;;;;;;;;;;;;22447:30;;;;;;22512:5;22488:13;:21;22502:6;22488:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;22542:6;22533:16;;;;;;;;;;;;22567:4;22560:11;;22362:217;;;:::o;22587:223::-;22690:4;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;22716:13;:21;22730:6;22716:21;;;;;;;;;;;;;;;;;;;;;;;;;22715:22;22707:31;;;;;;22749;22755:6;22762:5;22768:11;22749:5;:31::i;:::-;;22798:4;22791:11;;22587:223;;;;;:::o;7206:181::-;7261:4;6779:1;6757:24;;:10;:24;;;;6749:33;;;;;;6815:8;;;;;;;;;;;6801:22;;:10;:22;;;6793:31;;;;;;7311:8;;;;;;;;;;;7283:37;;7304:5;;;;;;;;;;;7283:37;;;;;;;;;;;;7339:8;;;;;;;;;;;7331:5;;:16;;;;;;;;;;;;;;;;;;7377:1;7358:8;;:21;;;;;;;;;;;;;;;;;;7206:181;:::o;23826:226::-;23898:4;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;23954:3;23924:12;:20;23937:6;23924:20;;;;;;;;;;;;;;;:27;;;;:33;23915:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24003:19;24011:6;24018:3;24003:7;:19::i;:::-;;24040:4;24033:11;;23826:226;;;;:::o;7906:92::-;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;7971:19;7982:7;7971:10;:19::i;:::-;7906:92;:::o;9292:116::-;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;8993:7;;;;;;;;;;;8992:8;8984:17;;;;;;9362:4;9352:7;;:14;;;;;;;;;;;;;;;;;;9382:18;9389:10;9382:18;;;;;;;;;;;;;;;;;;;;;;9292:116::o;6379:20::-;;;;;;;;;;;;;:::o;19372:87::-;19411:13;19444:7;19437:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19372:87;:::o;15913:116::-;15958:4;15975:24;15981:10;15993:5;15975;:24::i;:::-;16017:4;16010:11;;15913:116;;;:::o;14501:333::-;14586:4;14630:1;14611:21;;:7;:21;;;;14603:30;;;;;;14678:50;14712:15;14678:8;:20;14687:10;14678:20;;;;;;;;;;;;;;;:29;14699:7;14678:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;14646:8;:20;14655:10;14646:20;;;;;;;;;;;;;;;:29;14667:7;14646:29;;;;;;;;;;;;;;;:82;;;;14765:7;14744:60;;14753:10;14744:60;;;14774:8;:20;14783:10;14774:20;;;;;;;;;;;;;;;:29;14795:7;14774:29;;;;;;;;;;;;;;;;14744:60;;;;;;;;;;;;;;;;;;14822:4;14815:11;;14501:333;;;;:::o;21580:242::-;21663:4;21642:10;20173:13;:22;20187:7;20173:22;;;;;;;;;;;;;;;;;;;;;;;;;20172:23;20164:32;;;;;;21718:1;21684:12;:24;21697:10;21684:24;;;;;;;;;;;;;;;:31;;;;:35;21680:92;;;21737:23;21749:10;21737:11;:23::i;:::-;;21680:92;21789:25;21804:2;21808:5;21789:14;:25::i;:::-;21782:32;;21580:242;;;;;:::o;19837:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;20513:125::-;20577:7;20604:12;:19;20617:5;20604:19;;;;;;;;;;;;;;;:26;;;;20597:33;;20513:125;;;:::o;19779:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6406:23::-;;;;;;;;;;;;;:::o;11349:131::-;11421:7;11448:8;:15;11457:5;11448:15;;;;;;;;;;;;;;;:24;11464:7;11448:24;;;;;;;;;;;;;;;;11441:31;;11349:131;;;;:::o;23588:230::-;23693:4;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;23710:36;23720:10;23732:6;23740:5;23710:9;:36::i;:::-;23757:31;23763:6;23770:5;23776:11;23757:5;:31::i;:::-;;23806:4;23799:11;;23588:230;;;;;:::o;22089:265::-;22155:4;7718:20;7727:10;7718:8;:20::i;:::-;:42;;;;7741:19;7749:10;7741:7;:19::i;:::-;7718:42;7710:51;;;;;;22181:13;:21;22195:6;22181:21;;;;;;;;;;;;;;;;;;;;;;;;;22180:22;22172:31;;;;;;22253:1;22222:12;:20;22235:6;22222:20;;;;;;;;;;;;;;;:27;;;;:32;22214:41;;;;;;22290:4;22266:13;:21;22280:6;22266:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;22317:6;22310:14;;;;;;;;;;;;22342:4;22335:11;;22089:265;;;:::o;7053:145::-;6682:5;;;;;;;;;;;6668:19;;:10;:19;;;6660:28;;;;;;7156:1;7135:23;;:9;:23;;;;7127:32;;;;;;7181:9;7170:8;;:20;;;;;;;;;;;;;;;;;;7053:145;:::o;1072:181::-;1130:7;1150:9;1166:1;1162;:5;1150:17;;1191:1;1186;:6;;1178:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:1;1237:8;;;1072:181;;;;:::o;24368:512::-;24431:4;24448:25;24476:12;:20;24489:6;24476:20;;;;;;;;;;;;;;;24497:3;24476:25;;;;;;;;;;;;;;;;;;24448:53;;24512:21;24536:8;:16;;;24512:40;;24572:12;:20;24585:6;24572:20;;;;;;;;;;;;;;;24593:3;24572:25;;;;;;;;;;;;;;;;;;;24565:32;;;;;;;;;;;;;;24636:12;:20;24649:6;24636:20;;;;;;;;;;;;;;;24657:34;24689:1;24657:12;:20;24670:6;24657:20;;;;;;;;;;;;;;;:27;;;;:31;;:34;;;;:::i;:::-;24636:56;;;;;;;;;;;;;;;;;;24608:12;:20;24621:6;24608:20;;;;;;;;;;;;;;;24629:3;24608:25;;;;;;;;;;;;;;;;;;:84;;;;;;;;;;;;;;;;;;;24733:1;24703:12;:20;24716:6;24703:20;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;:::i;:::-;;24759:6;24752:29;;;24767:13;24752:29;;;;;;;;;;;;;;;;;;24812:36;24834:13;24812:9;:17;24822:6;24812:17;;;;;;;;;;;;;;;;:21;;:36;;;;:::i;:::-;24792:9;:17;24802:6;24792:17;;;;;;;;;;;;;;;:56;;;;24868:4;24861:11;;;;24368:512;;;;:::o;1528:136::-;1586:7;1613:43;1617:1;1620;1613:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1606:50;;1528:136;;;;:::o;24062:298::-;24147:4;24184:28;24206:5;24184:9;:17;24194:6;24184:17;;;;;;;;;;;;;;;;:21;;:28;;;;:::i;:::-;24164:9;:17;24174:6;24164:17;;;;;;;;;;;;;;;:48;;;;24223:12;:20;24236:6;24223:20;;;;;;;;;;;;;;;24250:28;;;;;;;;24259:11;24250:28;;;;24272:5;24250:28;;;24223:57;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;24223:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24303:6;24298:32;;;24311:5;24318:11;24298:32;;;;;;;;;;;;;;;;;;;;;;;;24348:4;24341:11;;24062:298;;;;;:::o;24888:431::-;24943:4;24964:11;24977:1;24964:14;;24960:330;24986:12;:20;24999:6;24986:20;;;;;;;;;;;;;;;:27;;;;24980:3;:33;24960:330;;;25085:3;25043:12;:20;25056:6;25043:20;;;;;;;;;;;;;;;25064:3;25043:25;;;;;;;;;;;;;;;;;;:38;;;:45;25039:240;;25191:20;25199:6;25207:3;25191:7;:20::i;:::-;25187:77;;;25243:1;25237:7;;;;25187:77;25039:240;25016:5;;;;;;;24960:330;;;;25307:4;25300:11;;24888:431;;;:::o;18019:160::-;18112:4;8993:7;;;;;;;;;;;8992:8;8984:17;;;;;;18136:35;18155:4;18161:2;18165:5;18136:18;:35::i;:::-;18129:42;;18019:160;;;;;:::o;16273:269::-;16367:1;16348:21;;:7;:21;;;;16340:30;;;;;;16398:23;16415:5;16398:12;;:16;;:23;;;;:::i;:::-;16383:12;:38;;;;16453:29;16476:5;16453:9;:18;16463:7;16453:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;16432:9;:18;16442:7;16432:18;;;;;;;;;;;;;;;:50;;;;16524:1;16498:36;;16507:7;16498:36;;;16528:5;16498:36;;;;;;;;;;;;;;;;;;16273:269;;:::o;6183:165::-;6255:4;6299:1;6280:21;;:7;:21;;;;6272:30;;;;;;6320:4;:11;;:20;6332:7;6320:20;;;;;;;;;;;;;;;;;;;;;;;;;6313:27;;6183:165;;;;:::o;8326:130::-;8386:24;8402:7;8386:8;:15;;:24;;;;:::i;:::-;8440:7;8426:22;;;;;;;;;;;;8326:130;:::o;10904:106::-;10959:7;10986:9;:16;10996:5;10986:16;;;;;;;;;;;;;;;;10979:23;;10904:106;;;:::o;8196:122::-;8253:21;8266:7;8253:8;:12;;:21;;;;:::i;:::-;8302:7;8290:20;;;;;;;;;;;;8196:122;:::o;17554:269::-;17648:1;17629:21;;:7;:21;;;;17621:30;;;;;;17679:23;17696:5;17679:12;;:16;;:23;;;;:::i;:::-;17664:12;:38;;;;17734:29;17757:5;17734:9;:18;17744:7;17734:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;17713:9;:18;17723:7;17713:18;;;;;;;;;;;;;;;:50;;;;17800:7;17779:36;;17796:1;17779:36;;;17809:5;17779:36;;;;;;;;;;;;;;;;;;17554:269;;:::o;17879:132::-;17954:4;8993:7;;;;;;;;;;;8992:8;8984:17;;;;;;17978:25;17993:2;17997:5;17978:14;:25::i;:::-;17971:32;;17879:132;;;;:::o;15369:300::-;15471:1;15457:16;;:2;:16;;;;15449:25;;;;;;15509:1;15493:18;;:4;:18;;;;15485:27;;;;;;15543:26;15563:5;15543:9;:15;15553:4;15543:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;15525:9;:15;15535:4;15525:15;;;;;;;;;;;;;;;:44;;;;15596:24;15614:5;15596:9;:13;15606:2;15596:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;15580:9;:13;15590:2;15580:13;;;;;;;;;;;;;;;:40;;;;15651:2;15636:25;;15645:4;15636:25;;;15655:5;15636:25;;;;;;;;;;;;;;;;;;15369:300;;;:::o;1959:192::-;2045:7;2078:1;2073;:6;;2081:12;2065:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2065:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:9;2121:1;2117;:5;2105:17;;2142:1;2135:8;;;1959:192;;;;;:::o;12844:299::-;12923:4;12969:37;13000:5;12969:8;:14;12978:4;12969:14;;;;;;;;;;;;;;;:26;12984:10;12969:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;12940:8;:14;12949:4;12940:14;;;;;;;;;;;;;;;:26;12955:10;12940:26;;;;;;;;;;;;;;;:66;;;;13017:26;13027:4;13033:2;13037:5;13017:9;:26::i;:::-;13074:10;13059:54;;13068:4;13059:54;;;13086:8;:14;13095:4;13086:14;;;;;;;;;;;;;;;:26;13101:10;13086:26;;;;;;;;;;;;;;;;13059:54;;;;;;;;;;;;;;;;;;13131:4;13124:11;;12844:299;;;;;:::o;5900:189::-;5999:1;5980:21;;:7;:21;;;;5972:30;;;;;;6021:18;6025:4;6031:7;6021:3;:18::i;:::-;6013:27;;;;;;6076:5;6053:4;:11;;:20;6065:7;6053:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;5900:189;;:::o;5635:186::-;5731:1;5712:21;;:7;:21;;;;5704:30;;;;;;5754:18;5758:4;5764:7;5754:3;:18::i;:::-;5753:19;5745:28;;;;;;5809:4;5786;:11;;:20;5798:7;5786:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;5635:186;;:::o;15007:140::-;15068:4;15085:32;15095:10;15107:2;15111:5;15085:9;:32::i;:::-;15135:4;15128:11;;15007:140;;;;:::o;19628:5694::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://6aa1adc406e15d097eba19cdd44e2d7dec2fb497505c3f7177ead551e7914ca4
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.