Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 182 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24460487 | 24 days ago | IN | 0 ETH | 0.00000191 | ||||
| Approve | 24416689 | 30 days ago | IN | 0 ETH | 0.0000033 | ||||
| Approve | 23998494 | 88 days ago | IN | 0 ETH | 0.00000425 | ||||
| Approve | 23920993 | 99 days ago | IN | 0 ETH | 0.00000708 | ||||
| Approve | 23686483 | 132 days ago | IN | 0 ETH | 0.00001087 | ||||
| Approve | 23567998 | 149 days ago | IN | 0 ETH | 0.00016378 | ||||
| Approve | 16086067 | 1196 days ago | IN | 0 ETH | 0.00069579 | ||||
| Approve | 15308644 | 1310 days ago | IN | 0 ETH | 0.00133572 | ||||
| Approve | 15259556 | 1317 days ago | IN | 0 ETH | 0.00041181 | ||||
| Approve | 15185502 | 1329 days ago | IN | 0 ETH | 0.00041385 | ||||
| Approve | 15170091 | 1331 days ago | IN | 0 ETH | 0.00157736 | ||||
| Approve | 15164839 | 1332 days ago | IN | 0 ETH | 0.00091904 | ||||
| Approve | 15132338 | 1337 days ago | IN | 0 ETH | 0.00045189 | ||||
| Approve | 15126568 | 1338 days ago | IN | 0 ETH | 0.0008005 | ||||
| Approve | 15116289 | 1340 days ago | IN | 0 ETH | 0.00099949 | ||||
| Approve | 15116131 | 1340 days ago | IN | 0 ETH | 0.00115426 | ||||
| Approve | 15115991 | 1340 days ago | IN | 0 ETH | 0.00086492 | ||||
| Approve | 15115980 | 1340 days ago | IN | 0 ETH | 0.00127137 | ||||
| Approve | 15115965 | 1340 days ago | IN | 0 ETH | 0.00213062 | ||||
| Approve | 15115956 | 1340 days ago | IN | 0 ETH | 0.00202927 | ||||
| Approve | 15115923 | 1340 days ago | IN | 0 ETH | 0.00145764 | ||||
| Approve | 15115913 | 1340 days ago | IN | 0 ETH | 0.0017331 | ||||
| Approve | 15115909 | 1340 days ago | IN | 0 ETH | 0.00135682 | ||||
| Approve | 15115896 | 1340 days ago | IN | 0 ETH | 0.00147528 | ||||
| Approve | 15115889 | 1340 days ago | IN | 0 ETH | 0.0015691 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Add Liquidity ET... | 15115206 | 1340 days ago | 0.00171536 ETH | ||||
| Transfer | 15115206 | 1340 days ago | 0.00171536 ETH | ||||
| Add Liquidity ET... | 15114817 | 1340 days ago | 0.00267103 ETH | ||||
| Transfer | 15114817 | 1340 days ago | 0.00267103 ETH | ||||
| Add Liquidity ET... | 15114816 | 1340 days ago | 0.0030249 ETH | ||||
| Transfer | 15114816 | 1340 days ago | 0.0030249 ETH | ||||
| Add Liquidity ET... | 15114816 | 1340 days ago | 0.00209923 ETH | ||||
| Transfer | 15114816 | 1340 days ago | 0.00209923 ETH | ||||
| Add Liquidity ET... | 15114728 | 1340 days ago | 0.0041743 ETH | ||||
| Transfer | 15114728 | 1340 days ago | 0.0041743 ETH | ||||
| Add Liquidity ET... | 15114618 | 1340 days ago | 0.00288003 ETH | ||||
| Transfer | 15114618 | 1340 days ago | 0.00288003 ETH | ||||
| Add Liquidity ET... | 15114399 | 1340 days ago | 0.0041521 ETH | ||||
| Transfer | 15114399 | 1340 days ago | 0.0041521 ETH | ||||
| Add Liquidity ET... | 15114136 | 1340 days ago | 0.00351753 ETH | ||||
| Transfer | 15114136 | 1340 days ago | 0.00351753 ETH | ||||
| Add Liquidity ET... | 15114117 | 1340 days ago | 0.00360034 ETH | ||||
| Transfer | 15114117 | 1340 days ago | 0.00360034 ETH | ||||
| Add Liquidity ET... | 15114115 | 1340 days ago | 0.00546991 ETH | ||||
| Transfer | 15114115 | 1340 days ago | 0.00546991 ETH | ||||
| Add Liquidity ET... | 15114004 | 1340 days ago | 0.00317769 ETH | ||||
| Transfer | 15114004 | 1340 days ago | 0.00317769 ETH | ||||
| Add Liquidity ET... | 15113715 | 1340 days ago | 0.00377379 ETH | ||||
| Transfer | 15113715 | 1340 days ago | 0.00377379 ETH | ||||
| Add Liquidity ET... | 15113683 | 1340 days ago | 0.00615919 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SEVENTEN
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-07-10
*/
/**
████████████████▓▄▄╙████████████▌▄▄▀█████████████████╩██████████████████████████████████████████████
████████████████████▓▄┌██████████████▄╙███████████████ ▀███████████████████████████████████████████
█████████████████████ █████████████████▄╠╠╙▀▀▀▀████████▄╙Φ╗▄▄▄▓▓▌▄╙█████████████████████████████████
█████████████████████▄╙██▀█████▀▀▀╠▄▄▄▄▄▄▄æ╝▄▄▓▄╙██████████▄▄▄╙███Γ║████████████████████████████████
██████████████████████ ███▀╠▄█████████████▄╓╓╣█▐ ████████████,████Γ╟████████████████████████████████
███████████████████▀▄#▀▄▓███████▀▀╠▄▄▄▄█████╜█▄█ ███████████ ██████└▀▀▀▀╠▄▄▄▄╙▀█████████████████████
█████████████████,@╙ █████▀╠▄██████████████ █ ▌╙█████████▌╘██████████████████▄▀███████████████████
████████████████ ▌ ,▄███████████████████ ╘█╙▄║██████████▄╙▀▀███████████████▄▀██████████████████
████████████████▄╙▄ ██████████████████████▌ ╙▌╙ ██████████████▄╙▀█████████████▌╟█████████████████
██████████████████▄▄║ ▄╙█████████████████████▄ █▌█ ████████████████j████████████▌`▀████████████████
████████████████████ █ ╙ ██████████████████████µ █ █└███████████████µ▀███████████████▄▀█████████████
█████████████████████╘▌ █ ██████████████████████ █ ▄╙████████████████▄╙▀█████████████ █████████████
█████████████████████▄║ ▌╘██████████████████████ ╙█╙▄║███████████████████▄▄▀█████████╒█████████████
██████████████████████ ▌ ╙µ║█████████ ███████████▌ ║▌╙ █████████████████▀▄╗ ███████,██████████████
███████████████████████╘▌ █ ██████████████████████▄ █▌█ ███████████████ ▌#█ ╘██████▀╗╙▀█████████████
███████████████████████▄║ █ ██████████████████████µ █ █╙██████████████▄▀▄▀█▄ ╙▀████▀▄▓ ████████████
████████████████████████ █ ╙▄╙███████ ██████████████ ╘█└▄╙█████████████▌▐ ██▄╙█▌▄▄╓,╓█⌐█▐███████████
█████████████████████████╘▌ █ ████████████████╙██████ ╙█╙µ█████████████∩╫j██████▀╙█`▓▀╙▄████████████
█████████████████████████▄║ █ █████████████████████▓▄╗▀▌╚▄╠▀▀████████▀▄▀║█████` ╬▄╜▄███████████████
██████████████████████████ █ ╙▄╘█████████████▀▀▀█████████▀▀█▄█▀╗▄╙▀██ █╓██▄╠▀█▌Æ,▀╓█████████████████
███████████████████████████╘▌ █ ╟████▀▀ "w ╙▀█████▄, `╙▀▄▄▀▄#▀╙█████╙▀▌█j██████████████████
███████████████████████████▄║ █▄██▀` `" ▄ V ▀██████▓, ╟█╓███▄╠▀██▄▀▄┘╫██████████████████
████████████████████████████,▌ ▄█▀ % ▐Σ▄═ █████████µ╟█╟███████▌█╙µ╫███████████████████
██████████████████████████,@,██▀▌ ^▄K⌐▌▄Æ▀╙ █║█████████████████▀ █]Γ╟███████████████████
████████████████████████ #,▓█ , ,∞Q█▄████ ▌███████████████▀▀▀, ▌j████████████████████
██████████████████████▀╓▀▄█▀ └██ ▌█ ╙██████═─█µ ╟▐███████████████████ ▌╙███████████████████
█████████████████████`▄ ██` ╓███ .▄ ▌█████████ ▄█ ∩██████████ ╟███b ██▄█└██████████████████
████████████████████ █,██ ▄████▌²ⁿ \ ╙╝██▀▀█████████ ▄╬Θ████████████████µ ██ ▌╙█████████████████
███████████████████ ▓,██ ▓███▀▀╙▄.▀▄ ╘╜█µ ╓██████▀█▄▀" ██████████████████████╙µ█████████████████
██████████████████▌▐ ██▌ ▐█` «░╙▄░] , "╨╝╝╨ ╜"^ ▄▌ ╙███████████╙ ,██ ████████████████
██████████████████ █▐██ █▌ `"▀███╙ `"╗ ▄æ██▄█▄ ██▀▀▀███▀ ▄▀▄╝█▌╟ ████████████████
██████████████████ ▌╫██ ╟██ ╟▀ ███▓██▀`╙▄m⌐╙,▄╖ █]█∩█ ╙▌²""ª╗▌█▄▄█▌╟ ████████████████
██████████████████j▌███ ╫██▌ ▌ ╒ ▀▄ ╙█▄██╙ ▄▄▌║▄▀╙^"▀██╗▄▄▄▀ ▄Θ^ ▀▌`█▌╫ ████████████████
██████████████████ ▌╟██ ╫███▄╓, ▌[\ └█ ▐ ▌ █ ▐█J█╟█ ▌ ▌ ▄` ▄▀,#▀--█Φ█ ▌▐████████████████
██████████████████ █▐██▌║████═-▄▄╟ ` ▐ █ █ ╙██ ▀▌▄▄``▄▄█▀█ █ ▓````^██▌▐ █████████████████
███████████████████╘▌╫██▄████µ █▄ `╖█▄ █▌ ▀▄█; ▄▄▄▄▄▄▄▄≤▓ █ █ⁿⁿ ≈≈██ ▌▐█████████████████
███████████████████▄╙ ████████ ▐▌w ║▀█▀╜╙ ,,▄▄▄▄█▀ ▓ █.▄.,,,██ █╓██████████████████
████████████████████▄╙▄███ ,"█▄ █ b ▓ ñ`] █ ▀Φ▌]▌,,,,▒▓█ █╓███████████████████
█████████████████████▌╙█╙██▄ ╙╙▀▓Æ╗██▄▄▄;,,,φ █, ▌,,▒, `^^``,║▌▄▄█████▀▀╠██╓▀▄████████████████████
███████████████████████▄▀▄▀█╬╬█▓╗▄▄▄ ═ ╙╙╙▀▀▀▀▀▀▀▀▀▀▀▀╙╙╚ `,▄▄╗@▓██▀▓ ▓█████████████████████
█████████████████████████▄▀▄▀██▒╣▒▒╠░╠╬╠╠██▀██▓▓▓▓▓▓▓▓▓▓▓▓████╠╬╬╠╬░╬▀╬██▀▄╜▄███████████████████████
███████████████████████████▄╙╣╙▀██╬▓▒▒╬╠╬╬╬╬╬Θ╬╬╬╬╬╬╬╬╠╬╬╬╬╬▒╬╬▒▒▒Å╬▄██▀█╜▄█████████████████████████
█████████████████████████████▌▄╙╣╙▀██╬╙╫╬▓▄▒╬╬░▒╬╟▒▒╠▒╬▄╬╠╠▄▄███████▀▄▀,▄███████████████████████████
████████████████████████████████▓▄╙╫ ███▀▀███████████████████▀▀▀██ █`▄██████████████████████████████
████████████████████████████████▀▀▄╫]███▌▀▀▀KÆ╗╗▄▄▄▄▄▄▄▄▄▄████▄ █▌█ ▀▀█████████████████████████████
████████████████████████████▀,▄▀╠▄█ ████ ▓███████████████▌ ╙█ ╗▄▀╗▄╙██████████████████████████
██████████████████████████▀▄▓▄████ ████▀ █████████████████ ╙█ ███▄╙╗╙████████████████████████
█████████████████████████`▓ ██████▄╙██▄ █████████████████▌,╥▀▄█████▌╟ ███████████████████████
HAPPY 710!!! WE'RE BACK!!! PUFF PUFF PASS MOTHER FUCKERS!!!
SMOKE SOME OIL AND LETS GET WAY UP HIGH!!!
INHALE THAT GOOD SHIT EXHALE THAT BULLSHIT!!!
https://t.me/OIL710TOKEN
LIQUIDITY LOCK WILL BE 7 DAYS TO START
LIQUIDITY LOCK WILL BE EXTENDED AT 42,000 MARKETCAP
OFFICIAL TELEGRAM WILL BE RELEASED AT 71,000 MARKETCAP
MAX TRANSACTIONS WILL BE LIFTED AT 7:10 AM
- - - - - - - - - - - - - - - - - - - - - - - - -
7% BUY TAX
3% LIQUIDITY POOL
4% MARKETING
10% SELL TAX
3% LIQUIDITY POOL
7% MARKETING
- - - - - - - - - - - - - - - - - - - - - - - - -
WILL BE RENOUNCED AT 7/10 7:10 PM
AFTER APPLYING 0% BUY 0% SELL TAX
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender,address recipient,uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library Address {
function isContract(address account) internal view returns (bool) {
// According to EIP-1052, 0x0 is the value returned for not-yet created accounts
// and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
// for accounts without code, i.e. `keccak256('')`
bytes32 codehash;
bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
// solhint-disable-next-line no-inline-assembly
assembly { codehash := extcodehash(account) }
return (codehash != accountHash && codehash != 0x0);
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return _functionCallWithValue(target, data, 0, errorMessage);
}
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
return _functionCallWithValue(target, data, value, errorMessage);
}
function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
require(isContract(target), "Address: call to non-contract");
(bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
if (success) {
return returndata;
} else {
if (returndata.length > 0) {
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_setOwner(_msgSender());
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner);
}
function _setOwner(address newOwner) private {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
contract SEVENTEN is Context,IERC20, Ownable{
using Address for address;
string private _name = "710";
string private _symbol = "OIL";
uint8 private _decimals = 18;
uint256 totalFeeFortx = 0;
uint256 maxWalletTreshold = 4;
uint256 maxTxTreshold = 4;
uint256 private swapTreshold =2;
uint256 private currentThreshold = 20; //Once the token value goes up this number can be decreased (To reduce price impact on asset)
uint256 private _totalSupply = (710710710710 * 10**4) * 10**_decimals; //1T supply
uint256 public requiredTokensToSwap = _totalSupply * swapTreshold /1000;
mapping (address => uint256) private _balances;
mapping (address => bool) private _excludedFromFees;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public automatedMarketMakerPairs;
address _owner;
address payable public marketingAddress = payable(0xF0513ed06F267c9ea2C1891f196603f0D31348Ad);
uint256 maxWalletAmount = _totalSupply*maxWalletTreshold/100; // starting 1%
uint256 maxTxAmount = _totalSupply*maxTxTreshold/100;
mapping (address => bool) botWallets;
bool botTradeEnabled = false;
bool checkWalletSize = true;
mapping (address => bool) private _liquidityHolders;
mapping (address => bool) private presaleAddresses;
//15% buy tax 20% sell tax
uint256 private buyliqFee = 3; //10
uint256 private buyprevLiqFee = 10;
uint256 private buymktFee = 4;//4
uint256 private buyPrevmktFee = 4;
uint256 GanjaDaycooldown = 0;
bool private tradeEnabled = false;
uint256 private sellliqFee = 3;
uint256 private sellprevLiqFee = 3;
uint256 private sellmktFee = 7;
uint256 private sellPrevmktFee = 7;
bool public inSwapAndLiquify;
bool public swapAndLiquifyEnabled = true;
address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
uint256 private mktTokens = 0;
uint256 private liqTokens = 0;
event SwapAndLiquify(uint256 tokensSwapped,
uint256 ethReceived,
uint256 tokensIntoLiquidity
);
event tokensSwappedDuringTokenomics(uint256 amount);
event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
// 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
IUniswapV2Router02 _router;
address public uniswapV2Pair;
//Balances tracker
modifier lockTheSwap{
inSwapAndLiquify = true;
_;
inSwapAndLiquify = false;
}
constructor(){
_balances[_msgSender()] = _totalSupply;
//0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D mainnet and all networks
IUniswapV2Router02 _uniRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(_uniRouter.factory())
.createPair(address(this), _uniRouter.WETH());
_excludedFromFees[owner()] = true;
_excludedFromFees[address(this)] = true;// exclude owner and contract instance from fees
_router = _uniRouter;
_liquidityHolders[address(_router)] = true;
_liquidityHolders[owner()] = true;
_liquidityHolders[address(this)] = true;
_setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
emit Transfer(address(0),_msgSender(),_totalSupply);
}
receive() external payable{}
//general token data and tracking of balances to be swapped.
function getOwner()external view returns(address){
return owner();
}
function currentmktTokens() external view returns (uint256){
return mktTokens;
}
function currentLiqTokens() external view returns (uint256){
return liqTokens;
}
function totalSupply() external view override returns (uint256){
return _totalSupply;
}
function balanceOf(address account) public view override returns (uint256){
return _balances[account];
}
function transfer(address recipient, uint256 amount) external override returns (bool){
_transfer(_msgSender(),recipient,amount);
return true;
}
function allowance(address owner, address spender) external view override returns (uint256){
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) external override returns (bool){
_approve(_msgSender(),spender,amount);
return true;
}
function decimals()external view returns(uint256){
return _decimals;
}
function name() external view returns (string memory) {
return _name;
}
function symbol() external view returns (string memory){
return _symbol;
}
function updateMaxTxTreshold(uint256 newVal) public onlyOwner{
maxTxTreshold = newVal;
maxTxAmount = _totalSupply*maxTxTreshold/100;// 1%
}
function updateMaxWalletTreshold(uint256 newVal) public onlyOwner{
maxWalletTreshold = newVal;
maxWalletAmount = _totalSupply*maxWalletTreshold/100;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool){
require(amount <= _allowances[sender][_msgSender()], "ERC20: transfer amount exceeds allowance");
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
return true;
}
//Tokenomics related functions
function GanjaDay() public onlyOwner{
require(block.timestamp > GanjaDaycooldown, "You cant call golden Day more than once per day");
buyPrevmktFee = buymktFee;
buyprevLiqFee = buyliqFee;
buyliqFee = 0;
buymktFee = 0;
}
function GanjaDayOver() public onlyOwner{
buyliqFee = buyprevLiqFee;
buymktFee = buyPrevmktFee;
GanjaDaycooldown = block.timestamp + 86400;
}
function addBotWallet (address payable detectedBot, bool isBot) public onlyOwner{
botWallets[detectedBot] = isBot;
}
function currentbuyliqFee() public view returns (uint256){
return buyliqFee;
}
function currentbuymktfee() public view returns (uint256){
return buymktFee;
}
function currentsellLiqFee() public view returns (uint256){
return sellliqFee;
}
function currentsellmktfee() public view returns (uint256){
return sellmktFee;
}
function currentThresholdInt()public view returns (uint256){
return currentThreshold;
}
function isExcluded(address toCheck)public view returns (bool){
return _excludedFromFees[toCheck];
}
function _transfer(address from, address to, uint256 amount) internal{
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0,"ERC20: transfered amount must be greater than zero");
uint256 senderBalance = _balances[from];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
if(tradeEnabled == false){
require(_liquidityHolders[to] || _liquidityHolders[from],"Cant trade, trade is disabled");
}
if(_liquidityHolders[to]==false && _liquidityHolders[from]==false){
require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
if(from == uniswapV2Pair){
require(balanceOf(to)+amount <= maxWalletAmount);
}
}
uint256 inContractBalance = balanceOf(address(this));
if(inContractBalance >=requiredTokensToSwap &&
!inSwapAndLiquify &&
from != uniswapV2Pair &&
swapAndLiquifyEnabled){
if(inContractBalance >= requiredTokensToSwap ){
inContractBalance = requiredTokensToSwap;
swapForTokenomics(inContractBalance);
}
}
bool takeFees = true;
if(_excludedFromFees[from] || _excludedFromFees[to]) {
totalFeeFortx = 0;
takeFees = false;
}
uint256 mktAmount = 0;
uint256 liqAmount = 0; // Amount to be added to liquidity.
if(takeFees){
//bot fees
if(botWallets[from] == true||botWallets[to]==true){
revert("No bots can trade");
}
//Selling fees
if (automatedMarketMakerPairs[to] && to != address(_router) ){
totalFeeFortx = 0;
mktAmount = amount * sellmktFee/100;
liqAmount = amount * sellliqFee/100;
totalFeeFortx = mktAmount + liqAmount;
}
//Buy Fees
else if(automatedMarketMakerPairs[from] && from != address(_router)) {
totalFeeFortx = 0;
mktAmount = amount * buymktFee/100;
liqAmount = amount * buyliqFee/100;
totalFeeFortx = mktAmount + liqAmount ;
}
}
_balances[from] = senderBalance - amount;
_balances[to] += amount - mktAmount - liqAmount;
if(liqAmount != 0) {
_balances[address(this)] += totalFeeFortx;
//tLiqTotal += liqAmount;
liqTokens += liqAmount;
mktTokens += mktAmount;
emit Transfer(from, address(this), totalFeeFortx);
}
emit Transfer(from, to,amount-totalFeeFortx);
}
function swapForTokenomics(uint256 balanceToswap) private lockTheSwap{
swapAndLiquify(liqTokens);
swapTokensForETHmkt(mktTokens);
emit tokensSwappedDuringTokenomics(balanceToswap);
mktTokens = 0;
liqTokens = 0;
}
function addLimitExempt(address newAddress)external onlyOwner{
_liquidityHolders[newAddress] = true;
}
function swapTokensForETHmkt(uint256 amount)private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _router.WETH();
_approve(address(this), address(_router), amount);
_router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amount,
0, // Accept any amount of ETH.
path,
marketingAddress,
block.timestamp
);
}
function unstuckTokens (IERC20 tokenToClear, address payable destination, uint256 amount) public onlyOwner{
//uint256 contractBalance = tokenToClear.balanceOf(address(this));
tokenToClear.transfer(destination, amount);
}
function unstuckETH(address payable destination) public onlyOwner{
uint256 ethBalance = address(this).balance;
payable(destination).transfer(ethBalance);
}
function tradeStatus(bool status) public onlyOwner{
tradeEnabled = status;
}
function swapAndLiquify(uint256 liqTokensPassed) private {
uint256 half = liqTokensPassed / 2;
uint256 otherHalf = liqTokensPassed - half;
uint256 initialBalance = address(this).balance;
swapTokensForETH(half);
uint256 newBalance = address(this).balance - (initialBalance);
addLiquidity(otherHalf, newBalance);
emit SwapAndLiquify(half,newBalance,otherHalf);
}
function swapTokensForETH(uint256 tokenAmount) private{
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _router.WETH();
_approve(address(this), address(_router), tokenAmount);
_router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // Accept any amount of ETH.
path,
address(this),
block.timestamp
);
}
function addLiquidity(uint256 tokenAmount,uint256 ethAmount) private{
_approve(address(this), address(_router), tokenAmount);
_router.addLiquidityETH{value:ethAmount}(
address(this),
tokenAmount,
0,
0,
deadAddress,// tr
block.timestamp
);
}
function _approve(address owner,address spender, uint256 amount) internal{
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
//Fees related functions
function addToExcluded(address toExclude) public onlyOwner{
_excludedFromFees[toExclude] = true;
}
function removeFromExcluded(address toRemove) public onlyOwner{
_excludedFromFees[toRemove] = false;
}
function excludePresaleAddresses(address router, address presale) external onlyOwner {
_liquidityHolders[address(router)] = true;
_liquidityHolders[presale] = true;
presaleAddresses[address(router)] = true;
presaleAddresses[presale] = true;
}
function endPresaleStatus() public onlyOwner{
buymktFee = 4;
buyliqFee = 1;
sellmktFee = 4;
sellliqFee = 1;
setSwapAndLiquify(true);
}
function updateThreshold(uint newThreshold) public onlyOwner{
currentThreshold = newThreshold;
}
function setSwapAndLiquify(bool _enabled) public onlyOwner{
swapAndLiquifyEnabled = _enabled;
}
//Marketing related
function setMktAddress(address newAddress) external onlyOwner{
marketingAddress = payable(newAddress);
}
function transferAssetsETH(address payable to, uint256 amount) internal{
to.transfer(amount);
}
function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
_setAutomatedMarketMakerPair(pair, value);
}
function _setAutomatedMarketMakerPair(address pair, bool value) private {
automatedMarketMakerPairs[pair] = value;
emit SetAutomatedMarketMakerPair(pair, value);
}
function updatecurrentbuyliqFee(uint256 newAmount) public onlyOwner{
buyliqFee = newAmount;
}
function updatecurrentbuymktfee(uint256 newAmount) public onlyOwner{
buymktFee= newAmount;
}
function updatecurrentsellLiqFee(uint256 newAmount) public onlyOwner{
sellliqFee= newAmount;
}
function updatecurrentsellmktfee(uint256 newAmount)public onlyOwner{
sellmktFee= newAmount;
}
function currentMaxWallet() public view returns(uint256){
return maxWalletAmount;
}
function currentMaxTx() public view returns(uint256){
return maxTxAmount;
}
function updateSwapTreshold(uint256 newVal) public onlyOwner{
swapTreshold = newVal;
requiredTokensToSwap = _totalSupply*swapTreshold/1000;
}
function currentTradeStatus() public view returns (bool){
return tradeEnabled;
}
function currentSwapTreshold() public view returns(uint256){
return swapTreshold;
}
function currentTokensToSwap() public view returns(uint256){
return requiredTokensToSwap;
}
}
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function allPairs(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
function createPair(address tokenA, address tokenB) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
event Mint(address indexed sender, uint amount0, uint amount1);
event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
event Swap(
address indexed sender,
uint amount0In,
uint amount1In,
uint amount0Out,
uint amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function price0CumulativeLast() external view returns (uint);
function price1CumulativeLast() external view returns (uint);
function kLast() external view returns (uint);
function mint(address to) external returns (uint liquidity);
function burn(address to) external returns (uint amount0, uint amount1);
function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"tokensSwappedDuringTokenomics","type":"event"},{"inputs":[],"name":"GanjaDay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"GanjaDayOver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"detectedBot","type":"address"},{"internalType":"bool","name":"isBot","type":"bool"}],"name":"addBotWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"addLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toExclude","type":"address"}],"name":"addToExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentLiqTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSwapTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentThresholdInt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTradeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuyliqFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuymktfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentmktTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellLiqFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellmktfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endPresaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"presale","type":"address"}],"name":"excludePresaleAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toCheck","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toRemove","type":"address"}],"name":"removeFromExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"requiredTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMktAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"tradeStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"destination","type":"address"}],"name":"unstuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenToClear","type":"address"},{"internalType":"address payable","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateMaxTxTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateMaxWalletTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateSwapTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentbuyliqFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentbuymktfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentsellLiqFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updatecurrentsellmktfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a06040526040518060400160405280600381526020017f3731300000000000000000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000999565b506040518060400160405280600381526020017f4f494c0000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000999565b506012600360006101000a81548160ff021916908360ff16021790555060006004556004600555600460065560026007556014600855600360009054906101000a900460ff16600a620000f3919062000b8b565b66193fe0527fd56062000107919062000cc8565b6009556103e86007546009546200011f919062000cc8565b6200012b919062000af8565b600a5573f0513ed06f267c9ea2c1891f196603f0d31348ad601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460055460095462000197919062000cc8565b620001a3919062000af8565b6011556064600654600954620001ba919062000cc8565b620001c6919062000af8565b6012556000601460006101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055506003601755600a60185560046019556004601a556000601b556000601c60006101000a81548160ff0219169083151502179055506003601d556003601e556007601f5560076020556001602160016101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060006022556000602355348015620002b157600080fd5b50620002d2620002c66200080360201b60201c565b6200080b60201b60201c565b600954600b6000620002e96200080360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038757600080fd5b505afa1580156200039c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c2919062000a60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200042557600080fd5b505afa1580156200043a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000460919062000a60565b6040518363ffffffff1660e01b81526004016200047f92919062000aae565b602060405180830381600087803b1580156200049a57600080fd5b505af1158015620004af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d5919062000a60565b602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60006200052b620008cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160156000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160156000620006a5620008cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000783602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620008f860201b60201c565b620007936200080360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620007f4919062000adb565b60405180910390a35062000e5e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b828054620009a79062000d74565b90600052602060002090601f016020900481019282620009cb576000855562000a17565b82601f10620009e657805160ff191683800117855562000a17565b8280016001018555821562000a17579182015b8281111562000a16578251825591602001919060010190620009f9565b5b50905062000a26919062000a2a565b5090565b5b8082111562000a4557600081600090555060010162000a2b565b5090565b60008151905062000a5a8162000e44565b92915050565b60006020828403121562000a7357600080fd5b600062000a838482850162000a49565b91505092915050565b62000a978162000d29565b82525050565b62000aa88162000d5d565b82525050565b600060408201905062000ac5600083018562000a8c565b62000ad4602083018462000a8c565b9392505050565b600060208201905062000af2600083018462000a9d565b92915050565b600062000b058262000d5d565b915062000b128362000d5d565b92508262000b255762000b2462000dd9565b5b828204905092915050565b6000808291508390505b600185111562000b825780860481111562000b5a5762000b5962000daa565b5b600185161562000b6a5780820291505b808102905062000b7a8562000e37565b945062000b3a565b94509492505050565b600062000b988262000d5d565b915062000ba58362000d67565b925062000bd47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bdc565b905092915050565b60008262000bee576001905062000cc1565b8162000bfe576000905062000cc1565b816001811462000c17576002811462000c225762000c58565b600191505062000cc1565b60ff84111562000c375762000c3662000daa565b5b8360020a91508482111562000c515762000c5062000daa565b5b5062000cc1565b5060208310610133831016604e8410600b841016171562000c925782820a90508381111562000c8c5762000c8b62000daa565b5b62000cc1565b62000ca1848484600162000b30565b9250905081840481111562000cbb5762000cba62000daa565b5b81810290505b9392505050565b600062000cd58262000d5d565b915062000ce28362000d5d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d1e5762000d1d62000daa565b5b828202905092915050565b600062000d368262000d3d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000d8d57607f821691505b6020821081141562000da45762000da362000e08565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b62000e4f8162000d29565b811462000e5b57600080fd5b50565b60805160601c614bbf62000e846000396000818161116001526139e30152614bbf6000f3fe6080604052600436106103545760003560e01c80638cd0260c116101c6578063bf9eb540116100f7578063dd62ed3e11610095578063edcf19b21161006f578063edcf19b214610c11578063f2fde38b14610c3a578063f7da678514610c63578063f953cf3a14610c8c5761035b565b8063dd62ed3e14610b7e578063ddcf9b9814610bbb578063e1370dd314610be65761035b565b8063d1294d4c116100d1578063d1294d4c14610aea578063d15bcf0f14610b13578063d7d7442f14610b3e578063db5c6b1c14610b675761035b565b8063bf9eb54014610a5b578063cb66453414610a84578063cba0e99614610aad5761035b565b8063a5ece94111610164578063a9059cbb1161013e578063a9059cbb1461098d578063b4d95a93146109ca578063b62496f5146109f3578063bf9b015914610a305761035b565b8063a5ece94114610910578063a6c38f591461093b578063a7a07452146109645761035b565b806395d89b41116101a057806395d89b41146108665780639a7a23d6146108915780639b136da4146108ba578063a04bdc81146108e55761035b565b80638cd0260c146107e75780638da5cb5b1461081057806390f502831461083b5761035b565b80634a0e963c116102a05780636573c4df1161023e578063715018a611610218578063715018a614610753578063801527ce1461076a5780638628c23f14610793578063893d20e8146107bc5761035b565b80636573c4df146106c25780636df3333a146106eb57806370a08231146107165761035b565b80634bd7ace51161027a5780634bd7ace5146106185780635297defd146106435780635be76f111461066e57806364c16163146106975761035b565b80634a0e963c146105ad5780634a74bb02146105d65780634ae37ec9146106015761035b565b806322788f861161030d5780632d03420b116102e75780632d03420b14610503578063313ce5671461052c578063487a69051461055757806349bd5a5e146105825761035b565b806322788f861461047057806323b872dd1461049b57806327c8f835146104d85761035b565b806306fdde03146103605780630882a8631461038b578063095ea7b3146103b457806313b4a7f4146103f157806318160ddd1461041a578063220f6696146104455761035b565b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610ca3565b604051610382919061450d565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad9190613d80565b610d35565b005b3480156103c057600080fd5b506103db60048036038101906103d69190613ca3565b610dbb565b6040516103e891906144f2565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190613bdc565b610dd9565b005b34801561042657600080fd5b5061042f610fb9565b60405161043c91906146ef565b60405180910390f35b34801561045157600080fd5b5061045a610fc3565b60405161046791906144f2565b60405180910390f35b34801561047c57600080fd5b50610485610fd6565b60405161049291906146ef565b60405180910390f35b3480156104a757600080fd5b506104c260048036038101906104bd9190613c18565b610fe0565b6040516104cf91906144f2565b60405180910390f35b3480156104e457600080fd5b506104ed61115e565b6040516104fa9190614432565b60405180910390f35b34801561050f57600080fd5b5061052a60048036038101906105259190613cdf565b611182565b005b34801561053857600080fd5b5061054161121b565b60405161054e91906146ef565b60405180910390f35b34801561056357600080fd5b5061056c611235565b60405161057991906146ef565b60405180910390f35b34801561058e57600080fd5b5061059761123f565b6040516105a49190614432565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190613b25565b611265565b005b3480156105e257600080fd5b506105eb61133c565b6040516105f891906144f2565b60405180910390f35b34801561060d57600080fd5b5061061661134f565b005b34801561062457600080fd5b5061062d6113f4565b60405161063a91906146ef565b60405180910390f35b34801561064f57600080fd5b506106586113fe565b60405161066591906146ef565b60405180910390f35b34801561067a57600080fd5b5061069560048036038101906106909190613b77565b611408565b005b3480156106a357600080fd5b506106ac6114d4565b6040516106b991906146ef565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e49190613d80565b6114de565b005b3480156106f757600080fd5b50610700611586565b60405161070d91906146ef565b60405180910390f35b34801561072257600080fd5b5061073d60048036038101906107389190613b25565b611590565b60405161074a91906146ef565b60405180910390f35b34801561075f57600080fd5b506107686115d9565b005b34801561077657600080fd5b50610791600480360381019061078c9190613cdf565b611661565b005b34801561079f57600080fd5b506107ba60048036038101906107b59190613d80565b6116fa565b005b3480156107c857600080fd5b506107d1611780565b6040516107de9190614432565b60405180910390f35b3480156107f357600080fd5b5061080e60048036038101906108099190613d80565b61178f565b005b34801561081c57600080fd5b50610825611815565b6040516108329190614432565b60405180910390f35b34801561084757600080fd5b5061085061183e565b60405161085d91906146ef565b60405180910390f35b34801561087257600080fd5b5061087b611848565b604051610888919061450d565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190613c67565b6118da565b005b3480156108c657600080fd5b506108cf6119f5565b6040516108dc91906146ef565b60405180910390f35b3480156108f157600080fd5b506108fa6119ff565b60405161090791906146ef565b60405180910390f35b34801561091c57600080fd5b50610925611a05565b604051610932919061444d565b60405180910390f35b34801561094757600080fd5b50610962600480360381019061095d9190613ba0565b611a2b565b005b34801561097057600080fd5b5061098b60048036038101906109869190613d80565b611b02565b005b34801561099957600080fd5b506109b460048036038101906109af9190613ca3565b611baa565b6040516109c191906144f2565b60405180910390f35b3480156109d657600080fd5b506109f160048036038101906109ec9190613b25565b611bc8565b005b3480156109ff57600080fd5b50610a1a6004803603810190610a159190613b25565b611c9f565b604051610a2791906144f2565b60405180910390f35b348015610a3c57600080fd5b50610a45611cbf565b604051610a5291906146ef565b60405180910390f35b348015610a6757600080fd5b50610a826004803603810190610a7d9190613b25565b611cc9565b005b348015610a9057600080fd5b50610aab6004803603810190610aa69190613b25565b611d89565b005b348015610ab957600080fd5b50610ad46004803603810190610acf9190613b25565b611e60565b604051610ae191906144f2565b60405180910390f35b348015610af657600080fd5b50610b116004803603810190610b0c9190613d80565b611eb6565b005b348015610b1f57600080fd5b50610b28611f5f565b604051610b3591906144f2565b60405180910390f35b348015610b4a57600080fd5b50610b656004803603810190610b609190613d80565b611f76565b005b348015610b7357600080fd5b50610b7c611ffc565b005b348015610b8a57600080fd5b50610ba56004803603810190610ba09190613bdc565b6120e0565b604051610bb291906146ef565b60405180910390f35b348015610bc757600080fd5b50610bd0612167565b604051610bdd91906146ef565b60405180910390f35b348015610bf257600080fd5b50610bfb612171565b604051610c0891906146ef565b60405180910390f35b348015610c1d57600080fd5b50610c386004803603810190610c339190613d80565b61217b565b005b348015610c4657600080fd5b50610c616004803603810190610c5c9190613b25565b612201565b005b348015610c6f57600080fd5b50610c8a6004803603810190610c859190613d31565b6122f9565b005b348015610c9857600080fd5b50610ca1612408565b005b606060018054610cb290614a46565b80601f0160208091040260200160405190810160405280929190818152602001828054610cde90614a46565b8015610d2b5780601f10610d0057610100808354040283529160200191610d2b565b820191906000526020600020905b815481529060010190602001808311610d0e57829003601f168201915b5050505050905090565b610d3d6124b0565b73ffffffffffffffffffffffffffffffffffffffff16610d5b611815565b73ffffffffffffffffffffffffffffffffffffffff1614610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da89061464f565b60405180910390fd5b8060178190555050565b6000610dcf610dc86124b0565b84846124b8565b6001905092915050565b610de16124b0565b73ffffffffffffffffffffffffffffffffffffffff16610dff611815565b73ffffffffffffffffffffffffffffffffffffffff1614610e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4c9061464f565b60405180910390fd5b6001601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600954905090565b602160009054906101000a900460ff1681565b6000600854905090565b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061102b6124b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061462f565b60405180910390fd5b6110b3848484612683565b611153846110bf6124b0565b84600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111096124b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114e919061492b565b6124b8565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61118a6124b0565b73ffffffffffffffffffffffffffffffffffffffff166111a8611815565b73ffffffffffffffffffffffffffffffffffffffff16146111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f59061464f565b60405180910390fd5b80601c60006101000a81548160ff02191690831515021790555050565b6000600360009054906101000a900460ff1660ff16905090565b6000600a54905090565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61126d6124b0565b73ffffffffffffffffffffffffffffffffffffffff1661128b611815565b73ffffffffffffffffffffffffffffffffffffffff16146112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d89061464f565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b602160019054906101000a900460ff1681565b6113576124b0565b73ffffffffffffffffffffffffffffffffffffffff16611375611815565b73ffffffffffffffffffffffffffffffffffffffff16146113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c29061464f565b60405180910390fd5b601854601781905550601a5460198190555062015180426113ec919061484a565b601b81905550565b6000601754905090565b6000601f54905090565b6114106124b0565b73ffffffffffffffffffffffffffffffffffffffff1661142e611815565b73ffffffffffffffffffffffffffffffffffffffff1614611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b9061464f565b60405180910390fd5b60004790508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114cf573d6000803e3d6000fd5b505050565b6000602354905090565b6114e66124b0565b73ffffffffffffffffffffffffffffffffffffffff16611504611815565b73ffffffffffffffffffffffffffffffffffffffff161461155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115519061464f565b60405180910390fd5b80600581905550606460055460095461157391906148d1565b61157d91906148a0565b60118190555050565b6000600754905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115e16124b0565b73ffffffffffffffffffffffffffffffffffffffff166115ff611815565b73ffffffffffffffffffffffffffffffffffffffff1614611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c9061464f565b60405180910390fd5b61165f6000613140565b565b6116696124b0565b73ffffffffffffffffffffffffffffffffffffffff16611687611815565b73ffffffffffffffffffffffffffffffffffffffff16146116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d49061464f565b60405180910390fd5b80602160016101000a81548160ff02191690831515021790555050565b6117026124b0565b73ffffffffffffffffffffffffffffffffffffffff16611720611815565b73ffffffffffffffffffffffffffffffffffffffff1614611776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176d9061464f565b60405180910390fd5b80601f8190555050565b600061178a611815565b905090565b6117976124b0565b73ffffffffffffffffffffffffffffffffffffffff166117b5611815565b73ffffffffffffffffffffffffffffffffffffffff161461180b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118029061464f565b60405180910390fd5b80601d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601d54905090565b60606002805461185790614a46565b80601f016020809104026020016040519081016040528092919081815260200182805461188390614a46565b80156118d05780601f106118a5576101008083540402835291602001916118d0565b820191906000526020600020905b8154815290600101906020018083116118b357829003601f168201915b5050505050905090565b6118e26124b0565b73ffffffffffffffffffffffffffffffffffffffff16611900611815565b73ffffffffffffffffffffffffffffffffffffffff1614611956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194d9061464f565b60405180910390fd5b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de9061458f565b60405180910390fd5b6119f18282613204565b5050565b6000601954905090565b600a5481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a336124b0565b73ffffffffffffffffffffffffffffffffffffffff16611a51611815565b73ffffffffffffffffffffffffffffffffffffffff1614611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e9061464f565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611b0a6124b0565b73ffffffffffffffffffffffffffffffffffffffff16611b28611815565b73ffffffffffffffffffffffffffffffffffffffff1614611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b759061464f565b60405180910390fd5b806006819055506064600654600954611b9791906148d1565b611ba191906148a0565b60128190555050565b6000611bbe611bb76124b0565b8484612683565b6001905092915050565b611bd06124b0565b73ffffffffffffffffffffffffffffffffffffffff16611bee611815565b73ffffffffffffffffffffffffffffffffffffffff1614611c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3b9061464f565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000601254905090565b611cd16124b0565b73ffffffffffffffffffffffffffffffffffffffff16611cef611815565b73ffffffffffffffffffffffffffffffffffffffff1614611d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3c9061464f565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611d916124b0565b73ffffffffffffffffffffffffffffffffffffffff16611daf611815565b73ffffffffffffffffffffffffffffffffffffffff1614611e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfc9061464f565b60405180910390fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611ebe6124b0565b73ffffffffffffffffffffffffffffffffffffffff16611edc611815565b73ffffffffffffffffffffffffffffffffffffffff1614611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f299061464f565b60405180910390fd5b806007819055506103e8600754600954611f4c91906148d1565b611f5691906148a0565b600a8190555050565b6000601c60009054906101000a900460ff16905090565b611f7e6124b0565b73ffffffffffffffffffffffffffffffffffffffff16611f9c611815565b73ffffffffffffffffffffffffffffffffffffffff1614611ff2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe99061464f565b60405180910390fd5b8060088190555050565b6120046124b0565b73ffffffffffffffffffffffffffffffffffffffff16612022611815565b73ffffffffffffffffffffffffffffffffffffffff1614612078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206f9061464f565b60405180910390fd5b601b5442116120bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b39061466f565b60405180910390fd5b601954601a8190555060175460188190555060006017819055506000601981905550565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000602254905090565b6000601154905090565b6121836124b0565b73ffffffffffffffffffffffffffffffffffffffff166121a1611815565b73ffffffffffffffffffffffffffffffffffffffff16146121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee9061464f565b60405180910390fd5b8060198190555050565b6122096124b0565b73ffffffffffffffffffffffffffffffffffffffff16612227611815565b73ffffffffffffffffffffffffffffffffffffffff161461227d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122749061464f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e49061454f565b60405180910390fd5b6122f681613140565b50565b6123016124b0565b73ffffffffffffffffffffffffffffffffffffffff1661231f611815565b73ffffffffffffffffffffffffffffffffffffffff1614612375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236c9061464f565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b81526004016123b0929190614468565b602060405180830381600087803b1580156123ca57600080fd5b505af11580156123de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124029190613d08565b50505050565b6124106124b0565b73ffffffffffffffffffffffffffffffffffffffff1661242e611815565b73ffffffffffffffffffffffffffffffffffffffff1614612484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247b9061464f565b60405180910390fd5b600460198190555060016017819055506004601f819055506001601d819055506124ae6001611661565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251f906146af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258f9061456f565b60405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161267691906146ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061468f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a9061452f565b60405180910390fd5b600081116127a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279d906145ef565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561282d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612824906145af565b60405180910390fd5b60001515601c60009054906101000a900460ff161515141561292a57601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128ea5750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612929576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129209061460f565b60405180910390fd5b5b60001515601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156129da575060001515601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612a9e57601254821115612a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1b906145cf565b60405180910390fd5b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612a9d5760115482612a8785611590565b612a91919061484a565b1115612a9c57600080fd5b5b5b6000612aa930611590565b9050600a548110158015612aca5750602160009054906101000a900460ff16155b8015612b245750602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612b3c5750602160019054906101000a900460ff165b15612b5a57600a548110612b5957600a549050612b58816132a5565b5b5b600060019050600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612c015750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612c13576000600481905550600090505b6000808215612f0f5760011515601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480612ccb575060011515601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d02906146cf565b60405180910390fd5b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612db25750602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15612e0e5760006004819055506064601f5487612dcf91906148d1565b612dd991906148a0565b91506064601d5487612deb91906148d1565b612df591906148a0565b90508082612e03919061484a565b600481905550612f0e565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612eb55750602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15612f0d576000600481905550606460195487612ed291906148d1565b612edc91906148a0565b9150606460175487612eee91906148d1565b612ef891906148a0565b90508082612f06919061484a565b6004819055505b5b5b8585612f1b919061492b565b600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808287612f6b919061492b565b612f75919061492b565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fc3919061484a565b92505081905550600081146130c457600454600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613023919061484a565b92505081905550806023600082825461303c919061484a565b925050819055508160226000828254613055919061484a565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516130bb91906146ef565b60405180910390a35b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045489613121919061492b565b60405161312e91906146ef565b60405180910390a35050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6001602160006101000a81548160ff0219169083151502179055506132cb60235461333b565b6132d66022546133c6565b7f4596ef7337c1c88bb740707471cfc0ec6d0212036b05ab1bdbb09cf3e3f019048160405161330591906146ef565b60405180910390a1600060228190555060006023819055506000602160006101000a81548160ff02191690831515021790555050565b600060028261334a91906148a0565b90506000818361335a919061492b565b9050600047905061336a836136ac565b60008147613378919061492b565b90506133848382613970565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516133b7939291906147be565b60405180910390a15050505050565b6000600267ffffffffffffffff811115613409577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156134375781602001602082028036833780820191505090505b5090503081600081518110613475577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561351757600080fd5b505afa15801561352b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354f9190613b4e565b81600181518110613589577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135f030602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124b8565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161367695949392919061470a565b600060405180830381600087803b15801561369057600080fd5b505af11580156136a4573d6000803e3d6000fd5b505050505050565b6000600267ffffffffffffffff8111156136ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561371d5781602001602082028036833780820191505090505b509050308160008151811061375b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156137fd57600080fd5b505afa158015613811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138359190613b4e565b8160018151811061386f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138d630602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124b8565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161393a959493929190614764565b600060405180830381600087803b15801561395457600080fd5b505af1158015613968573d6000803e3d6000fd5b505050505050565b61399d30602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124b8565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000807f0000000000000000000000000000000000000000000000000000000000000000426040518863ffffffff1660e01b8152600401613a2496959493929190614491565b6060604051808303818588803b158015613a3d57600080fd5b505af1158015613a51573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613a769190613da9565b5050505050565b600081359050613a8c81614b16565b92915050565b600081519050613aa181614b16565b92915050565b600081359050613ab681614b2d565b92915050565b600081359050613acb81614b44565b92915050565b600081519050613ae081614b44565b92915050565b600081359050613af581614b5b565b92915050565b600081359050613b0a81614b72565b92915050565b600081519050613b1f81614b72565b92915050565b600060208284031215613b3757600080fd5b6000613b4584828501613a7d565b91505092915050565b600060208284031215613b6057600080fd5b6000613b6e84828501613a92565b91505092915050565b600060208284031215613b8957600080fd5b6000613b9784828501613aa7565b91505092915050565b60008060408385031215613bb357600080fd5b6000613bc185828601613aa7565b9250506020613bd285828601613abc565b9150509250929050565b60008060408385031215613bef57600080fd5b6000613bfd85828601613a7d565b9250506020613c0e85828601613a7d565b9150509250929050565b600080600060608486031215613c2d57600080fd5b6000613c3b86828701613a7d565b9350506020613c4c86828701613a7d565b9250506040613c5d86828701613afb565b9150509250925092565b60008060408385031215613c7a57600080fd5b6000613c8885828601613a7d565b9250506020613c9985828601613abc565b9150509250929050565b60008060408385031215613cb657600080fd5b6000613cc485828601613a7d565b9250506020613cd585828601613afb565b9150509250929050565b600060208284031215613cf157600080fd5b6000613cff84828501613abc565b91505092915050565b600060208284031215613d1a57600080fd5b6000613d2884828501613ad1565b91505092915050565b600080600060608486031215613d4657600080fd5b6000613d5486828701613ae6565b9350506020613d6586828701613aa7565b9250506040613d7686828701613afb565b9150509250925092565b600060208284031215613d9257600080fd5b6000613da084828501613afb565b91505092915050565b600080600060608486031215613dbe57600080fd5b6000613dcc86828701613b10565b9350506020613ddd86828701613b10565b9250506040613dee86828701613b10565b9150509250925092565b6000613e048383613e2e565b60208301905092915050565b613e19816149cb565b82525050565b613e2881614971565b82525050565b613e378161495f565b82525050565b613e468161495f565b82525050565b6000613e5782614805565b613e618185614828565b9350613e6c836147f5565b8060005b83811015613e9d578151613e848882613df8565b9750613e8f8361481b565b925050600181019050613e70565b5085935050505092915050565b613eb381614983565b82525050565b613ec2816149dd565b82525050565b6000613ed382614810565b613edd8185614839565b9350613eed818560208601614a13565b613ef681614b05565b840191505092915050565b6000613f0e602383614839565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613f74602683614839565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613fda602283614839565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614040603983614839565b91507f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008301527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006020830152604082019050919050565b60006140a6602683614839565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061410c602883614839565b91507f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008301527f78416d6f756e742e0000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614172603283614839565b91507f45524332303a207472616e73666572656420616d6f756e74206d75737420626560008301527f2067726561746572207468616e207a65726f00000000000000000000000000006020830152604082019050919050565b60006141d8601d83614839565b91507f43616e742074726164652c2074726164652069732064697361626c65640000006000830152602082019050919050565b6000614218602883614839565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061427e602083614839565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006142be602f83614839565b91507f596f752063616e742063616c6c20676f6c64656e20446179206d6f726520746860008301527f616e206f6e6365207065722064617900000000000000000000000000000000006020830152604082019050919050565b6000614324602583614839565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061438a602483614839565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006143f0601183614839565b91507f4e6f20626f74732063616e2074726164650000000000000000000000000000006000830152602082019050919050565b61442c816149c1565b82525050565b60006020820190506144476000830184613e3d565b92915050565b60006020820190506144626000830184613e1f565b92915050565b600060408201905061447d6000830185613e10565b61448a6020830184614423565b9392505050565b600060c0820190506144a66000830189613e3d565b6144b36020830188614423565b6144c06040830187613eb9565b6144cd6060830186613eb9565b6144da6080830185613e3d565b6144e760a0830184614423565b979650505050505050565b60006020820190506145076000830184613eaa565b92915050565b600060208201905081810360008301526145278184613ec8565b905092915050565b6000602082019050818103600083015261454881613f01565b9050919050565b6000602082019050818103600083015261456881613f67565b9050919050565b6000602082019050818103600083015261458881613fcd565b9050919050565b600060208201905081810360008301526145a881614033565b9050919050565b600060208201905081810360008301526145c881614099565b9050919050565b600060208201905081810360008301526145e8816140ff565b9050919050565b6000602082019050818103600083015261460881614165565b9050919050565b60006020820190508181036000830152614628816141cb565b9050919050565b600060208201905081810360008301526146488161420b565b9050919050565b6000602082019050818103600083015261466881614271565b9050919050565b60006020820190508181036000830152614688816142b1565b9050919050565b600060208201905081810360008301526146a881614317565b9050919050565b600060208201905081810360008301526146c88161437d565b9050919050565b600060208201905081810360008301526146e8816143e3565b9050919050565b60006020820190506147046000830184614423565b92915050565b600060a08201905061471f6000830188614423565b61472c6020830187613eb9565b818103604083015261473e8186613e4c565b905061474d6060830185613e10565b61475a6080830184614423565b9695505050505050565b600060a0820190506147796000830188614423565b6147866020830187613eb9565b81810360408301526147988186613e4c565b90506147a76060830185613e3d565b6147b46080830184614423565b9695505050505050565b60006060820190506147d36000830186614423565b6147e06020830185614423565b6147ed6040830184614423565b949350505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614855826149c1565b9150614860836149c1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561489557614894614a78565b5b828201905092915050565b60006148ab826149c1565b91506148b6836149c1565b9250826148c6576148c5614aa7565b5b828204905092915050565b60006148dc826149c1565b91506148e7836149c1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156149205761491f614a78565b5b828202905092915050565b6000614936826149c1565b9150614941836149c1565b92508282101561495457614953614a78565b5b828203905092915050565b600061496a826149a1565b9050919050565b600061497c826149a1565b9050919050565b60008115159050919050565b600061499a8261495f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006149d6826149ef565b9050919050565b60006149e8826149c1565b9050919050565b60006149fa82614a01565b9050919050565b6000614a0c826149a1565b9050919050565b60005b83811015614a31578082015181840152602081019050614a16565b83811115614a40576000848401525b50505050565b60006002820490506001821680614a5e57607f821691505b60208210811415614a7257614a71614ad6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b614b1f8161495f565b8114614b2a57600080fd5b50565b614b3681614971565b8114614b4157600080fd5b50565b614b4d81614983565b8114614b5857600080fd5b50565b614b648161498f565b8114614b6f57600080fd5b50565b614b7b816149c1565b8114614b8657600080fd5b5056fea26469706673582212206f17b72a5f4e95e4e69975e3b462f1b988f217a3b02d523b5081e36d0558014d64736f6c63430008000033
Deployed Bytecode
0x6080604052600436106103545760003560e01c80638cd0260c116101c6578063bf9eb540116100f7578063dd62ed3e11610095578063edcf19b21161006f578063edcf19b214610c11578063f2fde38b14610c3a578063f7da678514610c63578063f953cf3a14610c8c5761035b565b8063dd62ed3e14610b7e578063ddcf9b9814610bbb578063e1370dd314610be65761035b565b8063d1294d4c116100d1578063d1294d4c14610aea578063d15bcf0f14610b13578063d7d7442f14610b3e578063db5c6b1c14610b675761035b565b8063bf9eb54014610a5b578063cb66453414610a84578063cba0e99614610aad5761035b565b8063a5ece94111610164578063a9059cbb1161013e578063a9059cbb1461098d578063b4d95a93146109ca578063b62496f5146109f3578063bf9b015914610a305761035b565b8063a5ece94114610910578063a6c38f591461093b578063a7a07452146109645761035b565b806395d89b41116101a057806395d89b41146108665780639a7a23d6146108915780639b136da4146108ba578063a04bdc81146108e55761035b565b80638cd0260c146107e75780638da5cb5b1461081057806390f502831461083b5761035b565b80634a0e963c116102a05780636573c4df1161023e578063715018a611610218578063715018a614610753578063801527ce1461076a5780638628c23f14610793578063893d20e8146107bc5761035b565b80636573c4df146106c25780636df3333a146106eb57806370a08231146107165761035b565b80634bd7ace51161027a5780634bd7ace5146106185780635297defd146106435780635be76f111461066e57806364c16163146106975761035b565b80634a0e963c146105ad5780634a74bb02146105d65780634ae37ec9146106015761035b565b806322788f861161030d5780632d03420b116102e75780632d03420b14610503578063313ce5671461052c578063487a69051461055757806349bd5a5e146105825761035b565b806322788f861461047057806323b872dd1461049b57806327c8f835146104d85761035b565b806306fdde03146103605780630882a8631461038b578063095ea7b3146103b457806313b4a7f4146103f157806318160ddd1461041a578063220f6696146104455761035b565b3661035b57005b600080fd5b34801561036c57600080fd5b50610375610ca3565b604051610382919061450d565b60405180910390f35b34801561039757600080fd5b506103b260048036038101906103ad9190613d80565b610d35565b005b3480156103c057600080fd5b506103db60048036038101906103d69190613ca3565b610dbb565b6040516103e891906144f2565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190613bdc565b610dd9565b005b34801561042657600080fd5b5061042f610fb9565b60405161043c91906146ef565b60405180910390f35b34801561045157600080fd5b5061045a610fc3565b60405161046791906144f2565b60405180910390f35b34801561047c57600080fd5b50610485610fd6565b60405161049291906146ef565b60405180910390f35b3480156104a757600080fd5b506104c260048036038101906104bd9190613c18565b610fe0565b6040516104cf91906144f2565b60405180910390f35b3480156104e457600080fd5b506104ed61115e565b6040516104fa9190614432565b60405180910390f35b34801561050f57600080fd5b5061052a60048036038101906105259190613cdf565b611182565b005b34801561053857600080fd5b5061054161121b565b60405161054e91906146ef565b60405180910390f35b34801561056357600080fd5b5061056c611235565b60405161057991906146ef565b60405180910390f35b34801561058e57600080fd5b5061059761123f565b6040516105a49190614432565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190613b25565b611265565b005b3480156105e257600080fd5b506105eb61133c565b6040516105f891906144f2565b60405180910390f35b34801561060d57600080fd5b5061061661134f565b005b34801561062457600080fd5b5061062d6113f4565b60405161063a91906146ef565b60405180910390f35b34801561064f57600080fd5b506106586113fe565b60405161066591906146ef565b60405180910390f35b34801561067a57600080fd5b5061069560048036038101906106909190613b77565b611408565b005b3480156106a357600080fd5b506106ac6114d4565b6040516106b991906146ef565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e49190613d80565b6114de565b005b3480156106f757600080fd5b50610700611586565b60405161070d91906146ef565b60405180910390f35b34801561072257600080fd5b5061073d60048036038101906107389190613b25565b611590565b60405161074a91906146ef565b60405180910390f35b34801561075f57600080fd5b506107686115d9565b005b34801561077657600080fd5b50610791600480360381019061078c9190613cdf565b611661565b005b34801561079f57600080fd5b506107ba60048036038101906107b59190613d80565b6116fa565b005b3480156107c857600080fd5b506107d1611780565b6040516107de9190614432565b60405180910390f35b3480156107f357600080fd5b5061080e60048036038101906108099190613d80565b61178f565b005b34801561081c57600080fd5b50610825611815565b6040516108329190614432565b60405180910390f35b34801561084757600080fd5b5061085061183e565b60405161085d91906146ef565b60405180910390f35b34801561087257600080fd5b5061087b611848565b604051610888919061450d565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190613c67565b6118da565b005b3480156108c657600080fd5b506108cf6119f5565b6040516108dc91906146ef565b60405180910390f35b3480156108f157600080fd5b506108fa6119ff565b60405161090791906146ef565b60405180910390f35b34801561091c57600080fd5b50610925611a05565b604051610932919061444d565b60405180910390f35b34801561094757600080fd5b50610962600480360381019061095d9190613ba0565b611a2b565b005b34801561097057600080fd5b5061098b60048036038101906109869190613d80565b611b02565b005b34801561099957600080fd5b506109b460048036038101906109af9190613ca3565b611baa565b6040516109c191906144f2565b60405180910390f35b3480156109d657600080fd5b506109f160048036038101906109ec9190613b25565b611bc8565b005b3480156109ff57600080fd5b50610a1a6004803603810190610a159190613b25565b611c9f565b604051610a2791906144f2565b60405180910390f35b348015610a3c57600080fd5b50610a45611cbf565b604051610a5291906146ef565b60405180910390f35b348015610a6757600080fd5b50610a826004803603810190610a7d9190613b25565b611cc9565b005b348015610a9057600080fd5b50610aab6004803603810190610aa69190613b25565b611d89565b005b348015610ab957600080fd5b50610ad46004803603810190610acf9190613b25565b611e60565b604051610ae191906144f2565b60405180910390f35b348015610af657600080fd5b50610b116004803603810190610b0c9190613d80565b611eb6565b005b348015610b1f57600080fd5b50610b28611f5f565b604051610b3591906144f2565b60405180910390f35b348015610b4a57600080fd5b50610b656004803603810190610b609190613d80565b611f76565b005b348015610b7357600080fd5b50610b7c611ffc565b005b348015610b8a57600080fd5b50610ba56004803603810190610ba09190613bdc565b6120e0565b604051610bb291906146ef565b60405180910390f35b348015610bc757600080fd5b50610bd0612167565b604051610bdd91906146ef565b60405180910390f35b348015610bf257600080fd5b50610bfb612171565b604051610c0891906146ef565b60405180910390f35b348015610c1d57600080fd5b50610c386004803603810190610c339190613d80565b61217b565b005b348015610c4657600080fd5b50610c616004803603810190610c5c9190613b25565b612201565b005b348015610c6f57600080fd5b50610c8a6004803603810190610c859190613d31565b6122f9565b005b348015610c9857600080fd5b50610ca1612408565b005b606060018054610cb290614a46565b80601f0160208091040260200160405190810160405280929190818152602001828054610cde90614a46565b8015610d2b5780601f10610d0057610100808354040283529160200191610d2b565b820191906000526020600020905b815481529060010190602001808311610d0e57829003601f168201915b5050505050905090565b610d3d6124b0565b73ffffffffffffffffffffffffffffffffffffffff16610d5b611815565b73ffffffffffffffffffffffffffffffffffffffff1614610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da89061464f565b60405180910390fd5b8060178190555050565b6000610dcf610dc86124b0565b84846124b8565b6001905092915050565b610de16124b0565b73ffffffffffffffffffffffffffffffffffffffff16610dff611815565b73ffffffffffffffffffffffffffffffffffffffff1614610e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4c9061464f565b60405180910390fd5b6001601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600954905090565b602160009054906101000a900460ff1681565b6000600854905090565b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061102b6124b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156110a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109f9061462f565b60405180910390fd5b6110b3848484612683565b611153846110bf6124b0565b84600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111096124b0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114e919061492b565b6124b8565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b61118a6124b0565b73ffffffffffffffffffffffffffffffffffffffff166111a8611815565b73ffffffffffffffffffffffffffffffffffffffff16146111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f59061464f565b60405180910390fd5b80601c60006101000a81548160ff02191690831515021790555050565b6000600360009054906101000a900460ff1660ff16905090565b6000600a54905090565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61126d6124b0565b73ffffffffffffffffffffffffffffffffffffffff1661128b611815565b73ffffffffffffffffffffffffffffffffffffffff16146112e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d89061464f565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b602160019054906101000a900460ff1681565b6113576124b0565b73ffffffffffffffffffffffffffffffffffffffff16611375611815565b73ffffffffffffffffffffffffffffffffffffffff16146113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c29061464f565b60405180910390fd5b601854601781905550601a5460198190555062015180426113ec919061484a565b601b81905550565b6000601754905090565b6000601f54905090565b6114106124b0565b73ffffffffffffffffffffffffffffffffffffffff1661142e611815565b73ffffffffffffffffffffffffffffffffffffffff1614611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b9061464f565b60405180910390fd5b60004790508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114cf573d6000803e3d6000fd5b505050565b6000602354905090565b6114e66124b0565b73ffffffffffffffffffffffffffffffffffffffff16611504611815565b73ffffffffffffffffffffffffffffffffffffffff161461155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115519061464f565b60405180910390fd5b80600581905550606460055460095461157391906148d1565b61157d91906148a0565b60118190555050565b6000600754905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115e16124b0565b73ffffffffffffffffffffffffffffffffffffffff166115ff611815565b73ffffffffffffffffffffffffffffffffffffffff1614611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c9061464f565b60405180910390fd5b61165f6000613140565b565b6116696124b0565b73ffffffffffffffffffffffffffffffffffffffff16611687611815565b73ffffffffffffffffffffffffffffffffffffffff16146116dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d49061464f565b60405180910390fd5b80602160016101000a81548160ff02191690831515021790555050565b6117026124b0565b73ffffffffffffffffffffffffffffffffffffffff16611720611815565b73ffffffffffffffffffffffffffffffffffffffff1614611776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176d9061464f565b60405180910390fd5b80601f8190555050565b600061178a611815565b905090565b6117976124b0565b73ffffffffffffffffffffffffffffffffffffffff166117b5611815565b73ffffffffffffffffffffffffffffffffffffffff161461180b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118029061464f565b60405180910390fd5b80601d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601d54905090565b60606002805461185790614a46565b80601f016020809104026020016040519081016040528092919081815260200182805461188390614a46565b80156118d05780601f106118a5576101008083540402835291602001916118d0565b820191906000526020600020905b8154815290600101906020018083116118b357829003601f168201915b5050505050905090565b6118e26124b0565b73ffffffffffffffffffffffffffffffffffffffff16611900611815565b73ffffffffffffffffffffffffffffffffffffffff1614611956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194d9061464f565b60405180910390fd5b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de9061458f565b60405180910390fd5b6119f18282613204565b5050565b6000601954905090565b600a5481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a336124b0565b73ffffffffffffffffffffffffffffffffffffffff16611a51611815565b73ffffffffffffffffffffffffffffffffffffffff1614611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e9061464f565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611b0a6124b0565b73ffffffffffffffffffffffffffffffffffffffff16611b28611815565b73ffffffffffffffffffffffffffffffffffffffff1614611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b759061464f565b60405180910390fd5b806006819055506064600654600954611b9791906148d1565b611ba191906148a0565b60128190555050565b6000611bbe611bb76124b0565b8484612683565b6001905092915050565b611bd06124b0565b73ffffffffffffffffffffffffffffffffffffffff16611bee611815565b73ffffffffffffffffffffffffffffffffffffffff1614611c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3b9061464f565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000601254905090565b611cd16124b0565b73ffffffffffffffffffffffffffffffffffffffff16611cef611815565b73ffffffffffffffffffffffffffffffffffffffff1614611d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3c9061464f565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611d916124b0565b73ffffffffffffffffffffffffffffffffffffffff16611daf611815565b73ffffffffffffffffffffffffffffffffffffffff1614611e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfc9061464f565b60405180910390fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611ebe6124b0565b73ffffffffffffffffffffffffffffffffffffffff16611edc611815565b73ffffffffffffffffffffffffffffffffffffffff1614611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f299061464f565b60405180910390fd5b806007819055506103e8600754600954611f4c91906148d1565b611f5691906148a0565b600a8190555050565b6000601c60009054906101000a900460ff16905090565b611f7e6124b0565b73ffffffffffffffffffffffffffffffffffffffff16611f9c611815565b73ffffffffffffffffffffffffffffffffffffffff1614611ff2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe99061464f565b60405180910390fd5b8060088190555050565b6120046124b0565b73ffffffffffffffffffffffffffffffffffffffff16612022611815565b73ffffffffffffffffffffffffffffffffffffffff1614612078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206f9061464f565b60405180910390fd5b601b5442116120bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b39061466f565b60405180910390fd5b601954601a8190555060175460188190555060006017819055506000601981905550565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000602254905090565b6000601154905090565b6121836124b0565b73ffffffffffffffffffffffffffffffffffffffff166121a1611815565b73ffffffffffffffffffffffffffffffffffffffff16146121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ee9061464f565b60405180910390fd5b8060198190555050565b6122096124b0565b73ffffffffffffffffffffffffffffffffffffffff16612227611815565b73ffffffffffffffffffffffffffffffffffffffff161461227d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122749061464f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e49061454f565b60405180910390fd5b6122f681613140565b50565b6123016124b0565b73ffffffffffffffffffffffffffffffffffffffff1661231f611815565b73ffffffffffffffffffffffffffffffffffffffff1614612375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236c9061464f565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b81526004016123b0929190614468565b602060405180830381600087803b1580156123ca57600080fd5b505af11580156123de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124029190613d08565b50505050565b6124106124b0565b73ffffffffffffffffffffffffffffffffffffffff1661242e611815565b73ffffffffffffffffffffffffffffffffffffffff1614612484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247b9061464f565b60405180910390fd5b600460198190555060016017819055506004601f819055506001601d819055506124ae6001611661565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251f906146af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258f9061456f565b60405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161267691906146ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061468f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275a9061452f565b60405180910390fd5b600081116127a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279d906145ef565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561282d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612824906145af565b60405180910390fd5b60001515601c60009054906101000a900460ff161515141561292a57601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128ea5750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612929576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129209061460f565b60405180910390fd5b5b60001515601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156129da575060001515601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612a9e57601254821115612a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1b906145cf565b60405180910390fd5b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612a9d5760115482612a8785611590565b612a91919061484a565b1115612a9c57600080fd5b5b5b6000612aa930611590565b9050600a548110158015612aca5750602160009054906101000a900460ff16155b8015612b245750602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612b3c5750602160019054906101000a900460ff165b15612b5a57600a548110612b5957600a549050612b58816132a5565b5b5b600060019050600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612c015750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612c13576000600481905550600090505b6000808215612f0f5760011515601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480612ccb575060011515601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d02906146cf565b60405180910390fd5b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612db25750602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15612e0e5760006004819055506064601f5487612dcf91906148d1565b612dd991906148a0565b91506064601d5487612deb91906148d1565b612df591906148a0565b90508082612e03919061484a565b600481905550612f0e565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612eb55750602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15612f0d576000600481905550606460195487612ed291906148d1565b612edc91906148a0565b9150606460175487612eee91906148d1565b612ef891906148a0565b90508082612f06919061484a565b6004819055505b5b5b8585612f1b919061492b565b600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808287612f6b919061492b565b612f75919061492b565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fc3919061484a565b92505081905550600081146130c457600454600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613023919061484a565b92505081905550806023600082825461303c919061484a565b925050819055508160226000828254613055919061484a565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516130bb91906146ef565b60405180910390a35b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045489613121919061492b565b60405161312e91906146ef565b60405180910390a35050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6001602160006101000a81548160ff0219169083151502179055506132cb60235461333b565b6132d66022546133c6565b7f4596ef7337c1c88bb740707471cfc0ec6d0212036b05ab1bdbb09cf3e3f019048160405161330591906146ef565b60405180910390a1600060228190555060006023819055506000602160006101000a81548160ff02191690831515021790555050565b600060028261334a91906148a0565b90506000818361335a919061492b565b9050600047905061336a836136ac565b60008147613378919061492b565b90506133848382613970565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516133b7939291906147be565b60405180910390a15050505050565b6000600267ffffffffffffffff811115613409577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156134375781602001602082028036833780820191505090505b5090503081600081518110613475577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561351757600080fd5b505afa15801561352b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354f9190613b4e565b81600181518110613589577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506135f030602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124b8565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161367695949392919061470a565b600060405180830381600087803b15801561369057600080fd5b505af11580156136a4573d6000803e3d6000fd5b505050505050565b6000600267ffffffffffffffff8111156136ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561371d5781602001602082028036833780820191505090505b509050308160008151811061375b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156137fd57600080fd5b505afa158015613811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138359190613b4e565b8160018151811061386f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138d630602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124b8565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161393a959493929190614764565b600060405180830381600087803b15801561395457600080fd5b505af1158015613968573d6000803e3d6000fd5b505050505050565b61399d30602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124b8565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000807f000000000000000000000000000000000000000000000000000000000000dead426040518863ffffffff1660e01b8152600401613a2496959493929190614491565b6060604051808303818588803b158015613a3d57600080fd5b505af1158015613a51573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613a769190613da9565b5050505050565b600081359050613a8c81614b16565b92915050565b600081519050613aa181614b16565b92915050565b600081359050613ab681614b2d565b92915050565b600081359050613acb81614b44565b92915050565b600081519050613ae081614b44565b92915050565b600081359050613af581614b5b565b92915050565b600081359050613b0a81614b72565b92915050565b600081519050613b1f81614b72565b92915050565b600060208284031215613b3757600080fd5b6000613b4584828501613a7d565b91505092915050565b600060208284031215613b6057600080fd5b6000613b6e84828501613a92565b91505092915050565b600060208284031215613b8957600080fd5b6000613b9784828501613aa7565b91505092915050565b60008060408385031215613bb357600080fd5b6000613bc185828601613aa7565b9250506020613bd285828601613abc565b9150509250929050565b60008060408385031215613bef57600080fd5b6000613bfd85828601613a7d565b9250506020613c0e85828601613a7d565b9150509250929050565b600080600060608486031215613c2d57600080fd5b6000613c3b86828701613a7d565b9350506020613c4c86828701613a7d565b9250506040613c5d86828701613afb565b9150509250925092565b60008060408385031215613c7a57600080fd5b6000613c8885828601613a7d565b9250506020613c9985828601613abc565b9150509250929050565b60008060408385031215613cb657600080fd5b6000613cc485828601613a7d565b9250506020613cd585828601613afb565b9150509250929050565b600060208284031215613cf157600080fd5b6000613cff84828501613abc565b91505092915050565b600060208284031215613d1a57600080fd5b6000613d2884828501613ad1565b91505092915050565b600080600060608486031215613d4657600080fd5b6000613d5486828701613ae6565b9350506020613d6586828701613aa7565b9250506040613d7686828701613afb565b9150509250925092565b600060208284031215613d9257600080fd5b6000613da084828501613afb565b91505092915050565b600080600060608486031215613dbe57600080fd5b6000613dcc86828701613b10565b9350506020613ddd86828701613b10565b9250506040613dee86828701613b10565b9150509250925092565b6000613e048383613e2e565b60208301905092915050565b613e19816149cb565b82525050565b613e2881614971565b82525050565b613e378161495f565b82525050565b613e468161495f565b82525050565b6000613e5782614805565b613e618185614828565b9350613e6c836147f5565b8060005b83811015613e9d578151613e848882613df8565b9750613e8f8361481b565b925050600181019050613e70565b5085935050505092915050565b613eb381614983565b82525050565b613ec2816149dd565b82525050565b6000613ed382614810565b613edd8185614839565b9350613eed818560208601614a13565b613ef681614b05565b840191505092915050565b6000613f0e602383614839565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613f74602683614839565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613fda602283614839565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614040603983614839565b91507f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008301527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006020830152604082019050919050565b60006140a6602683614839565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061410c602883614839565b91507f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008301527f78416d6f756e742e0000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614172603283614839565b91507f45524332303a207472616e73666572656420616d6f756e74206d75737420626560008301527f2067726561746572207468616e207a65726f00000000000000000000000000006020830152604082019050919050565b60006141d8601d83614839565b91507f43616e742074726164652c2074726164652069732064697361626c65640000006000830152602082019050919050565b6000614218602883614839565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061427e602083614839565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006142be602f83614839565b91507f596f752063616e742063616c6c20676f6c64656e20446179206d6f726520746860008301527f616e206f6e6365207065722064617900000000000000000000000000000000006020830152604082019050919050565b6000614324602583614839565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061438a602483614839565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006143f0601183614839565b91507f4e6f20626f74732063616e2074726164650000000000000000000000000000006000830152602082019050919050565b61442c816149c1565b82525050565b60006020820190506144476000830184613e3d565b92915050565b60006020820190506144626000830184613e1f565b92915050565b600060408201905061447d6000830185613e10565b61448a6020830184614423565b9392505050565b600060c0820190506144a66000830189613e3d565b6144b36020830188614423565b6144c06040830187613eb9565b6144cd6060830186613eb9565b6144da6080830185613e3d565b6144e760a0830184614423565b979650505050505050565b60006020820190506145076000830184613eaa565b92915050565b600060208201905081810360008301526145278184613ec8565b905092915050565b6000602082019050818103600083015261454881613f01565b9050919050565b6000602082019050818103600083015261456881613f67565b9050919050565b6000602082019050818103600083015261458881613fcd565b9050919050565b600060208201905081810360008301526145a881614033565b9050919050565b600060208201905081810360008301526145c881614099565b9050919050565b600060208201905081810360008301526145e8816140ff565b9050919050565b6000602082019050818103600083015261460881614165565b9050919050565b60006020820190508181036000830152614628816141cb565b9050919050565b600060208201905081810360008301526146488161420b565b9050919050565b6000602082019050818103600083015261466881614271565b9050919050565b60006020820190508181036000830152614688816142b1565b9050919050565b600060208201905081810360008301526146a881614317565b9050919050565b600060208201905081810360008301526146c88161437d565b9050919050565b600060208201905081810360008301526146e8816143e3565b9050919050565b60006020820190506147046000830184614423565b92915050565b600060a08201905061471f6000830188614423565b61472c6020830187613eb9565b818103604083015261473e8186613e4c565b905061474d6060830185613e10565b61475a6080830184614423565b9695505050505050565b600060a0820190506147796000830188614423565b6147866020830187613eb9565b81810360408301526147988186613e4c565b90506147a76060830185613e3d565b6147b46080830184614423565b9695505050505050565b60006060820190506147d36000830186614423565b6147e06020830185614423565b6147ed6040830184614423565b949350505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614855826149c1565b9150614860836149c1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561489557614894614a78565b5b828201905092915050565b60006148ab826149c1565b91506148b6836149c1565b9250826148c6576148c5614aa7565b5b828204905092915050565b60006148dc826149c1565b91506148e7836149c1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156149205761491f614a78565b5b828202905092915050565b6000614936826149c1565b9150614941836149c1565b92508282101561495457614953614a78565b5b828203905092915050565b600061496a826149a1565b9050919050565b600061497c826149a1565b9050919050565b60008115159050919050565b600061499a8261495f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006149d6826149ef565b9050919050565b60006149e8826149c1565b9050919050565b60006149fa82614a01565b9050919050565b6000614a0c826149a1565b9050919050565b60005b83811015614a31578082015181840152602081019050614a16565b83811115614a40576000848401525b50505050565b60006002820490506001821680614a5e57607f821691505b60208210811415614a7257614a71614ad6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b614b1f8161495f565b8114614b2a57600080fd5b50565b614b3681614971565b8114614b4157600080fd5b50565b614b4d81614983565b8114614b5857600080fd5b50565b614b648161498f565b8114614b6f57600080fd5b50565b614b7b816149c1565b8114614b8657600080fd5b5056fea26469706673582212206f17b72a5f4e95e4e69975e3b462f1b988f217a3b02d523b5081e36d0558014d64736f6c63430008000033
Deployed Bytecode Sourcemap
19308:15763:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24026:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;33902:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23760:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32442:302;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23170:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21131:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26035:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24566:388;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21213:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30640:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23936:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34963:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21720:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32196:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21166:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25297:176;;;;;;;;;;;;;:::i;:::-;;25617:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25929:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;30454:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23062:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24377:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;34860:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23287:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18673:94;;;;;;;;;;;;;:::i;:::-;;33064:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;34261:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22862:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34142:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18022:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25825:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24108:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;33458:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25719:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19868:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20219:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25481:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24206:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23416:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32318:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20133:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34482:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;33215:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;29667:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26142:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34577:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;34757:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32944:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25008:283;;;;;;;;;;;;;:::i;:::-;;23603:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22954:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34379:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34019:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18922:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;30203:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;32750:186;;;;;;;;;;;;;:::i;:::-;;24026:76;24065:13;24092:5;24085:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24026:76;:::o;33902:111::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;33996:9:::1;33984;:21;;;;33902:111:::0;:::o;23760:168::-;23837:4;23857:37;23866:12;:10;:12::i;:::-;23879:7;23887:6;23857:8;:37::i;:::-;23916:4;23909:11;;23760:168;;;;:::o;32442:302::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32585:4:::1;32548:17;:34;32574:6;32548:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;32629:4;32600:17;:26;32618:7;32600:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;32680:4;32644:16;:33;32669:6;32644:33;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;32723:4;32695:16;:25;32712:7;32695:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;32442:302:::0;;:::o;23170:106::-;23225:7;23255:12;;23248:19;;23170:106;:::o;21131:28::-;;;;;;;;;;;;;:::o;26035:101::-;26086:7;26112:16;;26105:23;;26035:101;:::o;24566:388::-;24698:4;24732:11;:19;24744:6;24732:19;;;;;;;;;;;;;;;:33;24752:12;:10;:12::i;:::-;24732:33;;;;;;;;;;;;;;;;24722:6;:43;;24714:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;24815:36;24825:6;24833:9;24844:6;24815:9;:36::i;:::-;24856:74;24865:6;24873:12;:10;:12::i;:::-;24923:6;24887:11;:19;24899:6;24887:19;;;;;;;;;;;;;;;:33;24907:12;:10;:12::i;:::-;24887:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;24856:8;:74::i;:::-;24942:4;24935:11;;24566:388;;;;;:::o;21213:81::-;;;:::o;30640:90::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;30716:6:::1;30701:12;;:21;;;;;;;;;;;;;;;;;;30640:90:::0;:::o;23936:84::-;23977:7;24003:9;;;;;;;;;;;23996:16;;;;23936:84;:::o;34963:105::-;35014:7;35040:20;;35033:27;;34963:105;:::o;21720:28::-;;;;;;;;;;;;;:::o;32196:114::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32298:4:::1;32267:17;:28;32285:9;32267:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;32196:114:::0;:::o;21166:40::-;;;;;;;;;;;;;:::o;25297:176::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25361:13:::1;;25349:9;:25;;;;25398:13;;25386:9;:25;;;;25460:5;25442:15;:23;;;;:::i;:::-;25423:16;:42;;;;25297:176::o:0;25617:96::-;25666:7;25696:9;;25689:16;;25617:96;:::o;25929:98::-;25979:7;26009:10;;26002:17;;25929:98;:::o;30454:178::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;30530:18:::1;30551:21;30530:42;;30591:11;30583:29;;:41;30613:10;30583:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;18313:1;30454:178:::0;:::o;23062:99::-;23113:7;23143:9;;23136:16;;23062:99;:::o;24377:175::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24473:6:::1;24453:17;:26;;;;24539:3;24521:17;;24508:12;;:30;;;;:::i;:::-;:34;;;;:::i;:::-;24490:15;:52;;;;24377:175:::0;:::o;34860:97::-;34911:7;34937:12;;34930:19;;34860:97;:::o;23287:118::-;23353:7;23379:9;:18;23389:7;23379:18;;;;;;;;;;;;;;;;23372:25;;23287:118;;;:::o;18673:94::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18738:21:::1;18756:1;18738:9;:21::i;:::-;18673:94::o:0;33064:113::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;33161:8:::1;33137:21;;:32;;;;;;;;;;;;;;;;;;33064:113:::0;:::o;34261:112::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;34356:9:::1;34344:10;:21;;;;34261:112:::0;:::o;22862:86::-;22903:7;22933;:5;:7::i;:::-;22926:14;;22862:86;:::o;34142:113::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;34238:9:::1;34226:10;:21;;;;34142:113:::0;:::o;18022:87::-;18068:7;18095:6;;;;;;;;;;;18088:13;;18022:87;:::o;25825:98::-;25875:7;25905:10;;25898:17;;25825:98;:::o;24108:88::-;24149:13;24181:7;24174:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24108:88;:::o;33458:242::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;33565:13:::1;;;;;;;;;;;33557:21;;:4;:21;;;;33549:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;33651:41;33680:4;33686:5;33651:28;:41::i;:::-;33458:242:::0;;:::o;25719:96::-;25768:7;25798:9;;25791:16;;25719:96;:::o;19868:71::-;;;;:::o;20219:93::-;;;;;;;;;;;;;:::o;25481:130::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25598:5:::1;25572:10;:23;25583:11;25572:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;25481:130:::0;;:::o;24206:164::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24294:6:::1;24278:13;:22;;;;24352:3;24338:13;;24325:12;;:26;;;;:::i;:::-;:30;;;;:::i;:::-;24311:11;:44;;;;24206:164:::0;:::o;23416:176::-;23496:4;23516:40;23526:12;:10;:12::i;:::-;23539:9;23549:6;23516:9;:40::i;:::-;23578:4;23571:11;;23416:176;;;;:::o;32318:116::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32421:5:::1;32391:17;:27;32409:8;32391:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;32318:116:::0;:::o;20133:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;34482:89::-;34526:7;34552:11;;34545:18;;34482:89;:::o;33215:118::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;33314:10:::1;33287:16;;:38;;;;;;;;;;;;;;;;;;33215:118:::0;:::o;29667:123::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29771:4:::1;29739:17;:29;29757:10;29739:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;29667:123:::0;:::o;26142:118::-;26199:4;26226:17;:26;26244:7;26226:26;;;;;;;;;;;;;;;;;;;;;;;;;26219:33;;26142:118;;;:::o;34577:174::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;34663:6:::1;34648:12;:21;;;;34729:4;34716:12;;34703;;:25;;;;:::i;:::-;:30;;;;:::i;:::-;34680:20;:53;;;;34577:174:::0;:::o;34757:97::-;34808:4;34831:12;;;;;;;;;;;34824:19;;34757:97;:::o;32944:112::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;33034:12:::1;33015:16;:31;;;;32944:112:::0;:::o;25008:283::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25082:16:::1;;25064:15;:34;25056:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;25178:9;;25162:13;:25;;;;25215:9;;25199:13;:25;;;;25257:1;25245:9;:13;;;;25282:1;25270:9;:13;;;;25008:283::o:0;23603:148::-;23686:7;23716:11;:18;23728:5;23716:18;;;;;;;;;;;;;;;:27;23735:7;23716:27;;;;;;;;;;;;;;;;23709:34;;23603:148;;;;:::o;22954:99::-;23005:7;23035:9;;23028:16;;22954:99;:::o;34379:97::-;34427:7;34453:15;;34446:22;;34379:97;:::o;34019:111::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;34113:9:::1;34102;:20;;;;34019:111:::0;:::o;18922:192::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19031:1:::1;19011:22;;:8;:22;;;;19003:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19087:19;19097:8;19087:9;:19::i;:::-;18922:192:::0;:::o;30203:243::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;30396:12:::1;:21;;;30418:11;30431:6;30396:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;30203:243:::0;;;:::o;32750:186::-;18253:12;:10;:12::i;:::-;18242:23;;:7;:5;:7::i;:::-;:23;;;18234:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32817:1:::1;32805:9;:13;;;;32841:1;32829:9;:13;;;;32868:1;32855:10;:14;;;;32893:1;32880:10;:14;;;;32905:23;32923:4;32905:17;:23::i;:::-;32750:186::o:0;13982:98::-;14035:7;14062:10;14055:17;;13982:98;:::o;31828:322::-;31937:1;31920:19;;:5;:19;;;;31912:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32012:1;31993:21;;:7;:21;;;;31985:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;32090:6;32060:11;:18;32072:5;32060:18;;;;;;;;;;;;;;;:27;32079:7;32060:27;;;;;;;;;;;;;;;:36;;;;32122:7;32106:32;;32115:5;32106:32;;;32131:6;32106:32;;;;;;:::i;:::-;;;;;;;;31828:322;;;:::o;26268:3124::-;26382:1;26366:18;;:4;:18;;;;26358:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26453:1;26439:16;;:2;:16;;;;26431:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;26523:1;26514:6;:10;26506:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;26589:21;26613:9;:15;26623:4;26613:15;;;;;;;;;;;;;;;;26589:39;;26664:6;26647:13;:23;;26639:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;26743:5;26727:21;;:12;;;;;;;;;;;:21;;;26724:141;;;26772:17;:21;26790:2;26772:21;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;26797:17;:23;26815:4;26797:23;;;;;;;;;;;;;;;;;;;;;;;;;26772:48;26764:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;26724:141;26901:5;26878:28;;:17;:21;26896:2;26878:21;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:62;;;;;26935:5;26910:30;;:17;:23;26928:4;26910:23;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;26878:62;26875:282;;;26970:11;;26960:6;:21;;26952:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;27049:13;;;;;;;;;;;27041:21;;:4;:21;;;27038:108;;;27114:15;;27104:6;27090:13;27100:2;27090:9;:13::i;:::-;:20;;;;:::i;:::-;:39;;27082:48;;;;;;27038:108;26875:282;27167:25;27195:24;27213:4;27195:9;:24::i;:::-;27167:52;;27253:20;;27233:17;:40;;:66;;;;;27283:16;;;;;;;;;;;27282:17;27233:66;:96;;;;;27316:13;;;;;;;;;;;27308:21;;:4;:21;;;;27233:96;:126;;;;;27338:21;;;;;;;;;;;27233:126;27230:352;;;27403:20;;27382:17;:41;27379:188;;27468:20;;27448:40;;27511:36;27529:17;27511;:36::i;:::-;27379:188;27230:352;27598:13;27614:4;27598:20;;27664:17;:23;27682:4;27664:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;27691:17;:21;27709:2;27691:21;;;;;;;;;;;;;;;;;;;;;;;;;27664:48;27661:159;;;27749:1;27733:13;:17;;;;27780:5;27769:16;;27661:159;27834:17;27864;27942:8;27939:981;;;28057:4;28037:24;;:10;:16;28048:4;28037:16;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;:46;;;;28079:4;28063:20;;:10;:14;28074:2;28063:14;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;28037:46;28034:120;;;28107:27;;;;;;;;;;:::i;:::-;;;;;;;;28034:120;28208:25;:29;28234:2;28208:29;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;;28255:7;;;;;;;;;;;28241:22;;:2;:22;;;;28208:55;28204:681;;;28308:1;28292:13;:17;;;;28368:3;28357:10;;28348:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;28336:35;;28430:3;28419:10;;28410:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;28398:35;;28488:9;28476;:21;;;;:::i;:::-;28460:13;:37;;;;28204:681;;;28571:25;:31;28597:4;28571:31;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;;28622:7;;;;;;;;;;;28606:24;;:4;:24;;;;28571:59;28568:317;;;28689:1;28673:13;:17;;;;28744:3;28734:9;;28725:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;28713:34;;28801:3;28791:9;;28782:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;28770:34;;28855:9;28843;:21;;;;:::i;:::-;28827:13;:37;;;;28568:317;28204:681;27939:981;28970:6;28954:13;:22;;;;:::i;:::-;28936:9;:15;28946:4;28936:15;;;;;;;;;;;;;;;:40;;;;29029:9;29017;29008:6;:18;;;;:::i;:::-;:30;;;;:::i;:::-;28991:9;:13;29001:2;28991:13;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;29069:1;29056:9;:14;29053:249;;29106:13;;29078:9;:24;29096:4;29078:24;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;29177:9;29164;;:22;;;;;;;:::i;:::-;;;;;;;;29214:9;29201;;:22;;;;;;;:::i;:::-;;;;;;;;29257:4;29234:44;;29243:4;29234:44;;;29264:13;;29234:44;;;;;;:::i;:::-;;;;;;;;29053:249;29336:2;29321:39;;29330:4;29321:39;;;29346:13;;29339:6;:20;;;;:::i;:::-;29321:39;;;;;;:::i;:::-;;;;;;;;26268:3124;;;;;;;;:::o;19122:173::-;19178:16;19197:6;;;;;;;;;;;19178:25;;19223:8;19214:6;;:17;;;;;;;;;;;;;;;;;;19278:8;19247:40;;19268:8;19247:40;;;;;;;;;;;;19122:173;;:::o;33706:188::-;33823:5;33789:25;:31;33815:4;33789:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;33880:5;33846:40;;33874:4;33846:40;;;;;;;;;;;;33706:188;;:::o;29398:262::-;21827:4;21808:16;;:23;;;;;;;;;;;;;;;;;;29478:25:::1;29493:9;;29478:14;:25::i;:::-;29514:30;29534:9;;29514:19;:30::i;:::-;29560:44;29590:13;29560:44;;;;;;:::i;:::-;;;;;;;;29627:1;29615:9;:13;;;;29651:1;29639:9;:13;;;;21861:5:::0;21842:16;;:24;;;;;;;;;;;;;;;;;;29398:262;:::o;30738:388::-;30800:12;30833:1;30815:15;:19;;;;:::i;:::-;30800:34;;30839:17;30877:4;30859:15;:22;;;;:::i;:::-;30839:42;;30886:22;30911:21;30886:46;;30939:22;30956:4;30939:16;:22::i;:::-;30966:18;31012:14;30987:21;:40;;;;:::i;:::-;30966:61;;31035:35;31048:9;31059:10;31035:12;:35::i;:::-;31080:41;31095:4;31100:10;31111:9;31080:41;;;;;;;;:::i;:::-;;;;;;;;30738:388;;;;;:::o;29796:399::-;29859:21;29897:1;29883:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29859:40;;29922:4;29904;29909:1;29904:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;29942:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29932:4;29937:1;29932:7;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;29961:49;29978:4;29993:7;;;;;;;;;;;30003:6;29961:8;:49::i;:::-;30021:7;;;;;;;;;;;:58;;;30085:6;30097:1;30133:4;30143:16;;;;;;;;;;;30165:15;30021:164;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29796:399;;:::o;31134:397::-;31193:21;31231:1;31217:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31193:40;;31256:4;31238;31243:1;31238:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;31276:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31266:4;31271:1;31266:7;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;;;31295:54;31312:4;31327:7;;;;;;;;;;;31337:11;31295:8;:54::i;:::-;31360:7;;;;;;;;;;;:58;;;31424:11;31441:1;31477:4;31495;31506:15;31360:166;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31134:397;;:::o;31543:277::-;31616:54;31633:4;31648:7;;;;;;;;;;;31658:11;31616:8;:54::i;:::-;31677:7;;;;;;;;;;;:23;;;31707:9;31731:4;31742:11;31759:1;31766;31773:11;31795:15;31677:138;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;31543:277;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:133::-;;543:6;530:20;521:29;;559:30;583:5;559:30;:::i;:::-;511:84;;;;:::o;601:137::-;;686:6;680:13;671:22;;702:30;726:5;702:30;:::i;:::-;661:77;;;;:::o;744:165::-;;841:6;828:20;819:29;;857:46;897:5;857:46;:::i;:::-;809:100;;;;:::o;915:139::-;;999:6;986:20;977:29;;1015:33;1042:5;1015:33;:::i;:::-;967:87;;;;:::o;1060:143::-;;1148:6;1142:13;1133:22;;1164:33;1191:5;1164:33;:::i;:::-;1123:80;;;;:::o;1209:262::-;;1317:2;1305:9;1296:7;1292:23;1288:32;1285:2;;;1333:1;1330;1323:12;1285:2;1376:1;1401:53;1446:7;1437:6;1426:9;1422:22;1401:53;:::i;:::-;1391:63;;1347:117;1275:196;;;;:::o;1477:284::-;;1596:2;1584:9;1575:7;1571:23;1567:32;1564:2;;;1612:1;1609;1602:12;1564:2;1655:1;1680:64;1736:7;1727:6;1716:9;1712:22;1680:64;:::i;:::-;1670:74;;1626:128;1554:207;;;;:::o;1767:278::-;;1883:2;1871:9;1862:7;1858:23;1854:32;1851:2;;;1899:1;1896;1889:12;1851:2;1942:1;1967:61;2020:7;2011:6;2000:9;1996:22;1967:61;:::i;:::-;1957:71;;1913:125;1841:204;;;;:::o;2051:417::-;;;2181:2;2169:9;2160:7;2156:23;2152:32;2149:2;;;2197:1;2194;2187:12;2149:2;2240:1;2265:61;2318:7;2309:6;2298:9;2294:22;2265:61;:::i;:::-;2255:71;;2211:125;2375:2;2401:50;2443:7;2434:6;2423:9;2419:22;2401:50;:::i;:::-;2391:60;;2346:115;2139:329;;;;;:::o;2474:407::-;;;2599:2;2587:9;2578:7;2574:23;2570:32;2567:2;;;2615:1;2612;2605:12;2567:2;2658:1;2683:53;2728:7;2719:6;2708:9;2704:22;2683:53;:::i;:::-;2673:63;;2629:117;2785:2;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2756:118;2557:324;;;;;:::o;2887:552::-;;;;3029:2;3017:9;3008:7;3004:23;3000:32;2997:2;;;3045:1;3042;3035:12;2997:2;3088:1;3113:53;3158:7;3149:6;3138:9;3134:22;3113:53;:::i;:::-;3103:63;;3059:117;3215:2;3241:53;3286:7;3277:6;3266:9;3262:22;3241:53;:::i;:::-;3231:63;;3186:118;3343:2;3369:53;3414:7;3405:6;3394:9;3390:22;3369:53;:::i;:::-;3359:63;;3314:118;2987:452;;;;;:::o;3445:401::-;;;3567:2;3555:9;3546:7;3542:23;3538:32;3535:2;;;3583:1;3580;3573:12;3535:2;3626:1;3651:53;3696:7;3687:6;3676:9;3672:22;3651:53;:::i;:::-;3641:63;;3597:117;3753:2;3779:50;3821:7;3812:6;3801:9;3797:22;3779:50;:::i;:::-;3769:60;;3724:115;3525:321;;;;;:::o;3852:407::-;;;3977:2;3965:9;3956:7;3952:23;3948:32;3945:2;;;3993:1;3990;3983:12;3945:2;4036:1;4061:53;4106:7;4097:6;4086:9;4082:22;4061:53;:::i;:::-;4051:63;;4007:117;4163:2;4189:53;4234:7;4225:6;4214:9;4210:22;4189:53;:::i;:::-;4179:63;;4134:118;3935:324;;;;;:::o;4265:256::-;;4370:2;4358:9;4349:7;4345:23;4341:32;4338:2;;;4386:1;4383;4376:12;4338:2;4429:1;4454:50;4496:7;4487:6;4476:9;4472:22;4454:50;:::i;:::-;4444:60;;4400:114;4328:193;;;;:::o;4527:278::-;;4643:2;4631:9;4622:7;4618:23;4614:32;4611:2;;;4659:1;4656;4649:12;4611:2;4702:1;4727:61;4780:7;4771:6;4760:9;4756:22;4727:61;:::i;:::-;4717:71;;4673:125;4601:204;;;;:::o;4811:594::-;;;;4974:2;4962:9;4953:7;4949:23;4945:32;4942:2;;;4990:1;4987;4980:12;4942:2;5033:1;5058:66;5116:7;5107:6;5096:9;5092:22;5058:66;:::i;:::-;5048:76;;5004:130;5173:2;5199:61;5252:7;5243:6;5232:9;5228:22;5199:61;:::i;:::-;5189:71;;5144:126;5309:2;5335:53;5380:7;5371:6;5360:9;5356:22;5335:53;:::i;:::-;5325:63;;5280:118;4932:473;;;;;:::o;5411:262::-;;5519:2;5507:9;5498:7;5494:23;5490:32;5487:2;;;5535:1;5532;5525:12;5487:2;5578:1;5603:53;5648:7;5639:6;5628:9;5624:22;5603:53;:::i;:::-;5593:63;;5549:117;5477:196;;;;:::o;5679:596::-;;;;5832:2;5820:9;5811:7;5807:23;5803:32;5800:2;;;5848:1;5845;5838:12;5800:2;5891:1;5916:64;5972:7;5963:6;5952:9;5948:22;5916:64;:::i;:::-;5906:74;;5862:128;6029:2;6055:64;6111:7;6102:6;6091:9;6087:22;6055:64;:::i;:::-;6045:74;;6000:129;6168:2;6194:64;6250:7;6241:6;6230:9;6226:22;6194:64;:::i;:::-;6184:74;;6139:129;5790:485;;;;;:::o;6281:179::-;;6371:46;6413:3;6405:6;6371:46;:::i;:::-;6449:4;6444:3;6440:14;6426:28;;6361:99;;;;:::o;6466:147::-;6561:45;6600:5;6561:45;:::i;:::-;6556:3;6549:58;6539:74;;:::o;6619:142::-;6722:32;6748:5;6722:32;:::i;:::-;6717:3;6710:45;6700:61;;:::o;6767:108::-;6844:24;6862:5;6844:24;:::i;:::-;6839:3;6832:37;6822:53;;:::o;6881:118::-;6968:24;6986:5;6968:24;:::i;:::-;6963:3;6956:37;6946:53;;:::o;7035:732::-;;7183:54;7231:5;7183:54;:::i;:::-;7253:86;7332:6;7327:3;7253:86;:::i;:::-;7246:93;;7363:56;7413:5;7363:56;:::i;:::-;7442:7;7473:1;7458:284;7483:6;7480:1;7477:13;7458:284;;;7559:6;7553:13;7586:63;7645:3;7630:13;7586:63;:::i;:::-;7579:70;;7672:60;7725:6;7672:60;:::i;:::-;7662:70;;7518:224;7505:1;7502;7498:9;7493:14;;7458:284;;;7462:14;7758:3;7751:10;;7159:608;;;;;;;:::o;7773:109::-;7854:21;7869:5;7854:21;:::i;:::-;7849:3;7842:34;7832:50;;:::o;7888:147::-;7983:45;8022:5;7983:45;:::i;:::-;7978:3;7971:58;7961:74;;:::o;8041:364::-;;8157:39;8190:5;8157:39;:::i;:::-;8212:71;8276:6;8271:3;8212:71;:::i;:::-;8205:78;;8292:52;8337:6;8332:3;8325:4;8318:5;8314:16;8292:52;:::i;:::-;8369:29;8391:6;8369:29;:::i;:::-;8364:3;8360:39;8353:46;;8133:272;;;;;:::o;8411:367::-;;8574:67;8638:2;8633:3;8574:67;:::i;:::-;8567:74;;8671:34;8667:1;8662:3;8658:11;8651:55;8737:5;8732:2;8727:3;8723:12;8716:27;8769:2;8764:3;8760:12;8753:19;;8557:221;;;:::o;8784:370::-;;8947:67;9011:2;9006:3;8947:67;:::i;:::-;8940:74;;9044:34;9040:1;9035:3;9031:11;9024:55;9110:8;9105:2;9100:3;9096:12;9089:30;9145:2;9140:3;9136:12;9129:19;;8930:224;;;:::o;9160:366::-;;9323:67;9387:2;9382:3;9323:67;:::i;:::-;9316:74;;9420:34;9416:1;9411:3;9407:11;9400:55;9486:4;9481:2;9476:3;9472:12;9465:26;9517:2;9512:3;9508:12;9501:19;;9306:220;;;:::o;9532:389::-;;9695:67;9759:2;9754:3;9695:67;:::i;:::-;9688:74;;9792:34;9788:1;9783:3;9779:11;9772:55;9858:27;9853:2;9848:3;9844:12;9837:49;9912:2;9907:3;9903:12;9896:19;;9678:243;;;:::o;9927:370::-;;10090:67;10154:2;10149:3;10090:67;:::i;:::-;10083:74;;10187:34;10183:1;10178:3;10174:11;10167:55;10253:8;10248:2;10243:3;10239:12;10232:30;10288:2;10283:3;10279:12;10272:19;;10073:224;;;:::o;10303:372::-;;10466:67;10530:2;10525:3;10466:67;:::i;:::-;10459:74;;10563:34;10559:1;10554:3;10550:11;10543:55;10629:10;10624:2;10619:3;10615:12;10608:32;10666:2;10661:3;10657:12;10650:19;;10449:226;;;:::o;10681:382::-;;10844:67;10908:2;10903:3;10844:67;:::i;:::-;10837:74;;10941:34;10937:1;10932:3;10928:11;10921:55;11007:20;11002:2;10997:3;10993:12;10986:42;11054:2;11049:3;11045:12;11038:19;;10827:236;;;:::o;11069:327::-;;11232:67;11296:2;11291:3;11232:67;:::i;:::-;11225:74;;11329:31;11325:1;11320:3;11316:11;11309:52;11387:2;11382:3;11378:12;11371:19;;11215:181;;;:::o;11402:372::-;;11565:67;11629:2;11624:3;11565:67;:::i;:::-;11558:74;;11662:34;11658:1;11653:3;11649:11;11642:55;11728:10;11723:2;11718:3;11714:12;11707:32;11765:2;11760:3;11756:12;11749:19;;11548:226;;;:::o;11780:330::-;;11943:67;12007:2;12002:3;11943:67;:::i;:::-;11936:74;;12040:34;12036:1;12031:3;12027:11;12020:55;12101:2;12096:3;12092:12;12085:19;;11926:184;;;:::o;12116:379::-;;12279:67;12343:2;12338:3;12279:67;:::i;:::-;12272:74;;12376:34;12372:1;12367:3;12363:11;12356:55;12442:17;12437:2;12432:3;12428:12;12421:39;12486:2;12481:3;12477:12;12470:19;;12262:233;;;:::o;12501:369::-;;12664:67;12728:2;12723:3;12664:67;:::i;:::-;12657:74;;12761:34;12757:1;12752:3;12748:11;12741:55;12827:7;12822:2;12817:3;12813:12;12806:29;12861:2;12856:3;12852:12;12845:19;;12647:223;;;:::o;12876:368::-;;13039:67;13103:2;13098:3;13039:67;:::i;:::-;13032:74;;13136:34;13132:1;13127:3;13123:11;13116:55;13202:6;13197:2;13192:3;13188:12;13181:28;13235:2;13230:3;13226:12;13219:19;;13022:222;;;:::o;13250:315::-;;13413:67;13477:2;13472:3;13413:67;:::i;:::-;13406:74;;13510:19;13506:1;13501:3;13497:11;13490:40;13556:2;13551:3;13547:12;13540:19;;13396:169;;;:::o;13571:118::-;13658:24;13676:5;13658:24;:::i;:::-;13653:3;13646:37;13636:53;;:::o;13695:222::-;;13826:2;13815:9;13811:18;13803:26;;13839:71;13907:1;13896:9;13892:17;13883:6;13839:71;:::i;:::-;13793:124;;;;:::o;13923:254::-;;14070:2;14059:9;14055:18;14047:26;;14083:87;14167:1;14156:9;14152:17;14143:6;14083:87;:::i;:::-;14037:140;;;;:::o;14183:348::-;;14350:2;14339:9;14335:18;14327:26;;14363:79;14439:1;14428:9;14424:17;14415:6;14363:79;:::i;:::-;14452:72;14520:2;14509:9;14505:18;14496:6;14452:72;:::i;:::-;14317:214;;;;;:::o;14537:807::-;;14824:3;14813:9;14809:19;14801:27;;14838:71;14906:1;14895:9;14891:17;14882:6;14838:71;:::i;:::-;14919:72;14987:2;14976:9;14972:18;14963:6;14919:72;:::i;:::-;15001:80;15077:2;15066:9;15062:18;15053:6;15001:80;:::i;:::-;15091;15167:2;15156:9;15152:18;15143:6;15091:80;:::i;:::-;15181:73;15249:3;15238:9;15234:19;15225:6;15181:73;:::i;:::-;15264;15332:3;15321:9;15317:19;15308:6;15264:73;:::i;:::-;14791:553;;;;;;;;;:::o;15350:210::-;;15475:2;15464:9;15460:18;15452:26;;15488:65;15550:1;15539:9;15535:17;15526:6;15488:65;:::i;:::-;15442:118;;;;:::o;15566:313::-;;15717:2;15706:9;15702:18;15694:26;;15766:9;15760:4;15756:20;15752:1;15741:9;15737:17;15730:47;15794:78;15867:4;15858:6;15794:78;:::i;:::-;15786:86;;15684:195;;;;:::o;15885:419::-;;16089:2;16078:9;16074:18;16066:26;;16138:9;16132:4;16128:20;16124:1;16113:9;16109:17;16102:47;16166:131;16292:4;16166:131;:::i;:::-;16158:139;;16056:248;;;:::o;16310:419::-;;16514:2;16503:9;16499:18;16491:26;;16563:9;16557:4;16553:20;16549:1;16538:9;16534:17;16527:47;16591:131;16717:4;16591:131;:::i;:::-;16583:139;;16481:248;;;:::o;16735:419::-;;16939:2;16928:9;16924:18;16916:26;;16988:9;16982:4;16978:20;16974:1;16963:9;16959:17;16952:47;17016:131;17142:4;17016:131;:::i;:::-;17008:139;;16906:248;;;:::o;17160:419::-;;17364:2;17353:9;17349:18;17341:26;;17413:9;17407:4;17403:20;17399:1;17388:9;17384:17;17377:47;17441:131;17567:4;17441:131;:::i;:::-;17433:139;;17331:248;;;:::o;17585:419::-;;17789:2;17778:9;17774:18;17766:26;;17838:9;17832:4;17828:20;17824:1;17813:9;17809:17;17802:47;17866:131;17992:4;17866:131;:::i;:::-;17858:139;;17756:248;;;:::o;18010:419::-;;18214:2;18203:9;18199:18;18191:26;;18263:9;18257:4;18253:20;18249:1;18238:9;18234:17;18227:47;18291:131;18417:4;18291:131;:::i;:::-;18283:139;;18181:248;;;:::o;18435:419::-;;18639:2;18628:9;18624:18;18616:26;;18688:9;18682:4;18678:20;18674:1;18663:9;18659:17;18652:47;18716:131;18842:4;18716:131;:::i;:::-;18708:139;;18606:248;;;:::o;18860:419::-;;19064:2;19053:9;19049:18;19041:26;;19113:9;19107:4;19103:20;19099:1;19088:9;19084:17;19077:47;19141:131;19267:4;19141:131;:::i;:::-;19133:139;;19031:248;;;:::o;19285:419::-;;19489:2;19478:9;19474:18;19466:26;;19538:9;19532:4;19528:20;19524:1;19513:9;19509:17;19502:47;19566:131;19692:4;19566:131;:::i;:::-;19558:139;;19456:248;;;:::o;19710:419::-;;19914:2;19903:9;19899:18;19891:26;;19963:9;19957:4;19953:20;19949:1;19938:9;19934:17;19927:47;19991:131;20117:4;19991:131;:::i;:::-;19983:139;;19881:248;;;:::o;20135:419::-;;20339:2;20328:9;20324:18;20316:26;;20388:9;20382:4;20378:20;20374:1;20363:9;20359:17;20352:47;20416:131;20542:4;20416:131;:::i;:::-;20408:139;;20306:248;;;:::o;20560:419::-;;20764:2;20753:9;20749:18;20741:26;;20813:9;20807:4;20803:20;20799:1;20788:9;20784:17;20777:47;20841:131;20967:4;20841:131;:::i;:::-;20833:139;;20731:248;;;:::o;20985:419::-;;21189:2;21178:9;21174:18;21166:26;;21238:9;21232:4;21228:20;21224:1;21213:9;21209:17;21202:47;21266:131;21392:4;21266:131;:::i;:::-;21258:139;;21156:248;;;:::o;21410:419::-;;21614:2;21603:9;21599:18;21591:26;;21663:9;21657:4;21653:20;21649:1;21638:9;21634:17;21627:47;21691:131;21817:4;21691:131;:::i;:::-;21683:139;;21581:248;;;:::o;21835:222::-;;21966:2;21955:9;21951:18;21943:26;;21979:71;22047:1;22036:9;22032:17;22023:6;21979:71;:::i;:::-;21933:124;;;;:::o;22063:847::-;;22372:3;22361:9;22357:19;22349:27;;22386:71;22454:1;22443:9;22439:17;22430:6;22386:71;:::i;:::-;22467:80;22543:2;22532:9;22528:18;22519:6;22467:80;:::i;:::-;22594:9;22588:4;22584:20;22579:2;22568:9;22564:18;22557:48;22622:108;22725:4;22716:6;22622:108;:::i;:::-;22614:116;;22740:80;22816:2;22805:9;22801:18;22792:6;22740:80;:::i;:::-;22830:73;22898:3;22887:9;22883:19;22874:6;22830:73;:::i;:::-;22339:571;;;;;;;;:::o;22916:831::-;;23217:3;23206:9;23202:19;23194:27;;23231:71;23299:1;23288:9;23284:17;23275:6;23231:71;:::i;:::-;23312:80;23388:2;23377:9;23373:18;23364:6;23312:80;:::i;:::-;23439:9;23433:4;23429:20;23424:2;23413:9;23409:18;23402:48;23467:108;23570:4;23561:6;23467:108;:::i;:::-;23459:116;;23585:72;23653:2;23642:9;23638:18;23629:6;23585:72;:::i;:::-;23667:73;23735:3;23724:9;23720:19;23711:6;23667:73;:::i;:::-;23184:563;;;;;;;;:::o;23753:442::-;;23940:2;23929:9;23925:18;23917:26;;23953:71;24021:1;24010:9;24006:17;23997:6;23953:71;:::i;:::-;24034:72;24102:2;24091:9;24087:18;24078:6;24034:72;:::i;:::-;24116;24184:2;24173:9;24169:18;24160:6;24116:72;:::i;:::-;23907:288;;;;;;:::o;24201:132::-;;24291:3;24283:11;;24321:4;24316:3;24312:14;24304:22;;24273:60;;;:::o;24339:114::-;;24440:5;24434:12;24424:22;;24413:40;;;:::o;24459:99::-;;24545:5;24539:12;24529:22;;24518:40;;;:::o;24564:113::-;;24666:4;24661:3;24657:14;24649:22;;24639:38;;;:::o;24683:184::-;;24816:6;24811:3;24804:19;24856:4;24851:3;24847:14;24832:29;;24794:73;;;;:::o;24873:169::-;;24991:6;24986:3;24979:19;25031:4;25026:3;25022:14;25007:29;;24969:73;;;;:::o;25048:305::-;;25107:20;25125:1;25107:20;:::i;:::-;25102:25;;25141:20;25159:1;25141:20;:::i;:::-;25136:25;;25295:1;25227:66;25223:74;25220:1;25217:81;25214:2;;;25301:18;;:::i;:::-;25214:2;25345:1;25342;25338:9;25331:16;;25092:261;;;;:::o;25359:185::-;;25416:20;25434:1;25416:20;:::i;:::-;25411:25;;25450:20;25468:1;25450:20;:::i;:::-;25445:25;;25489:1;25479:2;;25494:18;;:::i;:::-;25479:2;25536:1;25533;25529:9;25524:14;;25401:143;;;;:::o;25550:348::-;;25613:20;25631:1;25613:20;:::i;:::-;25608:25;;25647:20;25665:1;25647:20;:::i;:::-;25642:25;;25835:1;25767:66;25763:74;25760:1;25757:81;25752:1;25745:9;25738:17;25734:105;25731:2;;;25842:18;;:::i;:::-;25731:2;25890:1;25887;25883:9;25872:20;;25598:300;;;;:::o;25904:191::-;;25964:20;25982:1;25964:20;:::i;:::-;25959:25;;25998:20;26016:1;25998:20;:::i;:::-;25993:25;;26037:1;26034;26031:8;26028:2;;;26042:18;;:::i;:::-;26028:2;26087:1;26084;26080:9;26072:17;;25949:146;;;;:::o;26101:96::-;;26167:24;26185:5;26167:24;:::i;:::-;26156:35;;26146:51;;;:::o;26203:104::-;;26277:24;26295:5;26277:24;:::i;:::-;26266:35;;26256:51;;;:::o;26313:90::-;;26390:5;26383:13;26376:21;26365:32;;26355:48;;;:::o;26409:109::-;;26488:24;26506:5;26488:24;:::i;:::-;26477:35;;26467:51;;;:::o;26524:126::-;;26601:42;26594:5;26590:54;26579:65;;26569:81;;;:::o;26656:77::-;;26722:5;26711:16;;26701:32;;;:::o;26739:134::-;;26830:37;26861:5;26830:37;:::i;:::-;26817:50;;26807:66;;;:::o;26879:121::-;;26970:24;26988:5;26970:24;:::i;:::-;26957:37;;26947:53;;;:::o;27006:126::-;;27089:37;27120:5;27089:37;:::i;:::-;27076:50;;27066:66;;;:::o;27138:113::-;;27221:24;27239:5;27221:24;:::i;:::-;27208:37;;27198:53;;;:::o;27257:307::-;27325:1;27335:113;27349:6;27346:1;27343:13;27335:113;;;27434:1;27429:3;27425:11;27419:18;27415:1;27410:3;27406:11;27399:39;27371:2;27368:1;27364:10;27359:15;;27335:113;;;27466:6;27463:1;27460:13;27457:2;;;27546:1;27537:6;27532:3;27528:16;27521:27;27457:2;27306:258;;;;:::o;27570:320::-;;27651:1;27645:4;27641:12;27631:22;;27698:1;27692:4;27688:12;27719:18;27709:2;;27775:4;27767:6;27763:17;27753:27;;27709:2;27837;27829:6;27826:14;27806:18;27803:38;27800:2;;;27856:18;;:::i;:::-;27800:2;27621:269;;;;:::o;27896:180::-;27944:77;27941:1;27934:88;28041:4;28038:1;28031:15;28065:4;28062:1;28055:15;28082:180;28130:77;28127:1;28120:88;28227:4;28224:1;28217:15;28251:4;28248:1;28241:15;28268:180;28316:77;28313:1;28306:88;28413:4;28410:1;28403:15;28437:4;28434:1;28427:15;28454:102;;28546:2;28542:7;28537:2;28530:5;28526:14;28522:28;28512:38;;28502:54;;;:::o;28562:122::-;28635:24;28653:5;28635:24;:::i;:::-;28628:5;28625:35;28615:2;;28674:1;28671;28664:12;28615:2;28605:79;:::o;28690:138::-;28771:32;28797:5;28771:32;:::i;:::-;28764:5;28761:43;28751:2;;28818:1;28815;28808:12;28751:2;28741:87;:::o;28834:116::-;28904:21;28919:5;28904:21;:::i;:::-;28897:5;28894:32;28884:2;;28940:1;28937;28930:12;28884:2;28874:76;:::o;28956:148::-;29042:37;29073:5;29042:37;:::i;:::-;29035:5;29032:48;29022:2;;29094:1;29091;29084:12;29022:2;29012:92;:::o;29110:122::-;29183:24;29201:5;29183:24;:::i;:::-;29176:5;29173:35;29163:2;;29222:1;29219;29212:12;29163:2;29153:79;:::o
Swarm Source
ipfs://6f17b72a5f4e95e4e69975e3b462f1b988f217a3b02d523b5081e36d0558014d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$2.23
Net Worth in ETH
0.001079
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,070.31 | 0.00107923 | $2.23 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.