Source Code
EVM
Overview
ETH Balance
0 ETH
ETH Value
$0.00Latest 25 from a total of 1,357 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Process Death Pa... | 36294851 | 8 days ago | IN | 0 ETH | 0.00001494 | ||||
| Process Death Pa... | 35209853 | 16 days ago | IN | 0 ETH | 0.00001519 | ||||
| Process Death Pa... | 35205439 | 16 days ago | IN | 0 ETH | 0.0000147 | ||||
| Process Death Pa... | 34916704 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916680 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916660 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916639 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916626 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916604 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916589 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916580 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916535 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916523 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916514 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916498 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916485 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916463 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916441 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916433 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916402 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916393 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916378 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916370 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916356 | 18 days ago | IN | 0 ETH | 0.00001229 | ||||
| Process Death Pa... | 34916315 | 18 days ago | IN | 0 ETH | 0.0000123 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 15568592 | 187 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
GamePaymentProcessor
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at abscan.org on 2025-08-25
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// Complete ERC20 interface
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, 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 from, address to, 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);
}
/**
* @title GamePaymentProcessor (Clean & Secure)
* @dev Payment processor for in-game deaths with essential security features
*/
contract GamePaymentProcessor {
IERC20 public immutable usdcToken;
address public owner;
address public pendingOwner;
address public gameServerAddress;
// Core payment settings
uint32[3] public deathPayments = [200000, 1000000, 5000000]; // 0.2, 1, 5 USDC
// Fee structure: percentage + fixed amount
struct FeeStructure {
uint16 percentage; // e.g. 100 = 1%
uint256 fixedAmount; // Fixed USDC amount (6 decimals)
}
FeeStructure public feeStructure = FeeStructure({
percentage: 100, // 1%
fixedAmount: 0 // No fixed fee initially
});
address public feeAddress;
// === SERVER COMPROMISE PROTECTIONS ===
// 1. USER COOLDOWN PROTECTION
uint256 public userCooldownPeriod = 5; // seconds between transactions per user
mapping(address => uint256) public lastTxTimestamp; // user => last transaction time
// 2. CIRCUIT BREAKER
bool public emergencyPaused = false;
// 3. SUSPICIOUS ACTIVITY DETECTION
mapping(address => bool) public blacklistedAddresses;
mapping(address => uint256) public suspiciousActivity; // user => strike count
uint256 public constant MAX_STRIKES = 3;
address[] public blacklistedList; // Array to track all blacklisted addresses
// 4. GUARDIAN-APPROVED OWNERSHIP CHANGES
address public emergencyGuardian; // Can pause, cannot unpause
bool public guardianApprovedOwnershipChange = false; // Guardian must approve ownership changes
// Events
event PaymentProcessed(address indexed from, address indexed to, uint8 tier, uint256 amount);
event OwnershipTransferInitiated(address indexed currentOwner, address indexed pendingOwner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event GameServerAddressChanged(address indexed oldAddress, address indexed newAddress);
event EmergencyPause(address indexed trigger, string reason);
event SuspiciousActivity(address indexed user, string reason, uint256 strikes);
event UserCooldownExceeded(address indexed user, uint256 timeSinceLastTx, uint256 required);
event GuardianApprovedOwnershipChange(address indexed guardian, bool approved);
event BatchBlacklistRemoval(address[] addresses, uint256 count);
event FeeStructureChanged(uint16 percentage, uint256 fixedAmount);
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
modifier onlyGameServer() {
require(msg.sender == gameServerAddress, "Not game server");
_;
}
modifier onlyGuardian() {
require(msg.sender == emergencyGuardian, "Not guardian");
_;
}
modifier notPaused() {
require(!emergencyPaused, "Contract paused");
_;
}
constructor(
address _usdcToken,
address _gameServerAddress,
address _feeAddress,
address _emergencyGuardian
) {
require(_usdcToken != address(0), "Invalid USDC address");
require(_gameServerAddress != address(0), "Invalid game server");
require(_feeAddress != address(0), "Invalid fee address");
require(_emergencyGuardian != address(0), "Invalid guardian");
usdcToken = IERC20(_usdcToken);
gameServerAddress = _gameServerAddress;
feeAddress = _feeAddress;
emergencyGuardian = _emergencyGuardian;
owner = msg.sender;
}
/**
* @dev Guardian must approve ownership changes first
*/
function approveOwnershipChange(bool approved) external onlyGuardian {
guardianApprovedOwnershipChange = approved;
emit GuardianApprovedOwnershipChange(msg.sender, approved);
}
/**
* @dev Initiate ownership transfer (step 1 of 2) - requires guardian approval
* @param newOwner Address of the new owner
*/
function transferOwnership(address newOwner) external onlyOwner {
require(guardianApprovedOwnershipChange, "Guardian approval required");
require(newOwner != address(0), "New owner cannot be zero address");
require(newOwner != owner, "New owner must be different");
pendingOwner = newOwner;
guardianApprovedOwnershipChange = false; // Reset approval after use
emit OwnershipTransferInitiated(owner, newOwner);
}
/**
* @dev Accept ownership transfer (step 2 of 2)
* Must be called by the pending owner
*/
function acceptOwnership() external {
require(msg.sender == pendingOwner, "Not pending owner");
address previousOwner = owner;
owner = pendingOwner;
pendingOwner = address(0);
emit OwnershipTransferred(previousOwner, owner);
}
/**
* @dev Cancel pending ownership transfer
*/
function cancelOwnershipTransfer() external onlyOwner {
require(pendingOwner != address(0), "No pending transfer");
pendingOwner = address(0);
emit OwnershipTransferInitiated(owner, address(0)); // Signal cancellation
}
/**
* @dev Emergency function to renounce ownership (use with extreme caution!)
* This will permanently lock admin functions
*/
function renounceOwnership() external onlyOwner {
address previousOwner = owner;
owner = address(0);
pendingOwner = address(0);
emit OwnershipTransferred(previousOwner, address(0));
}
function setGameServerAddress(address _newAddress) external onlyOwner {
require(_newAddress != address(0), "Invalid address");
require(_newAddress != gameServerAddress, "Same address");
address oldAddress = gameServerAddress;
gameServerAddress = _newAddress;
emit GameServerAddressChanged(oldAddress, _newAddress);
}
function setDeathPayment(uint8 tier, uint32 amount) external onlyOwner {
require(tier >= 1 && tier <= 3, "Invalid tier");
require(amount > 0, "Amount must be positive");
deathPayments[tier-1] = amount;
}
/**
* @dev Core payment processing function
* @param tokenHolder The address holding the USDC to be transferred
* @param killer The address receiving the payment
* @param tier The payment tier (1-3)
*/
function processDeathPayment(
address tokenHolder,
address killer,
uint8 tier
) external onlyGameServer notPaused {
// Basic validation
require(tier >= 1 && tier <= 3, "Invalid tier");
require(tokenHolder != address(0), "Invalid token holder");
require(killer != address(0), "Invalid killer");
require(tokenHolder != killer, "Cannot pay yourself");
require(!blacklistedAddresses[tokenHolder], "Blacklisted sender");
require(!blacklistedAddresses[killer], "Blacklisted receiver");
// Per-user cooldown check (prevent rapid draining)
uint256 timeSinceLastTx = block.timestamp - lastTxTimestamp[tokenHolder];
if (lastTxTimestamp[tokenHolder] != 0 && timeSinceLastTx < userCooldownPeriod) {
emit UserCooldownExceeded(tokenHolder, timeSinceLastTx, userCooldownPeriod);
revert("User cooldown active");
}
lastTxTimestamp[tokenHolder] = block.timestamp;
uint256 paymentAmount = deathPayments[tier-1];
// Calculate fee: percentage + fixed amount
uint256 percentageFee = (paymentAmount * feeStructure.percentage) / 10000;
uint256 totalFee = percentageFee + feeStructure.fixedAmount;
uint256 killerAmount = paymentAmount - totalFee;
// Execute transfers
require(usdcToken.transferFrom(tokenHolder, killer, killerAmount), "Payment failed");
if (totalFee > 0) {
require(usdcToken.transferFrom(tokenHolder, feeAddress, totalFee), "Fee failed");
}
emit PaymentProcessed(tokenHolder, killer, tier, paymentAmount);
}
// === EMERGENCY CONTROLS ===
function emergencyPause(string calldata reason) external onlyGuardian {
emergencyPaused = true;
emit EmergencyPause(msg.sender, reason);
}
// Only owner can unpause (guardian can't)
function unpause() external onlyOwner {
emergencyPaused = false;
}
// === SUSPICIOUS ACTIVITY MANAGEMENT ===
function flagSuspiciousActivity(address user, string calldata reason) external onlyGameServer {
suspiciousActivity[user]++;
if (suspiciousActivity[user] >= MAX_STRIKES && !blacklistedAddresses[user]) {
blacklistedAddresses[user] = true;
blacklistedList.push(user); // Add to array for tracking
}
emit SuspiciousActivity(user, reason, suspiciousActivity[user]);
}
function removeFromBlacklist(address user) external onlyOwner {
if (blacklistedAddresses[user]) {
blacklistedAddresses[user] = false;
suspiciousActivity[user] = 0;
// Remove from blacklistedList array
for (uint i = 0; i < blacklistedList.length; i++) {
if (blacklistedList[i] == user) {
blacklistedList[i] = blacklistedList[blacklistedList.length - 1];
blacklistedList.pop();
break;
}
}
}
}
function batchRemoveFromBlacklist(address[] calldata users) external onlyOwner {
uint256 removedCount = 0;
for (uint i = 0; i < users.length; i++) {
address user = users[i];
if (blacklistedAddresses[user]) {
blacklistedAddresses[user] = false;
suspiciousActivity[user] = 0;
removedCount++;
// Remove from blacklistedList array
for (uint j = 0; j < blacklistedList.length; j++) {
if (blacklistedList[j] == user) {
blacklistedList[j] = blacklistedList[blacklistedList.length - 1];
blacklistedList.pop();
break;
}
}
}
}
emit BatchBlacklistRemoval(users, removedCount);
}
// === IMMEDIATE ADMIN FUNCTIONS ===
function setEmergencyGuardian(address newGuardian) external onlyOwner {
require(newGuardian != address(0), "Zero address");
emergencyGuardian = newGuardian;
}
function setUserCooldownPeriod(uint256 newCooldownSeconds) external onlyOwner {
require(newCooldownSeconds >= 1 && newCooldownSeconds <= 3600, "1-3600 seconds only");
userCooldownPeriod = newCooldownSeconds;
}
function setFeeStructure(uint16 newPercentage, uint256 newFixedAmount) external onlyOwner {
require(newPercentage <= 1000, "Max 10% fee");
feeStructure.percentage = newPercentage;
feeStructure.fixedAmount = newFixedAmount;
emit FeeStructureChanged(newPercentage, newFixedAmount);
}
function setFeeAddress(address newFeeAddress) external onlyOwner {
require(newFeeAddress != address(0), "Invalid fee address");
feeAddress = newFeeAddress;
}
// === VIEW FUNCTIONS ===
function isUserSuspicious(address user) external view returns (bool, uint256) {
return (blacklistedAddresses[user], suspiciousActivity[user]);
}
function getUserCooldownStatus(address user) external view returns (bool canTransact, uint256 remainingCooldown) {
if (lastTxTimestamp[user] == 0) {
return (true, 0); // First transaction, no cooldown
}
uint256 timeSinceLastTx = block.timestamp - lastTxTimestamp[user];
if (timeSinceLastTx >= userCooldownPeriod) {
return (true, 0); // Cooldown expired
} else {
return (false, userCooldownPeriod - timeSinceLastTx); // Still in cooldown
}
}
function getAllBlacklistedAddresses() external view returns (address[] memory) {
return blacklistedList;
}
function getBlacklistedCount() external view returns (uint256) {
return blacklistedList.length;
}
function calculatePaymentBreakdown(uint8 tier) external view returns (uint256 killerAmount, uint256 totalFee, uint256 totalAmount) {
require(tier >= 1 && tier <= 3, "Invalid tier");
totalAmount = deathPayments[tier-1];
uint256 percentageFee = (totalAmount * feeStructure.percentage) / 10000;
totalFee = percentageFee + feeStructure.fixedAmount;
killerAmount = totalAmount - totalFee;
}
/**
* @dev View functions for frontend integration
*/
function getDeathPayment(uint8 tier) external view returns (uint256) {
require(tier >= 1 && tier <= 3, "Invalid tier");
return deathPayments[tier-1];
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_usdcToken","type":"address"},{"internalType":"address","name":"_gameServerAddress","type":"address"},{"internalType":"address","name":"_feeAddress","type":"address"},{"internalType":"address","name":"_emergencyGuardian","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"addresses","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"BatchBlacklistRemoval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"trigger","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"EmergencyPause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"percentage","type":"uint16"},{"indexed":false,"internalType":"uint256","name":"fixedAmount","type":"uint256"}],"name":"FeeStructureChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"GameServerAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guardian","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"GuardianApprovedOwnershipChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"currentOwner","type":"address"},{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipTransferInitiated","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":"uint8","name":"tier","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"uint256","name":"strikes","type":"uint256"}],"name":"SuspiciousActivity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"timeSinceLastTx","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"required","type":"uint256"}],"name":"UserCooldownExceeded","type":"event"},{"inputs":[],"name":"MAX_STRIKES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"approved","type":"bool"}],"name":"approveOwnershipChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"}],"name":"batchRemoveFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklistedAddresses","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"blacklistedList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"tier","type":"uint8"}],"name":"calculatePaymentBreakdown","outputs":[{"internalType":"uint256","name":"killerAmount","type":"uint256"},{"internalType":"uint256","name":"totalFee","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"deathPayments","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyGuardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"name":"emergencyPause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeStructure","outputs":[{"internalType":"uint16","name":"percentage","type":"uint16"},{"internalType":"uint256","name":"fixedAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"string","name":"reason","type":"string"}],"name":"flagSuspiciousActivity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gameServerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllBlacklistedAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlacklistedCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"tier","type":"uint8"}],"name":"getDeathPayment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserCooldownStatus","outputs":[{"internalType":"bool","name":"canTransact","type":"bool"},{"internalType":"uint256","name":"remainingCooldown","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardianApprovedOwnershipChange","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserSuspicious","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastTxTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"},{"internalType":"address","name":"killer","type":"address"},{"internalType":"uint8","name":"tier","type":"uint8"}],"name":"processDeathPayment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"tier","type":"uint8"},{"internalType":"uint32","name":"amount","type":"uint32"}],"name":"setDeathPayment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newGuardian","type":"address"}],"name":"setEmergencyGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newFeeAddress","type":"address"}],"name":"setFeeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newPercentage","type":"uint16"},{"internalType":"uint256","name":"newFixedAmount","type":"uint256"}],"name":"setFeeStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"name":"setGameServerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCooldownSeconds","type":"uint256"}],"name":"setUserCooldownPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"suspiciousActivity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdcToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"userCooldownPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a0604052604051806060016040528062030d4062ffffff168152602001620f424062ffffff168152602001624c4b4062ffffff1681525060039060036100479291906103e9565b506040518060400160405280606461ffff1681526020015f81525060045f820151815f015f6101000a81548161ffff021916908361ffff16021790555060208201518160010155505060056007555f60095f6101000a81548160ff0219169083151502179055505f600d60146101000a81548160ff0219169083151502179055503480156100d3575f5ffd5b50604051614d8f380380614d8f83398181016040528101906100f59190610503565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015a906105c1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036101d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c890610629565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361023f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023690610691565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036102ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a4906106f9565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508260025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050610717565b826003600701600890048101928215610479579160200282015f5b8382111561044757835183826101000a81548163ffffffff021916908362ffffff1602179055509260200192600401602081600301049283019260010302610404565b80156104775782816101000a81549063ffffffff0219169055600401602081600301049283019260010302610447565b505b509050610486919061048a565b5090565b5b808211156104a1575f815f90555060010161048b565b5090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104d2826104a9565b9050919050565b6104e2816104c8565b81146104ec575f5ffd5b50565b5f815190506104fd816104d9565b92915050565b5f5f5f5f6080858703121561051b5761051a6104a5565b5b5f610528878288016104ef565b9450506020610539878288016104ef565b935050604061054a878288016104ef565b925050606061055b878288016104ef565b91505092959194509250565b5f82825260208201905092915050565b7f496e76616c6964205553444320616464726573730000000000000000000000005f82015250565b5f6105ab601483610567565b91506105b682610577565b602082019050919050565b5f6020820190508181035f8301526105d88161059f565b9050919050565b7f496e76616c69642067616d6520736572766572000000000000000000000000005f82015250565b5f610613601383610567565b915061061e826105df565b602082019050919050565b5f6020820190508181035f83015261064081610607565b9050919050565b7f496e76616c6964206665652061646472657373000000000000000000000000005f82015250565b5f61067b601383610567565b915061068682610647565b602082019050919050565b5f6020820190508181035f8301526106a88161066f565b9050919050565b7f496e76616c696420677561726469616e000000000000000000000000000000005f82015250565b5f6106e3601083610567565b91506106ee826106af565b602082019050919050565b5f6020820190508181035f830152610710816106d7565b9050919050565b60805161465261073d5f395f8181610d6701528181610e4b0152610fba01526146525ff3fe608060405234801561000f575f5ffd5b506004361061023b575f3560e01c8063715018a611610139578063b8f07dea116100b6578063d5749d421161007a578063d5749d4214610656578063d716265714610686578063e30c3978146106a2578063f069a999146106c0578063f2fde38b146106f25761023b565b8063b8f07dea1461059e578063b8f2b6bc146105bc578063bc394350146105ec578063cf5b4fd51461060a578063cf87f052146106265761023b565b80638da5cb5b116100fd5780638da5cb5b1461050e578063a3111cd11461052c578063a338df3814610548578063a5fc1fc014610564578063a9748b2b146105805761023b565b8063715018a6146104a457806375c31f33146104ae57806379ba5097146104ca5780637d340b2c146104d45780638705fcd4146104f25761023b565b806332576ef4116101c75780634f115da51161018b5780634f115da5146103fe578063528d87111461042f578063537df3b61461044e5780635a1d02771461046a5780636e3ef50a146104885761023b565b806332576ef4146103585780633f4ba83a1461037657806341275358146103805780634551bbe91461039e5780634727a0dd146103ce5761023b565b80631bb978ee1161020e5780631bb978ee146102c757806323452b9c146102e357806327c830a9146102ed5780632de907de1461030b578063307c1ca4146103275761023b565b8063034b306a1461023f5780630a3bc8211461025d5780630cdd5e2a1461028d57806311eac855146102a9575b5f5ffd5b61024761070e565b6040516102549190613194565b60405180910390f35b610277600480360381019061027291906131ef565b610799565b6040516102849190613238565b60405180910390f35b6102a760048036038101906102a291906132b1565b6107c8565b005b6102b1610fb8565b6040516102be919061335c565b60405180910390f35b6102e160048036038101906102dc91906133aa565b610fdc565b005b6102eb6110d6565b005b6102f56112af565b60405161030291906133e4565b60405180910390f35b610325600480360381019061032091906133fd565b6112c1565b005b610341600480360381019061033c91906133fd565b61150f565b60405161034f929190613437565b60405180910390f35b6103606115a2565b60405161036d919061345e565b60405180910390f35b61037e6115a8565b005b610388611651565b6040516103959190613486565b60405180910390f35b6103b860048036038101906103b391906133fd565b611676565b6040516103c5919061345e565b60405180910390f35b6103e860048036038101906103e391906131ef565b61168b565b6040516103f59190613486565b60405180910390f35b610418600480360381019061041391906133fd565b6116c6565b604051610426929190613437565b60405180910390f35b610437611794565b6040516104459291906134bb565b60405180910390f35b610468600480360381019061046391906133fd565b6117b2565b005b610472611aa6565b60405161047f919061345e565b60405180910390f35b6104a2600480360381019061049d919061350c565b611ab2565b005b6104ac611bee565b005b6104c860048036038101906104c391906135ab565b611d7c565b005b6104d2612041565b005b6104dc612211565b6040516104e991906133e4565b60405180910390f35b61050c600480360381019061050791906133fd565b612224565b005b610516612363565b6040516105239190613486565b60405180910390f35b61054660048036038101906105419190613632565b612387565b005b610562600480360381019061055d91906133fd565b612505565b005b61057e600480360381019061057991906131ef565b612644565b005b61058861272e565b6040516105959190613486565b60405180910390f35b6105a6612753565b6040516105b3919061345e565b60405180910390f35b6105d660048036038101906105d19190613670565b612758565b6040516105e3919061345e565b60405180910390f35b6105f46127fc565b6040516106019190613486565b60405180910390f35b610624600480360381019061061f919061369b565b612821565b005b610640600480360381019061063b91906133fd565b61291e565b60405161064d919061345e565b60405180910390f35b610670600480360381019061066b91906133fd565b612933565b60405161067d91906133e4565b60405180910390f35b6106a0600480360381019061069b919061373b565b612950565b005b6106aa612cdd565b6040516106b79190613486565b60405180910390f35b6106da60048036038101906106d59190613670565b612d02565b6040516106e993929190613786565b60405180910390f35b61070c600480360381019061070791906133fd565b612dfd565b005b6060600c80548060200260200160405190810160405280929190818152602001828054801561078f57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610746575b5050505050905090565b600381600381106107a8575f80fd5b60089182820401919006600402915054906101000a900463ffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084e90613815565b60405180910390fd5b60095f9054906101000a900460ff16156108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d9061387d565b60405180910390fd5b60018160ff16101580156108be575060038160ff1611155b6108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f4906138e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361096b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109629061394d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d0906139b5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e90613a1d565b60405180910390fd5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890613a85565b60405180910390fd5b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5290613aed565b60405180910390fd5b5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442610ba59190613b38565b90505f60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414158015610bf5575060075481105b15610c87578373ffffffffffffffffffffffffffffffffffffffff167f6dd382a1771ae01e8cd15e673fef280f75d46fc126d6b3a7c45bd75737e082bd82600754604051610c44929190613b6b565b60405180910390a26040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90613bdc565b60405180910390fd5b4260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f6003600184610cd99190613bfa565b60ff1660038110610ced57610cec613c2e565b5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1690505f61271060045f015f9054906101000a900461ffff1661ffff1683610d369190613c5b565b610d409190613cc9565b90505f60046001015482610d549190613cf9565b90505f8184610d639190613b38565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd8989846040518463ffffffff1660e01b8152600401610dc293929190613d2c565b6020604051808303815f875af1158015610dde573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e029190613d75565b610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890613dea565b60405180910390fd5b5f821115610f47577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd8960065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401610ec793929190613d2c565b6020604051808303815f875af1158015610ee3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f079190613d75565b610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90613e52565b60405180910390fd5b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f05e5e1cc8899e8c5c4fe194f31a06e7e48a24294f9f0be32867ccd84ba7d8e528887604051610fa6929190613e7f565b60405180910390a35050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106290613ef0565b60405180910390fd5b80600d60146101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fbe6e26a8adc33f7872d65cd8781371e071ecef0b759edc455f1c0c0565301dc0826040516110cb91906133e4565b60405180910390a250565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b90613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea90613fc0565b60405180910390fd5b5f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb150023a879fd806e3599b6ca8ee3b60f0e360ab3846d128d67ebce1a391639a60405160405180910390a3565b60095f9054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b490614028565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390614090565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fc8de10f73c4e820ace2f88c06b3555d7dd37323972ba9b9b25948ac226dc872c60405160405180910390a35050565b5f5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491509150915091565b60075481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162d90613f58565b60405180910390fd5b5f60095f6101000a81548160ff021916908315150217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6008602052805f5260405f205f915090505481565b600c818154811061169a575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036117185760015f9150915061178f565b5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054426117629190613b38565b9050600754811061177a5760015f925092505061178f565b5f816007546117899190613b38565b92509250505b915091565b6004805f015f9054906101000a900461ffff16908060010154905082565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183790613f58565b60405180910390fd5b600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611aa3575f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f5f90505b600c80549050811015611aa1578173ffffffffffffffffffffffffffffffffffffffff16600c828154811061196257611961613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611a9457600c6001600c805490506119b99190613b38565b815481106119ca576119c9613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c8281548110611a0657611a05613c2e565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c805480611a5d57611a5c6140ae565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611aa1565b808060010191505061192a565b505b50565b5f600c80549050905090565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3790613f58565b60405180910390fd5b6103e88261ffff161115611b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8090614125565b60405180910390fd5b8160045f015f6101000a81548161ffff021916908361ffff160217905550806004600101819055507ffe44cfaace588adf9196ed0e9ce1bab88b95cc20c2001ec86a7ae25ca419da4b8282604051611be29291906134bb565b60405180910390a15050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613f58565b60405180910390fd5b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0290613815565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190611e5890614143565b91905055506003600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410158015611ef25750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fad576001600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600c83908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b8273ffffffffffffffffffffffffffffffffffffffff167f97ca9566ce9916c416b39fc3af410e1eb1d605581a9f90569b7147932879db448383600b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051612034939291906141d4565b60405180910390a2505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c79061424e565b60405180910390fd5b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600d60149054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a990613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612320576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612317906142b6565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240c90613f58565b60405180910390fd5b60018260ff161015801561242d575060038260ff1611155b61246c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612463906138e5565b60405180910390fd5b5f8163ffffffff16116124b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ab9061431e565b60405180910390fd5b8060036001846124c49190613bfa565b60ff16600381106124d8576124d7613c2e565b5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258a90613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890614386565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c990613f58565b60405180910390fd5b600181101580156126e55750610e108111155b612724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271b906143ee565b60405180910390fd5b8060078190555050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381565b5f60018260ff1610158015612771575060038260ff1611155b6127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a7906138e5565b60405180910390fd5b60036001836127bf9190613bfa565b60ff16600381106127d3576127d2613c2e565b5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff169050919050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a790613ef0565b60405180910390fd5b600160095f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fc50068396f19981cb0435611d2c97dde7b6882fdc3185a9fb8080fa756b3974d838360405161291292919061440c565b60405180910390a25050565b600b602052805f5260405f205f915090505481565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d590613f58565b60405180910390fd5b5f5f90505f5f90505b83839050811015612c9c575f848483818110612a0657612a05613c2e565b5b9050602002016020810190612a1b91906133fd565b9050600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612c8e575f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508280612b0d90614143565b9350505f5f90505b600c80549050811015612c8c578173ffffffffffffffffffffffffffffffffffffffff16600c8281548110612b4d57612b4c613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612c7f57600c6001600c80549050612ba49190613b38565b81548110612bb557612bb4613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c8281548110612bf157612bf0613c2e565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c805480612c4857612c476140ae565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055612c8c565b8080600101915050612b15565b505b5080806001019150506129e7565b507f1e38f161dbd1aa0e728cd48e66716002b8a4f86c86754045c722152b5a3858df838383604051612cd0939291906144b4565b60405180910390a1505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f60018460ff1610158015612d1d575060038460ff1611155b612d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d53906138e5565b60405180910390fd5b6003600185612d6b9190613bfa565b60ff1660038110612d7f57612d7e613c2e565b5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1690505f61271060045f015f9054906101000a900461ffff1661ffff1683612dc89190613c5b565b612dd29190613cc9565b905060046001015481612de59190613cf9565b92508282612df39190613b38565b9350509193909250565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8290613f58565b60405180910390fd5b600d60149054906101000a900460ff16612eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed19061452e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3f90614596565b60405180910390fd5b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fcd906145fe565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600d60146101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb150023a879fd806e3599b6ca8ee3b60f0e360ab3846d128d67ebce1a391639a60405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6130ff826130d6565b9050919050565b61310f816130f5565b82525050565b5f6131208383613106565b60208301905092915050565b5f602082019050919050565b5f613142826130ad565b61314c81856130b7565b9350613157836130c7565b805f5b8381101561318757815161316e8882613115565b97506131798361312c565b92505060018101905061315a565b5085935050505092915050565b5f6020820190508181035f8301526131ac8184613138565b905092915050565b5f5ffd5b5f5ffd5b5f819050919050565b6131ce816131bc565b81146131d8575f5ffd5b50565b5f813590506131e9816131c5565b92915050565b5f60208284031215613204576132036131b4565b5b5f613211848285016131db565b91505092915050565b5f63ffffffff82169050919050565b6132328161321a565b82525050565b5f60208201905061324b5f830184613229565b92915050565b61325a816130f5565b8114613264575f5ffd5b50565b5f8135905061327581613251565b92915050565b5f60ff82169050919050565b6132908161327b565b811461329a575f5ffd5b50565b5f813590506132ab81613287565b92915050565b5f5f5f606084860312156132c8576132c76131b4565b5b5f6132d586828701613267565b93505060206132e686828701613267565b92505060406132f78682870161329d565b9150509250925092565b5f819050919050565b5f61332461331f61331a846130d6565b613301565b6130d6565b9050919050565b5f6133358261330a565b9050919050565b5f6133468261332b565b9050919050565b6133568161333c565b82525050565b5f60208201905061336f5f83018461334d565b92915050565b5f8115159050919050565b61338981613375565b8114613393575f5ffd5b50565b5f813590506133a481613380565b92915050565b5f602082840312156133bf576133be6131b4565b5b5f6133cc84828501613396565b91505092915050565b6133de81613375565b82525050565b5f6020820190506133f75f8301846133d5565b92915050565b5f60208284031215613412576134116131b4565b5b5f61341f84828501613267565b91505092915050565b613431816131bc565b82525050565b5f60408201905061344a5f8301856133d5565b6134576020830184613428565b9392505050565b5f6020820190506134715f830184613428565b92915050565b613480816130f5565b82525050565b5f6020820190506134995f830184613477565b92915050565b5f61ffff82169050919050565b6134b58161349f565b82525050565b5f6040820190506134ce5f8301856134ac565b6134db6020830184613428565b9392505050565b6134eb8161349f565b81146134f5575f5ffd5b50565b5f81359050613506816134e2565b92915050565b5f5f60408385031215613522576135216131b4565b5b5f61352f858286016134f8565b9250506020613540858286016131db565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261356b5761356a61354a565b5b8235905067ffffffffffffffff8111156135885761358761354e565b5b6020830191508360018202830111156135a4576135a3613552565b5b9250929050565b5f5f5f604084860312156135c2576135c16131b4565b5b5f6135cf86828701613267565b935050602084013567ffffffffffffffff8111156135f0576135ef6131b8565b5b6135fc86828701613556565b92509250509250925092565b6136118161321a565b811461361b575f5ffd5b50565b5f8135905061362c81613608565b92915050565b5f5f60408385031215613648576136476131b4565b5b5f6136558582860161329d565b92505060206136668582860161361e565b9150509250929050565b5f60208284031215613685576136846131b4565b5b5f6136928482850161329d565b91505092915050565b5f5f602083850312156136b1576136b06131b4565b5b5f83013567ffffffffffffffff8111156136ce576136cd6131b8565b5b6136da85828601613556565b92509250509250929050565b5f5f83601f8401126136fb576136fa61354a565b5b8235905067ffffffffffffffff8111156137185761371761354e565b5b60208301915083602082028301111561373457613733613552565b5b9250929050565b5f5f60208385031215613751576137506131b4565b5b5f83013567ffffffffffffffff81111561376e5761376d6131b8565b5b61377a858286016136e6565b92509250509250929050565b5f6060820190506137995f830186613428565b6137a66020830185613428565b6137b36040830184613428565b949350505050565b5f82825260208201905092915050565b7f4e6f742067616d652073657276657200000000000000000000000000000000005f82015250565b5f6137ff600f836137bb565b915061380a826137cb565b602082019050919050565b5f6020820190508181035f83015261382c816137f3565b9050919050565b7f436f6e74726163742070617573656400000000000000000000000000000000005f82015250565b5f613867600f836137bb565b915061387282613833565b602082019050919050565b5f6020820190508181035f8301526138948161385b565b9050919050565b7f496e76616c6964207469657200000000000000000000000000000000000000005f82015250565b5f6138cf600c836137bb565b91506138da8261389b565b602082019050919050565b5f6020820190508181035f8301526138fc816138c3565b9050919050565b7f496e76616c696420746f6b656e20686f6c6465720000000000000000000000005f82015250565b5f6139376014836137bb565b915061394282613903565b602082019050919050565b5f6020820190508181035f8301526139648161392b565b9050919050565b7f496e76616c6964206b696c6c65720000000000000000000000000000000000005f82015250565b5f61399f600e836137bb565b91506139aa8261396b565b602082019050919050565b5f6020820190508181035f8301526139cc81613993565b9050919050565b7f43616e6e6f742070617920796f757273656c66000000000000000000000000005f82015250565b5f613a076013836137bb565b9150613a12826139d3565b602082019050919050565b5f6020820190508181035f830152613a34816139fb565b9050919050565b7f426c61636b6c69737465642073656e64657200000000000000000000000000005f82015250565b5f613a6f6012836137bb565b9150613a7a82613a3b565b602082019050919050565b5f6020820190508181035f830152613a9c81613a63565b9050919050565b7f426c61636b6c69737465642072656365697665720000000000000000000000005f82015250565b5f613ad76014836137bb565b9150613ae282613aa3565b602082019050919050565b5f6020820190508181035f830152613b0481613acb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613b42826131bc565b9150613b4d836131bc565b9250828203905081811115613b6557613b64613b0b565b5b92915050565b5f604082019050613b7e5f830185613428565b613b8b6020830184613428565b9392505050565b7f5573657220636f6f6c646f776e206163746976650000000000000000000000005f82015250565b5f613bc66014836137bb565b9150613bd182613b92565b602082019050919050565b5f6020820190508181035f830152613bf381613bba565b9050919050565b5f613c048261327b565b9150613c0f8361327b565b9250828203905060ff811115613c2857613c27613b0b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c65826131bc565b9150613c70836131bc565b9250828202613c7e816131bc565b91508282048414831517613c9557613c94613b0b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613cd3826131bc565b9150613cde836131bc565b925082613cee57613ced613c9c565b5b828204905092915050565b5f613d03826131bc565b9150613d0e836131bc565b9250828201905080821115613d2657613d25613b0b565b5b92915050565b5f606082019050613d3f5f830186613477565b613d4c6020830185613477565b613d596040830184613428565b949350505050565b5f81519050613d6f81613380565b92915050565b5f60208284031215613d8a57613d896131b4565b5b5f613d9784828501613d61565b91505092915050565b7f5061796d656e74206661696c65640000000000000000000000000000000000005f82015250565b5f613dd4600e836137bb565b9150613ddf82613da0565b602082019050919050565b5f6020820190508181035f830152613e0181613dc8565b9050919050565b7f466565206661696c6564000000000000000000000000000000000000000000005f82015250565b5f613e3c600a836137bb565b9150613e4782613e08565b602082019050919050565b5f6020820190508181035f830152613e6981613e30565b9050919050565b613e798161327b565b82525050565b5f604082019050613e925f830185613e70565b613e9f6020830184613428565b9392505050565b7f4e6f7420677561726469616e00000000000000000000000000000000000000005f82015250565b5f613eda600c836137bb565b9150613ee582613ea6565b602082019050919050565b5f6020820190508181035f830152613f0781613ece565b9050919050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f613f426009836137bb565b9150613f4d82613f0e565b602082019050919050565b5f6020820190508181035f830152613f6f81613f36565b9050919050565b7f4e6f2070656e64696e67207472616e73666572000000000000000000000000005f82015250565b5f613faa6013836137bb565b9150613fb582613f76565b602082019050919050565b5f6020820190508181035f830152613fd781613f9e565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f614012600f836137bb565b915061401d82613fde565b602082019050919050565b5f6020820190508181035f83015261403f81614006565b9050919050565b7f53616d65206164647265737300000000000000000000000000000000000000005f82015250565b5f61407a600c836137bb565b915061408582614046565b602082019050919050565b5f6020820190508181035f8301526140a78161406e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4d617820313025206665650000000000000000000000000000000000000000005f82015250565b5f61410f600b836137bb565b915061411a826140db565b602082019050919050565b5f6020820190508181035f83015261413c81614103565b9050919050565b5f61414d826131bc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361417f5761417e613b0b565b5b600182019050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6141b383856137bb565b93506141c083858461418a565b6141c983614198565b840190509392505050565b5f6040820190508181035f8301526141ed8185876141a8565b90506141fc6020830184613428565b949350505050565b7f4e6f742070656e64696e67206f776e65720000000000000000000000000000005f82015250565b5f6142386011836137bb565b915061424382614204565b602082019050919050565b5f6020820190508181035f8301526142658161422c565b9050919050565b7f496e76616c6964206665652061646472657373000000000000000000000000005f82015250565b5f6142a06013836137bb565b91506142ab8261426c565b602082019050919050565b5f6020820190508181035f8301526142cd81614294565b9050919050565b7f416d6f756e74206d75737420626520706f7369746976650000000000000000005f82015250565b5f6143086017836137bb565b9150614313826142d4565b602082019050919050565b5f6020820190508181035f830152614335816142fc565b9050919050565b7f5a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f614370600c836137bb565b915061437b8261433c565b602082019050919050565b5f6020820190508181035f83015261439d81614364565b9050919050565b7f312d33363030207365636f6e6473206f6e6c79000000000000000000000000005f82015250565b5f6143d86013836137bb565b91506143e3826143a4565b602082019050919050565b5f6020820190508181035f830152614405816143cc565b9050919050565b5f6020820190508181035f8301526144258184866141a8565b90509392505050565b5f819050919050565b5f6144456020840184613267565b905092915050565b5f602082019050919050565b5f61446483856130b7565b935061446f8261442e565b805f5b858110156144a7576144848284614437565b61448e8882613115565b97506144998361444d565b925050600181019050614472565b5085925050509392505050565b5f6040820190508181035f8301526144cd818587614459565b90506144dc6020830184613428565b949350505050565b7f477561726469616e20617070726f76616c2072657175697265640000000000005f82015250565b5f614518601a836137bb565b9150614523826144e4565b602082019050919050565b5f6020820190508181035f8301526145458161450c565b9050919050565b7f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573735f82015250565b5f6145806020836137bb565b915061458b8261454c565b602082019050919050565b5f6020820190508181035f8301526145ad81614574565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f6145e8601b836137bb565b91506145f3826145b4565b602082019050919050565b5f6020820190508181035f830152614615816145dc565b905091905056fea264697066735822122062327a43e200fb454b2fdc0693bdf70e3a619d4c1f5388e20fab350f2252399664736f6c634300081e003300000000000000000000000084a71ccd554cc1b02749b35d22f684cc8ec987e1000000000000000000000000122e9a3b491f550a0719e3f1b160a47f1cbfd71b0000000000000000000000008c20e0cc148813b826364afd1c9df6a065e369b50000000000000000000000001de608629b7e65f9a3887a5c560cce6d1c637576
Deployed Bytecode
0x608060405234801561000f575f5ffd5b506004361061023b575f3560e01c8063715018a611610139578063b8f07dea116100b6578063d5749d421161007a578063d5749d4214610656578063d716265714610686578063e30c3978146106a2578063f069a999146106c0578063f2fde38b146106f25761023b565b8063b8f07dea1461059e578063b8f2b6bc146105bc578063bc394350146105ec578063cf5b4fd51461060a578063cf87f052146106265761023b565b80638da5cb5b116100fd5780638da5cb5b1461050e578063a3111cd11461052c578063a338df3814610548578063a5fc1fc014610564578063a9748b2b146105805761023b565b8063715018a6146104a457806375c31f33146104ae57806379ba5097146104ca5780637d340b2c146104d45780638705fcd4146104f25761023b565b806332576ef4116101c75780634f115da51161018b5780634f115da5146103fe578063528d87111461042f578063537df3b61461044e5780635a1d02771461046a5780636e3ef50a146104885761023b565b806332576ef4146103585780633f4ba83a1461037657806341275358146103805780634551bbe91461039e5780634727a0dd146103ce5761023b565b80631bb978ee1161020e5780631bb978ee146102c757806323452b9c146102e357806327c830a9146102ed5780632de907de1461030b578063307c1ca4146103275761023b565b8063034b306a1461023f5780630a3bc8211461025d5780630cdd5e2a1461028d57806311eac855146102a9575b5f5ffd5b61024761070e565b6040516102549190613194565b60405180910390f35b610277600480360381019061027291906131ef565b610799565b6040516102849190613238565b60405180910390f35b6102a760048036038101906102a291906132b1565b6107c8565b005b6102b1610fb8565b6040516102be919061335c565b60405180910390f35b6102e160048036038101906102dc91906133aa565b610fdc565b005b6102eb6110d6565b005b6102f56112af565b60405161030291906133e4565b60405180910390f35b610325600480360381019061032091906133fd565b6112c1565b005b610341600480360381019061033c91906133fd565b61150f565b60405161034f929190613437565b60405180910390f35b6103606115a2565b60405161036d919061345e565b60405180910390f35b61037e6115a8565b005b610388611651565b6040516103959190613486565b60405180910390f35b6103b860048036038101906103b391906133fd565b611676565b6040516103c5919061345e565b60405180910390f35b6103e860048036038101906103e391906131ef565b61168b565b6040516103f59190613486565b60405180910390f35b610418600480360381019061041391906133fd565b6116c6565b604051610426929190613437565b60405180910390f35b610437611794565b6040516104459291906134bb565b60405180910390f35b610468600480360381019061046391906133fd565b6117b2565b005b610472611aa6565b60405161047f919061345e565b60405180910390f35b6104a2600480360381019061049d919061350c565b611ab2565b005b6104ac611bee565b005b6104c860048036038101906104c391906135ab565b611d7c565b005b6104d2612041565b005b6104dc612211565b6040516104e991906133e4565b60405180910390f35b61050c600480360381019061050791906133fd565b612224565b005b610516612363565b6040516105239190613486565b60405180910390f35b61054660048036038101906105419190613632565b612387565b005b610562600480360381019061055d91906133fd565b612505565b005b61057e600480360381019061057991906131ef565b612644565b005b61058861272e565b6040516105959190613486565b60405180910390f35b6105a6612753565b6040516105b3919061345e565b60405180910390f35b6105d660048036038101906105d19190613670565b612758565b6040516105e3919061345e565b60405180910390f35b6105f46127fc565b6040516106019190613486565b60405180910390f35b610624600480360381019061061f919061369b565b612821565b005b610640600480360381019061063b91906133fd565b61291e565b60405161064d919061345e565b60405180910390f35b610670600480360381019061066b91906133fd565b612933565b60405161067d91906133e4565b60405180910390f35b6106a0600480360381019061069b919061373b565b612950565b005b6106aa612cdd565b6040516106b79190613486565b60405180910390f35b6106da60048036038101906106d59190613670565b612d02565b6040516106e993929190613786565b60405180910390f35b61070c600480360381019061070791906133fd565b612dfd565b005b6060600c80548060200260200160405190810160405280929190818152602001828054801561078f57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610746575b5050505050905090565b600381600381106107a8575f80fd5b60089182820401919006600402915054906101000a900463ffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084e90613815565b60405180910390fd5b60095f9054906101000a900460ff16156108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d9061387d565b60405180910390fd5b60018160ff16101580156108be575060038160ff1611155b6108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f4906138e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361096b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109629061394d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d0906139b5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e90613a1d565b60405180910390fd5b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890613a85565b60405180910390fd5b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5290613aed565b60405180910390fd5b5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442610ba59190613b38565b90505f60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414158015610bf5575060075481105b15610c87578373ffffffffffffffffffffffffffffffffffffffff167f6dd382a1771ae01e8cd15e673fef280f75d46fc126d6b3a7c45bd75737e082bd82600754604051610c44929190613b6b565b60405180910390a26040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90613bdc565b60405180910390fd5b4260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f6003600184610cd99190613bfa565b60ff1660038110610ced57610cec613c2e565b5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1690505f61271060045f015f9054906101000a900461ffff1661ffff1683610d369190613c5b565b610d409190613cc9565b90505f60046001015482610d549190613cf9565b90505f8184610d639190613b38565b90507f00000000000000000000000084a71ccd554cc1b02749b35d22f684cc8ec987e173ffffffffffffffffffffffffffffffffffffffff166323b872dd8989846040518463ffffffff1660e01b8152600401610dc293929190613d2c565b6020604051808303815f875af1158015610dde573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e029190613d75565b610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890613dea565b60405180910390fd5b5f821115610f47577f00000000000000000000000084a71ccd554cc1b02749b35d22f684cc8ec987e173ffffffffffffffffffffffffffffffffffffffff166323b872dd8960065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401610ec793929190613d2c565b6020604051808303815f875af1158015610ee3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f079190613d75565b610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90613e52565b60405180910390fd5b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f05e5e1cc8899e8c5c4fe194f31a06e7e48a24294f9f0be32867ccd84ba7d8e528887604051610fa6929190613e7f565b60405180910390a35050505050505050565b7f00000000000000000000000084a71ccd554cc1b02749b35d22f684cc8ec987e181565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106290613ef0565b60405180910390fd5b80600d60146101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fbe6e26a8adc33f7872d65cd8781371e071ecef0b759edc455f1c0c0565301dc0826040516110cb91906133e4565b60405180910390a250565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b90613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea90613fc0565b60405180910390fd5b5f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb150023a879fd806e3599b6ca8ee3b60f0e360ab3846d128d67ebce1a391639a60405160405180910390a3565b60095f9054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b490614028565b60405180910390fd5b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390614090565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fc8de10f73c4e820ace2f88c06b3555d7dd37323972ba9b9b25948ac226dc872c60405160405180910390a35050565b5f5f600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491509150915091565b60075481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162d90613f58565b60405180910390fd5b5f60095f6101000a81548160ff021916908315150217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6008602052805f5260405f205f915090505481565b600c818154811061169a575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036117185760015f9150915061178f565b5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054426117629190613b38565b9050600754811061177a5760015f925092505061178f565b5f816007546117899190613b38565b92509250505b915091565b6004805f015f9054906101000a900461ffff16908060010154905082565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183790613f58565b60405180910390fd5b600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611aa3575f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f5f90505b600c80549050811015611aa1578173ffffffffffffffffffffffffffffffffffffffff16600c828154811061196257611961613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611a9457600c6001600c805490506119b99190613b38565b815481106119ca576119c9613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c8281548110611a0657611a05613c2e565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c805480611a5d57611a5c6140ae565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611aa1565b808060010191505061192a565b505b50565b5f600c80549050905090565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3790613f58565b60405180910390fd5b6103e88261ffff161115611b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8090614125565b60405180910390fd5b8160045f015f6101000a81548161ffff021916908361ffff160217905550806004600101819055507ffe44cfaace588adf9196ed0e9ce1bab88b95cc20c2001ec86a7ae25ca419da4b8282604051611be29291906134bb565b60405180910390a15050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613f58565b60405180910390fd5b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0290613815565b60405180910390fd5b600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190611e5890614143565b91905055506003600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410158015611ef25750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fad576001600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600c83908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b8273ffffffffffffffffffffffffffffffffffffffff167f97ca9566ce9916c416b39fc3af410e1eb1d605581a9f90569b7147932879db448383600b5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051612034939291906141d4565b60405180910390a2505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c79061424e565b60405180910390fd5b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600d60149054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a990613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612320576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612317906142b6565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240c90613f58565b60405180910390fd5b60018260ff161015801561242d575060038260ff1611155b61246c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612463906138e5565b60405180910390fd5b5f8163ffffffff16116124b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ab9061431e565b60405180910390fd5b8060036001846124c49190613bfa565b60ff16600381106124d8576124d7613c2e565b5b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258a90613f58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f890614386565b60405180910390fd5b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c990613f58565b60405180910390fd5b600181101580156126e55750610e108111155b612724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271b906143ee565b60405180910390fd5b8060078190555050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600381565b5f60018260ff1610158015612771575060038260ff1611155b6127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a7906138e5565b60405180910390fd5b60036001836127bf9190613bfa565b60ff16600381106127d3576127d2613c2e565b5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff169050919050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a790613ef0565b60405180910390fd5b600160095f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fc50068396f19981cb0435611d2c97dde7b6882fdc3185a9fb8080fa756b3974d838360405161291292919061440c565b60405180910390a25050565b600b602052805f5260405f205f915090505481565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d590613f58565b60405180910390fd5b5f5f90505f5f90505b83839050811015612c9c575f848483818110612a0657612a05613c2e565b5b9050602002016020810190612a1b91906133fd565b9050600a5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612c8e575f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508280612b0d90614143565b9350505f5f90505b600c80549050811015612c8c578173ffffffffffffffffffffffffffffffffffffffff16600c8281548110612b4d57612b4c613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612c7f57600c6001600c80549050612ba49190613b38565b81548110612bb557612bb4613c2e565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c8281548110612bf157612bf0613c2e565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c805480612c4857612c476140ae565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055612c8c565b8080600101915050612b15565b505b5080806001019150506129e7565b507f1e38f161dbd1aa0e728cd48e66716002b8a4f86c86754045c722152b5a3858df838383604051612cd0939291906144b4565b60405180910390a1505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f60018460ff1610158015612d1d575060038460ff1611155b612d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d53906138e5565b60405180910390fd5b6003600185612d6b9190613bfa565b60ff1660038110612d7f57612d7e613c2e565b5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1690505f61271060045f015f9054906101000a900461ffff1661ffff1683612dc89190613c5b565b612dd29190613cc9565b905060046001015481612de59190613cf9565b92508282612df39190613b38565b9350509193909250565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8290613f58565b60405180910390fd5b600d60149054906101000a900460ff16612eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed19061452e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3f90614596565b60405180910390fd5b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fcd906145fe565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600d60146101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb150023a879fd806e3599b6ca8ee3b60f0e360ab3846d128d67ebce1a391639a60405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6130ff826130d6565b9050919050565b61310f816130f5565b82525050565b5f6131208383613106565b60208301905092915050565b5f602082019050919050565b5f613142826130ad565b61314c81856130b7565b9350613157836130c7565b805f5b8381101561318757815161316e8882613115565b97506131798361312c565b92505060018101905061315a565b5085935050505092915050565b5f6020820190508181035f8301526131ac8184613138565b905092915050565b5f5ffd5b5f5ffd5b5f819050919050565b6131ce816131bc565b81146131d8575f5ffd5b50565b5f813590506131e9816131c5565b92915050565b5f60208284031215613204576132036131b4565b5b5f613211848285016131db565b91505092915050565b5f63ffffffff82169050919050565b6132328161321a565b82525050565b5f60208201905061324b5f830184613229565b92915050565b61325a816130f5565b8114613264575f5ffd5b50565b5f8135905061327581613251565b92915050565b5f60ff82169050919050565b6132908161327b565b811461329a575f5ffd5b50565b5f813590506132ab81613287565b92915050565b5f5f5f606084860312156132c8576132c76131b4565b5b5f6132d586828701613267565b93505060206132e686828701613267565b92505060406132f78682870161329d565b9150509250925092565b5f819050919050565b5f61332461331f61331a846130d6565b613301565b6130d6565b9050919050565b5f6133358261330a565b9050919050565b5f6133468261332b565b9050919050565b6133568161333c565b82525050565b5f60208201905061336f5f83018461334d565b92915050565b5f8115159050919050565b61338981613375565b8114613393575f5ffd5b50565b5f813590506133a481613380565b92915050565b5f602082840312156133bf576133be6131b4565b5b5f6133cc84828501613396565b91505092915050565b6133de81613375565b82525050565b5f6020820190506133f75f8301846133d5565b92915050565b5f60208284031215613412576134116131b4565b5b5f61341f84828501613267565b91505092915050565b613431816131bc565b82525050565b5f60408201905061344a5f8301856133d5565b6134576020830184613428565b9392505050565b5f6020820190506134715f830184613428565b92915050565b613480816130f5565b82525050565b5f6020820190506134995f830184613477565b92915050565b5f61ffff82169050919050565b6134b58161349f565b82525050565b5f6040820190506134ce5f8301856134ac565b6134db6020830184613428565b9392505050565b6134eb8161349f565b81146134f5575f5ffd5b50565b5f81359050613506816134e2565b92915050565b5f5f60408385031215613522576135216131b4565b5b5f61352f858286016134f8565b9250506020613540858286016131db565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261356b5761356a61354a565b5b8235905067ffffffffffffffff8111156135885761358761354e565b5b6020830191508360018202830111156135a4576135a3613552565b5b9250929050565b5f5f5f604084860312156135c2576135c16131b4565b5b5f6135cf86828701613267565b935050602084013567ffffffffffffffff8111156135f0576135ef6131b8565b5b6135fc86828701613556565b92509250509250925092565b6136118161321a565b811461361b575f5ffd5b50565b5f8135905061362c81613608565b92915050565b5f5f60408385031215613648576136476131b4565b5b5f6136558582860161329d565b92505060206136668582860161361e565b9150509250929050565b5f60208284031215613685576136846131b4565b5b5f6136928482850161329d565b91505092915050565b5f5f602083850312156136b1576136b06131b4565b5b5f83013567ffffffffffffffff8111156136ce576136cd6131b8565b5b6136da85828601613556565b92509250509250929050565b5f5f83601f8401126136fb576136fa61354a565b5b8235905067ffffffffffffffff8111156137185761371761354e565b5b60208301915083602082028301111561373457613733613552565b5b9250929050565b5f5f60208385031215613751576137506131b4565b5b5f83013567ffffffffffffffff81111561376e5761376d6131b8565b5b61377a858286016136e6565b92509250509250929050565b5f6060820190506137995f830186613428565b6137a66020830185613428565b6137b36040830184613428565b949350505050565b5f82825260208201905092915050565b7f4e6f742067616d652073657276657200000000000000000000000000000000005f82015250565b5f6137ff600f836137bb565b915061380a826137cb565b602082019050919050565b5f6020820190508181035f83015261382c816137f3565b9050919050565b7f436f6e74726163742070617573656400000000000000000000000000000000005f82015250565b5f613867600f836137bb565b915061387282613833565b602082019050919050565b5f6020820190508181035f8301526138948161385b565b9050919050565b7f496e76616c6964207469657200000000000000000000000000000000000000005f82015250565b5f6138cf600c836137bb565b91506138da8261389b565b602082019050919050565b5f6020820190508181035f8301526138fc816138c3565b9050919050565b7f496e76616c696420746f6b656e20686f6c6465720000000000000000000000005f82015250565b5f6139376014836137bb565b915061394282613903565b602082019050919050565b5f6020820190508181035f8301526139648161392b565b9050919050565b7f496e76616c6964206b696c6c65720000000000000000000000000000000000005f82015250565b5f61399f600e836137bb565b91506139aa8261396b565b602082019050919050565b5f6020820190508181035f8301526139cc81613993565b9050919050565b7f43616e6e6f742070617920796f757273656c66000000000000000000000000005f82015250565b5f613a076013836137bb565b9150613a12826139d3565b602082019050919050565b5f6020820190508181035f830152613a34816139fb565b9050919050565b7f426c61636b6c69737465642073656e64657200000000000000000000000000005f82015250565b5f613a6f6012836137bb565b9150613a7a82613a3b565b602082019050919050565b5f6020820190508181035f830152613a9c81613a63565b9050919050565b7f426c61636b6c69737465642072656365697665720000000000000000000000005f82015250565b5f613ad76014836137bb565b9150613ae282613aa3565b602082019050919050565b5f6020820190508181035f830152613b0481613acb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613b42826131bc565b9150613b4d836131bc565b9250828203905081811115613b6557613b64613b0b565b5b92915050565b5f604082019050613b7e5f830185613428565b613b8b6020830184613428565b9392505050565b7f5573657220636f6f6c646f776e206163746976650000000000000000000000005f82015250565b5f613bc66014836137bb565b9150613bd182613b92565b602082019050919050565b5f6020820190508181035f830152613bf381613bba565b9050919050565b5f613c048261327b565b9150613c0f8361327b565b9250828203905060ff811115613c2857613c27613b0b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c65826131bc565b9150613c70836131bc565b9250828202613c7e816131bc565b91508282048414831517613c9557613c94613b0b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613cd3826131bc565b9150613cde836131bc565b925082613cee57613ced613c9c565b5b828204905092915050565b5f613d03826131bc565b9150613d0e836131bc565b9250828201905080821115613d2657613d25613b0b565b5b92915050565b5f606082019050613d3f5f830186613477565b613d4c6020830185613477565b613d596040830184613428565b949350505050565b5f81519050613d6f81613380565b92915050565b5f60208284031215613d8a57613d896131b4565b5b5f613d9784828501613d61565b91505092915050565b7f5061796d656e74206661696c65640000000000000000000000000000000000005f82015250565b5f613dd4600e836137bb565b9150613ddf82613da0565b602082019050919050565b5f6020820190508181035f830152613e0181613dc8565b9050919050565b7f466565206661696c6564000000000000000000000000000000000000000000005f82015250565b5f613e3c600a836137bb565b9150613e4782613e08565b602082019050919050565b5f6020820190508181035f830152613e6981613e30565b9050919050565b613e798161327b565b82525050565b5f604082019050613e925f830185613e70565b613e9f6020830184613428565b9392505050565b7f4e6f7420677561726469616e00000000000000000000000000000000000000005f82015250565b5f613eda600c836137bb565b9150613ee582613ea6565b602082019050919050565b5f6020820190508181035f830152613f0781613ece565b9050919050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f613f426009836137bb565b9150613f4d82613f0e565b602082019050919050565b5f6020820190508181035f830152613f6f81613f36565b9050919050565b7f4e6f2070656e64696e67207472616e73666572000000000000000000000000005f82015250565b5f613faa6013836137bb565b9150613fb582613f76565b602082019050919050565b5f6020820190508181035f830152613fd781613f9e565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f614012600f836137bb565b915061401d82613fde565b602082019050919050565b5f6020820190508181035f83015261403f81614006565b9050919050565b7f53616d65206164647265737300000000000000000000000000000000000000005f82015250565b5f61407a600c836137bb565b915061408582614046565b602082019050919050565b5f6020820190508181035f8301526140a78161406e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4d617820313025206665650000000000000000000000000000000000000000005f82015250565b5f61410f600b836137bb565b915061411a826140db565b602082019050919050565b5f6020820190508181035f83015261413c81614103565b9050919050565b5f61414d826131bc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361417f5761417e613b0b565b5b600182019050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6141b383856137bb565b93506141c083858461418a565b6141c983614198565b840190509392505050565b5f6040820190508181035f8301526141ed8185876141a8565b90506141fc6020830184613428565b949350505050565b7f4e6f742070656e64696e67206f776e65720000000000000000000000000000005f82015250565b5f6142386011836137bb565b915061424382614204565b602082019050919050565b5f6020820190508181035f8301526142658161422c565b9050919050565b7f496e76616c6964206665652061646472657373000000000000000000000000005f82015250565b5f6142a06013836137bb565b91506142ab8261426c565b602082019050919050565b5f6020820190508181035f8301526142cd81614294565b9050919050565b7f416d6f756e74206d75737420626520706f7369746976650000000000000000005f82015250565b5f6143086017836137bb565b9150614313826142d4565b602082019050919050565b5f6020820190508181035f830152614335816142fc565b9050919050565b7f5a65726f206164647265737300000000000000000000000000000000000000005f82015250565b5f614370600c836137bb565b915061437b8261433c565b602082019050919050565b5f6020820190508181035f83015261439d81614364565b9050919050565b7f312d33363030207365636f6e6473206f6e6c79000000000000000000000000005f82015250565b5f6143d86013836137bb565b91506143e3826143a4565b602082019050919050565b5f6020820190508181035f830152614405816143cc565b9050919050565b5f6020820190508181035f8301526144258184866141a8565b90509392505050565b5f819050919050565b5f6144456020840184613267565b905092915050565b5f602082019050919050565b5f61446483856130b7565b935061446f8261442e565b805f5b858110156144a7576144848284614437565b61448e8882613115565b97506144998361444d565b925050600181019050614472565b5085925050509392505050565b5f6040820190508181035f8301526144cd818587614459565b90506144dc6020830184613428565b949350505050565b7f477561726469616e20617070726f76616c2072657175697265640000000000005f82015250565b5f614518601a836137bb565b9150614523826144e4565b602082019050919050565b5f6020820190508181035f8301526145458161450c565b9050919050565b7f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573735f82015250565b5f6145806020836137bb565b915061458b8261454c565b602082019050919050565b5f6020820190508181035f8301526145ad81614574565b9050919050565b7f4e6577206f776e6572206d75737420626520646966666572656e7400000000005f82015250565b5f6145e8601b836137bb565b91506145f3826145b4565b602082019050919050565b5f6020820190508181035f830152614615816145dc565b905091905056fea264697066735822122062327a43e200fb454b2fdc0693bdf70e3a619d4c1f5388e20fab350f2252399664736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000084a71ccd554cc1b02749b35d22f684cc8ec987e1000000000000000000000000122e9a3b491f550a0719e3f1b160a47f1cbfd71b0000000000000000000000008c20e0cc148813b826364afd1c9df6a065e369b50000000000000000000000001de608629b7e65f9a3887a5c560cce6d1c637576
-----Decoded View---------------
Arg [0] : _usdcToken (address): 0x84A71ccD554Cc1b02749b35d22F684CC8ec987e1
Arg [1] : _gameServerAddress (address): 0x122E9A3b491F550A0719E3F1b160A47f1cbfD71b
Arg [2] : _feeAddress (address): 0x8c20E0cC148813B826364AfD1C9dF6a065E369b5
Arg [3] : _emergencyGuardian (address): 0x1DE608629b7E65f9a3887A5C560CcE6D1C637576
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000084a71ccd554cc1b02749b35d22f684cc8ec987e1
Arg [1] : 000000000000000000000000122e9a3b491f550a0719e3f1b160a47f1cbfd71b
Arg [2] : 0000000000000000000000008c20e0cc148813b826364afd1c9df6a065e369b5
Arg [3] : 0000000000000000000000001de608629b7e65f9a3887a5c560cce6d1c637576
Deployed Bytecode Sourcemap
894:13400:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13334:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1107:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7450:1733;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;931:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4556:199;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5898:261;;;:::i;:::-;;1881:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6568:376;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12604:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1673:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9451:80;;;:::i;:::-;;1551:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1758:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2159:32;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12774:548;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1393:151;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;10051:589;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13466:111;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12047:322;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6322:234;;;:::i;:::-;;9590:449;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5525:296;;;:::i;:::-;;2363:51;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12381:180;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;971:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6956:245;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11610:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11803:232;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1032:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2113:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14117:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2295:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9230:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2029:53;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1970:52;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10652:904;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;998:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13589:445;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4918:480;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13334:120;13395:16;13431:15;13424:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13334:120;:::o;1107:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7450:1733::-;3509:17;;;;;;;;;;;3495:31;;:10;:31;;;3487:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3742:15:::1;;;;;;;;;;;3741:16;3733:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;7662:1:::2;7654:4;:9;;;;:22;;;;;7675:1;7667:4;:9;;;;7654:22;7646:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7735:1;7712:25;;:11;:25;;::::0;7704:58:::2;;;;;;;;;;;;:::i;:::-;;;;;;;;;7799:1;7781:20;;:6;:20;;::::0;7773:47:::2;;;;;;;;;;;;:::i;:::-;;;;;;;;;7854:6;7839:21;;:11;:21;;::::0;7831:53:::2;;;;;;;;;;;;:::i;:::-;;;;;;;;;7904:20;:33;7925:11;7904:33;;;;;;;;;;;;;;;;;;;;;;;;;7903:34;7895:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7980:20;:28;8001:6;7980:28;;;;;;;;;;;;;;;;;;;;;;;;;7979:29;7971:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;8115:23;8159:15;:28;8175:11;8159:28;;;;;;;;;;;;;;;;8141:15;:46;;;;:::i;:::-;8115:72;;8234:1;8202:15;:28;8218:11;8202:28;;;;;;;;;;;;;;;;:33;;:73;;;;;8257:18;;8239:15;:36;8202:73;8198:226;;;8318:11;8297:70;;;8331:15;8348:18;;8297:70;;;;;;;:::i;:::-;;;;;;;;8382:30;;;;;;;;;;:::i;:::-;;;;;;;;8198:226;8465:15;8434;:28;8450:11;8434:28;;;;;;;;;;;;;;;:46;;;;8501:21;8525:13;8544:1;8539:4;:6;;;;:::i;:::-;8525:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;8501:45;;;;8620:21;8688:5;8661:12;:23;;;;;;;;;;;;8645:39;;:13;:39;;;;:::i;:::-;8644:49;;;;:::i;:::-;8620:73;;8704:16;8739:12;:24;;;8723:13;:40;;;;:::i;:::-;8704:59;;8774:20;8813:8;8797:13;:24;;;;:::i;:::-;8774:47;;8880:9;:22;;;8903:11;8916:6;8924:12;8880:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8872:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;8982:1;8971:8;:12;8967:125;;;9008:9;:22;;;9031:11;9044:10;;;;;;;;;;;9056:8;9008:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9000:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;8967:125;9147:6;9117:58;;9134:11;9117:58;;;9155:4;9161:13;9117:58;;;;;;;:::i;:::-;;;;;;;;7596:1587;;;;;7450:1733:::0;;;:::o;931:33::-;;;:::o;4556:199::-;3635:17;;;;;;;;;;;3621:31;;:10;:31;;;3613:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4670:8:::1;4636:31;;:42;;;;;;;;;;;;;;;;;;4726:10;4694:53;;;4738:8;4694:53;;;;;;:::i;:::-;;;;;;;;4556:199:::0;:::o;5898:261::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;5995:1:::1;5971:26;;:12;;;;;;;;;;;:26;;::::0;5963:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6065:1;6042:12;;:25;;;;;;;;;;;;;;;;;;6125:1;6083:45;;6110:5;;;;;;;;;;;6083:45;;;;;;;;;;;;5898:261::o:0;1881:35::-;;;;;;;;;;;;;:::o;6568:376::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;6680:1:::1;6657:25;;:11;:25;;::::0;6649:53:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6736:17;;;;;;;;;;;6721:32;;:11;:32;;::::0;6713:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6791:18;6812:17;;;;;;;;;;;6791:38;;6860:11;6840:17;;:31;;;;;;;;;;;;;;;;;;6924:11;6887:49;;6912:10;6887:49;;;;;;;;;;;;6638:306;6568:376:::0;:::o;12604:158::-;12667:4;12673:7;12701:20;:26;12722:4;12701:26;;;;;;;;;;;;;;;;;;;;;;;;;12729:18;:24;12748:4;12729:24;;;;;;;;;;;;;;;;12693:61;;;;12604:158;;;:::o;1673:37::-;;;;:::o;9451:80::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;9518:5:::1;9500:15;;:23;;;;;;;;;;;;;;;;;;9451:80::o:0;1551:25::-;;;;;;;;;;;;;:::o;1758:50::-;;;;;;;;;;;;;;;;;:::o;2159:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12774:548::-;12842:16;12860:25;12927:1;12902:15;:21;12918:4;12902:21;;;;;;;;;;;;;;;;:26;12898:109;;12953:4;12959:1;12945:16;;;;;;12898:109;13027:23;13071:15;:21;13087:4;13071:21;;;;;;;;;;;;;;;;13053:15;:39;;;;:::i;:::-;13027:65;;13126:18;;13107:15;:37;13103:212;;13169:4;13175:1;13161:16;;;;;;;13103:212;13238:5;13266:15;13245:18;;:36;;;;:::i;:::-;13230:52;;;;;12774:548;;;;:::o;1393:151::-;;;;;;;;;;;;;;;;;;;;;;;:::o;10051:589::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10128:20:::1;:26;10149:4;10128:26;;;;;;;;;;;;;;;;;;;;;;;;;10124:509;;;10200:5;10171:20;:26;10192:4;10171:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;10247:1;10220:18;:24;10239:4;10220:24;;;;;;;;;;;;;;;:28;;;;10332:6;10341:1;10332:10;;10327:295;10348:15;:22;;;;10344:1;:26;10327:295;;;10422:4;10400:26;;:15;10416:1;10400:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:26;;::::0;10396:211:::1;;10472:15;10513:1;10488:15;:22;;;;:26;;;;:::i;:::-;10472:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10451:15;10467:1;10451:18;;;;;;;;:::i;:::-;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;10538:15;:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;10582:5;;10396:211;10372:3;;;;;;;10327:295;;;;10124:509;10051:589:::0;:::o;13466:111::-;13520:7;13547:15;:22;;;;13540:29;;13466:111;:::o;12047:322::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;12173:4:::1;12156:13;:21;;;;12148:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;12230:13;12204:12;:23;;;:39;;;;;;;;;;;;;;;;;;12281:14;12254:12;:24;;:41;;;;12311:50;12331:13;12346:14;12311:50;;;;;;;:::i;:::-;;;;;;;;12047:322:::0;;:::o;6322:234::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;6381:21:::1;6405:5;;;;;;;;;;;6381:29;;6437:1;6421:5;;:18;;;;;;;;;;;;;;;;;;6473:1;6450:12;;:25;;;;;;;;;;;;;;;;;;6545:1;6501:47;;6522:13;6501:47;;;;;;;;;;;;6370:186;6322:234::o:0;9590:449::-;3509:17;;;;;;;;;;;3495:31;;:10;:31;;;3487:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9695:18:::1;:24;9714:4;9695:24;;;;;;;;;;;;;;;;:26;;;;;;;;;:::i;:::-;;;;;;2151:1;9746:18;:24;9765:4;9746:24;;;;;;;;;;;;;;;;:39;;:70;;;;;9790:20;:26;9811:4;9790:26;;;;;;;;;;;;;;;;;;;;;;;;;9789:27;9746:70;9742:206;;;9862:4;9833:20;:26;9854:4;9833:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9881:15;9902:4;9881:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9742:206;9992:4;9973:58;;;9998:6;;10006:18;:24;10025:4;10006:24;;;;;;;;;;;;;;;;9973:58;;;;;;;;:::i;:::-;;;;;;;;9590:449:::0;;;:::o;5525:296::-;5594:12;;;;;;;;;;;5580:26;;:10;:26;;;5572:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5649:21;5673:5;;;;;;;;;;;5649:29;;5697:12;;;;;;;;;;;5689:5;;:20;;;;;;;;;;;;;;;;;;5743:1;5720:12;;:25;;;;;;;;;;;;;;;;;;5807:5;;;;;;;;;;;5771:42;;5792:13;5771:42;;;;;;;;;;;;5561:260;5525:296::o;2363:51::-;;;;;;;;;;;;;:::o;12381:180::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;12490:1:::1;12465:27;;:13;:27;;::::0;12457:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12540:13;12527:10;;:26;;;;;;;;;;;;;;;;;;12381:180:::0;:::o;971:20::-;;;;;;;;;;;;;:::o;6956:245::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;7054:1:::1;7046:4;:9;;;;:22;;;;;7067:1;7059:4;:9;;;;7046:22;7038:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7113:1;7104:6;:10;;;7096:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;7187:6;7163:13;7182:1;7177:4;:6;;;;:::i;:::-;7163:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;6956:245:::0;;:::o;11610:181::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;11722:1:::1;11699:25;;:11;:25;;::::0;11691:50:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11772:11;11752:17;;:31;;;;;;;;;;;;;;;;;;11610:181:::0;:::o;11803:232::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;11922:1:::1;11900:18;:23;;:53;;;;;11949:4;11927:18;:26;;11900:53;11892:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12009:18;11988;:39;;;;11803:232:::0;:::o;1032:32::-;;;;;;;;;;;;;:::o;2113:39::-;2151:1;2113:39;:::o;14117:174::-;14177:7;14213:1;14205:4;:9;;;;:22;;;;;14226:1;14218:4;:9;;;;14205:22;14197:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;14262:13;14281:1;14276:4;:6;;;;:::i;:::-;14262:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;14255:28;;;;14117:174;;;:::o;2295:32::-;;;;;;;;;;;;;:::o;9230:161::-;3635:17;;;;;;;;;;;3621:31;;:10;:31;;;3613:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;9329:4:::1;9311:15;;:22;;;;;;;;;;;;;;;;;;9364:10;9349:34;;;9376:6;;9349:34;;;;;;;:::i;:::-;;;;;;;;9230:161:::0;;:::o;2029:53::-;;;;;;;;;;;;;;;;;:::o;1970:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;10652:904::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10742:20:::1;10765:1;10742:24;;10792:6;10801:1;10792:10;;10787:694;10808:5;;:12;;10804:1;:16;10787:694;;;10842:12;10857:5;;10863:1;10857:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10842:23;;10884:20;:26;10905:4;10884:26;;;;;;;;;;;;;;;;;;;;;;;;;10880:590;;;10960:5;10931:20;:26;10952:4;10931:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11011:1;10984:18;:24;11003:4;10984:24;;;;;;;;;;;;;;;:28;;;;11031:14;;;;;:::i;:::-;;;;11141:6;11150:1;11141:10;;11136:319;11157:15;:22;;;;11153:1;:26;11136:319;;;11235:4;11213:26;;:15;11229:1;11213:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:26;;::::0;11209:227:::1;;11289:15;11330:1;11305:15;:22;;;;:26;;;;:::i;:::-;11289:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11268:15;11284:1;11268:18;;;;;;;;:::i;:::-;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;11359:15;:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;11407:5;;11209:227;11181:3;;;;;;;11136:319;;;;10880:590;10827:654;10822:3;;;;;;;10787:694;;;;11506:42;11528:5;;11535:12;11506:42;;;;;;;;:::i;:::-;;;;;;;;10731:825;10652:904:::0;;:::o;998:27::-;;;;;;;;;;;;;:::o;13589:445::-;13659:20;13681:16;13699:19;13747:1;13739:4;:9;;;;:22;;;;;13760:1;13752:4;:9;;;;13739:22;13731:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13813:13;13832:1;13827:4;:6;;;;:::i;:::-;13813:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;13799:35;;;;13845:21;13911:5;13884:12;:23;;;;;;;;;;;;13870:37;;:11;:37;;;;:::i;:::-;13869:47;;;;:::i;:::-;13845:71;;13954:12;:24;;;13938:13;:40;;;;:::i;:::-;13927:51;;14018:8;14004:11;:22;;;;:::i;:::-;13989:37;;13720:314;13589:445;;;;;:::o;4918:480::-;3399:5;;;;;;;;;;;3385:19;;:10;:19;;;3377:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;5001:31:::1;;;;;;;;;;;4993:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5102:1;5082:22;;:8;:22;;::::0;5074:67:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5172:5;;;;;;;;;;;5160:17;;:8;:17;;::::0;5152:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5245:8;5230:12;;:23;;;;;;;;;;;;;;;;;;5298:5;5264:31;;:39;;;;;;;;;;;;;;;;;;5381:8;5347:43;;5374:5;;;;;;;;;;;5347:43;;;;;;;;;;;;4918:480:::0;:::o;7:114:1:-;74:6;108:5;102:12;92:22;;7:114;;;:::o;127:184::-;226:11;260:6;255:3;248:19;300:4;295:3;291:14;276:29;;127:184;;;;:::o;317:132::-;384:4;407:3;399:11;;437:4;432:3;428:14;420:22;;317:132;;;:::o;455:126::-;492:7;532:42;525:5;521:54;510:65;;455:126;;;:::o;587:96::-;624:7;653:24;671:5;653:24;:::i;:::-;642:35;;587:96;;;:::o;689:108::-;766:24;784:5;766:24;:::i;:::-;761:3;754:37;689:108;;:::o;803:179::-;872:10;893:46;935:3;927:6;893:46;:::i;:::-;971:4;966:3;962:14;948:28;;803:179;;;;:::o;988:113::-;1058:4;1090;1085:3;1081:14;1073:22;;988:113;;;:::o;1137:732::-;1256:3;1285:54;1333:5;1285:54;:::i;:::-;1355:86;1434:6;1429:3;1355:86;:::i;:::-;1348:93;;1465:56;1515:5;1465:56;:::i;:::-;1544:7;1575:1;1560:284;1585:6;1582:1;1579:13;1560:284;;;1661:6;1655:13;1688:63;1747:3;1732:13;1688:63;:::i;:::-;1681:70;;1774:60;1827:6;1774:60;:::i;:::-;1764:70;;1620:224;1607:1;1604;1600:9;1595:14;;1560:284;;;1564:14;1860:3;1853:10;;1261:608;;;1137:732;;;;:::o;1875:373::-;2018:4;2056:2;2045:9;2041:18;2033:26;;2105:9;2099:4;2095:20;2091:1;2080:9;2076:17;2069:47;2133:108;2236:4;2227:6;2133:108;:::i;:::-;2125:116;;1875:373;;;;:::o;2335:117::-;2444:1;2441;2434:12;2458:117;2567:1;2564;2557:12;2581:77;2618:7;2647:5;2636:16;;2581:77;;;:::o;2664:122::-;2737:24;2755:5;2737:24;:::i;:::-;2730:5;2727:35;2717:63;;2776:1;2773;2766:12;2717:63;2664:122;:::o;2792:139::-;2838:5;2876:6;2863:20;2854:29;;2892:33;2919:5;2892:33;:::i;:::-;2792:139;;;;:::o;2937:329::-;2996:6;3045:2;3033:9;3024:7;3020:23;3016:32;3013:119;;;3051:79;;:::i;:::-;3013:119;3171:1;3196:53;3241:7;3232:6;3221:9;3217:22;3196:53;:::i;:::-;3186:63;;3142:117;2937:329;;;;:::o;3272:93::-;3308:7;3348:10;3341:5;3337:22;3326:33;;3272:93;;;:::o;3371:115::-;3456:23;3473:5;3456:23;:::i;:::-;3451:3;3444:36;3371:115;;:::o;3492:218::-;3583:4;3621:2;3610:9;3606:18;3598:26;;3634:69;3700:1;3689:9;3685:17;3676:6;3634:69;:::i;:::-;3492:218;;;;:::o;3716:122::-;3789:24;3807:5;3789:24;:::i;:::-;3782:5;3779:35;3769:63;;3828:1;3825;3818:12;3769:63;3716:122;:::o;3844:139::-;3890:5;3928:6;3915:20;3906:29;;3944:33;3971:5;3944:33;:::i;:::-;3844:139;;;;:::o;3989:86::-;4024:7;4064:4;4057:5;4053:16;4042:27;;3989:86;;;:::o;4081:118::-;4152:22;4168:5;4152:22;:::i;:::-;4145:5;4142:33;4132:61;;4189:1;4186;4179:12;4132:61;4081:118;:::o;4205:135::-;4249:5;4287:6;4274:20;4265:29;;4303:31;4328:5;4303:31;:::i;:::-;4205:135;;;;:::o;4346:615::-;4421:6;4429;4437;4486:2;4474:9;4465:7;4461:23;4457:32;4454:119;;;4492:79;;:::i;:::-;4454:119;4612:1;4637:53;4682:7;4673:6;4662:9;4658:22;4637:53;:::i;:::-;4627:63;;4583:117;4739:2;4765:53;4810:7;4801:6;4790:9;4786:22;4765:53;:::i;:::-;4755:63;;4710:118;4867:2;4893:51;4936:7;4927:6;4916:9;4912:22;4893:51;:::i;:::-;4883:61;;4838:116;4346:615;;;;;:::o;4967:60::-;4995:3;5016:5;5009:12;;4967:60;;;:::o;5033:142::-;5083:9;5116:53;5134:34;5143:24;5161:5;5143:24;:::i;:::-;5134:34;:::i;:::-;5116:53;:::i;:::-;5103:66;;5033:142;;;:::o;5181:126::-;5231:9;5264:37;5295:5;5264:37;:::i;:::-;5251:50;;5181:126;;;:::o;5313:139::-;5376:9;5409:37;5440:5;5409:37;:::i;:::-;5396:50;;5313:139;;;:::o;5458:157::-;5558:50;5602:5;5558:50;:::i;:::-;5553:3;5546:63;5458:157;;:::o;5621:248::-;5727:4;5765:2;5754:9;5750:18;5742:26;;5778:84;5859:1;5848:9;5844:17;5835:6;5778:84;:::i;:::-;5621:248;;;;:::o;5875:90::-;5909:7;5952:5;5945:13;5938:21;5927:32;;5875:90;;;:::o;5971:116::-;6041:21;6056:5;6041:21;:::i;:::-;6034:5;6031:32;6021:60;;6077:1;6074;6067:12;6021:60;5971:116;:::o;6093:133::-;6136:5;6174:6;6161:20;6152:29;;6190:30;6214:5;6190:30;:::i;:::-;6093:133;;;;:::o;6232:323::-;6288:6;6337:2;6325:9;6316:7;6312:23;6308:32;6305:119;;;6343:79;;:::i;:::-;6305:119;6463:1;6488:50;6530:7;6521:6;6510:9;6506:22;6488:50;:::i;:::-;6478:60;;6434:114;6232:323;;;;:::o;6561:109::-;6642:21;6657:5;6642:21;:::i;:::-;6637:3;6630:34;6561:109;;:::o;6676:210::-;6763:4;6801:2;6790:9;6786:18;6778:26;;6814:65;6876:1;6865:9;6861:17;6852:6;6814:65;:::i;:::-;6676:210;;;;:::o;6892:329::-;6951:6;7000:2;6988:9;6979:7;6975:23;6971:32;6968:119;;;7006:79;;:::i;:::-;6968:119;7126:1;7151:53;7196:7;7187:6;7176:9;7172:22;7151:53;:::i;:::-;7141:63;;7097:117;6892:329;;;;:::o;7227:118::-;7314:24;7332:5;7314:24;:::i;:::-;7309:3;7302:37;7227:118;;:::o;7351:320::-;7466:4;7504:2;7493:9;7489:18;7481:26;;7517:65;7579:1;7568:9;7564:17;7555:6;7517:65;:::i;:::-;7592:72;7660:2;7649:9;7645:18;7636:6;7592:72;:::i;:::-;7351:320;;;;;:::o;7677:222::-;7770:4;7808:2;7797:9;7793:18;7785:26;;7821:71;7889:1;7878:9;7874:17;7865:6;7821:71;:::i;:::-;7677:222;;;;:::o;7905:118::-;7992:24;8010:5;7992:24;:::i;:::-;7987:3;7980:37;7905:118;;:::o;8029:222::-;8122:4;8160:2;8149:9;8145:18;8137:26;;8173:71;8241:1;8230:9;8226:17;8217:6;8173:71;:::i;:::-;8029:222;;;;:::o;8257:89::-;8293:7;8333:6;8326:5;8322:18;8311:29;;8257:89;;;:::o;8352:115::-;8437:23;8454:5;8437:23;:::i;:::-;8432:3;8425:36;8352:115;;:::o;8473:328::-;8592:4;8630:2;8619:9;8615:18;8607:26;;8643:69;8709:1;8698:9;8694:17;8685:6;8643:69;:::i;:::-;8722:72;8790:2;8779:9;8775:18;8766:6;8722:72;:::i;:::-;8473:328;;;;;:::o;8807:120::-;8879:23;8896:5;8879:23;:::i;:::-;8872:5;8869:34;8859:62;;8917:1;8914;8907:12;8859:62;8807:120;:::o;8933:137::-;8978:5;9016:6;9003:20;8994:29;;9032:32;9058:5;9032:32;:::i;:::-;8933:137;;;;:::o;9076:472::-;9143:6;9151;9200:2;9188:9;9179:7;9175:23;9171:32;9168:119;;;9206:79;;:::i;:::-;9168:119;9326:1;9351:52;9395:7;9386:6;9375:9;9371:22;9351:52;:::i;:::-;9341:62;;9297:116;9452:2;9478:53;9523:7;9514:6;9503:9;9499:22;9478:53;:::i;:::-;9468:63;;9423:118;9076:472;;;;;:::o;9554:117::-;9663:1;9660;9653:12;9677:117;9786:1;9783;9776:12;9800:117;9909:1;9906;9899:12;9937:553;9995:8;10005:6;10055:3;10048:4;10040:6;10036:17;10032:27;10022:122;;10063:79;;:::i;:::-;10022:122;10176:6;10163:20;10153:30;;10206:18;10198:6;10195:30;10192:117;;;10228:79;;:::i;:::-;10192:117;10342:4;10334:6;10330:17;10318:29;;10396:3;10388:4;10380:6;10376:17;10366:8;10362:32;10359:41;10356:128;;;10403:79;;:::i;:::-;10356:128;9937:553;;;;;:::o;10496:674::-;10576:6;10584;10592;10641:2;10629:9;10620:7;10616:23;10612:32;10609:119;;;10647:79;;:::i;:::-;10609:119;10767:1;10792:53;10837:7;10828:6;10817:9;10813:22;10792:53;:::i;:::-;10782:63;;10738:117;10922:2;10911:9;10907:18;10894:32;10953:18;10945:6;10942:30;10939:117;;;10975:79;;:::i;:::-;10939:117;11088:65;11145:7;11136:6;11125:9;11121:22;11088:65;:::i;:::-;11070:83;;;;10865:298;10496:674;;;;;:::o;11176:120::-;11248:23;11265:5;11248:23;:::i;:::-;11241:5;11238:34;11228:62;;11286:1;11283;11276:12;11228:62;11176:120;:::o;11302:137::-;11347:5;11385:6;11372:20;11363:29;;11401:32;11427:5;11401:32;:::i;:::-;11302:137;;;;:::o;11445:468::-;11510:6;11518;11567:2;11555:9;11546:7;11542:23;11538:32;11535:119;;;11573:79;;:::i;:::-;11535:119;11693:1;11718:51;11761:7;11752:6;11741:9;11737:22;11718:51;:::i;:::-;11708:61;;11664:115;11818:2;11844:52;11888:7;11879:6;11868:9;11864:22;11844:52;:::i;:::-;11834:62;;11789:117;11445:468;;;;;:::o;11919:325::-;11976:6;12025:2;12013:9;12004:7;12000:23;11996:32;11993:119;;;12031:79;;:::i;:::-;11993:119;12151:1;12176:51;12219:7;12210:6;12199:9;12195:22;12176:51;:::i;:::-;12166:61;;12122:115;11919:325;;;;:::o;12250:529::-;12321:6;12329;12378:2;12366:9;12357:7;12353:23;12349:32;12346:119;;;12384:79;;:::i;:::-;12346:119;12532:1;12521:9;12517:17;12504:31;12562:18;12554:6;12551:30;12548:117;;;12584:79;;:::i;:::-;12548:117;12697:65;12754:7;12745:6;12734:9;12730:22;12697:65;:::i;:::-;12679:83;;;;12475:297;12250:529;;;;;:::o;12802:568::-;12875:8;12885:6;12935:3;12928:4;12920:6;12916:17;12912:27;12902:122;;12943:79;;:::i;:::-;12902:122;13056:6;13043:20;13033:30;;13086:18;13078:6;13075:30;13072:117;;;13108:79;;:::i;:::-;13072:117;13222:4;13214:6;13210:17;13198:29;;13276:3;13268:4;13260:6;13256:17;13246:8;13242:32;13239:41;13236:128;;;13283:79;;:::i;:::-;13236:128;12802:568;;;;;:::o;13376:559::-;13462:6;13470;13519:2;13507:9;13498:7;13494:23;13490:32;13487:119;;;13525:79;;:::i;:::-;13487:119;13673:1;13662:9;13658:17;13645:31;13703:18;13695:6;13692:30;13689:117;;;13725:79;;:::i;:::-;13689:117;13838:80;13910:7;13901:6;13890:9;13886:22;13838:80;:::i;:::-;13820:98;;;;13616:312;13376:559;;;;;:::o;13941:442::-;14090:4;14128:2;14117:9;14113:18;14105:26;;14141:71;14209:1;14198:9;14194:17;14185:6;14141:71;:::i;:::-;14222:72;14290:2;14279:9;14275:18;14266:6;14222:72;:::i;:::-;14304;14372:2;14361:9;14357:18;14348:6;14304:72;:::i;:::-;13941:442;;;;;;:::o;14389:169::-;14473:11;14507:6;14502:3;14495:19;14547:4;14542:3;14538:14;14523:29;;14389:169;;;;:::o;14564:165::-;14704:17;14700:1;14692:6;14688:14;14681:41;14564:165;:::o;14735:366::-;14877:3;14898:67;14962:2;14957:3;14898:67;:::i;:::-;14891:74;;14974:93;15063:3;14974:93;:::i;:::-;15092:2;15087:3;15083:12;15076:19;;14735:366;;;:::o;15107:419::-;15273:4;15311:2;15300:9;15296:18;15288:26;;15360:9;15354:4;15350:20;15346:1;15335:9;15331:17;15324:47;15388:131;15514:4;15388:131;:::i;:::-;15380:139;;15107:419;;;:::o;15532:165::-;15672:17;15668:1;15660:6;15656:14;15649:41;15532:165;:::o;15703:366::-;15845:3;15866:67;15930:2;15925:3;15866:67;:::i;:::-;15859:74;;15942:93;16031:3;15942:93;:::i;:::-;16060:2;16055:3;16051:12;16044:19;;15703:366;;;:::o;16075:419::-;16241:4;16279:2;16268:9;16264:18;16256:26;;16328:9;16322:4;16318:20;16314:1;16303:9;16299:17;16292:47;16356:131;16482:4;16356:131;:::i;:::-;16348:139;;16075:419;;;:::o;16500:162::-;16640:14;16636:1;16628:6;16624:14;16617:38;16500:162;:::o;16668:366::-;16810:3;16831:67;16895:2;16890:3;16831:67;:::i;:::-;16824:74;;16907:93;16996:3;16907:93;:::i;:::-;17025:2;17020:3;17016:12;17009:19;;16668:366;;;:::o;17040:419::-;17206:4;17244:2;17233:9;17229:18;17221:26;;17293:9;17287:4;17283:20;17279:1;17268:9;17264:17;17257:47;17321:131;17447:4;17321:131;:::i;:::-;17313:139;;17040:419;;;:::o;17465:170::-;17605:22;17601:1;17593:6;17589:14;17582:46;17465:170;:::o;17641:366::-;17783:3;17804:67;17868:2;17863:3;17804:67;:::i;:::-;17797:74;;17880:93;17969:3;17880:93;:::i;:::-;17998:2;17993:3;17989:12;17982:19;;17641:366;;;:::o;18013:419::-;18179:4;18217:2;18206:9;18202:18;18194:26;;18266:9;18260:4;18256:20;18252:1;18241:9;18237:17;18230:47;18294:131;18420:4;18294:131;:::i;:::-;18286:139;;18013:419;;;:::o;18438:164::-;18578:16;18574:1;18566:6;18562:14;18555:40;18438:164;:::o;18608:366::-;18750:3;18771:67;18835:2;18830:3;18771:67;:::i;:::-;18764:74;;18847:93;18936:3;18847:93;:::i;:::-;18965:2;18960:3;18956:12;18949:19;;18608:366;;;:::o;18980:419::-;19146:4;19184:2;19173:9;19169:18;19161:26;;19233:9;19227:4;19223:20;19219:1;19208:9;19204:17;19197:47;19261:131;19387:4;19261:131;:::i;:::-;19253:139;;18980:419;;;:::o;19405:169::-;19545:21;19541:1;19533:6;19529:14;19522:45;19405:169;:::o;19580:366::-;19722:3;19743:67;19807:2;19802:3;19743:67;:::i;:::-;19736:74;;19819:93;19908:3;19819:93;:::i;:::-;19937:2;19932:3;19928:12;19921:19;;19580:366;;;:::o;19952:419::-;20118:4;20156:2;20145:9;20141:18;20133:26;;20205:9;20199:4;20195:20;20191:1;20180:9;20176:17;20169:47;20233:131;20359:4;20233:131;:::i;:::-;20225:139;;19952:419;;;:::o;20377:168::-;20517:20;20513:1;20505:6;20501:14;20494:44;20377:168;:::o;20551:366::-;20693:3;20714:67;20778:2;20773:3;20714:67;:::i;:::-;20707:74;;20790:93;20879:3;20790:93;:::i;:::-;20908:2;20903:3;20899:12;20892:19;;20551:366;;;:::o;20923:419::-;21089:4;21127:2;21116:9;21112:18;21104:26;;21176:9;21170:4;21166:20;21162:1;21151:9;21147:17;21140:47;21204:131;21330:4;21204:131;:::i;:::-;21196:139;;20923:419;;;:::o;21348:170::-;21488:22;21484:1;21476:6;21472:14;21465:46;21348:170;:::o;21524:366::-;21666:3;21687:67;21751:2;21746:3;21687:67;:::i;:::-;21680:74;;21763:93;21852:3;21763:93;:::i;:::-;21881:2;21876:3;21872:12;21865:19;;21524:366;;;:::o;21896:419::-;22062:4;22100:2;22089:9;22085:18;22077:26;;22149:9;22143:4;22139:20;22135:1;22124:9;22120:17;22113:47;22177:131;22303:4;22177:131;:::i;:::-;22169:139;;21896:419;;;:::o;22321:180::-;22369:77;22366:1;22359:88;22466:4;22463:1;22456:15;22490:4;22487:1;22480:15;22507:194;22547:4;22567:20;22585:1;22567:20;:::i;:::-;22562:25;;22601:20;22619:1;22601:20;:::i;:::-;22596:25;;22645:1;22642;22638:9;22630:17;;22669:1;22663:4;22660:11;22657:37;;;22674:18;;:::i;:::-;22657:37;22507:194;;;;:::o;22707:332::-;22828:4;22866:2;22855:9;22851:18;22843:26;;22879:71;22947:1;22936:9;22932:17;22923:6;22879:71;:::i;:::-;22960:72;23028:2;23017:9;23013:18;23004:6;22960:72;:::i;:::-;22707:332;;;;;:::o;23045:170::-;23185:22;23181:1;23173:6;23169:14;23162:46;23045:170;:::o;23221:366::-;23363:3;23384:67;23448:2;23443:3;23384:67;:::i;:::-;23377:74;;23460:93;23549:3;23460:93;:::i;:::-;23578:2;23573:3;23569:12;23562:19;;23221:366;;;:::o;23593:419::-;23759:4;23797:2;23786:9;23782:18;23774:26;;23846:9;23840:4;23836:20;23832:1;23821:9;23817:17;23810:47;23874:131;24000:4;23874:131;:::i;:::-;23866:139;;23593:419;;;:::o;24018:191::-;24056:4;24076:18;24092:1;24076:18;:::i;:::-;24071:23;;24108:18;24124:1;24108:18;:::i;:::-;24103:23;;24150:1;24147;24143:9;24135:17;;24174:4;24168;24165:14;24162:40;;;24182:18;;:::i;:::-;24162:40;24018:191;;;;:::o;24215:180::-;24263:77;24260:1;24253:88;24360:4;24357:1;24350:15;24384:4;24381:1;24374:15;24401:410;24441:7;24464:20;24482:1;24464:20;:::i;:::-;24459:25;;24498:20;24516:1;24498:20;:::i;:::-;24493:25;;24553:1;24550;24546:9;24575:30;24593:11;24575:30;:::i;:::-;24564:41;;24754:1;24745:7;24741:15;24738:1;24735:22;24715:1;24708:9;24688:83;24665:139;;24784:18;;:::i;:::-;24665:139;24449:362;24401:410;;;;:::o;24817:180::-;24865:77;24862:1;24855:88;24962:4;24959:1;24952:15;24986:4;24983:1;24976:15;25003:185;25043:1;25060:20;25078:1;25060:20;:::i;:::-;25055:25;;25094:20;25112:1;25094:20;:::i;:::-;25089:25;;25133:1;25123:35;;25138:18;;:::i;:::-;25123:35;25180:1;25177;25173:9;25168:14;;25003:185;;;;:::o;25194:191::-;25234:3;25253:20;25271:1;25253:20;:::i;:::-;25248:25;;25287:20;25305:1;25287:20;:::i;:::-;25282:25;;25330:1;25327;25323:9;25316:16;;25351:3;25348:1;25345:10;25342:36;;;25358:18;;:::i;:::-;25342:36;25194:191;;;;:::o;25391:442::-;25540:4;25578:2;25567:9;25563:18;25555:26;;25591:71;25659:1;25648:9;25644:17;25635:6;25591:71;:::i;:::-;25672:72;25740:2;25729:9;25725:18;25716:6;25672:72;:::i;:::-;25754;25822:2;25811:9;25807:18;25798:6;25754:72;:::i;:::-;25391:442;;;;;;:::o;25839:137::-;25893:5;25924:6;25918:13;25909:22;;25940:30;25964:5;25940:30;:::i;:::-;25839:137;;;;:::o;25982:345::-;26049:6;26098:2;26086:9;26077:7;26073:23;26069:32;26066:119;;;26104:79;;:::i;:::-;26066:119;26224:1;26249:61;26302:7;26293:6;26282:9;26278:22;26249:61;:::i;:::-;26239:71;;26195:125;25982:345;;;;:::o;26333:164::-;26473:16;26469:1;26461:6;26457:14;26450:40;26333:164;:::o;26503:366::-;26645:3;26666:67;26730:2;26725:3;26666:67;:::i;:::-;26659:74;;26742:93;26831:3;26742:93;:::i;:::-;26860:2;26855:3;26851:12;26844:19;;26503:366;;;:::o;26875:419::-;27041:4;27079:2;27068:9;27064:18;27056:26;;27128:9;27122:4;27118:20;27114:1;27103:9;27099:17;27092:47;27156:131;27282:4;27156:131;:::i;:::-;27148:139;;26875:419;;;:::o;27300:160::-;27440:12;27436:1;27428:6;27424:14;27417:36;27300:160;:::o;27466:366::-;27608:3;27629:67;27693:2;27688:3;27629:67;:::i;:::-;27622:74;;27705:93;27794:3;27705:93;:::i;:::-;27823:2;27818:3;27814:12;27807:19;;27466:366;;;:::o;27838:419::-;28004:4;28042:2;28031:9;28027:18;28019:26;;28091:9;28085:4;28081:20;28077:1;28066:9;28062:17;28055:47;28119:131;28245:4;28119:131;:::i;:::-;28111:139;;27838:419;;;:::o;28263:112::-;28346:22;28362:5;28346:22;:::i;:::-;28341:3;28334:35;28263:112;;:::o;28381:324::-;28498:4;28536:2;28525:9;28521:18;28513:26;;28549:67;28613:1;28602:9;28598:17;28589:6;28549:67;:::i;:::-;28626:72;28694:2;28683:9;28679:18;28670:6;28626:72;:::i;:::-;28381:324;;;;;:::o;28711:162::-;28851:14;28847:1;28839:6;28835:14;28828:38;28711:162;:::o;28879:366::-;29021:3;29042:67;29106:2;29101:3;29042:67;:::i;:::-;29035:74;;29118:93;29207:3;29118:93;:::i;:::-;29236:2;29231:3;29227:12;29220:19;;28879:366;;;:::o;29251:419::-;29417:4;29455:2;29444:9;29440:18;29432:26;;29504:9;29498:4;29494:20;29490:1;29479:9;29475:17;29468:47;29532:131;29658:4;29532:131;:::i;:::-;29524:139;;29251:419;;;:::o;29676:159::-;29816:11;29812:1;29804:6;29800:14;29793:35;29676:159;:::o;29841:365::-;29983:3;30004:66;30068:1;30063:3;30004:66;:::i;:::-;29997:73;;30079:93;30168:3;30079:93;:::i;:::-;30197:2;30192:3;30188:12;30181:19;;29841:365;;;:::o;30212:419::-;30378:4;30416:2;30405:9;30401:18;30393:26;;30465:9;30459:4;30455:20;30451:1;30440:9;30436:17;30429:47;30493:131;30619:4;30493:131;:::i;:::-;30485:139;;30212:419;;;:::o;30637:169::-;30777:21;30773:1;30765:6;30761:14;30754:45;30637:169;:::o;30812:366::-;30954:3;30975:67;31039:2;31034:3;30975:67;:::i;:::-;30968:74;;31051:93;31140:3;31051:93;:::i;:::-;31169:2;31164:3;31160:12;31153:19;;30812:366;;;:::o;31184:419::-;31350:4;31388:2;31377:9;31373:18;31365:26;;31437:9;31431:4;31427:20;31423:1;31412:9;31408:17;31401:47;31465:131;31591:4;31465:131;:::i;:::-;31457:139;;31184:419;;;:::o;31609:165::-;31749:17;31745:1;31737:6;31733:14;31726:41;31609:165;:::o;31780:366::-;31922:3;31943:67;32007:2;32002:3;31943:67;:::i;:::-;31936:74;;32019:93;32108:3;32019:93;:::i;:::-;32137:2;32132:3;32128:12;32121:19;;31780:366;;;:::o;32152:419::-;32318:4;32356:2;32345:9;32341:18;32333:26;;32405:9;32399:4;32395:20;32391:1;32380:9;32376:17;32369:47;32433:131;32559:4;32433:131;:::i;:::-;32425:139;;32152:419;;;:::o;32577:162::-;32717:14;32713:1;32705:6;32701:14;32694:38;32577:162;:::o;32745:366::-;32887:3;32908:67;32972:2;32967:3;32908:67;:::i;:::-;32901:74;;32984:93;33073:3;32984:93;:::i;:::-;33102:2;33097:3;33093:12;33086:19;;32745:366;;;:::o;33117:419::-;33283:4;33321:2;33310:9;33306:18;33298:26;;33370:9;33364:4;33360:20;33356:1;33345:9;33341:17;33334:47;33398:131;33524:4;33398:131;:::i;:::-;33390:139;;33117:419;;;:::o;33542:180::-;33590:77;33587:1;33580:88;33687:4;33684:1;33677:15;33711:4;33708:1;33701:15;33728:161;33868:13;33864:1;33856:6;33852:14;33845:37;33728:161;:::o;33895:366::-;34037:3;34058:67;34122:2;34117:3;34058:67;:::i;:::-;34051:74;;34134:93;34223:3;34134:93;:::i;:::-;34252:2;34247:3;34243:12;34236:19;;33895:366;;;:::o;34267:419::-;34433:4;34471:2;34460:9;34456:18;34448:26;;34520:9;34514:4;34510:20;34506:1;34495:9;34491:17;34484:47;34548:131;34674:4;34548:131;:::i;:::-;34540:139;;34267:419;;;:::o;34692:233::-;34731:3;34754:24;34772:5;34754:24;:::i;:::-;34745:33;;34800:66;34793:5;34790:77;34787:103;;34870:18;;:::i;:::-;34787:103;34917:1;34910:5;34906:13;34899:20;;34692:233;;;:::o;34931:148::-;35029:6;35024:3;35019;35006:30;35070:1;35061:6;35056:3;35052:16;35045:27;34931:148;;;:::o;35085:102::-;35126:6;35177:2;35173:7;35168:2;35161:5;35157:14;35153:28;35143:38;;35085:102;;;:::o;35217:317::-;35315:3;35336:71;35400:6;35395:3;35336:71;:::i;:::-;35329:78;;35417:56;35466:6;35461:3;35454:5;35417:56;:::i;:::-;35498:29;35520:6;35498:29;:::i;:::-;35493:3;35489:39;35482:46;;35217:317;;;;;:::o;35540:443::-;35691:4;35729:2;35718:9;35714:18;35706:26;;35778:9;35772:4;35768:20;35764:1;35753:9;35749:17;35742:47;35806:88;35889:4;35880:6;35872;35806:88;:::i;:::-;35798:96;;35904:72;35972:2;35961:9;35957:18;35948:6;35904:72;:::i;:::-;35540:443;;;;;;:::o;35989:167::-;36129:19;36125:1;36117:6;36113:14;36106:43;35989:167;:::o;36162:366::-;36304:3;36325:67;36389:2;36384:3;36325:67;:::i;:::-;36318:74;;36401:93;36490:3;36401:93;:::i;:::-;36519:2;36514:3;36510:12;36503:19;;36162:366;;;:::o;36534:419::-;36700:4;36738:2;36727:9;36723:18;36715:26;;36787:9;36781:4;36777:20;36773:1;36762:9;36758:17;36751:47;36815:131;36941:4;36815:131;:::i;:::-;36807:139;;36534:419;;;:::o;36959:169::-;37099:21;37095:1;37087:6;37083:14;37076:45;36959:169;:::o;37134:366::-;37276:3;37297:67;37361:2;37356:3;37297:67;:::i;:::-;37290:74;;37373:93;37462:3;37373:93;:::i;:::-;37491:2;37486:3;37482:12;37475:19;;37134:366;;;:::o;37506:419::-;37672:4;37710:2;37699:9;37695:18;37687:26;;37759:9;37753:4;37749:20;37745:1;37734:9;37730:17;37723:47;37787:131;37913:4;37787:131;:::i;:::-;37779:139;;37506:419;;;:::o;37931:173::-;38071:25;38067:1;38059:6;38055:14;38048:49;37931:173;:::o;38110:366::-;38252:3;38273:67;38337:2;38332:3;38273:67;:::i;:::-;38266:74;;38349:93;38438:3;38349:93;:::i;:::-;38467:2;38462:3;38458:12;38451:19;;38110:366;;;:::o;38482:419::-;38648:4;38686:2;38675:9;38671:18;38663:26;;38735:9;38729:4;38725:20;38721:1;38710:9;38706:17;38699:47;38763:131;38889:4;38763:131;:::i;:::-;38755:139;;38482:419;;;:::o;38907:162::-;39047:14;39043:1;39035:6;39031:14;39024:38;38907:162;:::o;39075:366::-;39217:3;39238:67;39302:2;39297:3;39238:67;:::i;:::-;39231:74;;39314:93;39403:3;39314:93;:::i;:::-;39432:2;39427:3;39423:12;39416:19;;39075:366;;;:::o;39447:419::-;39613:4;39651:2;39640:9;39636:18;39628:26;;39700:9;39694:4;39690:20;39686:1;39675:9;39671:17;39664:47;39728:131;39854:4;39728:131;:::i;:::-;39720:139;;39447:419;;;:::o;39872:169::-;40012:21;40008:1;40000:6;39996:14;39989:45;39872:169;:::o;40047:366::-;40189:3;40210:67;40274:2;40269:3;40210:67;:::i;:::-;40203:74;;40286:93;40375:3;40286:93;:::i;:::-;40404:2;40399:3;40395:12;40388:19;;40047:366;;;:::o;40419:419::-;40585:4;40623:2;40612:9;40608:18;40600:26;;40672:9;40666:4;40662:20;40658:1;40647:9;40643:17;40636:47;40700:131;40826:4;40700:131;:::i;:::-;40692:139;;40419:419;;;:::o;40844:333::-;40967:4;41005:2;40994:9;40990:18;40982:26;;41054:9;41048:4;41044:20;41040:1;41029:9;41025:17;41018:47;41082:88;41165:4;41156:6;41148;41082:88;:::i;:::-;41074:96;;40844:333;;;;;:::o;41183:102::-;41252:4;41275:3;41267:11;;41183:102;;;:::o;41291:122::-;41343:5;41368:39;41403:2;41398:3;41394:12;41389:3;41368:39;:::i;:::-;41359:48;;41291:122;;;;:::o;41419:115::-;41491:4;41523;41518:3;41514:14;41506:22;;41419:115;;;:::o;41570:699::-;41699:3;41722:86;41801:6;41796:3;41722:86;:::i;:::-;41715:93;;41832:58;41884:5;41832:58;:::i;:::-;41913:7;41944:1;41929:315;41954:6;41951:1;41948:13;41929:315;;;42024:42;42059:6;42050:7;42024:42;:::i;:::-;42086:63;42145:3;42130:13;42086:63;:::i;:::-;42079:70;;42172:62;42227:6;42172:62;:::i;:::-;42162:72;;41989:255;41976:1;41973;41969:9;41964:14;;41929:315;;;41933:14;42260:3;42253:10;;41704:565;;41570:699;;;;;:::o;42275:503::-;42456:4;42494:2;42483:9;42479:18;42471:26;;42543:9;42537:4;42533:20;42529:1;42518:9;42514:17;42507:47;42571:118;42684:4;42675:6;42667;42571:118;:::i;:::-;42563:126;;42699:72;42767:2;42756:9;42752:18;42743:6;42699:72;:::i;:::-;42275:503;;;;;;:::o;42784:176::-;42924:28;42920:1;42912:6;42908:14;42901:52;42784:176;:::o;42966:366::-;43108:3;43129:67;43193:2;43188:3;43129:67;:::i;:::-;43122:74;;43205:93;43294:3;43205:93;:::i;:::-;43323:2;43318:3;43314:12;43307:19;;42966:366;;;:::o;43338:419::-;43504:4;43542:2;43531:9;43527:18;43519:26;;43591:9;43585:4;43581:20;43577:1;43566:9;43562:17;43555:47;43619:131;43745:4;43619:131;:::i;:::-;43611:139;;43338:419;;;:::o;43763:182::-;43903:34;43899:1;43891:6;43887:14;43880:58;43763:182;:::o;43951:366::-;44093:3;44114:67;44178:2;44173:3;44114:67;:::i;:::-;44107:74;;44190:93;44279:3;44190:93;:::i;:::-;44308:2;44303:3;44299:12;44292:19;;43951:366;;;:::o;44323:419::-;44489:4;44527:2;44516:9;44512:18;44504:26;;44576:9;44570:4;44566:20;44562:1;44551:9;44547:17;44540:47;44604:131;44730:4;44604:131;:::i;:::-;44596:139;;44323:419;;;:::o;44748:177::-;44888:29;44884:1;44876:6;44872:14;44865:53;44748:177;:::o;44931:366::-;45073:3;45094:67;45158:2;45153:3;45094:67;:::i;:::-;45087:74;;45170:93;45259:3;45170:93;:::i;:::-;45288:2;45283:3;45279:12;45272:19;;44931:366;;;:::o;45303:419::-;45469:4;45507:2;45496:9;45492:18;45484:26;;45556:9;45550:4;45546:20;45542:1;45531:9;45527:17;45520:47;45584:131;45710:4;45584:131;:::i;:::-;45576:139;;45303:419;;;:::o
Swarm Source
ipfs://62327a43e200fb454b2fdc0693bdf70e3a619d4c1f5388e20fab350f22523996
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 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.