Source Code
Latest 25 from a total of 212 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Unfarm Tokens | 18111512 | 911 days ago | IN | 0 ETH | 0.00086421 | ||||
| Unfarm Tokens | 18111504 | 911 days ago | IN | 0 ETH | 0.00121317 | ||||
| Unfarm Tokens | 18111466 | 911 days ago | IN | 0 ETH | 0.00085268 | ||||
| Unfarm Tokens | 18111454 | 911 days ago | IN | 0 ETH | 0.00102832 | ||||
| Unfarm Tokens | 17934508 | 936 days ago | IN | 0 ETH | 0.0033262 | ||||
| Unfarm Tokens | 17932892 | 936 days ago | IN | 0 ETH | 0.00198874 | ||||
| Unfarm Tokens | 17693759 | 970 days ago | IN | 0 ETH | 0.00392666 | ||||
| Unfarm Tokens | 17682690 | 971 days ago | IN | 0 ETH | 0.00150283 | ||||
| Unfarm Tokens | 17635956 | 978 days ago | IN | 0 ETH | 0.00326636 | ||||
| Unfarm Tokens | 17618533 | 980 days ago | IN | 0 ETH | 0.00184278 | ||||
| Unfarm Tokens | 17618477 | 980 days ago | IN | 0 ETH | 0.0017846 | ||||
| Unfarm Tokens | 17618454 | 980 days ago | IN | 0 ETH | 0.00181631 | ||||
| Unfarm Tokens | 17569477 | 987 days ago | IN | 0 ETH | 0.00141973 | ||||
| Farm Tokens | 17568483 | 987 days ago | IN | 0 ETH | 0.00278809 | ||||
| Unfarm Tokens | 17564682 | 988 days ago | IN | 0 ETH | 0.00238283 | ||||
| Unfarm Tokens | 17561331 | 988 days ago | IN | 0 ETH | 0.00182205 | ||||
| Unfarm Tokens | 17515237 | 995 days ago | IN | 0 ETH | 0.00233021 | ||||
| Unfarm Tokens | 17502769 | 997 days ago | IN | 0 ETH | 0.00199799 | ||||
| Unfarm Tokens | 17502526 | 997 days ago | IN | 0 ETH | 0.00147347 | ||||
| Unfarm Tokens | 17502331 | 997 days ago | IN | 0 ETH | 0.00160597 | ||||
| Unfarm Tokens | 17496607 | 997 days ago | IN | 0 ETH | 0.0023238 | ||||
| Unfarm Tokens | 17496430 | 997 days ago | IN | 0 ETH | 0.00210722 | ||||
| Unfarm Tokens | 17496390 | 997 days ago | IN | 0 ETH | 0.00151625 | ||||
| Unfarm Tokens | 17496367 | 997 days ago | IN | 0 ETH | 0.00170114 | ||||
| Unfarm Tokens | 17496340 | 997 days ago | IN | 0 ETH | 0.00168985 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers.
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
|||
|---|---|---|---|---|---|---|---|---|
| Transfer | 18111512 | 911 days ago | 0 ETH | |||||
| Transfer | 18111512 | 911 days ago | 0 ETH | |||||
| Transfer | 18111504 | 911 days ago | 0 ETH | |||||
| Transfer | 18111504 | 911 days ago | 0 ETH | |||||
| Transfer | 18111466 | 911 days ago | 0 ETH | |||||
| Transfer | 18111466 | 911 days ago | 0 ETH | |||||
| Transfer | 18111454 | 911 days ago | 0 ETH | |||||
| Transfer | 18111454 | 911 days ago | 0 ETH | |||||
| Transfer | 17934508 | 936 days ago | 0 ETH | |||||
| Transfer | 17934508 | 936 days ago | 0 ETH | |||||
| Transfer | 17932892 | 936 days ago | 0 ETH | |||||
| Transfer | 17932892 | 936 days ago | 0 ETH | |||||
| Transfer | 17693759 | 970 days ago | 0 ETH | |||||
| Transfer | 17693759 | 970 days ago | 0 ETH | |||||
| Transfer | 17682690 | 971 days ago | 0 ETH | |||||
| Transfer | 17635956 | 978 days ago | 0 ETH | |||||
| Transfer | 17618533 | 980 days ago | 0 ETH | |||||
| Transfer | 17618533 | 980 days ago | 0 ETH | |||||
| Transfer | 17618477 | 980 days ago | 0 ETH | |||||
| Transfer | 17618477 | 980 days ago | 0 ETH | |||||
| Transfer | 17618454 | 980 days ago | 0 ETH | |||||
| Transfer | 17618454 | 980 days ago | 0 ETH | |||||
| Transfer | 17569477 | 987 days ago | 0 ETH | |||||
| Transfer | 17569477 | 987 days ago | 0 ETH | |||||
| Transfer From | 17568483 | 987 days ago | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SuperYachtClubStaking
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-11-23
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
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);
}
contract Protected {
mapping(address => uint) cooldown_block;
mapping(address => bool) cooldown_free;
mapping(address => bool) is_auth;
address owner;
bool locked;
uint cooldown = 10 seconds;
modifier onlyOwner() {
require(msg.sender==owner, "Not owner.");
_;
}
modifier onlyAuth() {
require( is_auth[msg.sender] || msg.sender==owner, "Not authorized.");
_;
}
modifier safe() {
require(!locked, "Reentrant.");
locked = true;
_;
locked = false;
}
modifier cooled() {
if(!cooldown_free[msg.sender]) {
require(cooldown_block[msg.sender] < block.timestamp, "Slowdown.");
_;
cooldown_block[msg.sender] = block.timestamp + cooldown;
}
}
function authorized(address addy) public view returns(bool) {
return is_auth[addy];
}
function set_authorized(address addy, bool booly) public onlyAuth {
is_auth[addy] = booly;
}
receive() external payable {}
fallback() external payable {}
}
contract SuperYachtClubStaking is Protected {
uint constant FEE_DIVISOR = 1000;
uint reward_rate;
uint early_withdraw_fee = 300;
struct farm_slot {
bool active;
uint balance;
uint deposit_time;
uint locked_time;
uint index;
address token;
}
struct farm_pool {
mapping(uint => uint) lock_multiplier;
mapping(address => uint) is_farming;
mapping(address => bool) has_farmed;
uint total_balance;
}
struct time_pool {
bool enabled;
bool check_balance;
uint percentage_to_check;
}
address[] public farms;
mapping(address => mapping(uint => farm_slot)) public farming_unit;
mapping(address => uint[]) farmer_pools;
mapping(address => farm_pool) public token_pool;
mapping(address => uint) farm_id;
mapping(address => bool) public is_farmable;
mapping(address => uint) public last_tx;
mapping(address => mapping(uint => uint)) public lock_multiplier;
mapping(uint => time_pool) time_allowed;
bool is_fixed_locking = true;
bool emergency_withdraw = false;
address feeReceiver;
IERC20 reward_token;
IERC20 staking_token;
constructor(address _feeReceiver, address staking, address reward) {
owner = msg.sender;
is_auth[owner] = true;
is_farmable[staking] = false;
feeReceiver = _feeReceiver;
staking_token = IERC20(staking);
reward_token = IERC20(reward);
}
function is_unlocked (uint id, address addy) public view returns(bool) {
return( (block.timestamp > farming_unit[addy][id].deposit_time + farming_unit[addy][id].locked_time) );
}
///@notice Public farming functions
///@dev Approve
function approveTokens() public {
bool approved = staking_token.approve(address(this), 2**256 - 1);
require(approved, "Can't approve");
}
///@dev Deposit farmable tokens in the contract
function farmTokens(uint _amount, uint locking) public {
require(is_farmable[address(staking_token)], "Farming not supported");
if (is_fixed_locking) {
require(time_allowed[locking].enabled, "Locking time not allowed");
} else {
require(locking >= 1 days, "Locking time not allowed");
}
require(staking_token.allowance(msg.sender, address(this)) >= _amount, "Allowance?");
if (time_allowed[locking].check_balance) {
uint min_amount = staking_token.balanceOf(msg.sender) * time_allowed[locking].percentage_to_check / 100;
require(_amount >= min_amount, "Pool not allowed for this amount of tokens.");
}
// Trasnfer farmable tokens to contract for farming
bool transferred = staking_token.transferFrom(msg.sender, address(this), _amount);
require(transferred, "Not transferred");
// Update the farming balance in mappings
farm_id[msg.sender]++;
uint id = farm_id[msg.sender];
farming_unit[msg.sender][id].locked_time = locking;
farming_unit[msg.sender][id].balance = farming_unit[msg.sender][id].balance + _amount;
farming_unit[msg.sender][id].deposit_time = block.timestamp;
farming_unit[msg.sender][id].token = address(staking_token);
token_pool[address(staking_token)].total_balance += _amount;
// Add user to farms array if they haven't farmd already
if(token_pool[address(staking_token)].has_farmed[msg.sender]) {
token_pool[address(staking_token)].has_farmed[msg.sender] = true;
}
// Update farming status to track
token_pool[address(staking_token)].is_farming[msg.sender]++;
farmer_pools[msg.sender].push(id);
farming_unit[msg.sender][id].index = (farmer_pools[msg.sender].length)-1;
}
///@dev Unfarm tokens
function unfarmTokens(uint id) public safe cooled {
uint balance = _calculate_rewards(id, msg.sender);
// require the amount farms needs to be greater then 0
require(balance > 0, "farming balance can not be 0");
uint total_amount = farming_unit[msg.sender][id].balance + balance;
// transfer reward tokens out of this contract to the msg.sender
if (is_auth[msg.sender] || is_unlocked(id, msg.sender) || emergency_withdraw) {
reward_token.transfer(msg.sender, total_amount);
} else {
// take fee for early withdraw
uint fee = total_amount * early_withdraw_fee / FEE_DIVISOR;
reward_token.transfer(feeReceiver, fee);
total_amount = total_amount - fee;
reward_token.transfer(msg.sender, total_amount);
}
// reset farming balance map to 0
farming_unit[msg.sender][id].balance = 0;
farming_unit[msg.sender][id].active = false;
farming_unit[msg.sender][id].deposit_time = block.timestamp;
address token = farming_unit[msg.sender][id].token;
// update the farming status
token_pool[token].is_farming[msg.sender]--;
// delete farming pool id
delete farmer_pools[msg.sender][farming_unit[msg.sender][id].index];
}
///@dev Give rewards and clear the reward status
function issueInterestToken(uint id) public safe cooled {
require(is_unlocked(id, msg.sender), "Locking time not finished");
uint balance = _calculate_rewards(id, msg.sender);
reward_token.transfer(msg.sender, balance);
// reset the time counter so it is not double paid
farming_unit[msg.sender][id].deposit_time = block.timestamp;
}
///@dev return the general state of a pool
function get_pool() public view returns (uint) {
require(is_farmable[address(staking_token)], "Not active");
return(token_pool[address(staking_token)].total_balance);
}
///@notice Private functions
///@dev Helper to calculate rewards in a quick and lightweight way
function _calculate_rewards(uint id, address addy) public view returns (uint) {
// get the users farming balance in reward tokens
uint delta_time = block.timestamp - farming_unit[addy][id].deposit_time; // - initial deposit
/// Rationale: balance*rate/100 gives the APY reward. Is multiplied by year/time passed that is written like that because solidity doesn't like floating numbers
uint locking_time = farming_unit[addy][id].locked_time;
uint updated_reward_rate = reward_rate + lock_multiplier[address(staking_token)][locking_time];
uint balance = (((farming_unit[addy][id].balance * updated_reward_rate) / 100) * ((delta_time * 1000000) / 365 days ))/1000000;
return balance;
}
///@notice Control functions
function get_farmer_pools(address farmer) public view returns(uint[] memory) {
return(farmer_pools[farmer]);
}
function unstuck_native_token() public onlyAuth {
bool success;
(success,) = address(msg.sender).call{value: address(this).balance}("");
}
function unstuck_tokens(address tkn) public onlyAuth {
require(IERC20(tkn).balanceOf(address(this)) > 0, "No tokens");
uint amount = IERC20(tkn).balanceOf(address(this));
IERC20(tkn).transfer(msg.sender, amount);
}
function set_time_allowed(uint time, bool enabled, bool check_balance, uint percentage_to_check) public onlyAuth {
time_allowed[time].enabled = enabled;
time_allowed[time].check_balance = check_balance;
time_allowed[time].percentage_to_check = percentage_to_check;
}
function set_farming_state(bool status) public onlyAuth {
is_farmable[address(staking_token)] = status;
}
function get_farming_state() public view returns (bool) {
return is_farmable[address(staking_token)];
}
function get_reward_rate() public view returns (uint) {
return reward_rate;
}
function get_reward_rate_timed(uint time) public view returns (uint) {
uint reward_timed = reward_rate+lock_multiplier[address(staking_token)][time];
return reward_timed;
}
function set_reward_rate(uint rate) public onlyAuth {
reward_rate = rate;
}
function set_tokens(address staking, address reward) public onlyAuth {
staking_token = IERC20(staking);
reward_token = IERC20(reward);
}
function set_multiplier(uint time, uint multiplier) public onlyAuth {
lock_multiplier[address(staking_token)][time] = multiplier;
}
function set_is_fixed_locking(bool fixed_locking) public onlyAuth {
is_fixed_locking = fixed_locking;
}
function set_emergency_withdraw(bool is_enabled) public onlyAuth {
emergency_withdraw = is_enabled;
}
function set_early_withdraw_fee(uint fee) public onlyAuth {
require(fee <= 300, "Fee has to be less or equal than 30%.");
early_withdraw_fee = fee;
}
function set_fee_receiver(address _feeReceiver) public onlyAuth {
feeReceiver = _feeReceiver;
}
function get_multiplier(uint time) public view returns(uint) {
return lock_multiplier[address(staking_token)][time];
}
///@notice time helpers
function get_1_day() public pure returns(uint) {
return(1 days);
}
function get_15_days() public pure returns(uint) {
return(15 days);
}
function get_1_month() public pure returns(uint) {
return(30 days);
}
function get_2_months() public pure returns(uint) {
return(60 days);
}
function get_6_months() public pure returns(uint) {
return(180 days);
}
function get_1_year() public pure returns(uint) {
return(360 days);
}
function get_x_days(uint x) public pure returns(uint) {
return((1 days*x));
}
function get_single_pool(uint id, address addy) public view returns (farm_slot memory) {
return(farming_unit[addy][id]);
}
function get_time_remaining(uint id, address addy) public view returns (uint) {
return(farming_unit[addy][id].deposit_time + farming_unit[addy][id].locked_time);
}
function get_pool_lock_time(uint id, address addy) public view returns (uint) {
return(farming_unit[addy][id].locked_time);
}
function get_pool_balance(uint id, address addy) public view returns (uint) {
return(farming_unit[addy][id].balance);
}
function get_pool_details(uint id, address addy) public view returns (uint, uint) {
return(get_pool_balance(id, addy), get_time_remaining(id, addy));
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"address","name":"staking","type":"address"},{"internalType":"address","name":"reward","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"_calculate_rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approveTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"}],"name":"authorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"locking","type":"uint256"}],"name":"farmTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"farming_unit","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"deposit_time","type":"uint256"},{"internalType":"uint256","name":"locked_time","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"farms","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_15_days","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"get_1_day","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"get_1_month","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"get_1_year","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"get_2_months","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"get_6_months","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"farmer","type":"address"}],"name":"get_farmer_pools","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_farming_state","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"get_multiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_pool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"get_pool_balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"get_pool_details","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"get_pool_lock_time","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"get_reward_rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"get_reward_rate_timed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"get_single_pool","outputs":[{"components":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"deposit_time","type":"uint256"},{"internalType":"uint256","name":"locked_time","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"token","type":"address"}],"internalType":"struct SuperYachtClubStaking.farm_slot","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"get_time_remaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"get_x_days","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"is_farmable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"addy","type":"address"}],"name":"is_unlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"issueInterestToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"last_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lock_multiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addy","type":"address"},{"internalType":"bool","name":"booly","type":"bool"}],"name":"set_authorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"set_early_withdraw_fee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"is_enabled","type":"bool"}],"name":"set_emergency_withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"set_farming_state","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeReceiver","type":"address"}],"name":"set_fee_receiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"fixed_locking","type":"bool"}],"name":"set_is_fixed_locking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"multiplier","type":"uint256"}],"name":"set_multiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"set_reward_rate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"bool","name":"enabled","type":"bool"},{"internalType":"bool","name":"check_balance","type":"bool"},{"internalType":"uint256","name":"percentage_to_check","type":"uint256"}],"name":"set_time_allowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"staking","type":"address"},{"internalType":"address","name":"reward","type":"address"}],"name":"set_tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"token_pool","outputs":[{"internalType":"uint256","name":"total_balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"unfarmTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstuck_native_token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tkn","type":"address"}],"name":"unstuck_tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600a60045561012c6006556001601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff0219169083151502179055503480156200005257600080fd5b5060405162004f1438038062004f148339818101604052810190620000789190620002c1565b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160026000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082601060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200031d565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000289826200025c565b9050919050565b6200029b816200027c565b8114620002a757600080fd5b50565b600081519050620002bb8162000290565b92915050565b600080600060608486031215620002dd57620002dc62000257565b5b6000620002ed86828701620002aa565b93505060206200030086828701620002aa565b92505060406200031386828701620002aa565b9150509250925092565b614be7806200032d6000396000f3fe6080604052600436106102605760003560e01c80638dca07f911610144578063cf5535a8116100b6578063dd40f0bf1161007a578063dd40f0bf146109a9578063e0dbf3d6146109eb578063e41ab77114610a14578063e9aafbac14610a3d578063fd68f22314610a54578063fe4e557814610a6b57610267565b8063cf5535a8146108c4578063cff0b4de146108ed578063d4c2002214610916578063d7eb7a3914610953578063d9a77bde1461097e57610267565b8063b918161111610108578063b918161114610792578063ba59605f146107cf578063c029ab161461080c578063c4a88c6814610835578063c5f5fb1d1461085e578063c6c7d68f1461089b57610267565b80638dca07f91461069957806390e457de146106c457806392b423ea146106ed57806399024d9f1461071857806399a5c8991461075557610267565b80633fe7e33c116101dd5780635fd7f389116101a15780635fd7f38914610550578063662d50a31461058d5780637484b6a6146105b65780637d82423d146105f45780637da470ea1461061f5780638a735e311461065c57610267565b80633fe7e33c1461045757806353a38bed146104945780635607ebde146104bd578063563dd5f4146104e85780635e07a8ef1461052557610267565b806321bcf8c41161022457806321bcf8c414610360578063294d8f3d146103895780632bfe8742146103b457806330dd1232146103dd5780633d207cd01461041a57610267565b80630773d7dd14610269578063088469bd146102925780630a46da9a146102cf5780630ac99fd01461030c5780631e2bed511461033557610267565b3661026757005b005b34801561027557600080fd5b50610290600480360381019061028b9190613c74565b610aa8565b005b34801561029e57600080fd5b506102b960048036038101906102b49190613cd7565b610c08565b6040516102c69190613d13565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190613d8c565b610c96565b6040516103039190613d13565b60405180910390f35b34801561031857600080fd5b50610333600480360381019061032e9190613c74565b610cf4565b005b34801561034157600080fd5b5061034a610df5565b6040516103579190613ddb565b60405180910390f35b34801561036c57600080fd5b5061038760048036038101906103829190613df6565b610e6b565b005b34801561039557600080fd5b5061039e610fd5565b6040516103ab9190613d13565b60405180910390f35b3480156103c057600080fd5b506103db60048036038101906103d69190613e36565b610fe0565b005b3480156103e957600080fd5b5061040460048036038101906103ff9190613d8c565b61111f565b6040516104119190613ddb565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c9190613cd7565b6111dd565b60405161044e9190613d13565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190613e76565b611259565b60405161048b9190613d13565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b69190613cd7565b611271565b005b3480156104c957600080fd5b506104d26113a4565b6040516104df9190613d13565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a9190613d8c565b6113af565b60405161051c9190613d13565b60405180910390f35b34801561053157600080fd5b5061053a61140d565b6040516105479190613d13565b60405180910390f35b34801561055c57600080fd5b5061057760048036038101906105729190613e76565b611419565b6040516105849190613ddb565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af9190613ea3565b611439565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190613d8c565b61159a565b6040516105eb929190613f0a565b60405180910390f35b34801561060057600080fd5b506106096115bc565b6040516106169190613d13565b60405180910390f35b34801561062b57600080fd5b5061064660048036038101906106419190613cd7565b6115c7565b6040516106539190613f42565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190613d8c565b611606565b6040516106909190614005565b60405180910390f35b3480156106a557600080fd5b506106ae61170a565b6040516106bb9190613d13565b60405180910390f35b3480156106d057600080fd5b506106eb60048036038101906106e69190613cd7565b611714565b005b3480156106f957600080fd5b50610702611802565b60405161070f9190613d13565b60405180910390f35b34801561072457600080fd5b5061073f600480360381019061073a9190613d8c565b61180d565b60405161074c9190613d13565b60405180910390f35b34801561076157600080fd5b5061077c60048036038101906107779190613d8c565b6119ff565b6040516107899190613d13565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190613e76565b611abb565b6040516107c69190613ddb565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190614020565b611b11565b6040516108039190613d13565b60405180910390f35b34801561081857600080fd5b50610833600480360381019061082e9190614060565b611b36565b005b34801561084157600080fd5b5061085c60048036038101906108579190614060565b61260f565b005b34801561086a57600080fd5b5061088560048036038101906108809190613e76565b61276e565b604051610892919061414f565b60405180910390f35b3480156108a757600080fd5b506108c260048036038101906108bd9190613c74565b612805565b005b3480156108d057600080fd5b506108eb60048036038101906108e69190613e76565b612906565b005b3480156108f957600080fd5b50610914600480360381019061090f9190613cd7565b612ba7565b005b34801561092257600080fd5b5061093d60048036038101906109389190613e76565b612ea3565b60405161094a9190613d13565b60405180910390f35b34801561095f57600080fd5b50610968612ec1565b6040516109759190613d13565b60405180910390f35b34801561098a57600080fd5b50610993612fdb565b6040516109a09190613d13565b60405180910390f35b3480156109b557600080fd5b506109d060048036038101906109cb9190614020565b612fe6565b6040516109e296959493929190614171565b60405180910390f35b3480156109f757600080fd5b50610a126004803603810190610a0d9190613cd7565b61305c565b005b348015610a2057600080fd5b50610a3b6004803603810190610a369190613e76565b61384d565b005b348015610a4957600080fd5b50610a52613975565b005b348015610a6057600080fd5b50610a69613aca565b005b348015610a7757600080fd5b50610a926004803603810190610a8d9190613cd7565b613bd1565b604051610a9f9190613d13565b60405180910390f35b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610b4d5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b839061422f565b60405180910390fd5b80600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054600554610c8b919061427e565b905080915050919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060030154905092915050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d995750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf9061422f565b60405180910390fd5b80601060016101000a81548160ff02191690831515021790555050565b6000600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f105750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f469061422f565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006213c680905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110855750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb9061422f565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060030154600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600201546111d3919061427e565b4211905092915050565b6000600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020549050919050565b600d6020528060005260406000206000915090505481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113165750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134c9061422f565b60405180910390fd5b61012c81111561139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190614324565b60405180910390fd5b8060068190555050565b600062ed4e00905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060010154905092915050565b60006301da9c00905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114de5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61151d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115149061422f565b60405180910390fd5b82600f600086815260200190815260200160002060000160006101000a81548160ff02191690831515021790555081600f600086815260200190815260200160002060000160016101000a81548160ff02191690831515021790555080600f60008681526020019081526020016000206001018190555050505050565b6000806115a784846113af565b6115b185856119ff565b915091509250929050565b600062278d00905090565b600781815481106115d757600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61160e613be9565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000206040518060c00160405290816000820160009054906101000a900460ff16151515158152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6000600554905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117b95750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef9061422f565b60405180910390fd5b8060058190555050565b600062015180905090565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600201544261186f9190614344565b90506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008681526020019081526020016000206003015490506000600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000205460055461194b919061427e565b90506000620f42406301e13380620f4240866119679190614378565b61197191906143e9565b606484600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c8152602001908152602001600020600101546119d29190614378565b6119dc91906143e9565b6119e69190614378565b6119f091906143e9565b90508094505050505092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060030154600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060020154611ab3919061427e565b905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600e602052816000526040600020602052806000526040600020600091509150505481565b600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdb90614466565b60405180910390fd5b601060009054906101000a900460ff1615611c6157600f600082815260200190815260200160002060000160009054906101000a900460ff16611c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c53906144d2565b60405180910390fd5b611ca8565b62015180811015611ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9e906144d2565b60405180910390fd5b5b81601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401611d069291906144f2565b602060405180830381865afa158015611d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d479190614530565b1015611d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7f906145a9565b60405180910390fd5b600f600082815260200190815260200160002060000160019054906101000a900460ff1615611ec35760006064600f600084815260200190815260200160002060010154601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401611e279190613f42565b602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e689190614530565b611e729190614378565b611e7c91906143e9565b905080831015611ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb89061463b565b60405180910390fd5b505b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b8152600401611f249392919061465b565b6020604051808303816000875af1158015611f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6791906146a7565b905080611fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa090614720565b60405180910390fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611ff990614740565b91905055506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206003018190555083600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020600101546120f9919061427e565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206001018190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060020181905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008282546122d0919061427e565b92505081905550600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612446576001600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906124f890614740565b9190505550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150556001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506125b29190614344565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206004018190555050505050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126b45750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061422f565b60405180910390fd5b80600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055505050565b6060600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156127f957602002820191906000526020600020905b8154815260200190600101908083116127e5575b50505050509050919050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128aa5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6128e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e09061422f565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129ab5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6129ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e19061422f565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612a259190613f42565b602060405180830381865afa158015612a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a669190614530565b11612aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9d906147d4565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612ae19190613f42565b602060405180830381865afa158015612afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b229190614530565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401612b5f9291906147f4565b6020604051808303816000875af1158015612b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba291906146a7565b505050565b600360149054906101000a900460ff1615612bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bee90614869565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612e8557426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cda906148d5565b60405180910390fd5b612ced813361111f565b612d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2390614941565b60405180910390fd5b6000612d38823361180d565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401612d979291906147f4565b6020604051808303816000875af1158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dda91906146a7565b5042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600201819055505060045442612e42919061427e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600360146101000a81548160ff02191690831515021790555050565b600a6020528060005260406000206000915090508060030154905081565b6000600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f68906149ad565b60405180910390fd5b600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154905090565b6000624f1a00905090565b6008602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900460ff16908060010154908060020154908060030154908060040154908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905086565b600360149054906101000a900460ff16156130ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130a390614869565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661382f57426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318f906148d5565b60405180910390fd5b60006131a4823361180d565b9050600081116131e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131e090614a19565b60405180910390fd5b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206001015461324a919061427e565b9050600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806132aa57506132a9833361111f565b5b806132c15750601060019054906101000a900460ff165b1561336c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016133239291906147f4565b6020604051808303816000875af1158015613342573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336691906146a7565b506134ff565b60006103e86006548361337f9190614378565b61338991906143e9565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161340a9291906147f4565b6020604051808303816000875af1158015613429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061344d91906146a7565b50808261345a9190614344565b9150601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016134b99291906147f4565b6020604051808303816000875af11580156134d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134fc91906146a7565b50505b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600101819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060000160006101000a81548160ff02191690831515021790555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600201819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061372490614a39565b9190505550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002060040154815481106137cd576137cc614a62565b5b9060005260206000200160009055505050600454426137ec919061427e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600360146101000a81548160ff02191690831515021790555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806138f25750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b613931576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139289061422f565b60405180910390fd5b80601060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613a1a5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b613a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a509061422f565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051613a7f90614ac2565b60006040518083038185875af1925050503d8060008114613abc576040519150601f19603f3d011682016040523d82523d6000602084013e613ac1565b606091505b50508091505050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401613b49929190614b1c565b6020604051808303816000875af1158015613b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b8c91906146a7565b905080613bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc590614b91565b60405180910390fd5b50565b60008162015180613be29190614378565b9050919050565b6040518060c0016040528060001515815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b60008115159050919050565b613c5181613c3c565b8114613c5c57600080fd5b50565b600081359050613c6e81613c48565b92915050565b600060208284031215613c8a57613c89613c37565b5b6000613c9884828501613c5f565b91505092915050565b6000819050919050565b613cb481613ca1565b8114613cbf57600080fd5b50565b600081359050613cd181613cab565b92915050565b600060208284031215613ced57613cec613c37565b5b6000613cfb84828501613cc2565b91505092915050565b613d0d81613ca1565b82525050565b6000602082019050613d286000830184613d04565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d5982613d2e565b9050919050565b613d6981613d4e565b8114613d7457600080fd5b50565b600081359050613d8681613d60565b92915050565b60008060408385031215613da357613da2613c37565b5b6000613db185828601613cc2565b9250506020613dc285828601613d77565b9150509250929050565b613dd581613c3c565b82525050565b6000602082019050613df06000830184613dcc565b92915050565b60008060408385031215613e0d57613e0c613c37565b5b6000613e1b85828601613d77565b9250506020613e2c85828601613d77565b9150509250929050565b60008060408385031215613e4d57613e4c613c37565b5b6000613e5b85828601613d77565b9250506020613e6c85828601613c5f565b9150509250929050565b600060208284031215613e8c57613e8b613c37565b5b6000613e9a84828501613d77565b91505092915050565b60008060008060808587031215613ebd57613ebc613c37565b5b6000613ecb87828801613cc2565b9450506020613edc87828801613c5f565b9350506040613eed87828801613c5f565b9250506060613efe87828801613cc2565b91505092959194509250565b6000604082019050613f1f6000830185613d04565b613f2c6020830184613d04565b9392505050565b613f3c81613d4e565b82525050565b6000602082019050613f576000830184613f33565b92915050565b613f6681613c3c565b82525050565b613f7581613ca1565b82525050565b613f8481613d4e565b82525050565b60c082016000820151613fa06000850182613f5d565b506020820151613fb36020850182613f6c565b506040820151613fc66040850182613f6c565b506060820151613fd96060850182613f6c565b506080820151613fec6080850182613f6c565b5060a0820151613fff60a0850182613f7b565b50505050565b600060c08201905061401a6000830184613f8a565b92915050565b6000806040838503121561403757614036613c37565b5b600061404585828601613d77565b925050602061405685828601613cc2565b9150509250929050565b6000806040838503121561407757614076613c37565b5b600061408585828601613cc2565b925050602061409685828601613cc2565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006140d88383613f6c565b60208301905092915050565b6000602082019050919050565b60006140fc826140a0565b61410681856140ab565b9350614111836140bc565b8060005b8381101561414257815161412988826140cc565b9750614134836140e4565b925050600181019050614115565b5085935050505092915050565b6000602082019050818103600083015261416981846140f1565b905092915050565b600060c0820190506141866000830189613dcc565b6141936020830188613d04565b6141a06040830187613d04565b6141ad6060830186613d04565b6141ba6080830185613d04565b6141c760a0830184613f33565b979650505050505050565b600082825260208201905092915050565b7f4e6f7420617574686f72697a65642e0000000000000000000000000000000000600082015250565b6000614219600f836141d2565b9150614224826141e3565b602082019050919050565b600060208201905081810360008301526142488161420c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061428982613ca1565b915061429483613ca1565b92508282019050808211156142ac576142ab61424f565b5b92915050565b7f4665652068617320746f206265206c657373206f7220657175616c207468616e60008201527f203330252e000000000000000000000000000000000000000000000000000000602082015250565b600061430e6025836141d2565b9150614319826142b2565b604082019050919050565b6000602082019050818103600083015261433d81614301565b9050919050565b600061434f82613ca1565b915061435a83613ca1565b92508282039050818111156143725761437161424f565b5b92915050565b600061438382613ca1565b915061438e83613ca1565b925082820261439c81613ca1565b915082820484148315176143b3576143b261424f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143f482613ca1565b91506143ff83613ca1565b92508261440f5761440e6143ba565b5b828204905092915050565b7f4661726d696e67206e6f7420737570706f727465640000000000000000000000600082015250565b60006144506015836141d2565b915061445b8261441a565b602082019050919050565b6000602082019050818103600083015261447f81614443565b9050919050565b7f4c6f636b696e672074696d65206e6f7420616c6c6f7765640000000000000000600082015250565b60006144bc6018836141d2565b91506144c782614486565b602082019050919050565b600060208201905081810360008301526144eb816144af565b9050919050565b60006040820190506145076000830185613f33565b6145146020830184613f33565b9392505050565b60008151905061452a81613cab565b92915050565b60006020828403121561454657614545613c37565b5b60006145548482850161451b565b91505092915050565b7f416c6c6f77616e63653f00000000000000000000000000000000000000000000600082015250565b6000614593600a836141d2565b915061459e8261455d565b602082019050919050565b600060208201905081810360008301526145c281614586565b9050919050565b7f506f6f6c206e6f7420616c6c6f77656420666f72207468697320616d6f756e7460008201527f206f6620746f6b656e732e000000000000000000000000000000000000000000602082015250565b6000614625602b836141d2565b9150614630826145c9565b604082019050919050565b6000602082019050818103600083015261465481614618565b9050919050565b60006060820190506146706000830186613f33565b61467d6020830185613f33565b61468a6040830184613d04565b949350505050565b6000815190506146a181613c48565b92915050565b6000602082840312156146bd576146bc613c37565b5b60006146cb84828501614692565b91505092915050565b7f4e6f74207472616e736665727265640000000000000000000000000000000000600082015250565b600061470a600f836141d2565b9150614715826146d4565b602082019050919050565b60006020820190508181036000830152614739816146fd565b9050919050565b600061474b82613ca1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361477d5761477c61424f565b5b600182019050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006147be6009836141d2565b91506147c982614788565b602082019050919050565b600060208201905081810360008301526147ed816147b1565b9050919050565b60006040820190506148096000830185613f33565b6148166020830184613d04565b9392505050565b7f5265656e7472616e742e00000000000000000000000000000000000000000000600082015250565b6000614853600a836141d2565b915061485e8261481d565b602082019050919050565b6000602082019050818103600083015261488281614846565b9050919050565b7f536c6f77646f776e2e0000000000000000000000000000000000000000000000600082015250565b60006148bf6009836141d2565b91506148ca82614889565b602082019050919050565b600060208201905081810360008301526148ee816148b2565b9050919050565b7f4c6f636b696e672074696d65206e6f742066696e697368656400000000000000600082015250565b600061492b6019836141d2565b9150614936826148f5565b602082019050919050565b6000602082019050818103600083015261495a8161491e565b9050919050565b7f4e6f742061637469766500000000000000000000000000000000000000000000600082015250565b6000614997600a836141d2565b91506149a282614961565b602082019050919050565b600060208201905081810360008301526149c68161498a565b9050919050565b7f6661726d696e672062616c616e63652063616e206e6f74206265203000000000600082015250565b6000614a03601c836141d2565b9150614a0e826149cd565b602082019050919050565b60006020820190508181036000830152614a32816149f6565b9050919050565b6000614a4482613ca1565b915060008203614a5757614a5661424f565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b50565b6000614aac600083614a91565b9150614ab782614a9c565b600082019050919050565b6000614acd82614a9f565b9150819050919050565b6000819050919050565b6000819050919050565b6000614b06614b01614afc84614ad7565b614ae1565b613ca1565b9050919050565b614b1681614aeb565b82525050565b6000604082019050614b316000830185613f33565b614b3e6020830184614b0d565b9392505050565b7f43616e277420617070726f766500000000000000000000000000000000000000600082015250565b6000614b7b600d836141d2565b9150614b8682614b45565b602082019050919050565b60006020820190508181036000830152614baa81614b6e565b905091905056fea264697066735822122052f1bedb6128396aa1e6abda1006065128043b83481c72a0499a2973bb0b7eec64736f6c634300081100330000000000000000000000007f3ed7bc277824780563424dce54c0aec102c4fb0000000000000000000000000a41e6d4d4897e8cec819ce7d10b2d7cda61dc940000000000000000000000000a41e6d4d4897e8cec819ce7d10b2d7cda61dc94
Deployed Bytecode
0x6080604052600436106102605760003560e01c80638dca07f911610144578063cf5535a8116100b6578063dd40f0bf1161007a578063dd40f0bf146109a9578063e0dbf3d6146109eb578063e41ab77114610a14578063e9aafbac14610a3d578063fd68f22314610a54578063fe4e557814610a6b57610267565b8063cf5535a8146108c4578063cff0b4de146108ed578063d4c2002214610916578063d7eb7a3914610953578063d9a77bde1461097e57610267565b8063b918161111610108578063b918161114610792578063ba59605f146107cf578063c029ab161461080c578063c4a88c6814610835578063c5f5fb1d1461085e578063c6c7d68f1461089b57610267565b80638dca07f91461069957806390e457de146106c457806392b423ea146106ed57806399024d9f1461071857806399a5c8991461075557610267565b80633fe7e33c116101dd5780635fd7f389116101a15780635fd7f38914610550578063662d50a31461058d5780637484b6a6146105b65780637d82423d146105f45780637da470ea1461061f5780638a735e311461065c57610267565b80633fe7e33c1461045757806353a38bed146104945780635607ebde146104bd578063563dd5f4146104e85780635e07a8ef1461052557610267565b806321bcf8c41161022457806321bcf8c414610360578063294d8f3d146103895780632bfe8742146103b457806330dd1232146103dd5780633d207cd01461041a57610267565b80630773d7dd14610269578063088469bd146102925780630a46da9a146102cf5780630ac99fd01461030c5780631e2bed511461033557610267565b3661026757005b005b34801561027557600080fd5b50610290600480360381019061028b9190613c74565b610aa8565b005b34801561029e57600080fd5b506102b960048036038101906102b49190613cd7565b610c08565b6040516102c69190613d13565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190613d8c565b610c96565b6040516103039190613d13565b60405180910390f35b34801561031857600080fd5b50610333600480360381019061032e9190613c74565b610cf4565b005b34801561034157600080fd5b5061034a610df5565b6040516103579190613ddb565b60405180910390f35b34801561036c57600080fd5b5061038760048036038101906103829190613df6565b610e6b565b005b34801561039557600080fd5b5061039e610fd5565b6040516103ab9190613d13565b60405180910390f35b3480156103c057600080fd5b506103db60048036038101906103d69190613e36565b610fe0565b005b3480156103e957600080fd5b5061040460048036038101906103ff9190613d8c565b61111f565b6040516104119190613ddb565b60405180910390f35b34801561042657600080fd5b50610441600480360381019061043c9190613cd7565b6111dd565b60405161044e9190613d13565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190613e76565b611259565b60405161048b9190613d13565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b69190613cd7565b611271565b005b3480156104c957600080fd5b506104d26113a4565b6040516104df9190613d13565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a9190613d8c565b6113af565b60405161051c9190613d13565b60405180910390f35b34801561053157600080fd5b5061053a61140d565b6040516105479190613d13565b60405180910390f35b34801561055c57600080fd5b5061057760048036038101906105729190613e76565b611419565b6040516105849190613ddb565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af9190613ea3565b611439565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190613d8c565b61159a565b6040516105eb929190613f0a565b60405180910390f35b34801561060057600080fd5b506106096115bc565b6040516106169190613d13565b60405180910390f35b34801561062b57600080fd5b5061064660048036038101906106419190613cd7565b6115c7565b6040516106539190613f42565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190613d8c565b611606565b6040516106909190614005565b60405180910390f35b3480156106a557600080fd5b506106ae61170a565b6040516106bb9190613d13565b60405180910390f35b3480156106d057600080fd5b506106eb60048036038101906106e69190613cd7565b611714565b005b3480156106f957600080fd5b50610702611802565b60405161070f9190613d13565b60405180910390f35b34801561072457600080fd5b5061073f600480360381019061073a9190613d8c565b61180d565b60405161074c9190613d13565b60405180910390f35b34801561076157600080fd5b5061077c60048036038101906107779190613d8c565b6119ff565b6040516107899190613d13565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190613e76565b611abb565b6040516107c69190613ddb565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190614020565b611b11565b6040516108039190613d13565b60405180910390f35b34801561081857600080fd5b50610833600480360381019061082e9190614060565b611b36565b005b34801561084157600080fd5b5061085c60048036038101906108579190614060565b61260f565b005b34801561086a57600080fd5b5061088560048036038101906108809190613e76565b61276e565b604051610892919061414f565b60405180910390f35b3480156108a757600080fd5b506108c260048036038101906108bd9190613c74565b612805565b005b3480156108d057600080fd5b506108eb60048036038101906108e69190613e76565b612906565b005b3480156108f957600080fd5b50610914600480360381019061090f9190613cd7565b612ba7565b005b34801561092257600080fd5b5061093d60048036038101906109389190613e76565b612ea3565b60405161094a9190613d13565b60405180910390f35b34801561095f57600080fd5b50610968612ec1565b6040516109759190613d13565b60405180910390f35b34801561098a57600080fd5b50610993612fdb565b6040516109a09190613d13565b60405180910390f35b3480156109b557600080fd5b506109d060048036038101906109cb9190614020565b612fe6565b6040516109e296959493929190614171565b60405180910390f35b3480156109f757600080fd5b50610a126004803603810190610a0d9190613cd7565b61305c565b005b348015610a2057600080fd5b50610a3b6004803603810190610a369190613e76565b61384d565b005b348015610a4957600080fd5b50610a52613975565b005b348015610a6057600080fd5b50610a69613aca565b005b348015610a7757600080fd5b50610a926004803603810190610a8d9190613cd7565b613bd1565b604051610a9f9190613d13565b60405180910390f35b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610b4d5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b839061422f565b60405180910390fd5b80600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054600554610c8b919061427e565b905080915050919050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060030154905092915050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d995750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf9061422f565b60405180910390fd5b80601060016101000a81548160ff02191690831515021790555050565b6000600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f105750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f469061422f565b60405180910390fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006213c680905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110855750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb9061422f565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060030154600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600201546111d3919061427e565b4211905092915050565b6000600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020549050919050565b600d6020528060005260406000206000915090505481565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113165750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134c9061422f565b60405180910390fd5b61012c81111561139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190614324565b60405180910390fd5b8060068190555050565b600062ed4e00905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060010154905092915050565b60006301da9c00905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114de5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61151d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115149061422f565b60405180910390fd5b82600f600086815260200190815260200160002060000160006101000a81548160ff02191690831515021790555081600f600086815260200190815260200160002060000160016101000a81548160ff02191690831515021790555080600f60008681526020019081526020016000206001018190555050505050565b6000806115a784846113af565b6115b185856119ff565b915091509250929050565b600062278d00905090565b600781815481106115d757600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61160e613be9565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000206040518060c00160405290816000820160009054906101000a900460ff16151515158152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6000600554905090565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117b95750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef9061422f565b60405180910390fd5b8060058190555050565b600062015180905090565b600080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600201544261186f9190614344565b90506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008681526020019081526020016000206003015490506000600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000205460055461194b919061427e565b90506000620f42406301e13380620f4240866119679190614378565b61197191906143e9565b606484600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c8152602001908152602001600020600101546119d29190614378565b6119dc91906143e9565b6119e69190614378565b6119f091906143e9565b90508094505050505092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060030154600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060020154611ab3919061427e565b905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600e602052816000526040600020602052806000526040600020600091509150505481565b600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdb90614466565b60405180910390fd5b601060009054906101000a900460ff1615611c6157600f600082815260200190815260200160002060000160009054906101000a900460ff16611c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c53906144d2565b60405180910390fd5b611ca8565b62015180811015611ca7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9e906144d2565b60405180910390fd5b5b81601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401611d069291906144f2565b602060405180830381865afa158015611d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d479190614530565b1015611d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7f906145a9565b60405180910390fd5b600f600082815260200190815260200160002060000160019054906101000a900460ff1615611ec35760006064600f600084815260200190815260200160002060010154601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401611e279190613f42565b602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e689190614530565b611e729190614378565b611e7c91906143e9565b905080831015611ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb89061463b565b60405180910390fd5b505b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b8152600401611f249392919061465b565b6020604051808303816000875af1158015611f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6791906146a7565b905080611fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa090614720565b60405180910390fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611ff990614740565b91905055506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206003018190555083600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020600101546120f9919061427e565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206001018190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060020181905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008282546122d0919061427e565b92505081905550600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612446576001600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906124f890614740565b9190505550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150556001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506125b29190614344565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206004018190555050505050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126b45750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061422f565b60405180910390fd5b80600e6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055505050565b6060600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156127f957602002820191906000526020600020905b8154815260200190600101908083116127e5575b50505050509050919050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128aa5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6128e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e09061422f565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129ab5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6129ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e19061422f565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612a259190613f42565b602060405180830381865afa158015612a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a669190614530565b11612aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9d906147d4565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612ae19190613f42565b602060405180830381865afa158015612afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b229190614530565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401612b5f9291906147f4565b6020604051808303816000875af1158015612b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba291906146a7565b505050565b600360149054906101000a900460ff1615612bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bee90614869565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612e8557426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cda906148d5565b60405180910390fd5b612ced813361111f565b612d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2390614941565b60405180910390fd5b6000612d38823361180d565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401612d979291906147f4565b6020604051808303816000875af1158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dda91906146a7565b5042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600201819055505060045442612e42919061427e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600360146101000a81548160ff02191690831515021790555050565b600a6020528060005260406000206000915090508060030154905081565b6000600c6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f68906149ad565b60405180910390fd5b600a6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154905090565b6000624f1a00905090565b6008602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900460ff16908060010154908060020154908060030154908060040154908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905086565b600360149054906101000a900460ff16156130ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130a390614869565b60405180910390fd5b6001600360146101000a81548160ff021916908315150217905550600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661382f57426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318f906148d5565b60405180910390fd5b60006131a4823361180d565b9050600081116131e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131e090614a19565b60405180910390fd5b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206001015461324a919061427e565b9050600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806132aa57506132a9833361111f565b5b806132c15750601060019054906101000a900460ff165b1561336c57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016133239291906147f4565b6020604051808303816000875af1158015613342573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336691906146a7565b506134ff565b60006103e86006548361337f9190614378565b61338991906143e9565b9050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161340a9291906147f4565b6020604051808303816000875af1158015613429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061344d91906146a7565b50808261345a9190614344565b9150601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016134b99291906147f4565b6020604051808303816000875af11580156134d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134fc91906146a7565b50505b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600101819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060000160006101000a81548160ff02191690831515021790555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020600201819055506000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061372490614a39565b9190505550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002060040154815481106137cd576137cc614a62565b5b9060005260206000200160009055505050600454426137ec919061427e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600360146101000a81548160ff02191690831515021790555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806138f25750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b613931576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139289061422f565b60405180910390fd5b80601060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613a1a5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b613a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a509061422f565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051613a7f90614ac2565b60006040518083038185875af1925050503d8060008114613abc576040519150601f19603f3d011682016040523d82523d6000602084013e613ac1565b606091505b50508091505050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401613b49929190614b1c565b6020604051808303816000875af1158015613b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b8c91906146a7565b905080613bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc590614b91565b60405180910390fd5b50565b60008162015180613be29190614378565b9050919050565b6040518060c0016040528060001515815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b60008115159050919050565b613c5181613c3c565b8114613c5c57600080fd5b50565b600081359050613c6e81613c48565b92915050565b600060208284031215613c8a57613c89613c37565b5b6000613c9884828501613c5f565b91505092915050565b6000819050919050565b613cb481613ca1565b8114613cbf57600080fd5b50565b600081359050613cd181613cab565b92915050565b600060208284031215613ced57613cec613c37565b5b6000613cfb84828501613cc2565b91505092915050565b613d0d81613ca1565b82525050565b6000602082019050613d286000830184613d04565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613d5982613d2e565b9050919050565b613d6981613d4e565b8114613d7457600080fd5b50565b600081359050613d8681613d60565b92915050565b60008060408385031215613da357613da2613c37565b5b6000613db185828601613cc2565b9250506020613dc285828601613d77565b9150509250929050565b613dd581613c3c565b82525050565b6000602082019050613df06000830184613dcc565b92915050565b60008060408385031215613e0d57613e0c613c37565b5b6000613e1b85828601613d77565b9250506020613e2c85828601613d77565b9150509250929050565b60008060408385031215613e4d57613e4c613c37565b5b6000613e5b85828601613d77565b9250506020613e6c85828601613c5f565b9150509250929050565b600060208284031215613e8c57613e8b613c37565b5b6000613e9a84828501613d77565b91505092915050565b60008060008060808587031215613ebd57613ebc613c37565b5b6000613ecb87828801613cc2565b9450506020613edc87828801613c5f565b9350506040613eed87828801613c5f565b9250506060613efe87828801613cc2565b91505092959194509250565b6000604082019050613f1f6000830185613d04565b613f2c6020830184613d04565b9392505050565b613f3c81613d4e565b82525050565b6000602082019050613f576000830184613f33565b92915050565b613f6681613c3c565b82525050565b613f7581613ca1565b82525050565b613f8481613d4e565b82525050565b60c082016000820151613fa06000850182613f5d565b506020820151613fb36020850182613f6c565b506040820151613fc66040850182613f6c565b506060820151613fd96060850182613f6c565b506080820151613fec6080850182613f6c565b5060a0820151613fff60a0850182613f7b565b50505050565b600060c08201905061401a6000830184613f8a565b92915050565b6000806040838503121561403757614036613c37565b5b600061404585828601613d77565b925050602061405685828601613cc2565b9150509250929050565b6000806040838503121561407757614076613c37565b5b600061408585828601613cc2565b925050602061409685828601613cc2565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006140d88383613f6c565b60208301905092915050565b6000602082019050919050565b60006140fc826140a0565b61410681856140ab565b9350614111836140bc565b8060005b8381101561414257815161412988826140cc565b9750614134836140e4565b925050600181019050614115565b5085935050505092915050565b6000602082019050818103600083015261416981846140f1565b905092915050565b600060c0820190506141866000830189613dcc565b6141936020830188613d04565b6141a06040830187613d04565b6141ad6060830186613d04565b6141ba6080830185613d04565b6141c760a0830184613f33565b979650505050505050565b600082825260208201905092915050565b7f4e6f7420617574686f72697a65642e0000000000000000000000000000000000600082015250565b6000614219600f836141d2565b9150614224826141e3565b602082019050919050565b600060208201905081810360008301526142488161420c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061428982613ca1565b915061429483613ca1565b92508282019050808211156142ac576142ab61424f565b5b92915050565b7f4665652068617320746f206265206c657373206f7220657175616c207468616e60008201527f203330252e000000000000000000000000000000000000000000000000000000602082015250565b600061430e6025836141d2565b9150614319826142b2565b604082019050919050565b6000602082019050818103600083015261433d81614301565b9050919050565b600061434f82613ca1565b915061435a83613ca1565b92508282039050818111156143725761437161424f565b5b92915050565b600061438382613ca1565b915061438e83613ca1565b925082820261439c81613ca1565b915082820484148315176143b3576143b261424f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143f482613ca1565b91506143ff83613ca1565b92508261440f5761440e6143ba565b5b828204905092915050565b7f4661726d696e67206e6f7420737570706f727465640000000000000000000000600082015250565b60006144506015836141d2565b915061445b8261441a565b602082019050919050565b6000602082019050818103600083015261447f81614443565b9050919050565b7f4c6f636b696e672074696d65206e6f7420616c6c6f7765640000000000000000600082015250565b60006144bc6018836141d2565b91506144c782614486565b602082019050919050565b600060208201905081810360008301526144eb816144af565b9050919050565b60006040820190506145076000830185613f33565b6145146020830184613f33565b9392505050565b60008151905061452a81613cab565b92915050565b60006020828403121561454657614545613c37565b5b60006145548482850161451b565b91505092915050565b7f416c6c6f77616e63653f00000000000000000000000000000000000000000000600082015250565b6000614593600a836141d2565b915061459e8261455d565b602082019050919050565b600060208201905081810360008301526145c281614586565b9050919050565b7f506f6f6c206e6f7420616c6c6f77656420666f72207468697320616d6f756e7460008201527f206f6620746f6b656e732e000000000000000000000000000000000000000000602082015250565b6000614625602b836141d2565b9150614630826145c9565b604082019050919050565b6000602082019050818103600083015261465481614618565b9050919050565b60006060820190506146706000830186613f33565b61467d6020830185613f33565b61468a6040830184613d04565b949350505050565b6000815190506146a181613c48565b92915050565b6000602082840312156146bd576146bc613c37565b5b60006146cb84828501614692565b91505092915050565b7f4e6f74207472616e736665727265640000000000000000000000000000000000600082015250565b600061470a600f836141d2565b9150614715826146d4565b602082019050919050565b60006020820190508181036000830152614739816146fd565b9050919050565b600061474b82613ca1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361477d5761477c61424f565b5b600182019050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006147be6009836141d2565b91506147c982614788565b602082019050919050565b600060208201905081810360008301526147ed816147b1565b9050919050565b60006040820190506148096000830185613f33565b6148166020830184613d04565b9392505050565b7f5265656e7472616e742e00000000000000000000000000000000000000000000600082015250565b6000614853600a836141d2565b915061485e8261481d565b602082019050919050565b6000602082019050818103600083015261488281614846565b9050919050565b7f536c6f77646f776e2e0000000000000000000000000000000000000000000000600082015250565b60006148bf6009836141d2565b91506148ca82614889565b602082019050919050565b600060208201905081810360008301526148ee816148b2565b9050919050565b7f4c6f636b696e672074696d65206e6f742066696e697368656400000000000000600082015250565b600061492b6019836141d2565b9150614936826148f5565b602082019050919050565b6000602082019050818103600083015261495a8161491e565b9050919050565b7f4e6f742061637469766500000000000000000000000000000000000000000000600082015250565b6000614997600a836141d2565b91506149a282614961565b602082019050919050565b600060208201905081810360008301526149c68161498a565b9050919050565b7f6661726d696e672062616c616e63652063616e206e6f74206265203000000000600082015250565b6000614a03601c836141d2565b9150614a0e826149cd565b602082019050919050565b60006020820190508181036000830152614a32816149f6565b9050919050565b6000614a4482613ca1565b915060008203614a5757614a5661424f565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b50565b6000614aac600083614a91565b9150614ab782614a9c565b600082019050919050565b6000614acd82614a9f565b9150819050919050565b6000819050919050565b6000819050919050565b6000614b06614b01614afc84614ad7565b614ae1565b613ca1565b9050919050565b614b1681614aeb565b82525050565b6000604082019050614b316000830185613f33565b614b3e6020830184614b0d565b9392505050565b7f43616e277420617070726f766500000000000000000000000000000000000000600082015250565b6000614b7b600d836141d2565b9150614b8682614b45565b602082019050919050565b60006020820190508181036000830152614baa81614b6e565b905091905056fea264697066735822122052f1bedb6128396aa1e6abda1006065128043b83481c72a0499a2973bb0b7eec64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007f3ed7bc277824780563424dce54c0aec102c4fb0000000000000000000000000a41e6d4d4897e8cec819ce7d10b2d7cda61dc940000000000000000000000000a41e6d4d4897e8cec819ce7d10b2d7cda61dc94
-----Decoded View---------------
Arg [0] : _feeReceiver (address): 0x7F3ed7bc277824780563424DcE54c0AeC102c4fB
Arg [1] : staking (address): 0x0A41E6d4D4897E8Cec819ce7D10B2D7cDa61Dc94
Arg [2] : reward (address): 0x0A41E6d4D4897E8Cec819ce7D10B2D7cDa61Dc94
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007f3ed7bc277824780563424dce54c0aec102c4fb
Arg [1] : 0000000000000000000000000a41e6d4d4897e8cec819ce7d10b2d7cda61dc94
Arg [2] : 0000000000000000000000000a41e6d4d4897e8cec819ce7d10b2d7cda61dc94
Deployed Bytecode Sourcemap
1879:11071:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9763:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10122:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12487:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10879:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9893:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10426:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11565:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1695:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3462:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11300:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2829:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11002:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11858:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12638:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11959:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2779:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9452:302;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12779:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;11659:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2536:22;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12158:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10021:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10328:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11474:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8096:748;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12302:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1590:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2875:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3947:1895;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10599:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8890:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10754:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9196:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7330:399;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2686:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7785:191;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11758:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2567:66;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;5881:1383;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11177:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9025:162;;;;;;;;;;;;;:::i;:::-;;3726:160;;;;;;;;;;;;;:::i;:::-;;12053:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9763:121;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9869:6:::1;9831:11;:35;9851:13;;;;;;;;;;;9831:35;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;9763:121:::0;:::o;10122:198::-;10185:4;10203:17;10235:15;:39;10259:13;;;;;;;;;;;10235:39;;;;;;;;;;;;;;;:45;10275:4;10235:45;;;;;;;;;;;;10223:11;;:57;;;;:::i;:::-;10203:77;;10299:12;10292:19;;;10122:198;;;:::o;12487:139::-;12559:4;12583:12;:18;12596:4;12583:18;;;;;;;;;;;;;;;:22;12602:2;12583:22;;;;;;;;;;;:34;;;12576:42;;12487:139;;;;:::o;10879:115::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10976:10:::1;10955:18;;:31;;;;;;;;;;;;;;;;;;10879:115:::0;:::o;9893:119::-;9943:4;9968:11;:35;9988:13;;;;;;;;;;;9968:35;;;;;;;;;;;;;;;;;;;;;;;;;9961:42;;9893:119;:::o;10426:162::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10530:7:::1;10507:13;;:31;;;;;;;;;;;;;;;;;;10572:6;10550:12;;:29;;;;;;;;;;;;;;;;;;10426:162:::0;;:::o;11565:85::-;11608:4;11633:7;11626:15;;11565:85;:::o;1695:104::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;1786:5:::1;1770:7;:13;1778:4;1770:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;1695:104:::0;;:::o;3462:192::-;3527:4;3609:12;:18;3622:4;3609:18;;;;;;;;;;;;;;;:22;3628:2;3609:22;;;;;;;;;;;:34;;;3571:12;:18;3584:4;3571:18;;;;;;;;;;;;;;;:22;3590:2;3571:22;;;;;;;;;;;:35;;;:72;;;;:::i;:::-;3553:15;:90;3544:102;;3462:192;;;;:::o;11300:134::-;11355:4;11380:15;:39;11404:13;;;;;;;;;;;11380:39;;;;;;;;;;;;;;;:45;11420:4;11380:45;;;;;;;;;;;;11373:52;;11300:134;;;:::o;2829:39::-;;;;;;;;;;;;;;;;;:::o;11002:167::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;11081:3:::1;11074;:10;;11066:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;11158:3;11137:18;:24;;;;11002:167:::0;:::o;11858:87::-;11902:4;11927:8;11920:16;;11858:87;:::o;12638:133::-;12708:4;12732:12;:18;12745:4;12732:18;;;;;;;;;;;;;;;:22;12751:2;12732:22;;;;;;;;;;;:30;;;12725:38;;12638:133;;;;:::o;11959:85::-;12001:4;12026:8;12019:16;;11959:85;:::o;2779:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;9452:302::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9606:7:::1;9577:12;:18;9590:4;9577:18;;;;;;;;;;;:26;;;:36;;;;;;;;;;;;;;;;;;9660:13;9625:12;:18;9638:4;9625:18;;;;;;;;;;;:32;;;:48;;;;;;;;;;;;;;;;;;9726:19;9685:12;:18;9698:4;9685:18;;;;;;;;;;;:38;;:60;;;;9452:302:::0;;;;:::o;12779:166::-;12849:4;12855;12877:26;12894:2;12898:4;12877:16;:26::i;:::-;12905:28;12924:2;12928:4;12905:18;:28::i;:::-;12870:64;;;;12779:166;;;;;:::o;11659:85::-;11702:4;11727:7;11720:15;;11659:85;:::o;2536:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12158:136::-;12227:16;;:::i;:::-;12263:12;:18;12276:4;12263:18;;;;;;;;;;;;;;;:22;12282:2;12263:22;;;;;;;;;;;12256:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12158:136;;;;:::o;10021:92::-;10069:4;10093:11;;10086:18;;10021:92;:::o;10328:89::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10405:4:::1;10391:11;:18;;;;10328:89:::0;:::o;11474:82::-;11515:4;11540:6;11533:14;;11474:82;:::o;8096:748::-;8168:4;8241:15;8277:12;:18;8290:4;8277:18;;;;;;;;;;;;;;;:22;8296:2;8277:22;;;;;;;;;;;:35;;;8259:15;:53;;;;:::i;:::-;8241:71;;8514:17;8534:12;:18;8547:4;8534:18;;;;;;;;;;;;;;;:22;8553:2;8534:22;;;;;;;;;;;:34;;;8514:54;;8579:24;8620:15;:39;8644:13;;;;;;;;;;;8620:39;;;;;;;;;;;;;;;:53;8660:12;8620:53;;;;;;;;;;;;8606:11;;:67;;;;:::i;:::-;8579:94;;8684:12;8803:7;8791:8;8780:7;8767:10;:20;;;;:::i;:::-;8766:33;;;;:::i;:::-;8758:3;8735:19;8702:12;:18;8715:4;8702:18;;;;;;;;;;;;;;;:22;8721:2;8702:22;;;;;;;;;;;:30;;;:52;;;;:::i;:::-;8701:60;;;;:::i;:::-;8700:101;;;;:::i;:::-;8699:111;;;;:::i;:::-;8684:126;;8828:7;8821:14;;;;;;8096:748;;;;:::o;12302:177::-;12374:4;12436:12;:18;12449:4;12436:18;;;;;;;;;;;;;;;:22;12455:2;12436:22;;;;;;;;;;;:34;;;12398:12;:18;12411:4;12398:18;;;;;;;;;;;;;;;:22;12417:2;12398:22;;;;;;;;;;;:35;;;:72;;;;:::i;:::-;12391:80;;12302:177;;;;:::o;1590:97::-;1644:4;1666:7;:13;1674:4;1666:13;;;;;;;;;;;;;;;;;;;;;;;;;1659:20;;1590:97;;;:::o;2875:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3947:1895::-;4021:11;:35;4041:13;;;;;;;;;;;4021:35;;;;;;;;;;;;;;;;;;;;;;;;;4013:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;4097:16;;;;;;;;;;;4093:202;;;4138:12;:21;4151:7;4138:21;;;;;;;;;;;:29;;;;;;;;;;;;4130:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;4093:202;;;4248:6;4237:7;:17;;4229:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;4093:202;4367:7;4313:13;;;;;;;;;;;:23;;;4337:10;4357:4;4313:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;4305:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;4406:12;:21;4419:7;4406:21;;;;;;;;;;;:35;;;;;;;;;;;;4402:263;;;4458:15;4558:3;4514:12;:21;4527:7;4514:21;;;;;;;;;;;:41;;;4476:13;;;;;;;;;;;:23;;;4500:10;4476:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:79;;;;:::i;:::-;:85;;;;:::i;:::-;4458:103;;4595:10;4584:7;:21;;4576:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;4443:222;4402:263;4738:16;4757:13;;;;;;;;;;;:26;;;4784:10;4804:4;4811:7;4757:62;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4738:81;;4838:11;4830:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;4933:7;:19;4941:10;4933:19;;;;;;;;;;;;;;;;:21;;;;;;;;;:::i;:::-;;;;;;4965:7;4975;:19;4983:10;4975:19;;;;;;;;;;;;;;;;4965:29;;5048:7;5005:12;:24;5018:10;5005:24;;;;;;;;;;;;;;;:28;5030:2;5005:28;;;;;;;;;;;:40;;:50;;;;5144:7;5105:12;:24;5118:10;5105:24;;;;;;;;;;;;;;;:28;5130:2;5105:28;;;;;;;;;;;:36;;;:46;;;;:::i;:::-;5066:12;:24;5079:10;5066:24;;;;;;;;;;;;;;;:28;5091:2;5066:28;;;;;;;;;;;:36;;:85;;;;5206:15;5162:12;:24;5175:10;5162:24;;;;;;;;;;;;;;;:28;5187:2;5162:28;;;;;;;;;;;:41;;:59;;;;5277:13;;;;;;;;;;;5232:12;:24;5245:10;5232:24;;;;;;;;;;;;;;;:28;5257:2;5232:28;;;;;;;;;;;:34;;;:59;;;;;;;;;;;;;;;;;;5354:7;5302:10;:34;5321:13;;;;;;;;;;;5302:34;;;;;;;;;;;;;;;:48;;;:59;;;;;;;:::i;:::-;;;;;;;;5443:10;:34;5462:13;;;;;;;;;;;5443:34;;;;;;;;;;;;;;;:45;;:57;5489:10;5443:57;;;;;;;;;;;;;;;;;;;;;;;;;5440:153;;;5577:4;5517:10;:34;5536:13;;;;;;;;;;;5517:34;;;;;;;;;;;;;;;:45;;:57;5563:10;5517:57;;;;;;;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;5440:153;5648:10;:34;5667:13;;;;;;;;;;;5648:34;;;;;;;;;;;;;;;:45;;:57;5694:10;5648:57;;;;;;;;;;;;;;;;:59;;;;;;;;;:::i;:::-;;;;;;5718:12;:24;5731:10;5718:24;;;;;;;;;;;;;;;5748:2;5718:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5833:1;5800:12;:24;5813:10;5800:24;;;;;;;;;;;;;;;:31;;;;5799:35;;;;:::i;:::-;5762:12;:24;5775:10;5762:24;;;;;;;;;;;;;;;:28;5787:2;5762:28;;;;;;;;;;;:34;;:72;;;;4002:1840;;3947:1895;;:::o;10599:147::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10727:10:::1;10679:15;:39;10703:13;;;;;;;;;;;10679:39;;;;;;;;;;;;;;;:45;10719:4;10679:45;;;;;;;;;;;:58;;;;10599:147:::0;;:::o;8890:126::-;8952:13;8986:12;:20;8999:6;8986:20;;;;;;;;;;;;;;;8979:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8890:126;;;:::o;10754:117::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10850:13:::1;10831:16;;:32;;;;;;;;;;;;;;;;;;10754:117:::0;:::o;9196:247::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9307:1:::1;9275:3;9268:21;;;9298:4;9268:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;9260:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;9333:11;9354:3;9347:21;;;9377:4;9347:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9333:50;;9401:3;9394:20;;;9415:10;9427:6;9394:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9249:194;9196:247:::0;:::o;7330:399::-;1243:6;;;;;;;;;;;1242:7;1234:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;1282:4;1273:6;;:13;;;;;;;;;;;;;;;;;;1368::::1;:25;1382:10;1368:25;;;;;;;;;;;;;;;;;;;;;;;;;1364:211;;1448:15;1419:14;:26:::0;1434:10:::1;1419:26;;;;;;;;;;;;;;;;:44;1411:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7405:27:::2;7417:2;7421:10;7405:11;:27::i;:::-;7397:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7473:12;7488:34;7507:2;7511:10;7488:18;:34::i;:::-;7473:49;;7545:12;;;;;;;;;;;:21;;;7567:10;7579:7;7545:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7702:15;7658:12;:24;7671:10;7658:24;;;;;;;;;;;;;;;:28;7683:2;7658:28;;;;;;;;;;;:41;;:59;;;;7386:343;1555:8:::1;;1537:15;:26;;;;:::i;:::-;1508:14;:26:::0;1523:10:::1;1508:26;;;;;;;;;;;;;;;:55;;;;1364:211;1314:5:::0;1305:6;;:14;;;;;;;;;;;;;;;;;;7330:399;:::o;2686:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;7785:191::-;7826:4;7851:11;:35;7871:13;;;;;;;;;;;7851:35;;;;;;;;;;;;;;;;;;;;;;;;;7843:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;7919:10;:34;7938:13;;;;;;;;;;;7919:34;;;;;;;;;;;;;;;:48;;;7912:56;;7785:191;:::o;11758:86::-;11802:4;11827:7;11820:15;;11758:86;:::o;2567:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5881:1383::-;1243:6;;;;;;;;;;;1242:7;1234:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;1282:4;1273:6;;:13;;;;;;;;;;;;;;;;;;1368::::1;:25;1382:10;1368:25;;;;;;;;;;;;;;;;;;;;;;;;;1364:211;;1448:15;1419:14;:26:::0;1434:10:::1;1419:26;;;;;;;;;;;;;;;;:44;1411:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5953:12:::2;5968:34;5987:2;5991:10;5968:18;:34::i;:::-;5953:49;;6097:1;6087:7;:11;6079:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;6148:17;6207:7;6168:12;:24;6181:10;6168:24;;;;;;;;;;;;;;;:28;6193:2;6168:28;;;;;;;;;;;:36;;;:46;;;;:::i;:::-;6148:66;;6303:7;:19;6311:10;6303:19;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;6326:27;6338:2;6342:10;6326:11;:27::i;:::-;6303:50;:72;;;;6357:18;;;;;;;;;;;6303:72;6299:465;;;6392:12;;;;;;;;;;;:21;;;6414:10;6426:12;6392:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6299:465;;;6516:8;1964:4;6542:18;;6527:12;:33;;;;:::i;:::-;:47;;;;:::i;:::-;6516:58;;6589:12;;;;;;;;;;;:21;;;6611:11;;;;;;;;;;;6624:3;6589:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6687:3;6672:12;:18;;;;:::i;:::-;6657:33;;6705:12;;;;;;;;;;;:21;;;6727:10;6739:12;6705:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6457:307;6299:465;6862:1;6823:12;:24;6836:10;6823:24;;;;;;;;;;;;;;;:28;6848:2;6823:28;;;;;;;;;;;:36;;:40;;;;6912:5;6874:12;:24;6887:10;6874:24;;;;;;;;;;;;;;;:28;6899:2;6874:28;;;;;;;;;;;:35;;;:43;;;;;;;;;;;;;;;;;;6972:15;6928:12;:24;6941:10;6928:24;;;;;;;;;;;;;;;:28;6953:2;6928:28;;;;;;;;;;;:41;;:59;;;;6998:13;7014:12;:24;7027:10;7014:24;;;;;;;;;;;;;;;:28;7039:2;7014:28;;;;;;;;;;;:34;;;;;;;;;;;;6998:50;;7099:10;:17;7110:5;7099:17;;;;;;;;;;;;;;;:28;;:40;7128:10;7099:40;;;;;;;;;;;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;7196:12;:24;7209:10;7196:24;;;;;;;;;;;;;;;7221:12;:24;7234:10;7221:24;;;;;;;;;;;;;;;:28;7246:2;7221:28;;;;;;;;;;;:34;;;7196:60;;;;;;;;:::i;:::-;;;;;;;;;7189:67;;;5931:1333;;;1555:8:::1;;1537:15;:26;;;;:::i;:::-;1508:14;:26:::0;1523:10:::1;1508:26;;;;;;;;;;;;;;;:55;;;;1364:211;1314:5:::0;1305:6;;:14;;;;;;;;;;;;;;;;;;5881:1383;:::o;11177:109::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;11266:12:::1;11252:11;;:26;;;;;;;;;;;;;;;;;;11177:109:::0;:::o;9025:162::-;1123:7;:19;1131:10;1123:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;1158:5;;;;;;;;;;;1146:17;;:10;:17;;;1123:40;1114:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;9084:12:::1;9128:10;9120:24;;9152:21;9120:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9107:71;;;;;9073:114;9025:162::o:0;3726:160::-;3769:13;3785;;;;;;;;;;;:21;;;3815:4;3822:10;3785:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3769:64;;3852:8;3844:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;3758:128;3726:160::o;12053:93::-;12101:4;12134:1;12127:6;:8;;;;:::i;:::-;12119:18;;12053:93;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;334:90;368:7;411:5;404:13;397:21;386:32;;334:90;;;:::o;430:116::-;500:21;515:5;500:21;:::i;:::-;493:5;490:32;480:60;;536:1;533;526:12;480:60;430:116;:::o;552:133::-;595:5;633:6;620:20;611:29;;649:30;673:5;649:30;:::i;:::-;552:133;;;;:::o;691:323::-;747:6;796:2;784:9;775:7;771:23;767:32;764:119;;;802:79;;:::i;:::-;764:119;922:1;947:50;989:7;980:6;969:9;965:22;947:50;:::i;:::-;937:60;;893:114;691:323;;;;:::o;1020:77::-;1057:7;1086:5;1075:16;;1020:77;;;:::o;1103:122::-;1176:24;1194:5;1176:24;:::i;:::-;1169:5;1166:35;1156:63;;1215:1;1212;1205:12;1156:63;1103:122;:::o;1231:139::-;1277:5;1315:6;1302:20;1293:29;;1331:33;1358:5;1331:33;:::i;:::-;1231:139;;;;:::o;1376:329::-;1435:6;1484:2;1472:9;1463:7;1459:23;1455:32;1452:119;;;1490:79;;:::i;:::-;1452:119;1610:1;1635:53;1680:7;1671:6;1660:9;1656:22;1635:53;:::i;:::-;1625:63;;1581:117;1376:329;;;;:::o;1711:118::-;1798:24;1816:5;1798:24;:::i;:::-;1793:3;1786:37;1711:118;;:::o;1835:222::-;1928:4;1966:2;1955:9;1951:18;1943:26;;1979:71;2047:1;2036:9;2032:17;2023:6;1979:71;:::i;:::-;1835:222;;;;:::o;2063:126::-;2100:7;2140:42;2133:5;2129:54;2118:65;;2063:126;;;:::o;2195:96::-;2232:7;2261:24;2279:5;2261:24;:::i;:::-;2250:35;;2195:96;;;:::o;2297:122::-;2370:24;2388:5;2370:24;:::i;:::-;2363:5;2360:35;2350:63;;2409:1;2406;2399:12;2350:63;2297:122;:::o;2425:139::-;2471:5;2509:6;2496:20;2487:29;;2525:33;2552:5;2525:33;:::i;:::-;2425:139;;;;:::o;2570:474::-;2638:6;2646;2695:2;2683:9;2674:7;2670:23;2666:32;2663:119;;;2701:79;;:::i;:::-;2663:119;2821:1;2846:53;2891:7;2882:6;2871:9;2867:22;2846:53;:::i;:::-;2836:63;;2792:117;2948:2;2974:53;3019:7;3010:6;2999:9;2995:22;2974:53;:::i;:::-;2964:63;;2919:118;2570:474;;;;;:::o;3050:109::-;3131:21;3146:5;3131:21;:::i;:::-;3126:3;3119:34;3050:109;;:::o;3165:210::-;3252:4;3290:2;3279:9;3275:18;3267:26;;3303:65;3365:1;3354:9;3350:17;3341:6;3303:65;:::i;:::-;3165:210;;;;:::o;3381:474::-;3449:6;3457;3506:2;3494:9;3485:7;3481:23;3477:32;3474:119;;;3512:79;;:::i;:::-;3474:119;3632:1;3657:53;3702:7;3693:6;3682:9;3678:22;3657:53;:::i;:::-;3647:63;;3603:117;3759:2;3785:53;3830:7;3821:6;3810:9;3806:22;3785:53;:::i;:::-;3775:63;;3730:118;3381:474;;;;;:::o;3861:468::-;3926:6;3934;3983:2;3971:9;3962:7;3958:23;3954:32;3951:119;;;3989:79;;:::i;:::-;3951:119;4109:1;4134:53;4179:7;4170:6;4159:9;4155:22;4134:53;:::i;:::-;4124:63;;4080:117;4236:2;4262:50;4304:7;4295:6;4284:9;4280:22;4262:50;:::i;:::-;4252:60;;4207:115;3861:468;;;;;:::o;4335:329::-;4394:6;4443:2;4431:9;4422:7;4418:23;4414:32;4411:119;;;4449:79;;:::i;:::-;4411:119;4569:1;4594:53;4639:7;4630:6;4619:9;4615:22;4594:53;:::i;:::-;4584:63;;4540:117;4335:329;;;;:::o;4670:753::-;4750:6;4758;4766;4774;4823:3;4811:9;4802:7;4798:23;4794:33;4791:120;;;4830:79;;:::i;:::-;4791:120;4950:1;4975:53;5020:7;5011:6;5000:9;4996:22;4975:53;:::i;:::-;4965:63;;4921:117;5077:2;5103:50;5145:7;5136:6;5125:9;5121:22;5103:50;:::i;:::-;5093:60;;5048:115;5202:2;5228:50;5270:7;5261:6;5250:9;5246:22;5228:50;:::i;:::-;5218:60;;5173:115;5327:2;5353:53;5398:7;5389:6;5378:9;5374:22;5353:53;:::i;:::-;5343:63;;5298:118;4670:753;;;;;;;:::o;5429:332::-;5550:4;5588:2;5577:9;5573:18;5565:26;;5601:71;5669:1;5658:9;5654:17;5645:6;5601:71;:::i;:::-;5682:72;5750:2;5739:9;5735:18;5726:6;5682:72;:::i;:::-;5429:332;;;;;:::o;5767:118::-;5854:24;5872:5;5854:24;:::i;:::-;5849:3;5842:37;5767:118;;:::o;5891:222::-;5984:4;6022:2;6011:9;6007:18;5999:26;;6035:71;6103:1;6092:9;6088:17;6079:6;6035:71;:::i;:::-;5891:222;;;;:::o;6119:99::-;6190:21;6205:5;6190:21;:::i;:::-;6185:3;6178:34;6119:99;;:::o;6224:108::-;6301:24;6319:5;6301:24;:::i;:::-;6296:3;6289:37;6224:108;;:::o;6338:::-;6415:24;6433:5;6415:24;:::i;:::-;6410:3;6403:37;6338:108;;:::o;6540:1221::-;6689:4;6684:3;6680:14;6778:4;6771:5;6767:16;6761:23;6797:57;6848:4;6843:3;6839:14;6825:12;6797:57;:::i;:::-;6704:160;6949:4;6942:5;6938:16;6932:23;6968:63;7025:4;7020:3;7016:14;7002:12;6968:63;:::i;:::-;6874:167;7131:4;7124:5;7120:16;7114:23;7150:63;7207:4;7202:3;7198:14;7184:12;7150:63;:::i;:::-;7051:172;7312:4;7305:5;7301:16;7295:23;7331:63;7388:4;7383:3;7379:14;7365:12;7331:63;:::i;:::-;7233:171;7487:4;7480:5;7476:16;7470:23;7506:63;7563:4;7558:3;7554:14;7540:12;7506:63;:::i;:::-;7414:165;7662:4;7655:5;7651:16;7645:23;7681:63;7738:4;7733:3;7729:14;7715:12;7681:63;:::i;:::-;7589:165;6658:1103;6540:1221;;:::o;7767:327::-;7912:4;7950:3;7939:9;7935:19;7927:27;;7964:123;8084:1;8073:9;8069:17;8060:6;7964:123;:::i;:::-;7767:327;;;;:::o;8100:474::-;8168:6;8176;8225:2;8213:9;8204:7;8200:23;8196:32;8193:119;;;8231:79;;:::i;:::-;8193:119;8351:1;8376:53;8421:7;8412:6;8401:9;8397:22;8376:53;:::i;:::-;8366:63;;8322:117;8478:2;8504:53;8549:7;8540:6;8529:9;8525:22;8504:53;:::i;:::-;8494:63;;8449:118;8100:474;;;;;:::o;8580:::-;8648:6;8656;8705:2;8693:9;8684:7;8680:23;8676:32;8673:119;;;8711:79;;:::i;:::-;8673:119;8831:1;8856:53;8901:7;8892:6;8881:9;8877:22;8856:53;:::i;:::-;8846:63;;8802:117;8958:2;8984:53;9029:7;9020:6;9009:9;9005:22;8984:53;:::i;:::-;8974:63;;8929:118;8580:474;;;;;:::o;9060:114::-;9127:6;9161:5;9155:12;9145:22;;9060:114;;;:::o;9180:184::-;9279:11;9313:6;9308:3;9301:19;9353:4;9348:3;9344:14;9329:29;;9180:184;;;;:::o;9370:132::-;9437:4;9460:3;9452:11;;9490:4;9485:3;9481:14;9473:22;;9370:132;;;:::o;9508:179::-;9577:10;9598:46;9640:3;9632:6;9598:46;:::i;:::-;9676:4;9671:3;9667:14;9653:28;;9508:179;;;;:::o;9693:113::-;9763:4;9795;9790:3;9786:14;9778:22;;9693:113;;;:::o;9842:732::-;9961:3;9990:54;10038:5;9990:54;:::i;:::-;10060:86;10139:6;10134:3;10060:86;:::i;:::-;10053:93;;10170:56;10220:5;10170:56;:::i;:::-;10249:7;10280:1;10265:284;10290:6;10287:1;10284:13;10265:284;;;10366:6;10360:13;10393:63;10452:3;10437:13;10393:63;:::i;:::-;10386:70;;10479:60;10532:6;10479:60;:::i;:::-;10469:70;;10325:224;10312:1;10309;10305:9;10300:14;;10265:284;;;10269:14;10565:3;10558:10;;9966:608;;;9842:732;;;;:::o;10580:373::-;10723:4;10761:2;10750:9;10746:18;10738:26;;10810:9;10804:4;10800:20;10796:1;10785:9;10781:17;10774:47;10838:108;10941:4;10932:6;10838:108;:::i;:::-;10830:116;;10580:373;;;;:::o;10959:763::-;11186:4;11224:3;11213:9;11209:19;11201:27;;11238:65;11300:1;11289:9;11285:17;11276:6;11238:65;:::i;:::-;11313:72;11381:2;11370:9;11366:18;11357:6;11313:72;:::i;:::-;11395;11463:2;11452:9;11448:18;11439:6;11395:72;:::i;:::-;11477;11545:2;11534:9;11530:18;11521:6;11477:72;:::i;:::-;11559:73;11627:3;11616:9;11612:19;11603:6;11559:73;:::i;:::-;11642;11710:3;11699:9;11695:19;11686:6;11642:73;:::i;:::-;10959:763;;;;;;;;;:::o;11728:169::-;11812:11;11846:6;11841:3;11834:19;11886:4;11881:3;11877:14;11862:29;;11728:169;;;;:::o;11903:165::-;12043:17;12039:1;12031:6;12027:14;12020:41;11903:165;:::o;12074:366::-;12216:3;12237:67;12301:2;12296:3;12237:67;:::i;:::-;12230:74;;12313:93;12402:3;12313:93;:::i;:::-;12431:2;12426:3;12422:12;12415:19;;12074:366;;;:::o;12446:419::-;12612:4;12650:2;12639:9;12635:18;12627:26;;12699:9;12693:4;12689:20;12685:1;12674:9;12670:17;12663:47;12727:131;12853:4;12727:131;:::i;:::-;12719:139;;12446:419;;;:::o;12871:180::-;12919:77;12916:1;12909:88;13016:4;13013:1;13006:15;13040:4;13037:1;13030:15;13057:191;13097:3;13116:20;13134:1;13116:20;:::i;:::-;13111:25;;13150:20;13168:1;13150:20;:::i;:::-;13145:25;;13193:1;13190;13186:9;13179:16;;13214:3;13211:1;13208:10;13205:36;;;13221:18;;:::i;:::-;13205:36;13057:191;;;;:::o;13254:224::-;13394:34;13390:1;13382:6;13378:14;13371:58;13463:7;13458:2;13450:6;13446:15;13439:32;13254:224;:::o;13484:366::-;13626:3;13647:67;13711:2;13706:3;13647:67;:::i;:::-;13640:74;;13723:93;13812:3;13723:93;:::i;:::-;13841:2;13836:3;13832:12;13825:19;;13484:366;;;:::o;13856:419::-;14022:4;14060:2;14049:9;14045:18;14037:26;;14109:9;14103:4;14099:20;14095:1;14084:9;14080:17;14073:47;14137:131;14263:4;14137:131;:::i;:::-;14129:139;;13856:419;;;:::o;14281:194::-;14321:4;14341:20;14359:1;14341:20;:::i;:::-;14336:25;;14375:20;14393:1;14375:20;:::i;:::-;14370:25;;14419:1;14416;14412:9;14404:17;;14443:1;14437:4;14434:11;14431:37;;;14448:18;;:::i;:::-;14431:37;14281:194;;;;:::o;14481:410::-;14521:7;14544:20;14562:1;14544:20;:::i;:::-;14539:25;;14578:20;14596:1;14578:20;:::i;:::-;14573:25;;14633:1;14630;14626:9;14655:30;14673:11;14655:30;:::i;:::-;14644:41;;14834:1;14825:7;14821:15;14818:1;14815:22;14795:1;14788:9;14768:83;14745:139;;14864:18;;:::i;:::-;14745:139;14529:362;14481:410;;;;:::o;14897:180::-;14945:77;14942:1;14935:88;15042:4;15039:1;15032:15;15066:4;15063:1;15056:15;15083:185;15123:1;15140:20;15158:1;15140:20;:::i;:::-;15135:25;;15174:20;15192:1;15174:20;:::i;:::-;15169:25;;15213:1;15203:35;;15218:18;;:::i;:::-;15203:35;15260:1;15257;15253:9;15248:14;;15083:185;;;;:::o;15274:171::-;15414:23;15410:1;15402:6;15398:14;15391:47;15274:171;:::o;15451:366::-;15593:3;15614:67;15678:2;15673:3;15614:67;:::i;:::-;15607:74;;15690:93;15779:3;15690:93;:::i;:::-;15808:2;15803:3;15799:12;15792:19;;15451:366;;;:::o;15823:419::-;15989:4;16027:2;16016:9;16012:18;16004:26;;16076:9;16070:4;16066:20;16062:1;16051:9;16047:17;16040:47;16104:131;16230:4;16104:131;:::i;:::-;16096:139;;15823:419;;;:::o;16248:174::-;16388:26;16384:1;16376:6;16372:14;16365:50;16248:174;:::o;16428:366::-;16570:3;16591:67;16655:2;16650:3;16591:67;:::i;:::-;16584:74;;16667:93;16756:3;16667:93;:::i;:::-;16785:2;16780:3;16776:12;16769:19;;16428:366;;;:::o;16800:419::-;16966:4;17004:2;16993:9;16989:18;16981:26;;17053:9;17047:4;17043:20;17039:1;17028:9;17024:17;17017:47;17081:131;17207:4;17081:131;:::i;:::-;17073:139;;16800:419;;;:::o;17225:332::-;17346:4;17384:2;17373:9;17369:18;17361:26;;17397:71;17465:1;17454:9;17450:17;17441:6;17397:71;:::i;:::-;17478:72;17546:2;17535:9;17531:18;17522:6;17478:72;:::i;:::-;17225:332;;;;;:::o;17563:143::-;17620:5;17651:6;17645:13;17636:22;;17667:33;17694:5;17667:33;:::i;:::-;17563:143;;;;:::o;17712:351::-;17782:6;17831:2;17819:9;17810:7;17806:23;17802:32;17799:119;;;17837:79;;:::i;:::-;17799:119;17957:1;17982:64;18038:7;18029:6;18018:9;18014:22;17982:64;:::i;:::-;17972:74;;17928:128;17712:351;;;;:::o;18069:160::-;18209:12;18205:1;18197:6;18193:14;18186:36;18069:160;:::o;18235:366::-;18377:3;18398:67;18462:2;18457:3;18398:67;:::i;:::-;18391:74;;18474:93;18563:3;18474:93;:::i;:::-;18592:2;18587:3;18583:12;18576:19;;18235:366;;;:::o;18607:419::-;18773:4;18811:2;18800:9;18796:18;18788:26;;18860:9;18854:4;18850:20;18846:1;18835:9;18831:17;18824:47;18888:131;19014:4;18888:131;:::i;:::-;18880:139;;18607:419;;;:::o;19032:230::-;19172:34;19168:1;19160:6;19156:14;19149:58;19241:13;19236:2;19228:6;19224:15;19217:38;19032:230;:::o;19268:366::-;19410:3;19431:67;19495:2;19490:3;19431:67;:::i;:::-;19424:74;;19507:93;19596:3;19507:93;:::i;:::-;19625:2;19620:3;19616:12;19609:19;;19268:366;;;:::o;19640:419::-;19806:4;19844:2;19833:9;19829:18;19821:26;;19893:9;19887:4;19883:20;19879:1;19868:9;19864:17;19857:47;19921:131;20047:4;19921:131;:::i;:::-;19913:139;;19640:419;;;:::o;20065:442::-;20214:4;20252:2;20241:9;20237:18;20229:26;;20265:71;20333:1;20322:9;20318:17;20309:6;20265:71;:::i;:::-;20346:72;20414:2;20403:9;20399:18;20390:6;20346:72;:::i;:::-;20428;20496:2;20485:9;20481:18;20472:6;20428:72;:::i;:::-;20065:442;;;;;;:::o;20513:137::-;20567:5;20598:6;20592:13;20583:22;;20614:30;20638:5;20614:30;:::i;:::-;20513:137;;;;:::o;20656:345::-;20723:6;20772:2;20760:9;20751:7;20747:23;20743:32;20740:119;;;20778:79;;:::i;:::-;20740:119;20898:1;20923:61;20976:7;20967:6;20956:9;20952:22;20923:61;:::i;:::-;20913:71;;20869:125;20656:345;;;;:::o;21007:165::-;21147:17;21143:1;21135:6;21131:14;21124:41;21007:165;:::o;21178:366::-;21320:3;21341:67;21405:2;21400:3;21341:67;:::i;:::-;21334:74;;21417:93;21506:3;21417:93;:::i;:::-;21535:2;21530:3;21526:12;21519:19;;21178:366;;;:::o;21550:419::-;21716:4;21754:2;21743:9;21739:18;21731:26;;21803:9;21797:4;21793:20;21789:1;21778:9;21774:17;21767:47;21831:131;21957:4;21831:131;:::i;:::-;21823:139;;21550:419;;;:::o;21975:233::-;22014:3;22037:24;22055:5;22037:24;:::i;:::-;22028:33;;22083:66;22076:5;22073:77;22070:103;;22153:18;;:::i;:::-;22070:103;22200:1;22193:5;22189:13;22182:20;;21975:233;;;:::o;22214:159::-;22354:11;22350:1;22342:6;22338:14;22331:35;22214:159;:::o;22379:365::-;22521:3;22542:66;22606:1;22601:3;22542:66;:::i;:::-;22535:73;;22617:93;22706:3;22617:93;:::i;:::-;22735:2;22730:3;22726:12;22719:19;;22379:365;;;:::o;22750:419::-;22916:4;22954:2;22943:9;22939:18;22931:26;;23003:9;22997:4;22993:20;22989:1;22978:9;22974:17;22967:47;23031:131;23157:4;23031:131;:::i;:::-;23023:139;;22750:419;;;:::o;23175:332::-;23296:4;23334:2;23323:9;23319:18;23311:26;;23347:71;23415:1;23404:9;23400:17;23391:6;23347:71;:::i;:::-;23428:72;23496:2;23485:9;23481:18;23472:6;23428:72;:::i;:::-;23175:332;;;;;:::o;23513:160::-;23653:12;23649:1;23641:6;23637:14;23630:36;23513:160;:::o;23679:366::-;23821:3;23842:67;23906:2;23901:3;23842:67;:::i;:::-;23835:74;;23918:93;24007:3;23918:93;:::i;:::-;24036:2;24031:3;24027:12;24020:19;;23679:366;;;:::o;24051:419::-;24217:4;24255:2;24244:9;24240:18;24232:26;;24304:9;24298:4;24294:20;24290:1;24279:9;24275:17;24268:47;24332:131;24458:4;24332:131;:::i;:::-;24324:139;;24051:419;;;:::o;24476:159::-;24616:11;24612:1;24604:6;24600:14;24593:35;24476:159;:::o;24641:365::-;24783:3;24804:66;24868:1;24863:3;24804:66;:::i;:::-;24797:73;;24879:93;24968:3;24879:93;:::i;:::-;24997:2;24992:3;24988:12;24981:19;;24641:365;;;:::o;25012:419::-;25178:4;25216:2;25205:9;25201:18;25193:26;;25265:9;25259:4;25255:20;25251:1;25240:9;25236:17;25229:47;25293:131;25419:4;25293:131;:::i;:::-;25285:139;;25012:419;;;:::o;25437:175::-;25577:27;25573:1;25565:6;25561:14;25554:51;25437:175;:::o;25618:366::-;25760:3;25781:67;25845:2;25840:3;25781:67;:::i;:::-;25774:74;;25857:93;25946:3;25857:93;:::i;:::-;25975:2;25970:3;25966:12;25959:19;;25618:366;;;:::o;25990:419::-;26156:4;26194:2;26183:9;26179:18;26171:26;;26243:9;26237:4;26233:20;26229:1;26218:9;26214:17;26207:47;26271:131;26397:4;26271:131;:::i;:::-;26263:139;;25990:419;;;:::o;26415:160::-;26555:12;26551:1;26543:6;26539:14;26532:36;26415:160;:::o;26581:366::-;26723:3;26744:67;26808:2;26803:3;26744:67;:::i;:::-;26737:74;;26820:93;26909:3;26820:93;:::i;:::-;26938:2;26933:3;26929:12;26922:19;;26581:366;;;:::o;26953:419::-;27119:4;27157:2;27146:9;27142:18;27134:26;;27206:9;27200:4;27196:20;27192:1;27181:9;27177:17;27170:47;27234:131;27360:4;27234:131;:::i;:::-;27226:139;;26953:419;;;:::o;27378:178::-;27518:30;27514:1;27506:6;27502:14;27495:54;27378:178;:::o;27562:366::-;27704:3;27725:67;27789:2;27784:3;27725:67;:::i;:::-;27718:74;;27801:93;27890:3;27801:93;:::i;:::-;27919:2;27914:3;27910:12;27903:19;;27562:366;;;:::o;27934:419::-;28100:4;28138:2;28127:9;28123:18;28115:26;;28187:9;28181:4;28177:20;28173:1;28162:9;28158:17;28151:47;28215:131;28341:4;28215:131;:::i;:::-;28207:139;;27934:419;;;:::o;28359:171::-;28398:3;28421:24;28439:5;28421:24;:::i;:::-;28412:33;;28467:4;28460:5;28457:15;28454:41;;28475:18;;:::i;:::-;28454:41;28522:1;28515:5;28511:13;28504:20;;28359:171;;;:::o;28536:180::-;28584:77;28581:1;28574:88;28681:4;28678:1;28671:15;28705:4;28702:1;28695:15;28722:147;28823:11;28860:3;28845:18;;28722:147;;;;:::o;28875:114::-;;:::o;28995:398::-;29154:3;29175:83;29256:1;29251:3;29175:83;:::i;:::-;29168:90;;29267:93;29356:3;29267:93;:::i;:::-;29385:1;29380:3;29376:11;29369:18;;28995:398;;;:::o;29399:379::-;29583:3;29605:147;29748:3;29605:147;:::i;:::-;29598:154;;29769:3;29762:10;;29399:379;;;:::o;29784:162::-;29906:7;29935:5;29924:16;;29784:162;;;:::o;29952:60::-;29980:3;30001:5;29994:12;;29952:60;;;:::o;30018:312::-;30153:9;30186:138;30204:119;30213:109;30316:5;30213:109;:::i;:::-;30204:119;:::i;:::-;30186:138;:::i;:::-;30173:151;;30018:312;;;:::o;30336:301::-;30508:122;30624:5;30508:122;:::i;:::-;30503:3;30496:135;30336:301;;:::o;30643:502::-;30849:4;30887:2;30876:9;30872:18;30864:26;;30900:71;30968:1;30957:9;30953:17;30944:6;30900:71;:::i;:::-;30981:157;31134:2;31123:9;31119:18;31110:6;30981:157;:::i;:::-;30643:502;;;;;:::o;31151:163::-;31291:15;31287:1;31279:6;31275:14;31268:39;31151:163;:::o;31320:366::-;31462:3;31483:67;31547:2;31542:3;31483:67;:::i;:::-;31476:74;;31559:93;31648:3;31559:93;:::i;:::-;31677:2;31672:3;31668:12;31661:19;;31320:366;;;:::o;31692:419::-;31858:4;31896:2;31885:9;31881:18;31873:26;;31945:9;31939:4;31935:20;31931:1;31920:9;31916:17;31909:47;31973:131;32099:4;31973:131;:::i;:::-;31965:139;;31692:419;;;:::o
Swarm Source
ipfs://52f1bedb6128396aa1e6abda1006065128043b83481c72a0499a2973bb0b7eec
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.