Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x60806040 | 16129685 | 1176 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
TypeVVriter
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
contract TypeVVriter is Ownable {
/// @notice The SVG path definition for each character in the VV alphabet.
mapping(string => string) public LETTERS;
/// @notice Width in pixels for characters in the VV alphabet.
mapping(string => uint256) public LETTER_WIDTHS;
constructor(address owner) {
_transferOwnership(owner);
}
/// @notice Write with the VV font on chain.
/// @dev Write a text as an SVG font inheriting text color and letter-spaced with 1px.
/// @param text The text you want to write out.
function write(string memory text) public view returns (string memory) {
return write(text, "currentColor", 6);
}
/// @notice Write with the VV font on chain.
/// @dev Write a text as an SVG font with 1px space between letters.
/// @param text The text you want to write out.
/// @param color The SVG-compatible color code to use for the text.
function write(string memory text, string memory color) public view returns (string memory) {
return write(text, color, 6);
}
/// @notice Write with the VV font on chain.
/// @dev Write a given text as an SVG font in given `color` and letter `spacing`.
/// @param text The text you want to write out.
/// @param color The SVG-compatible color code to use for the text.
/// @param spacing The space between letters in pixels.
function write(
string memory text,
string memory color,
uint256 spacing
) public view returns (string memory) {
bytes memory byteText = upper(bytes(text));
uint256 letterPos = 0;
string memory letters = "";
for (uint256 i = 0; i < byteText.length; i++) {
bool overflow = byteText[i] >= 0xC0;
bytes memory character = overflow ? new bytes(2) : new bytes(1);
character[0] = byteText[i];
if (overflow) {
i += 1;
character[1] = byteText[i];
}
string memory normalized = string(character);
string memory path = LETTERS[normalized];
if (bytes(path).length <= 0) continue;
letters = string(abi.encodePacked(
letters,
'<g transform="translate(', Strings.toString(letterPos), ')">',
'<path d="', path, '"/>',
'</g>'
));
uint256 width = LETTER_WIDTHS[normalized] == 0
? LETTER_WIDTHS["DEFAULT"]
: LETTER_WIDTHS[normalized];
letterPos = letterPos + width + spacing;
}
uint256 lineWidth = letterPos - spacing;
string memory svg = string(abi.encodePacked(
'<svg ',
'viewBox="0 0 ', Strings.toString(lineWidth), ' 30" ',
'width="', Strings.toString(lineWidth), '" height="30" ',
'fill="none" xmlns="http://www.w3.org/2000/svg"',
'>',
'<g fill-rule="evenodd" clip-rule="evenodd" fill="', color, '">',
letters,
'</g>',
'</svg>'
));
return svg;
}
/// @dev Uppercase some byte text.
function upper(bytes memory _text) internal pure returns (bytes memory) {
for (uint i = 0; i < _text.length; i++) {
_text[i] = _upper(_text[i]);
}
return _text;
}
/// @dev Uppercase a single byte letter.
function _upper(bytes1 _b1) private pure returns (bytes1) {
if (_b1 >= 0x61 && _b1 <= 0x7A) {
return bytes1(uint8(_b1) - 32);
}
return _b1;
}
/// @dev Store a Glyph on-chain
function setGlyph(string memory glyph, string memory path) public onlyOwner {
_setGlyph(glyph, path);
}
/// @dev Store multiple Glyphs on-chain
function setGlyphs(string[] memory glyphs, string[] memory paths) public onlyOwner {
for (uint i = 0; i < glyphs.length; i++) {
_setGlyph(glyphs[i], paths[i]);
}
}
/// @dev Store a Glyph width on-chain
function setGlyphWidth(string memory glyph, uint256 width) public onlyOwner {
_setGlyphWidth(glyph, width);
}
/// @dev Store multiple Glyph widths on-chain
function setGlyphWidths(string[] memory glyphs, uint256[] memory widths) public onlyOwner {
for (uint i = 0; i < glyphs.length; i++) {
_setGlyphWidth(glyphs[i], widths[i]);
}
}
/// @dev Store a Glyph on-chain
function _setGlyph(string memory glyph, string memory path) private {
LETTERS[glyph] = path;
}
/// @dev Store a Glyph width on-chain
function _setGlyphWidth(string memory glyph, uint256 width) private {
LETTER_WIDTHS[glyph] = width;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)
pragma solidity ^0.8.0;
/**
* @dev String operations.
*/
library Strings {
bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
uint8 private constant _ADDRESS_LENGTH = 20;
/**
* @dev Converts a `uint256` to its ASCII `string` decimal representation.
*/
function toString(uint256 value) internal pure returns (string memory) {
// Inspired by OraclizeAPI's implementation - MIT licence
// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol
if (value == 0) {
return "0";
}
uint256 temp = value;
uint256 digits;
while (temp != 0) {
digits++;
temp /= 10;
}
bytes memory buffer = new bytes(digits);
while (value != 0) {
digits -= 1;
buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
value /= 10;
}
return string(buffer);
}
/**
* @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.
*/
function toHexString(uint256 value) internal pure returns (string memory) {
if (value == 0) {
return "0x00";
}
uint256 temp = value;
uint256 length = 0;
while (temp != 0) {
length++;
temp >>= 8;
}
return toHexString(value, length);
}
/**
* @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.
*/
function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
bytes memory buffer = new bytes(2 * length + 2);
buffer[0] = "0";
buffer[1] = "x";
for (uint256 i = 2 * length + 1; i > 1; --i) {
buffer[i] = _HEX_SYMBOLS[value & 0xf];
value >>= 4;
}
require(value == 0, "Strings: hex length insufficient");
return string(buffer);
}
/**
* @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.
*/
function toHexString(address addr) internal pure returns (string memory) {
return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"LETTERS","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"LETTER_WIDTHS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"glyph","type":"string"},{"internalType":"string","name":"path","type":"string"}],"name":"setGlyph","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"glyph","type":"string"},{"internalType":"uint256","name":"width","type":"uint256"}],"name":"setGlyphWidth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"glyphs","type":"string[]"},{"internalType":"uint256[]","name":"widths","type":"uint256[]"}],"name":"setGlyphWidths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"glyphs","type":"string[]"},{"internalType":"string[]","name":"paths","type":"string[]"}],"name":"setGlyphs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"text","type":"string"},{"internalType":"string","name":"color","type":"string"}],"name":"write","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"text","type":"string"},{"internalType":"string","name":"color","type":"string"},{"internalType":"uint256","name":"spacing","type":"uint256"}],"name":"write","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"text","type":"string"}],"name":"write","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200231d3803806200231d8339818101604052810190620000379190620001a5565b620000576200004b6200006f60201b60201c565b6200007760201b60201c565b62000068816200007760201b60201c565b50620001d7565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200016d8262000140565b9050919050565b6200017f8162000160565b81146200018b57600080fd5b50565b6000815190506200019f8162000174565b92915050565b600060208284031215620001be57620001bd6200013b565b5b6000620001ce848285016200018e565b91505092915050565b61213680620001e76000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638f8ab73b116100715780638f8ab73b14610179578063a4fe7b43146101a9578063ddab2744146101c5578063ebaac771146101e1578063ed9a67e114610211578063f2fde38b14610241576100b4565b80631e7c0197146100b9578063450ec095146100e9578063626cb71114610105578063715018a6146101355780638193987c1461013f5780638da5cb5b1461015b575b600080fd5b6100d360048036038101906100ce9190610eb9565b61025d565b6040516100e09190610fb0565b60405180910390f35b61010360048036038101906100fe91906110b8565b610273565b005b61011f600480360381019061011a9190611166565b6102dd565b60405161012c9190610fb0565b60405180910390f35b61013d6106c2565b005b610159600480360381019061015491906111f1565b6106d6565b005b6101636106ec565b604051610170919061128e565b60405180910390f35b610193600480360381019061018e91906112a9565b610715565b6040516101a09190610fb0565b60405180910390f35b6101c360048036038101906101be91906113b5565b6107cb565b005b6101df60048036038101906101da9190610eb9565b610835565b005b6101fb60048036038101906101f691906112a9565b61084b565b6040516102089190610fb0565b60405180910390f35b61022b600480360381019061022691906112a9565b610895565b604051610238919061143c565b60405180910390f35b61025b60048036038101906102569190611483565b6108c3565b005b606061026b838360066102dd565b905092915050565b61027b610946565b60005b82518110156102d8576102c583828151811061029d5761029c6114b0565b5b60200260200101518383815181106102b8576102b76114b0565b5b60200260200101516109c4565b80806102d09061150e565b91505061027e565b505050565b606060006102ea856109f4565b905060008060405180602001604052806000815250905060005b835181101561066857600060c060f81b858381518110610327576103266114b0565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101590506000816103b257600167ffffffffffffffff81111561037a57610379610d8e565b5b6040519080825280601f01601f1916602001820160405280156103ac5781602001600182028036833780820191505090505b50610401565b600267ffffffffffffffff8111156103cd576103cc610d8e565b5b6040519080825280601f01601f1916602001820160405280156103ff5781602001600182028036833780820191505090505b505b9050858381518110610416576104156114b0565b5b602001015160f81c60f81b81600081518110610435576104346114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535081156104db576001836104779190611556565b925085838151811061048c5761048b6114b0565b5b602001015160f81c60f81b816001815181106104ab576104aa6114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b600081905060006001826040516104f291906115c6565b9081526020016040518091039020805461050b9061160c565b80601f01602080910402602001604051908101604052809291908181526020018280546105379061160c565b80156105845780601f1061055957610100808354040283529160200191610584565b820191906000526020600020905b81548152906001019060200180831161056757829003601f168201915b50505050509050600081511161059d5750505050610655565b856105a788610a86565b826040516020016105ba939291906117b9565b60405160208183030381529060405295506000806002846040516105de91906115c6565b908152602001604051809103902054146106165760028360405161060291906115c6565b908152602001604051809103902054610634565b60026040516106249061186d565b9081526020016040518091039020545b90508a81896106439190611556565b61064d9190611556565b975050505050505b80806106609061150e565b915050610304565b50600085836106779190611882565b9050600061068482610a86565b61068d83610a86565b89856040516020016106a29493929190611bfa565b604051602081830303815290604052905080955050505050509392505050565b6106ca610946565b6106d46000610be6565b565b6106de610946565b6106e88282610caa565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600181805160208101820180518482526020830160208501208183528095505050505050600091509050805461074a9061160c565b80601f01602080910402602001604051908101604052809291908181526020018280546107769061160c565b80156107c35780601f10610798576101008083540402835291602001916107c3565b820191906000526020600020905b8154815290600101906020018083116107a657829003601f168201915b505050505081565b6107d3610946565b60005b82518110156108305761081d8382815181106107f5576107f46114b0565b5b60200260200101518383815181106108105761080f6114b0565b5b6020026020010151610caa565b80806108289061150e565b9150506107d6565b505050565b61083d610946565b61084782826109c4565b5050565b606061088e826040518060400160405280600c81526020017f63757272656e74436f6c6f72000000000000000000000000000000000000000081525060066102dd565b9050919050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6108cb610946565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093190611d23565b60405180910390fd5b61094381610be6565b50565b61094e610cd1565b73ffffffffffffffffffffffffffffffffffffffff1661096c6106ec565b73ffffffffffffffffffffffffffffffffffffffff16146109c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b990611d8f565b60405180910390fd5b565b806001836040516109d591906115c6565b908152602001604051809103902090816109ef9190611f5b565b505050565b606060005b8251811015610a7d57610a28838281518110610a1857610a176114b0565b5b602001015160f81c60f81b610cd9565b838281518110610a3b57610a3a6114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610a759061150e565b9150506109f9565b50819050919050565b606060008203610acd576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610be1565b600082905060005b60008214610aff578080610ae89061150e565b915050600a82610af8919061205c565b9150610ad5565b60008167ffffffffffffffff811115610b1b57610b1a610d8e565b5b6040519080825280601f01601f191660200182016040528015610b4d5781602001600182028036833780820191505090505b5090505b60008514610bda57600182610b669190611882565b9150600a85610b75919061208d565b6030610b819190611556565b60f81b818381518110610b9757610b966114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85610bd3919061205c565b9450610b51565b8093505050505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600283604051610cbb91906115c6565b9081526020016040518091039020819055505050565b600033905090565b6000606160f81b827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015610d375750607a60f81b827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b15610d565760208260f81c610d4c91906120cb565b60f81b9050610d5a565b8190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610dc682610d7d565b810181811067ffffffffffffffff82111715610de557610de4610d8e565b5b80604052505050565b6000610df8610d5f565b9050610e048282610dbd565b919050565b600067ffffffffffffffff821115610e2457610e23610d8e565b5b610e2d82610d7d565b9050602081019050919050565b82818337600083830152505050565b6000610e5c610e5784610e09565b610dee565b905082815260208101848484011115610e7857610e77610d78565b5b610e83848285610e3a565b509392505050565b600082601f830112610ea057610e9f610d73565b5b8135610eb0848260208601610e49565b91505092915050565b60008060408385031215610ed057610ecf610d69565b5b600083013567ffffffffffffffff811115610eee57610eed610d6e565b5b610efa85828601610e8b565b925050602083013567ffffffffffffffff811115610f1b57610f1a610d6e565b5b610f2785828601610e8b565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f6b578082015181840152602081019050610f50565b60008484015250505050565b6000610f8282610f31565b610f8c8185610f3c565b9350610f9c818560208601610f4d565b610fa581610d7d565b840191505092915050565b60006020820190508181036000830152610fca8184610f77565b905092915050565b600067ffffffffffffffff821115610fed57610fec610d8e565b5b602082029050602081019050919050565b600080fd5b600061101661101184610fd2565b610dee565b9050808382526020820190506020840283018581111561103957611038610ffe565b5b835b8181101561108057803567ffffffffffffffff81111561105e5761105d610d73565b5b80860161106b8982610e8b565b8552602085019450505060208101905061103b565b5050509392505050565b600082601f83011261109f5761109e610d73565b5b81356110af848260208601611003565b91505092915050565b600080604083850312156110cf576110ce610d69565b5b600083013567ffffffffffffffff8111156110ed576110ec610d6e565b5b6110f98582860161108a565b925050602083013567ffffffffffffffff81111561111a57611119610d6e565b5b6111268582860161108a565b9150509250929050565b6000819050919050565b61114381611130565b811461114e57600080fd5b50565b6000813590506111608161113a565b92915050565b60008060006060848603121561117f5761117e610d69565b5b600084013567ffffffffffffffff81111561119d5761119c610d6e565b5b6111a986828701610e8b565b935050602084013567ffffffffffffffff8111156111ca576111c9610d6e565b5b6111d686828701610e8b565b92505060406111e786828701611151565b9150509250925092565b6000806040838503121561120857611207610d69565b5b600083013567ffffffffffffffff81111561122657611225610d6e565b5b61123285828601610e8b565b925050602061124385828601611151565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112788261124d565b9050919050565b6112888161126d565b82525050565b60006020820190506112a3600083018461127f565b92915050565b6000602082840312156112bf576112be610d69565b5b600082013567ffffffffffffffff8111156112dd576112dc610d6e565b5b6112e984828501610e8b565b91505092915050565b600067ffffffffffffffff82111561130d5761130c610d8e565b5b602082029050602081019050919050565b600061133161132c846112f2565b610dee565b9050808382526020820190506020840283018581111561135457611353610ffe565b5b835b8181101561137d57806113698882611151565b845260208401935050602081019050611356565b5050509392505050565b600082601f83011261139c5761139b610d73565b5b81356113ac84826020860161131e565b91505092915050565b600080604083850312156113cc576113cb610d69565b5b600083013567ffffffffffffffff8111156113ea576113e9610d6e565b5b6113f68582860161108a565b925050602083013567ffffffffffffffff81111561141757611416610d6e565b5b61142385828601611387565b9150509250929050565b61143681611130565b82525050565b6000602082019050611451600083018461142d565b92915050565b6114608161126d565b811461146b57600080fd5b50565b60008135905061147d81611457565b92915050565b60006020828403121561149957611498610d69565b5b60006114a78482850161146e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061151982611130565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361154b5761154a6114df565b5b600182019050919050565b600061156182611130565b915061156c83611130565b9250828201905080821115611584576115836114df565b5b92915050565b600081905092915050565b60006115a082610f31565b6115aa818561158a565b93506115ba818560208601610f4d565b80840191505092915050565b60006115d28284611595565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061162457607f821691505b602082108103611637576116366115dd565b5b50919050565b7f3c67207472616e73666f726d3d227472616e736c617465280000000000000000600082015250565b600061167360188361158a565b915061167e8261163d565b601882019050919050565b7f29223e0000000000000000000000000000000000000000000000000000000000600082015250565b60006116bf60038361158a565b91506116ca82611689565b600382019050919050565b7f3c7061746820643d220000000000000000000000000000000000000000000000600082015250565b600061170b60098361158a565b9150611716826116d5565b600982019050919050565b7f222f3e0000000000000000000000000000000000000000000000000000000000600082015250565b600061175760038361158a565b915061176282611721565b600382019050919050565b7f3c2f673e00000000000000000000000000000000000000000000000000000000600082015250565b60006117a360048361158a565b91506117ae8261176d565b600482019050919050565b60006117c58286611595565b91506117d082611666565b91506117dc8285611595565b91506117e7826116b2565b91506117f2826116fe565b91506117fe8284611595565b91506118098261174a565b915061181482611796565b9150819050949350505050565b7f44454641554c5400000000000000000000000000000000000000000000000000600082015250565b600061185760078361158a565b915061186282611821565b600782019050919050565b60006118788261184a565b9150819050919050565b600061188d82611130565b915061189883611130565b92508282039050818111156118b0576118af6114df565b5b92915050565b7f3c73766720000000000000000000000000000000000000000000000000000000600082015250565b60006118ec60058361158a565b91506118f7826118b6565b600582019050919050565b7f76696577426f783d223020302000000000000000000000000000000000000000600082015250565b6000611938600d8361158a565b915061194382611902565b600d82019050919050565b7f2033302220000000000000000000000000000000000000000000000000000000600082015250565b600061198460058361158a565b915061198f8261194e565b600582019050919050565b7f77696474683d2200000000000000000000000000000000000000000000000000600082015250565b60006119d060078361158a565b91506119db8261199a565b600782019050919050565b7f22206865696768743d2233302220000000000000000000000000000000000000600082015250565b6000611a1c600e8361158a565b9150611a27826119e6565b600e82019050919050565b7f66696c6c3d226e6f6e652220786d6c6e733d22687474703a2f2f7777772e773360008201527f2e6f72672f323030302f73766722000000000000000000000000000000000000602082015250565b6000611a8e602e8361158a565b9150611a9982611a32565b602e82019050919050565b7f3e00000000000000000000000000000000000000000000000000000000000000600082015250565b6000611ada60018361158a565b9150611ae582611aa4565b600182019050919050565b7f3c672066696c6c2d72756c653d226576656e6f64642220636c69702d72756c6560008201527f3d226576656e6f6464222066696c6c3d22000000000000000000000000000000602082015250565b6000611b4c60318361158a565b9150611b5782611af0565b603182019050919050565b7f223e000000000000000000000000000000000000000000000000000000000000600082015250565b6000611b9860028361158a565b9150611ba382611b62565b600282019050919050565b7f3c2f7376673e0000000000000000000000000000000000000000000000000000600082015250565b6000611be460068361158a565b9150611bef82611bae565b600682019050919050565b6000611c05826118df565b9150611c108261192b565b9150611c1c8287611595565b9150611c2782611977565b9150611c32826119c3565b9150611c3e8286611595565b9150611c4982611a0f565b9150611c5482611a81565b9150611c5f82611acd565b9150611c6a82611b3f565b9150611c768285611595565b9150611c8182611b8b565b9150611c8d8284611595565b9150611c9882611796565b9150611ca382611bd7565b915081905095945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611d0d602683610f3c565b9150611d1882611cb1565b604082019050919050565b60006020820190508181036000830152611d3c81611d00565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d79602083610f3c565b9150611d8482611d43565b602082019050919050565b60006020820190508181036000830152611da881611d6c565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611e117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611dd4565b611e1b8683611dd4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e58611e53611e4e84611130565b611e33565b611130565b9050919050565b6000819050919050565b611e7283611e3d565b611e86611e7e82611e5f565b848454611de1565b825550505050565b600090565b611e9b611e8e565b611ea6818484611e69565b505050565b5b81811015611eca57611ebf600082611e93565b600181019050611eac565b5050565b601f821115611f0f57611ee081611daf565b611ee984611dc4565b81016020851015611ef8578190505b611f0c611f0485611dc4565b830182611eab565b50505b505050565b600082821c905092915050565b6000611f3260001984600802611f14565b1980831691505092915050565b6000611f4b8383611f21565b9150826002028217905092915050565b611f6482610f31565b67ffffffffffffffff811115611f7d57611f7c610d8e565b5b611f87825461160c565b611f92828285611ece565b600060209050601f831160018114611fc55760008415611fb3578287015190505b611fbd8582611f3f565b865550612025565b601f198416611fd386611daf565b60005b82811015611ffb57848901518255600182019150602085019450602081019050611fd6565b868310156120185784890151612014601f891682611f21565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061206782611130565b915061207283611130565b9250826120825761208161202d565b5b828204905092915050565b600061209882611130565b91506120a383611130565b9250826120b3576120b261202d565b5b828206905092915050565b600060ff82169050919050565b60006120d6826120be565b91506120e1836120be565b9250828203905060ff8111156120fa576120f96114df565b5b9291505056fea26469706673582212201bef4a8768a7b55d89cb75123f9d01a6d43b77dc13315aa26e6c2ed330e9710364736f6c63430008110033000000000000000000000000c8f8e2f59dd95ff67c3d39109eca2e2a017d4c8a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638f8ab73b116100715780638f8ab73b14610179578063a4fe7b43146101a9578063ddab2744146101c5578063ebaac771146101e1578063ed9a67e114610211578063f2fde38b14610241576100b4565b80631e7c0197146100b9578063450ec095146100e9578063626cb71114610105578063715018a6146101355780638193987c1461013f5780638da5cb5b1461015b575b600080fd5b6100d360048036038101906100ce9190610eb9565b61025d565b6040516100e09190610fb0565b60405180910390f35b61010360048036038101906100fe91906110b8565b610273565b005b61011f600480360381019061011a9190611166565b6102dd565b60405161012c9190610fb0565b60405180910390f35b61013d6106c2565b005b610159600480360381019061015491906111f1565b6106d6565b005b6101636106ec565b604051610170919061128e565b60405180910390f35b610193600480360381019061018e91906112a9565b610715565b6040516101a09190610fb0565b60405180910390f35b6101c360048036038101906101be91906113b5565b6107cb565b005b6101df60048036038101906101da9190610eb9565b610835565b005b6101fb60048036038101906101f691906112a9565b61084b565b6040516102089190610fb0565b60405180910390f35b61022b600480360381019061022691906112a9565b610895565b604051610238919061143c565b60405180910390f35b61025b60048036038101906102569190611483565b6108c3565b005b606061026b838360066102dd565b905092915050565b61027b610946565b60005b82518110156102d8576102c583828151811061029d5761029c6114b0565b5b60200260200101518383815181106102b8576102b76114b0565b5b60200260200101516109c4565b80806102d09061150e565b91505061027e565b505050565b606060006102ea856109f4565b905060008060405180602001604052806000815250905060005b835181101561066857600060c060f81b858381518110610327576103266114b0565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101590506000816103b257600167ffffffffffffffff81111561037a57610379610d8e565b5b6040519080825280601f01601f1916602001820160405280156103ac5781602001600182028036833780820191505090505b50610401565b600267ffffffffffffffff8111156103cd576103cc610d8e565b5b6040519080825280601f01601f1916602001820160405280156103ff5781602001600182028036833780820191505090505b505b9050858381518110610416576104156114b0565b5b602001015160f81c60f81b81600081518110610435576104346114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535081156104db576001836104779190611556565b925085838151811061048c5761048b6114b0565b5b602001015160f81c60f81b816001815181106104ab576104aa6114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b600081905060006001826040516104f291906115c6565b9081526020016040518091039020805461050b9061160c565b80601f01602080910402602001604051908101604052809291908181526020018280546105379061160c565b80156105845780601f1061055957610100808354040283529160200191610584565b820191906000526020600020905b81548152906001019060200180831161056757829003601f168201915b50505050509050600081511161059d5750505050610655565b856105a788610a86565b826040516020016105ba939291906117b9565b60405160208183030381529060405295506000806002846040516105de91906115c6565b908152602001604051809103902054146106165760028360405161060291906115c6565b908152602001604051809103902054610634565b60026040516106249061186d565b9081526020016040518091039020545b90508a81896106439190611556565b61064d9190611556565b975050505050505b80806106609061150e565b915050610304565b50600085836106779190611882565b9050600061068482610a86565b61068d83610a86565b89856040516020016106a29493929190611bfa565b604051602081830303815290604052905080955050505050509392505050565b6106ca610946565b6106d46000610be6565b565b6106de610946565b6106e88282610caa565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600181805160208101820180518482526020830160208501208183528095505050505050600091509050805461074a9061160c565b80601f01602080910402602001604051908101604052809291908181526020018280546107769061160c565b80156107c35780601f10610798576101008083540402835291602001916107c3565b820191906000526020600020905b8154815290600101906020018083116107a657829003601f168201915b505050505081565b6107d3610946565b60005b82518110156108305761081d8382815181106107f5576107f46114b0565b5b60200260200101518383815181106108105761080f6114b0565b5b6020026020010151610caa565b80806108289061150e565b9150506107d6565b505050565b61083d610946565b61084782826109c4565b5050565b606061088e826040518060400160405280600c81526020017f63757272656e74436f6c6f72000000000000000000000000000000000000000081525060066102dd565b9050919050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6108cb610946565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093190611d23565b60405180910390fd5b61094381610be6565b50565b61094e610cd1565b73ffffffffffffffffffffffffffffffffffffffff1661096c6106ec565b73ffffffffffffffffffffffffffffffffffffffff16146109c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b990611d8f565b60405180910390fd5b565b806001836040516109d591906115c6565b908152602001604051809103902090816109ef9190611f5b565b505050565b606060005b8251811015610a7d57610a28838281518110610a1857610a176114b0565b5b602001015160f81c60f81b610cd9565b838281518110610a3b57610a3a6114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610a759061150e565b9150506109f9565b50819050919050565b606060008203610acd576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610be1565b600082905060005b60008214610aff578080610ae89061150e565b915050600a82610af8919061205c565b9150610ad5565b60008167ffffffffffffffff811115610b1b57610b1a610d8e565b5b6040519080825280601f01601f191660200182016040528015610b4d5781602001600182028036833780820191505090505b5090505b60008514610bda57600182610b669190611882565b9150600a85610b75919061208d565b6030610b819190611556565b60f81b818381518110610b9757610b966114b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85610bd3919061205c565b9450610b51565b8093505050505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600283604051610cbb91906115c6565b9081526020016040518091039020819055505050565b600033905090565b6000606160f81b827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015610d375750607a60f81b827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b15610d565760208260f81c610d4c91906120cb565b60f81b9050610d5a565b8190505b919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610dc682610d7d565b810181811067ffffffffffffffff82111715610de557610de4610d8e565b5b80604052505050565b6000610df8610d5f565b9050610e048282610dbd565b919050565b600067ffffffffffffffff821115610e2457610e23610d8e565b5b610e2d82610d7d565b9050602081019050919050565b82818337600083830152505050565b6000610e5c610e5784610e09565b610dee565b905082815260208101848484011115610e7857610e77610d78565b5b610e83848285610e3a565b509392505050565b600082601f830112610ea057610e9f610d73565b5b8135610eb0848260208601610e49565b91505092915050565b60008060408385031215610ed057610ecf610d69565b5b600083013567ffffffffffffffff811115610eee57610eed610d6e565b5b610efa85828601610e8b565b925050602083013567ffffffffffffffff811115610f1b57610f1a610d6e565b5b610f2785828601610e8b565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f6b578082015181840152602081019050610f50565b60008484015250505050565b6000610f8282610f31565b610f8c8185610f3c565b9350610f9c818560208601610f4d565b610fa581610d7d565b840191505092915050565b60006020820190508181036000830152610fca8184610f77565b905092915050565b600067ffffffffffffffff821115610fed57610fec610d8e565b5b602082029050602081019050919050565b600080fd5b600061101661101184610fd2565b610dee565b9050808382526020820190506020840283018581111561103957611038610ffe565b5b835b8181101561108057803567ffffffffffffffff81111561105e5761105d610d73565b5b80860161106b8982610e8b565b8552602085019450505060208101905061103b565b5050509392505050565b600082601f83011261109f5761109e610d73565b5b81356110af848260208601611003565b91505092915050565b600080604083850312156110cf576110ce610d69565b5b600083013567ffffffffffffffff8111156110ed576110ec610d6e565b5b6110f98582860161108a565b925050602083013567ffffffffffffffff81111561111a57611119610d6e565b5b6111268582860161108a565b9150509250929050565b6000819050919050565b61114381611130565b811461114e57600080fd5b50565b6000813590506111608161113a565b92915050565b60008060006060848603121561117f5761117e610d69565b5b600084013567ffffffffffffffff81111561119d5761119c610d6e565b5b6111a986828701610e8b565b935050602084013567ffffffffffffffff8111156111ca576111c9610d6e565b5b6111d686828701610e8b565b92505060406111e786828701611151565b9150509250925092565b6000806040838503121561120857611207610d69565b5b600083013567ffffffffffffffff81111561122657611225610d6e565b5b61123285828601610e8b565b925050602061124385828601611151565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112788261124d565b9050919050565b6112888161126d565b82525050565b60006020820190506112a3600083018461127f565b92915050565b6000602082840312156112bf576112be610d69565b5b600082013567ffffffffffffffff8111156112dd576112dc610d6e565b5b6112e984828501610e8b565b91505092915050565b600067ffffffffffffffff82111561130d5761130c610d8e565b5b602082029050602081019050919050565b600061133161132c846112f2565b610dee565b9050808382526020820190506020840283018581111561135457611353610ffe565b5b835b8181101561137d57806113698882611151565b845260208401935050602081019050611356565b5050509392505050565b600082601f83011261139c5761139b610d73565b5b81356113ac84826020860161131e565b91505092915050565b600080604083850312156113cc576113cb610d69565b5b600083013567ffffffffffffffff8111156113ea576113e9610d6e565b5b6113f68582860161108a565b925050602083013567ffffffffffffffff81111561141757611416610d6e565b5b61142385828601611387565b9150509250929050565b61143681611130565b82525050565b6000602082019050611451600083018461142d565b92915050565b6114608161126d565b811461146b57600080fd5b50565b60008135905061147d81611457565b92915050565b60006020828403121561149957611498610d69565b5b60006114a78482850161146e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061151982611130565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361154b5761154a6114df565b5b600182019050919050565b600061156182611130565b915061156c83611130565b9250828201905080821115611584576115836114df565b5b92915050565b600081905092915050565b60006115a082610f31565b6115aa818561158a565b93506115ba818560208601610f4d565b80840191505092915050565b60006115d28284611595565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061162457607f821691505b602082108103611637576116366115dd565b5b50919050565b7f3c67207472616e73666f726d3d227472616e736c617465280000000000000000600082015250565b600061167360188361158a565b915061167e8261163d565b601882019050919050565b7f29223e0000000000000000000000000000000000000000000000000000000000600082015250565b60006116bf60038361158a565b91506116ca82611689565b600382019050919050565b7f3c7061746820643d220000000000000000000000000000000000000000000000600082015250565b600061170b60098361158a565b9150611716826116d5565b600982019050919050565b7f222f3e0000000000000000000000000000000000000000000000000000000000600082015250565b600061175760038361158a565b915061176282611721565b600382019050919050565b7f3c2f673e00000000000000000000000000000000000000000000000000000000600082015250565b60006117a360048361158a565b91506117ae8261176d565b600482019050919050565b60006117c58286611595565b91506117d082611666565b91506117dc8285611595565b91506117e7826116b2565b91506117f2826116fe565b91506117fe8284611595565b91506118098261174a565b915061181482611796565b9150819050949350505050565b7f44454641554c5400000000000000000000000000000000000000000000000000600082015250565b600061185760078361158a565b915061186282611821565b600782019050919050565b60006118788261184a565b9150819050919050565b600061188d82611130565b915061189883611130565b92508282039050818111156118b0576118af6114df565b5b92915050565b7f3c73766720000000000000000000000000000000000000000000000000000000600082015250565b60006118ec60058361158a565b91506118f7826118b6565b600582019050919050565b7f76696577426f783d223020302000000000000000000000000000000000000000600082015250565b6000611938600d8361158a565b915061194382611902565b600d82019050919050565b7f2033302220000000000000000000000000000000000000000000000000000000600082015250565b600061198460058361158a565b915061198f8261194e565b600582019050919050565b7f77696474683d2200000000000000000000000000000000000000000000000000600082015250565b60006119d060078361158a565b91506119db8261199a565b600782019050919050565b7f22206865696768743d2233302220000000000000000000000000000000000000600082015250565b6000611a1c600e8361158a565b9150611a27826119e6565b600e82019050919050565b7f66696c6c3d226e6f6e652220786d6c6e733d22687474703a2f2f7777772e773360008201527f2e6f72672f323030302f73766722000000000000000000000000000000000000602082015250565b6000611a8e602e8361158a565b9150611a9982611a32565b602e82019050919050565b7f3e00000000000000000000000000000000000000000000000000000000000000600082015250565b6000611ada60018361158a565b9150611ae582611aa4565b600182019050919050565b7f3c672066696c6c2d72756c653d226576656e6f64642220636c69702d72756c6560008201527f3d226576656e6f6464222066696c6c3d22000000000000000000000000000000602082015250565b6000611b4c60318361158a565b9150611b5782611af0565b603182019050919050565b7f223e000000000000000000000000000000000000000000000000000000000000600082015250565b6000611b9860028361158a565b9150611ba382611b62565b600282019050919050565b7f3c2f7376673e0000000000000000000000000000000000000000000000000000600082015250565b6000611be460068361158a565b9150611bef82611bae565b600682019050919050565b6000611c05826118df565b9150611c108261192b565b9150611c1c8287611595565b9150611c2782611977565b9150611c32826119c3565b9150611c3e8286611595565b9150611c4982611a0f565b9150611c5482611a81565b9150611c5f82611acd565b9150611c6a82611b3f565b9150611c768285611595565b9150611c8182611b8b565b9150611c8d8284611595565b9150611c9882611796565b9150611ca382611bd7565b915081905095945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611d0d602683610f3c565b9150611d1882611cb1565b604082019050919050565b60006020820190508181036000830152611d3c81611d00565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d79602083610f3c565b9150611d8482611d43565b602082019050919050565b60006020820190508181036000830152611da881611d6c565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611e117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611dd4565b611e1b8683611dd4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611e58611e53611e4e84611130565b611e33565b611130565b9050919050565b6000819050919050565b611e7283611e3d565b611e86611e7e82611e5f565b848454611de1565b825550505050565b600090565b611e9b611e8e565b611ea6818484611e69565b505050565b5b81811015611eca57611ebf600082611e93565b600181019050611eac565b5050565b601f821115611f0f57611ee081611daf565b611ee984611dc4565b81016020851015611ef8578190505b611f0c611f0485611dc4565b830182611eab565b50505b505050565b600082821c905092915050565b6000611f3260001984600802611f14565b1980831691505092915050565b6000611f4b8383611f21565b9150826002028217905092915050565b611f6482610f31565b67ffffffffffffffff811115611f7d57611f7c610d8e565b5b611f87825461160c565b611f92828285611ece565b600060209050601f831160018114611fc55760008415611fb3578287015190505b611fbd8582611f3f565b865550612025565b601f198416611fd386611daf565b60005b82811015611ffb57848901518255600182019150602085019450602081019050611fd6565b868310156120185784890151612014601f891682611f21565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061206782611130565b915061207283611130565b9250826120825761208161202d565b5b828204905092915050565b600061209882611130565b91506120a383611130565b9250826120b3576120b261202d565b5b828206905092915050565b600060ff82169050919050565b60006120d6826120be565b91506120e1836120be565b9250828203905060ff8111156120fa576120f96114df565b5b9291505056fea26469706673582212201bef4a8768a7b55d89cb75123f9d01a6d43b77dc13315aa26e6c2ed330e9710364736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c8f8e2f59dd95ff67c3d39109eca2e2a017d4c8a
-----Decoded View---------------
Arg [0] : owner (address): 0xc8f8e2F59Dd95fF67c3d39109ecA2e2A017D4c8a
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c8f8e2f59dd95ff67c3d39109eca2e2a017d4c8a
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.