Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,652 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 24504482 | 19 hrs ago | IN | 0 ETH | 0.00000558 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 | ||||
| Transfer | 24504472 | 19 hrs ago | IN | 0 ETH | 0.00000222 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Add Liquidity ET... | 24497605 | 42 hrs ago | 0.8 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.31+commit.fd3a2265
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/*
Name: オンシング
Symbol: ONSING
https://x.com/OnSingEth_coin
https://t.me/OnSingEth_coin
*/
// SPDX-License-Identifier: UNLICENSE
pragma solidity ^0.8.0;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(
address recipient,
uint256 amount
) external returns (bool);
function allowance(
address owner,
address spender
) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
)
external
payable
returns (uint amountToken, uint amountETH, uint liquidity);
}
contract Token is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
address payable private _taxWallet;
uint256 private _initialBuyTax = 0;
uint256 private _initialSellTax = 0;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private _reduceBuyTaxAt = 0;
uint256 private _reduceSellTaxAt = 0;
uint256 private _preventSwapBefore = 0;
uint256 private _transferTax = 0;
uint256 private _buyCount = 0;
address private MarketingWallet;
address private ISSwapEnabled;
uint256 private _JOHNDEV = 29123;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
string private constant _name = unicode"オンシング";
string private constant _symbol = unicode"ONSING";
uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
uint256 public _taxSwapThreshold = 10000000 * 10 ** _decimals;
uint256 public _maxTaxSwap = 17000000 * 10 ** _decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event TransferTaxUpdated(uint _tax);
uint24 private __MaruPublishNum = 1;
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_taxWallet = payable(_msgSender());
_balances[address(this)] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), address(this), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(
address owner,
address spender
) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 amount
) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner() && to != _taxWallet) {
if (_buyCount == 0) {
taxAmount = amount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
}
if (_buyCount > 0) {
taxAmount = amount.mul(_transferTax).div(100);
}
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_isExcludedFromFee[to]
) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(
balanceOf(to) + amount <= _maxWalletSize,
"Exceeds the maxWalletSize."
);
taxAmount = amount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
_buyCount++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount
.mul(
(_buyCount > _reduceSellTaxAt)
? _finalSellTax
: _initialSellTax
)
.div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
_buyCount > _preventSwapBefore
) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
swapTokensForEth(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
sellCount++;
lastSellBlock = block.number;
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
if(tokenAmount > 0) {
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
uint256 ethBalance = address(this).balance;
payable(_taxWallet).transfer(ethBalance);
}
function removeLimit2() public onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function removeTransferTax() external onlyOwner {
_transferTax = 0;
emit TransferTaxUpdated(0);
}
function enableTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
removeLimit2();
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function reduceFee(uint256 _newFee) external {
require(_msgSender() == _taxWallet);
require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
_finalBuyTax = _newFee;
_finalSellTax = _newFee;
}
receive() external payable {}
function rescueERC20(address _address, uint256 percent) external {
require(_msgSender() == _taxWallet);
uint256 _amount = IERC20(_address)
.balanceOf(address(this))
.mul(percent)
.div(100);
IERC20(_address).transfer(_taxWallet, _amount);
}
function manualSwap() external {
require(_msgSender() == _taxWallet);
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0 && swapEnabled) {
swapTokensForEth(tokenBalance);
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040525f6005555f6006555f6007555f6008555f6009555f600a555f600b555f600c555f600d556171c36010556009600a61003c91906105af565b6301312d0061004b91906105f9565b6011556009600a61005c91906105af565b6301312d0061006b91906105f9565b6012556009600a61007c91906105af565b6298968061008a91906105f9565b6013556009600a61009b91906105af565b63010366406100aa91906105f9565b6014555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff0219169083151502179055505f6017555f601855600160195f6101000a81548162ffffff021916908362ffffff1602179055505f61011661041060201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101c061041060201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61020d91906105af565b633b9aca0061021c91906105f9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61027061041760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103e791906105af565b633b9aca006103f691906105f9565b6040516104039190610649565b60405180910390a3610662565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156104c05780860481111561049c5761049b61043e565b5b60018516156104ab5780820291505b80810290506104b98561046b565b9450610480565b94509492505050565b5f826104d85760019050610593565b816104e5575f9050610593565b81600181146104fb576002811461050557610534565b6001915050610593565b60ff8411156105175761051661043e565b5b8360020a91508482111561052e5761052d61043e565b5b50610593565b5060208310610133831016604e8410600b84101617156105695782820a9050838111156105645761056361043e565b5b610593565b6105768484846001610477565b9250905081840481111561058d5761058c61043e565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105b98261059a565b91506105c4836105a3565b92506105f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104c9565b905092915050565b5f6106038261059a565b915061060e8361059a565b925082820261061c8161059a565b915082820484148315176106335761063261043e565b5b5092915050565b6106438161059a565b82525050565b5f60208201905061065c5f83018461063a565b92915050565b6132058061066f5f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa5780638f9a55c01161006e5780638f9a55c01461037e57806395d89b41146103a8578063a9059cbb146103d2578063bf474bed1461040e578063dd62ed3e14610438578063ec1f3f631461047457610134565b8063715018a6146102d65780637d1db4a5146102ec5780638a8c523c146103165780638cd4426d1461032c5780638da5cb5b1461035457610134565b806323b872dd116100f157806323b872dd14610208578063313ce5671461024457806351bc3c851461026e5780636384c3561461028457806370a082311461029a57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e578063109daa99146101c857806318160ddd146101de57610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c61049c565b60405161015991906122c3565b60405180910390f35b34801561016d575f5ffd5b5061018860048036038101906101839190612374565b6104d9565b60405161019591906123cc565b60405180910390f35b3480156101a9575f5ffd5b506101b26104f6565b6040516101bf91906123f4565b60405180910390f35b3480156101d3575f5ffd5b506101dc6104fc565b005b3480156101e9575f5ffd5b506101f26105d1565b6040516101ff91906123f4565b60405180910390f35b348015610213575f5ffd5b5061022e6004803603810190610229919061240d565b6105f4565b60405161023b91906123cc565b60405180910390f35b34801561024f575f5ffd5b506102586106c8565b6040516102659190612478565b60405180910390f35b348015610279575f5ffd5b506102826106d0565b005b34801561028f575f5ffd5b50610298610766565b005b3480156102a5575f5ffd5b506102c060048036038101906102bb9190612491565b610896565b6040516102cd91906123f4565b60405180910390f35b3480156102e1575f5ffd5b506102ea6108dc565b005b3480156102f7575f5ffd5b50610300610a2c565b60405161030d91906123f4565b60405180910390f35b348015610321575f5ffd5b5061032a610a32565b005b348015610337575f5ffd5b50610352600480360381019061034d9190612374565b610f5c565b005b34801561035f575f5ffd5b506103686110fd565b60405161037591906124cb565b60405180910390f35b348015610389575f5ffd5b50610392611124565b60405161039f91906123f4565b60405180910390f35b3480156103b3575f5ffd5b506103bc61112a565b6040516103c991906122c3565b60405180910390f35b3480156103dd575f5ffd5b506103f860048036038101906103f39190612374565b611167565b60405161040591906123cc565b60405180910390f35b348015610419575f5ffd5b50610422611184565b60405161042f91906123f4565b60405180910390f35b348015610443575f5ffd5b5061045e600480360381019061045991906124e4565b61118a565b60405161046b91906123f4565b60405180910390f35b34801561047f575f5ffd5b5061049a60048036038101906104959190612522565b61120c565b005b60606040518060400160405280600f81526020017fe382aae383b3e382b7e383b3e382b00000000000000000000000000000000000815250905090565b5f6104ec6104e5611298565b848461129f565b6001905092915050565b60145481565b610504611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058890612597565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105c791906125f7565b60405180910390a1565b5f6009600a6105e0919061276c565b633b9aca006105ef91906127b6565b905090565b5f610600848484611462565b6106bd8461060c611298565b6106b8856040518060600160405280602881526020016131a86028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61066f611298565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d349092919063ffffffff16565b61129f565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610710611298565b73ffffffffffffffffffffffffffffffffffffffff161461072f575f5ffd5b5f61073930610896565b90505f81118015610754575060168054906101000a900460ff165b156107635761076281611d96565b5b50565b61076e611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f290612597565b60405180910390fd5b6009600a610809919061276c565b633b9aca0061081891906127b6565b6011819055506009600a61082c919061276c565b633b9aca0061083b91906127b6565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610870919061276c565b633b9aca0061087f91906127b6565b60405161088c91906123f4565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108e4611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096890612597565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610a3a611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90612597565b60405180910390fd5b601660149054906101000a900460ff1615610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e90612841565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bb33060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b9f919061276c565b633b9aca00610bae91906127b6565b61129f565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c1d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c419190612873565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ceb9190612873565b6040518363ffffffff1660e01b8152600401610d0892919061289e565b6020604051808303815f875af1158015610d24573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d489190612873565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8f610766565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dd730610896565b5f5f610de16110fd565b426040518863ffffffff1660e01b8152600401610e03969594939291906128c5565b60606040518083038185885af1158015610e1f573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e449190612938565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ee4929190612988565b6020604051808303815f875af1158015610f00573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2491906129d9565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f9c611298565b73ffffffffffffffffffffffffffffffffffffffff1614610fbb575f5ffd5b5f611059606461104b848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ffe91906124cb565b602060405180830381865afa158015611019573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103d9190612a04565b61207490919063ffffffff16565b6120eb90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110b7929190612a81565b6020604051808303815f875af11580156110d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f791906129d9565b50505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f4f4e53494e470000000000000000000000000000000000000000000000000000815250905090565b5f61117a611173611298565b8484611462565b6001905092915050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661124c611298565b73ffffffffffffffffffffffffffffffffffffffff161461126b575f5ffd5b600754811115801561127f57506008548111155b611287575f5ffd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361130d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130490612b18565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290612ba6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145591906123f4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790612c34565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590612cc2565b60405180910390fd5b5f8111611580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157790612d50565b60405180910390fd5b5f5f905061158c6110fd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115fa57506115ca6110fd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611653575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a84575f600d54036116a05761169d606461168f600954600d541161167c57600554611680565b6007545b8561207490919063ffffffff16565b6120eb90919063ffffffff16565b90505b5f600d5411156116d5576116d260646116c4600c548561207490919063ffffffff16565b6120eb90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561177e575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117d1575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118c95760115482111561181b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181290612db8565b60405180910390fd5b6012548261182885610896565b6118329190612dd6565b1115611873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186a90612e53565b60405180910390fd5b6118af60646118a1600954600d541161188e57600554611892565b6007545b8561207490919063ffffffff16565b6120eb90919063ffffffff16565b9050600d5f8154809291906118c390612e71565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561195157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611995576119926064611984600a54600d541161197157600654611975565b6008545b8561207490919063ffffffff16565b6120eb90919063ffffffff16565b90505b5f61199f30610896565b9050601660159054906101000a900460ff16158015611a0a575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a20575060168054906101000a900460ff165b8015611a2f5750600b54600d54115b15611a8257601854431115611a46575f6017819055505b611a63611a5e84611a5984601454612134565b612134565b611d96565b60175f815480929190611a7590612e71565b9190505550436018819055505b505b5f811115611b8357611adc8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7a91906123f4565b60405180910390a35b611bd38260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c76611c2a82846121a990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d1984866121a990919063ffffffff16565b604051611d2691906123f4565b60405180910390a350505050565b5f838311158290611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7291906122c3565b60405180910390fd5b505f8385611d899190612eb8565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611dcd57611dcc612eeb565b5b604051908082528060200260200182016040528015611dfb5781602001602082028036833780820191505090505b50905030815f81518110611e1257611e11612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190612873565b81600181518110611eee57611eed612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f543060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461129f565b5f821115611fec5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fbe959493929190612ffc565b5f604051808303815f87803b158015611fd5575f5ffd5b505af1158015611fe7573d5f5f3e3d5ffd5b505050505b5f47905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612054573d5f5f3e3d5ffd5b5050505f601660156101000a81548160ff02191690831515021790555050565b5f5f8303612084575f90506120e5565b5f828461209191906127b6565b90508284826120a09190613081565b146120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d790613121565b60405180910390fd5b809150505b92915050565b5f61212c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121f2565b905092915050565b5f8183116121425782612144565b815b905092915050565b5f5f828461215a9190612dd6565b90508381101561219f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219690613189565b60405180910390fd5b8091505092915050565b5f6121ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d34565b905092915050565b5f5f83118290612238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222f91906122c3565b60405180910390fd5b505f83856122469190613081565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61229582612253565b61229f818561225d565b93506122af81856020860161226d565b6122b88161227b565b840191505092915050565b5f6020820190508181035f8301526122db818461228b565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612310826122e7565b9050919050565b61232081612306565b811461232a575f5ffd5b50565b5f8135905061233b81612317565b92915050565b5f819050919050565b61235381612341565b811461235d575f5ffd5b50565b5f8135905061236e8161234a565b92915050565b5f5f6040838503121561238a576123896122e3565b5b5f6123978582860161232d565b92505060206123a885828601612360565b9150509250929050565b5f8115159050919050565b6123c6816123b2565b82525050565b5f6020820190506123df5f8301846123bd565b92915050565b6123ee81612341565b82525050565b5f6020820190506124075f8301846123e5565b92915050565b5f5f5f60608486031215612424576124236122e3565b5b5f6124318682870161232d565b93505060206124428682870161232d565b925050604061245386828701612360565b9150509250925092565b5f60ff82169050919050565b6124728161245d565b82525050565b5f60208201905061248b5f830184612469565b92915050565b5f602082840312156124a6576124a56122e3565b5b5f6124b38482850161232d565b91505092915050565b6124c581612306565b82525050565b5f6020820190506124de5f8301846124bc565b92915050565b5f5f604083850312156124fa576124f96122e3565b5b5f6125078582860161232d565b92505060206125188582860161232d565b9150509250929050565b5f60208284031215612537576125366122e3565b5b5f61254484828501612360565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61258160208361225d565b915061258c8261254d565b602082019050919050565b5f6020820190508181035f8301526125ae81612575565b9050919050565b5f819050919050565b5f819050919050565b5f6125e16125dc6125d7846125b5565b6125be565b612341565b9050919050565b6125f1816125c7565b82525050565b5f60208201905061260a5f8301846125e8565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156126925780860481111561266e5761266d612610565b5b600185161561267d5780820291505b808102905061268b8561263d565b9450612652565b94509492505050565b5f826126aa5760019050612765565b816126b7575f9050612765565b81600181146126cd57600281146126d757612706565b6001915050612765565b60ff8411156126e9576126e8612610565b5b8360020a915084821115612700576126ff612610565b5b50612765565b5060208310610133831016604e8410600b841016171561273b5782820a90508381111561273657612735612610565b5b612765565b6127488484846001612649565b9250905081840481111561275f5761275e612610565b5b81810290505b9392505050565b5f61277682612341565b91506127818361245d565b92506127ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461269b565b905092915050565b5f6127c082612341565b91506127cb83612341565b92508282026127d981612341565b915082820484148315176127f0576127ef612610565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61282b60178361225d565b9150612836826127f7565b602082019050919050565b5f6020820190508181035f8301526128588161281f565b9050919050565b5f8151905061286d81612317565b92915050565b5f60208284031215612888576128876122e3565b5b5f6128958482850161285f565b91505092915050565b5f6040820190506128b15f8301856124bc565b6128be60208301846124bc565b9392505050565b5f60c0820190506128d85f8301896124bc565b6128e560208301886123e5565b6128f260408301876125e8565b6128ff60608301866125e8565b61290c60808301856124bc565b61291960a08301846123e5565b979650505050505050565b5f815190506129328161234a565b92915050565b5f5f5f6060848603121561294f5761294e6122e3565b5b5f61295c86828701612924565b935050602061296d86828701612924565b925050604061297e86828701612924565b9150509250925092565b5f60408201905061299b5f8301856124bc565b6129a860208301846123e5565b9392505050565b6129b8816123b2565b81146129c2575f5ffd5b50565b5f815190506129d3816129af565b92915050565b5f602082840312156129ee576129ed6122e3565b5b5f6129fb848285016129c5565b91505092915050565b5f60208284031215612a1957612a186122e3565b5b5f612a2684828501612924565b91505092915050565b5f612a49612a44612a3f846122e7565b6125be565b6122e7565b9050919050565b5f612a5a82612a2f565b9050919050565b5f612a6b82612a50565b9050919050565b612a7b81612a61565b82525050565b5f604082019050612a945f830185612a72565b612aa160208301846123e5565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b0260248361225d565b9150612b0d82612aa8565b604082019050919050565b5f6020820190508181035f830152612b2f81612af6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b9060228361225d565b9150612b9b82612b36565b604082019050919050565b5f6020820190508181035f830152612bbd81612b84565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c1e60258361225d565b9150612c2982612bc4565b604082019050919050565b5f6020820190508181035f830152612c4b81612c12565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cac60238361225d565b9150612cb782612c52565b604082019050919050565b5f6020820190508181035f830152612cd981612ca0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d3a60298361225d565b9150612d4582612ce0565b604082019050919050565b5f6020820190508181035f830152612d6781612d2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612da260198361225d565b9150612dad82612d6e565b602082019050919050565b5f6020820190508181035f830152612dcf81612d96565b9050919050565b5f612de082612341565b9150612deb83612341565b9250828201905080821115612e0357612e02612610565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3d601a8361225d565b9150612e4882612e09565b602082019050919050565b5f6020820190508181035f830152612e6a81612e31565b9050919050565b5f612e7b82612341565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ead57612eac612610565b5b600182019050919050565b5f612ec282612341565b9150612ecd83612341565b9250828203905081811115612ee557612ee4612610565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f7781612306565b82525050565b5f612f888383612f6e565b60208301905092915050565b5f602082019050919050565b5f612faa82612f45565b612fb48185612f4f565b9350612fbf83612f5f565b805f5b83811015612fef578151612fd68882612f7d565b9750612fe183612f94565b925050600181019050612fc2565b5085935050505092915050565b5f60a08201905061300f5f8301886123e5565b61301c60208301876125e8565b818103604083015261302e8186612fa0565b905061303d60608301856124bc565b61304a60808301846123e5565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61308b82612341565b915061309683612341565b9250826130a6576130a5613054565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61310b60218361225d565b9150613116826130b1565b604082019050919050565b5f6020820190508181035f830152613138816130ff565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613173601b8361225d565b915061317e8261313f565b602082019050919050565b5f6020820190508181035f8301526131a081613167565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d7f82bb5779db0b4bb7d0c16404046c36743280e4ce9938d9d4818bde2d5019864736f6c634300081f0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063715018a6116100aa5780638f9a55c01161006e5780638f9a55c01461037e57806395d89b41146103a8578063a9059cbb146103d2578063bf474bed1461040e578063dd62ed3e14610438578063ec1f3f631461047457610134565b8063715018a6146102d65780637d1db4a5146102ec5780638a8c523c146103165780638cd4426d1461032c5780638da5cb5b1461035457610134565b806323b872dd116100f157806323b872dd14610208578063313ce5671461024457806351bc3c851461026e5780636384c3561461028457806370a082311461029a57610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e578063109daa99146101c857806318160ddd146101de57610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c61049c565b60405161015991906122c3565b60405180910390f35b34801561016d575f5ffd5b5061018860048036038101906101839190612374565b6104d9565b60405161019591906123cc565b60405180910390f35b3480156101a9575f5ffd5b506101b26104f6565b6040516101bf91906123f4565b60405180910390f35b3480156101d3575f5ffd5b506101dc6104fc565b005b3480156101e9575f5ffd5b506101f26105d1565b6040516101ff91906123f4565b60405180910390f35b348015610213575f5ffd5b5061022e6004803603810190610229919061240d565b6105f4565b60405161023b91906123cc565b60405180910390f35b34801561024f575f5ffd5b506102586106c8565b6040516102659190612478565b60405180910390f35b348015610279575f5ffd5b506102826106d0565b005b34801561028f575f5ffd5b50610298610766565b005b3480156102a5575f5ffd5b506102c060048036038101906102bb9190612491565b610896565b6040516102cd91906123f4565b60405180910390f35b3480156102e1575f5ffd5b506102ea6108dc565b005b3480156102f7575f5ffd5b50610300610a2c565b60405161030d91906123f4565b60405180910390f35b348015610321575f5ffd5b5061032a610a32565b005b348015610337575f5ffd5b50610352600480360381019061034d9190612374565b610f5c565b005b34801561035f575f5ffd5b506103686110fd565b60405161037591906124cb565b60405180910390f35b348015610389575f5ffd5b50610392611124565b60405161039f91906123f4565b60405180910390f35b3480156103b3575f5ffd5b506103bc61112a565b6040516103c991906122c3565b60405180910390f35b3480156103dd575f5ffd5b506103f860048036038101906103f39190612374565b611167565b60405161040591906123cc565b60405180910390f35b348015610419575f5ffd5b50610422611184565b60405161042f91906123f4565b60405180910390f35b348015610443575f5ffd5b5061045e600480360381019061045991906124e4565b61118a565b60405161046b91906123f4565b60405180910390f35b34801561047f575f5ffd5b5061049a60048036038101906104959190612522565b61120c565b005b60606040518060400160405280600f81526020017fe382aae383b3e382b7e383b3e382b00000000000000000000000000000000000815250905090565b5f6104ec6104e5611298565b848461129f565b6001905092915050565b60145481565b610504611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058890612597565b60405180910390fd5b5f600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105c791906125f7565b60405180910390a1565b5f6009600a6105e0919061276c565b633b9aca006105ef91906127b6565b905090565b5f610600848484611462565b6106bd8461060c611298565b6106b8856040518060600160405280602881526020016131a86028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61066f611298565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d349092919063ffffffff16565b61129f565b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610710611298565b73ffffffffffffffffffffffffffffffffffffffff161461072f575f5ffd5b5f61073930610896565b90505f81118015610754575060168054906101000a900460ff165b156107635761076281611d96565b5b50565b61076e611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f290612597565b60405180910390fd5b6009600a610809919061276c565b633b9aca0061081891906127b6565b6011819055506009600a61082c919061276c565b633b9aca0061083b91906127b6565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610870919061276c565b633b9aca0061087f91906127b6565b60405161088c91906123f4565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108e4611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096890612597565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610a3a611298565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90612597565b60405180910390fd5b601660149054906101000a900460ff1615610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e90612841565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bb33060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b9f919061276c565b633b9aca00610bae91906127b6565b61129f565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c1d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c419190612873565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ceb9190612873565b6040518363ffffffff1660e01b8152600401610d0892919061289e565b6020604051808303815f875af1158015610d24573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d489190612873565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8f610766565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dd730610896565b5f5f610de16110fd565b426040518863ffffffff1660e01b8152600401610e03969594939291906128c5565b60606040518083038185885af1158015610e1f573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e449190612938565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ee4929190612988565b6020604051808303815f875af1158015610f00573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2491906129d9565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff021916908315150217905550565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f9c611298565b73ffffffffffffffffffffffffffffffffffffffff1614610fbb575f5ffd5b5f611059606461104b848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ffe91906124cb565b602060405180830381865afa158015611019573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103d9190612a04565b61207490919063ffffffff16565b6120eb90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110b7929190612a81565b6020604051808303815f875af11580156110d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f791906129d9565b50505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600681526020017f4f4e53494e470000000000000000000000000000000000000000000000000000815250905090565b5f61117a611173611298565b8484611462565b6001905092915050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661124c611298565b73ffffffffffffffffffffffffffffffffffffffff161461126b575f5ffd5b600754811115801561127f57506008548111155b611287575f5ffd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361130d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130490612b18565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290612ba6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145591906123f4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c790612c34565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590612cc2565b60405180910390fd5b5f8111611580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157790612d50565b60405180910390fd5b5f5f905061158c6110fd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115fa57506115ca6110fd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611653575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a84575f600d54036116a05761169d606461168f600954600d541161167c57600554611680565b6007545b8561207490919063ffffffff16565b6120eb90919063ffffffff16565b90505b5f600d5411156116d5576116d260646116c4600c548561207490919063ffffffff16565b6120eb90919063ffffffff16565b90505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561177e575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117d1575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156118c95760115482111561181b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181290612db8565b60405180910390fd5b6012548261182885610896565b6118329190612dd6565b1115611873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186a90612e53565b60405180910390fd5b6118af60646118a1600954600d541161188e57600554611892565b6007545b8561207490919063ffffffff16565b6120eb90919063ffffffff16565b9050600d5f8154809291906118c390612e71565b91905055505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561195157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611995576119926064611984600a54600d541161197157600654611975565b6008545b8561207490919063ffffffff16565b6120eb90919063ffffffff16565b90505b5f61199f30610896565b9050601660159054906101000a900460ff16158015611a0a575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a20575060168054906101000a900460ff165b8015611a2f5750600b54600d54115b15611a8257601854431115611a46575f6017819055505b611a63611a5e84611a5984601454612134565b612134565b611d96565b60175f815480929190611a7590612e71565b9190505550436018819055505b505b5f811115611b8357611adc8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b7a91906123f4565b60405180910390a35b611bd38260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c76611c2a82846121a990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d1984866121a990919063ffffffff16565b604051611d2691906123f4565b60405180910390a350505050565b5f838311158290611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7291906122c3565b60405180910390fd5b505f8385611d899190612eb8565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611dcd57611dcc612eeb565b5b604051908082528060200260200182016040528015611dfb5781602001602082028036833780820191505090505b50905030815f81518110611e1257611e11612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eda9190612873565b81600181518110611eee57611eed612f18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f543060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461129f565b5f821115611fec5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fbe959493929190612ffc565b5f604051808303815f87803b158015611fd5575f5ffd5b505af1158015611fe7573d5f5f3e3d5ffd5b505050505b5f47905060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612054573d5f5f3e3d5ffd5b5050505f601660156101000a81548160ff02191690831515021790555050565b5f5f8303612084575f90506120e5565b5f828461209191906127b6565b90508284826120a09190613081565b146120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d790613121565b60405180910390fd5b809150505b92915050565b5f61212c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121f2565b905092915050565b5f8183116121425782612144565b815b905092915050565b5f5f828461215a9190612dd6565b90508381101561219f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219690613189565b60405180910390fd5b8091505092915050565b5f6121ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d34565b905092915050565b5f5f83118290612238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222f91906122c3565b60405180910390fd5b505f83856122469190613081565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61229582612253565b61229f818561225d565b93506122af81856020860161226d565b6122b88161227b565b840191505092915050565b5f6020820190508181035f8301526122db818461228b565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612310826122e7565b9050919050565b61232081612306565b811461232a575f5ffd5b50565b5f8135905061233b81612317565b92915050565b5f819050919050565b61235381612341565b811461235d575f5ffd5b50565b5f8135905061236e8161234a565b92915050565b5f5f6040838503121561238a576123896122e3565b5b5f6123978582860161232d565b92505060206123a885828601612360565b9150509250929050565b5f8115159050919050565b6123c6816123b2565b82525050565b5f6020820190506123df5f8301846123bd565b92915050565b6123ee81612341565b82525050565b5f6020820190506124075f8301846123e5565b92915050565b5f5f5f60608486031215612424576124236122e3565b5b5f6124318682870161232d565b93505060206124428682870161232d565b925050604061245386828701612360565b9150509250925092565b5f60ff82169050919050565b6124728161245d565b82525050565b5f60208201905061248b5f830184612469565b92915050565b5f602082840312156124a6576124a56122e3565b5b5f6124b38482850161232d565b91505092915050565b6124c581612306565b82525050565b5f6020820190506124de5f8301846124bc565b92915050565b5f5f604083850312156124fa576124f96122e3565b5b5f6125078582860161232d565b92505060206125188582860161232d565b9150509250929050565b5f60208284031215612537576125366122e3565b5b5f61254484828501612360565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61258160208361225d565b915061258c8261254d565b602082019050919050565b5f6020820190508181035f8301526125ae81612575565b9050919050565b5f819050919050565b5f819050919050565b5f6125e16125dc6125d7846125b5565b6125be565b612341565b9050919050565b6125f1816125c7565b82525050565b5f60208201905061260a5f8301846125e8565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156126925780860481111561266e5761266d612610565b5b600185161561267d5780820291505b808102905061268b8561263d565b9450612652565b94509492505050565b5f826126aa5760019050612765565b816126b7575f9050612765565b81600181146126cd57600281146126d757612706565b6001915050612765565b60ff8411156126e9576126e8612610565b5b8360020a915084821115612700576126ff612610565b5b50612765565b5060208310610133831016604e8410600b841016171561273b5782820a90508381111561273657612735612610565b5b612765565b6127488484846001612649565b9250905081840481111561275f5761275e612610565b5b81810290505b9392505050565b5f61277682612341565b91506127818361245d565b92506127ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461269b565b905092915050565b5f6127c082612341565b91506127cb83612341565b92508282026127d981612341565b915082820484148315176127f0576127ef612610565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61282b60178361225d565b9150612836826127f7565b602082019050919050565b5f6020820190508181035f8301526128588161281f565b9050919050565b5f8151905061286d81612317565b92915050565b5f60208284031215612888576128876122e3565b5b5f6128958482850161285f565b91505092915050565b5f6040820190506128b15f8301856124bc565b6128be60208301846124bc565b9392505050565b5f60c0820190506128d85f8301896124bc565b6128e560208301886123e5565b6128f260408301876125e8565b6128ff60608301866125e8565b61290c60808301856124bc565b61291960a08301846123e5565b979650505050505050565b5f815190506129328161234a565b92915050565b5f5f5f6060848603121561294f5761294e6122e3565b5b5f61295c86828701612924565b935050602061296d86828701612924565b925050604061297e86828701612924565b9150509250925092565b5f60408201905061299b5f8301856124bc565b6129a860208301846123e5565b9392505050565b6129b8816123b2565b81146129c2575f5ffd5b50565b5f815190506129d3816129af565b92915050565b5f602082840312156129ee576129ed6122e3565b5b5f6129fb848285016129c5565b91505092915050565b5f60208284031215612a1957612a186122e3565b5b5f612a2684828501612924565b91505092915050565b5f612a49612a44612a3f846122e7565b6125be565b6122e7565b9050919050565b5f612a5a82612a2f565b9050919050565b5f612a6b82612a50565b9050919050565b612a7b81612a61565b82525050565b5f604082019050612a945f830185612a72565b612aa160208301846123e5565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b0260248361225d565b9150612b0d82612aa8565b604082019050919050565b5f6020820190508181035f830152612b2f81612af6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b9060228361225d565b9150612b9b82612b36565b604082019050919050565b5f6020820190508181035f830152612bbd81612b84565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c1e60258361225d565b9150612c2982612bc4565b604082019050919050565b5f6020820190508181035f830152612c4b81612c12565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cac60238361225d565b9150612cb782612c52565b604082019050919050565b5f6020820190508181035f830152612cd981612ca0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d3a60298361225d565b9150612d4582612ce0565b604082019050919050565b5f6020820190508181035f830152612d6781612d2e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612da260198361225d565b9150612dad82612d6e565b602082019050919050565b5f6020820190508181035f830152612dcf81612d96565b9050919050565b5f612de082612341565b9150612deb83612341565b9250828201905080821115612e0357612e02612610565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3d601a8361225d565b9150612e4882612e09565b602082019050919050565b5f6020820190508181035f830152612e6a81612e31565b9050919050565b5f612e7b82612341565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ead57612eac612610565b5b600182019050919050565b5f612ec282612341565b9150612ecd83612341565b9250828203905081811115612ee557612ee4612610565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f7781612306565b82525050565b5f612f888383612f6e565b60208301905092915050565b5f602082019050919050565b5f612faa82612f45565b612fb48185612f4f565b9350612fbf83612f5f565b805f5b83811015612fef578151612fd68882612f7d565b9750612fe183612f94565b925050600181019050612fc2565b5085935050505092915050565b5f60a08201905061300f5f8301886123e5565b61301c60208301876125e8565b818103604083015261302e8186612fa0565b905061303d60608301856124bc565b61304a60808301846123e5565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61308b82612341565b915061309683612341565b9250826130a6576130a5613054565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61310b60218361225d565b9150613116826130b1565b604082019050919050565b5f6020820190508181035f830152613138816130ff565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613173601b8361225d565b915061317e8261313f565b602082019050919050565b5f6020820190508181035f8301526131a081613167565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d7f82bb5779db0b4bb7d0c16404046c36743280e4ce9938d9d4818bde2d5019864736f6c634300081f0033
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.