Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 139 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Increase Limits | 15254679 | 1310 days ago | IN | 0 ETH | 0.0002273 | ||||
| Approve | 15247011 | 1311 days ago | IN | 0 ETH | 0.00040345 | ||||
| Approve | 15196378 | 1319 days ago | IN | 0 ETH | 0.00037048 | ||||
| Approve | 15194763 | 1320 days ago | IN | 0 ETH | 0.00048635 | ||||
| Approve | 15175644 | 1323 days ago | IN | 0 ETH | 0.00083776 | ||||
| Approve | 15172288 | 1323 days ago | IN | 0 ETH | 0.00040388 | ||||
| Approve | 15159859 | 1325 days ago | IN | 0 ETH | 0.00035229 | ||||
| Transfer | 15158126 | 1325 days ago | IN | 0 ETH | 0.0014929 | ||||
| Approve | 15156461 | 1325 days ago | IN | 0 ETH | 0.00109555 | ||||
| Approve | 15156132 | 1326 days ago | IN | 0 ETH | 0.00080596 | ||||
| Approve | 15155751 | 1326 days ago | IN | 0 ETH | 0.00079914 | ||||
| Approve | 15155530 | 1326 days ago | IN | 0 ETH | 0.00103837 | ||||
| Approve | 15155291 | 1326 days ago | IN | 0 ETH | 0.00225417 | ||||
| Approve | 15155132 | 1326 days ago | IN | 0 ETH | 0.00131708 | ||||
| Approve | 15155119 | 1326 days ago | IN | 0 ETH | 0.0013525 | ||||
| Approve | 15155085 | 1326 days ago | IN | 0 ETH | 0.00162995 | ||||
| Approve | 15155040 | 1326 days ago | IN | 0 ETH | 0.0019197 | ||||
| Approve | 15155014 | 1326 days ago | IN | 0 ETH | 0.00159922 | ||||
| Approve | 15154982 | 1326 days ago | IN | 0 ETH | 0.00186151 | ||||
| Approve | 15154914 | 1326 days ago | IN | 0 ETH | 0.00216355 | ||||
| Approve | 15154830 | 1326 days ago | IN | 0 ETH | 0.0051301 | ||||
| Approve | 15154744 | 1326 days ago | IN | 0 ETH | 0.01160525 | ||||
| Approve | 15154674 | 1326 days ago | IN | 0 ETH | 0.00188864 | ||||
| Transfer | 15154664 | 1326 days ago | IN | 0 ETH | 0.00339675 | ||||
| Approve | 15154656 | 1326 days ago | IN | 0 ETH | 0.00146548 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 15159389 | 1325 days ago | 0.02208988 ETH | ||||
| Transfer | 15159389 | 1325 days ago | 0.02208988 ETH | ||||
| Transfer | 15159389 | 1325 days ago | 0.04417976 ETH | ||||
| Transfer | 15155644 | 1326 days ago | 0.03386937 ETH | ||||
| Transfer | 15155644 | 1326 days ago | 0.03386937 ETH | ||||
| Transfer | 15155644 | 1326 days ago | 0.06773875 ETH | ||||
| Transfer | 15155076 | 1326 days ago | 0.05809918 ETH | ||||
| Transfer | 15155076 | 1326 days ago | 0.05809918 ETH | ||||
| Transfer | 15155076 | 1326 days ago | 0.11619836 ETH | ||||
| Transfer | 15155045 | 1326 days ago | 0.11619836 ETH | ||||
| Transfer | 15154824 | 1326 days ago | 0.10673701 ETH | ||||
| Transfer | 15154824 | 1326 days ago | 0.10673701 ETH | ||||
| Transfer | 15154824 | 1326 days ago | 0.21347403 ETH | ||||
| Transfer | 15154580 | 1326 days ago | 0.14733911 ETH | ||||
| Transfer | 15154580 | 1326 days ago | 0.14733911 ETH | ||||
| Transfer | 15154580 | 1326 days ago | 0.29467823 ETH | ||||
| Transfer | 15154507 | 1326 days ago | 0.12807847 ETH | ||||
| Transfer | 15154507 | 1326 days ago | 0.12807847 ETH | ||||
| Transfer | 15154507 | 1326 days ago | 0.25615695 ETH | ||||
| Transfer | 15154414 | 1326 days ago | 0.14469381 ETH | ||||
| Transfer | 15154414 | 1326 days ago | 0.14469381 ETH | ||||
| Transfer | 15154414 | 1326 days ago | 0.28938763 ETH | ||||
| Transfer | 15154381 | 1326 days ago | 0.08068053 ETH | ||||
| Transfer | 15154381 | 1326 days ago | 0.08068053 ETH | ||||
| Transfer | 15154381 | 1326 days ago | 0.16136106 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
GriffinToken
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-07-16
*/
// SPDX-License-Identifier: Unlicensed
/**
Griffin Token (GRIFFIN)
Taxes
1% Reflection
3% Development
3% Marketing
TG : https://t.me/GriffinERC20
*/
// SPDX-License-Identifier: unlicense
pragma solidity ^0.8.7;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract GriffinToken is Context, IERC20, Ownable {
using SafeMath for uint256;
string private constant _name = "Griffin Token";//
string private constant _symbol = "GRIFFIN";//
uint8 private constant _decimals = 9;
mapping(address => uint256) private _rOwned;
mapping(address => uint256) private _tOwned;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
uint256 private constant MAX = ~uint256(0);
uint256 private constant _tTotal = 10000000 * 10**9;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
uint256 public launchBlock;
//Buy Fee
uint256 private _redisFeeOnBuy = 1;//
uint256 private _taxFeeOnBuy = 6;//
//Sell Fee
uint256 private _redisFeeOnSell = 1;//
uint256 private _taxFeeOnSell = 6;//
//Original Fee
uint256 private _redisFee = _redisFeeOnSell;
uint256 private _taxFee = _taxFeeOnSell;
uint256 private _previousredisFee = _redisFee;
uint256 private _previoustaxFee = _taxFee;
mapping(address => bool) public bots;
mapping(address => uint256) private cooldown;
address payable private _developmentAddress = payable(0xC1eA5ec17f73deea06c358Ef4e2178E69a3565A2);
address payable private _marketingAddress = payable(0x531eD89742324e7cde77e28d35eb9b042Ad6E617);
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = true;
uint256 public _maxTxAmount = 50000 * 10**9; //
uint256 public _maxWalletSize = 50000 * 10**9; //
uint256 public _swapTokensAtAmount = 100000 * 10**9; //
event MaxTxAmountUpdated(uint256 _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor() {
_rOwned[_msgSender()] = _rTotal;
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
uniswapV2Router = _uniswapV2Router;
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_developmentAddress] = true;
_isExcludedFromFee[_marketingAddress] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return tokenFromReflection(_rOwned[account]);
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function tokenFromReflection(uint256 rAmount)
private
view
returns (uint256)
{
require(
rAmount <= _rTotal,
"Amount must be less than total reflections"
);
uint256 currentRate = _getRate();
return rAmount.div(currentRate);
}
function removeAllFee() private {
if (_redisFee == 0 && _taxFee == 0) return;
_previousredisFee = _redisFee;
_previoustaxFee = _taxFee;
_redisFee = 0;
_taxFee = 0;
}
function restoreAllFee() private {
_redisFee = _previousredisFee;
_taxFee = _previoustaxFee;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
if (from != owner() && to != owner()) {
//Trade start check
if (!tradingOpen) {
require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
}
require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
if(block.number <= launchBlock && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){
bots[to] = true;
}
if(to != uniswapV2Pair) {
require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
if(contractTokenBalance >= _maxTxAmount)
{
contractTokenBalance = _maxTxAmount;
}
if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
swapTokensForEth(contractTokenBalance);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
bool takeFee = true;
//Transfer Tokens
if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
takeFee = false;
} else {
//Set Fee for Buys
if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
_redisFee = _redisFeeOnBuy;
_taxFee = _taxFeeOnBuy;
}
//Set Fee for Sells
if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
_redisFee = _redisFeeOnSell;
_taxFee = _taxFeeOnSell;
}
}
_tokenTransfer(from, to, amount, takeFee);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
_developmentAddress.transfer(amount.div(2));
_marketingAddress.transfer(amount.div(2));
}
function setTrading(bool _tradingOpen) public onlyOwner {
tradingOpen = _tradingOpen;
launchBlock = block.number;
}
function manualswap() external {
require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
uint256 contractBalance = balanceOf(address(this));
swapTokensForEth(contractBalance);
}
function manualsend() external {
require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function _tokenTransfer(
address sender,
address recipient,
uint256 amount,
bool takeFee
) private {
if (!takeFee) removeAllFee();
_transferStandard(sender, recipient, amount);
if (!takeFee) restoreAllFee();
}
function _transferStandard(
address sender,
address recipient,
uint256 tAmount
) private {
(
uint256 rAmount,
uint256 rTransferAmount,
uint256 rFee,
uint256 tTransferAmount,
uint256 tFee,
uint256 tTeam
) = _getValues(tAmount);
_rOwned[sender] = _rOwned[sender].sub(rAmount);
_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
_takeTeam(tTeam);
_reflectFee(rFee, tFee);
emit Transfer(sender, recipient, tTransferAmount);
}
function _takeTeam(uint256 tTeam) private {
uint256 currentRate = _getRate();
uint256 rTeam = tTeam.mul(currentRate);
_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
}
function _reflectFee(uint256 rFee, uint256 tFee) private {
_rTotal = _rTotal.sub(rFee);
_tFeeTotal = _tFeeTotal.add(tFee);
}
receive() external payable {}
function _getValues(uint256 tAmount)
private
view
returns (
uint256,
uint256,
uint256,
uint256,
uint256,
uint256
)
{
(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
_getTValues(tAmount, _redisFee, _taxFee);
uint256 currentRate = _getRate();
(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tTeam, currentRate);
return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
}
function _getTValues(
uint256 tAmount,
uint256 redisFee,
uint256 taxFee
)
private
pure
returns (
uint256,
uint256,
uint256
)
{
uint256 tFee = tAmount.mul(redisFee).div(100);
uint256 tTeam = tAmount.mul(taxFee).div(100);
uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
return (tTransferAmount, tFee, tTeam);
}
function _getRValues(
uint256 tAmount,
uint256 tFee,
uint256 tTeam,
uint256 currentRate
)
private
pure
returns (
uint256,
uint256,
uint256
)
{
uint256 rAmount = tAmount.mul(currentRate);
uint256 rFee = tFee.mul(currentRate);
uint256 rTeam = tTeam.mul(currentRate);
uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
return (rAmount, rTransferAmount, rFee);
}
function _getRate() private view returns (uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply.div(tSupply);
}
function _getCurrentSupply() private view returns (uint256, uint256) {
uint256 rSupply = _rTotal;
uint256 tSupply = _tTotal;
if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
return (rSupply, tSupply);
}
//Set minimum tokens required to swap.
function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
_swapTokensAtAmount = swapTokensAtAmount;
}
//Set minimum tokens required to swap.
function toggleSwap(bool _swapEnabled) public onlyOwner {
swapEnabled = _swapEnabled;
}
//Can Increase Max Limits after renounce . Cannot Lower
function increaseLimits(uint256 maxTxAmount_, uint256 maxWalletSize_) public {
require(_msgSender() == _developmentAddress);
require(maxTxAmount_ > _maxTxAmount && maxTxAmount_ <= totalSupply(), "Out of range");
require(maxWalletSize_ > _maxWalletSize && maxWalletSize_ <= totalSupply(), "Out of range");
_maxTxAmount = maxTxAmount_;
_maxWalletSize = maxWalletSize_;
}
function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
for(uint256 i = 0; i < accounts.length; i++) {
_isExcludedFromFee[accounts[i]] = excluded;
}
}
}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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount_","type":"uint256"},{"internalType":"uint256","name":"maxWalletSize_","type":"uint256"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"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":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052662386f26fc100006000196200001b91906200082f565b6000196200002a9190620007b6565b600555600160085560066009556001600a556006600b55600a54600c55600b54600d55600c54600e55600d54600f5573c1ea5ec17f73deea06c358ef4e2178e69a3565a2601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073531ed89742324e7cde77e28d35eb9b042ad6e617601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff021916908315150217905550652d79883d2000601655652d79883d2000601755655af3107a40006018553480156200016357600080fd5b50600062000176620006d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600554600160006200022b620006d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030a57600080fd5b505afa1580156200031f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000345919062000718565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a857600080fd5b505afa158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e3919062000718565b6040518363ffffffff1660e01b8152600401620004029291906200076c565b602060405180830381600087803b1580156200041d57600080fd5b505af115801562000432573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000458919062000718565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000620004ae620006d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200065b620006d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc10000604051620006c1919062000799565b60405180910390a350620008e4565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200071281620008ca565b92915050565b600060208284031215620007315762000730620008c5565b5b6000620007418482850162000701565b91505092915050565b6200075581620007f1565b82525050565b620007668162000825565b82525050565b60006040820190506200078360008301856200074a565b6200079260208301846200074a565b9392505050565b6000602082019050620007b060008301846200075b565b92915050565b6000620007c38262000825565b9150620007d08362000825565b925082821015620007e657620007e562000867565b5b828203905092915050565b6000620007fe8262000805565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200083c8262000825565b9150620008498362000825565b9250826200085c576200085b62000896565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620008d581620007f1565b8114620008e157600080fd5b50565b613a7080620008f46000396000f3fe6080604052600436106101855760003560e01c80637d1db4a5116100d1578063a9059cbb1161008a578063c492f04611610064578063c492f04614610559578063d00efb2f14610582578063dd62ed3e146105ad578063f2fde38b146105ea5761018c565b8063a9059cbb146104c8578063bfd7928414610505578063c3c8cd80146105425761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f70ccf7146104205780638f9a55c01461044957806395d89b411461047457806398a5c3151461049f5761018c565b8063313ce5671161013e5780636fc3eaec116101185780636fc3eaec1461033657806370a082311461034d578063715018a61461038a57806378f8484b146103a15761018c565b8063313ce567146102b757806349bd5a5e146102e25780636d8aa8f81461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101f957806318160ddd1461022457806323b872dd1461024f5780632fd689e31461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610613565b6040516101b39190612fc9565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612b19565b610650565b6040516101f09190612f93565b60405180910390f35b34801561020557600080fd5b5061020e61066e565b60405161021b9190612fae565b60405180910390f35b34801561023057600080fd5b50610239610694565b60405161024691906131cb565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612ac6565b6106a3565b6040516102839190612f93565b60405180910390f35b34801561029857600080fd5b506102a161077c565b6040516102ae91906131cb565b60405180910390f35b3480156102c357600080fd5b506102cc610782565b6040516102d99190613240565b60405180910390f35b3480156102ee57600080fd5b506102f761078b565b6040516103049190612f78565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612bb9565b6107b1565b005b34801561034257600080fd5b5061034b610863565b005b34801561035957600080fd5b50610374600480360381019061036f9190612a2c565b610934565b60405161038191906131cb565b60405180910390f35b34801561039657600080fd5b5061039f610985565b005b3480156103ad57600080fd5b506103c860048036038101906103c39190612c13565b610ad8565b005b3480156103d657600080fd5b506103df610bf9565b6040516103ec91906131cb565b60405180910390f35b34801561040157600080fd5b5061040a610bff565b6040516104179190612f78565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612bb9565b610c28565b005b34801561045557600080fd5b5061045e610ce1565b60405161046b91906131cb565b60405180910390f35b34801561048057600080fd5b50610489610ce7565b6040516104969190612fc9565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190612be6565b610d24565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190612b19565b610dc3565b6040516104fc9190612f93565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190612a2c565b610de1565b6040516105399190612f93565b60405180910390f35b34801561054e57600080fd5b50610557610e01565b005b34801561056557600080fd5b50610580600480360381019061057b9190612b59565b610eda565b005b34801561058e57600080fd5b50610597611014565b6040516105a491906131cb565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190612a86565b61101a565b6040516105e191906131cb565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190612a2c565b6110a1565b005b60606040518060400160405280600d81526020017f4772696666696e20546f6b656e00000000000000000000000000000000000000815250905090565b600061066461065d611263565b848461126b565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000662386f26fc10000905090565b60006106b0848484611436565b610771846106bc611263565b61076c85604051806060016040528060288152602001613a1360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610722611263565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0b9092919063ffffffff16565b61126b565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107b9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d9061310b565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a4611263565b73ffffffffffffffffffffffffffffffffffffffff16148061091a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610902611263565b73ffffffffffffffffffffffffffffffffffffffff16145b61092357600080fd5b600047905061093181611e6f565b50565b600061097e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6a565b9050919050565b61098d611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a119061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b19611263565b73ffffffffffffffffffffffffffffffffffffffff1614610b3957600080fd5b60165482118015610b515750610b4d610694565b8211155b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b879061318b565b60405180910390fd5b60175481118015610ba85750610ba4610694565b8111155b610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde9061318b565b60405180910390fd5b81601681905550806017819055505050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c30611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb49061310b565b60405180910390fd5b80601560146101000a81548160ff0219169083151502179055504360078190555050565b60175481565b60606040518060400160405280600781526020017f4752494646494e00000000000000000000000000000000000000000000000000815250905090565b610d2c611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db09061310b565b60405180910390fd5b8060188190555050565b6000610dd7610dd0611263565b8484611436565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e42611263565b73ffffffffffffffffffffffffffffffffffffffff161480610eb85750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea0611263565b73ffffffffffffffffffffffffffffffffffffffff16145b610ec157600080fd5b6000610ecc30610934565b9050610ed781611fd8565b50565b610ee2611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f669061310b565b60405180910390fd5b60005b8383905081101561100e578160046000868685818110610f9557610f9461353c565b5b9050602002016020810190610faa9190612a2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061100690613495565b915050610f72565b50505050565b60075481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110a9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d9061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d9061306b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906131ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113429061308b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142991906131cb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d9061314b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612feb565b60405180910390fd5b60008111611559576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115509061312b565b60405180910390fd5b611561610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115cf575061159f610bff565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b0a57601560149054906101000a900460ff1661165e576115f0610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461165d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116549061300b565b60405180910390fd5b5b6016548111156116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169a9061304b565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117475750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906130ab565b60405180910390fd5b60075443111580156117e55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561183f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118d5576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611983576017548161193784610934565b61194191906132b0565b1115611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061316b565b60405180910390fd5b5b600061198e30610934565b90506000601854821015905060165482106119a95760165491505b8080156119c1575060158054906101000a900460ff16155b8015611a1b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750601560169054906101000a900460ff165b8015611a895750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611adf5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b0757611aed82611fd8565b60004790506000811115611b0557611b0447611e6f565b5b505b50505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bb15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c645750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c635750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611c725760009050611df9565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d1d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3557600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611de05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611df857600a54600c81905550600b54600d819055505b5b611e058484848461225e565b50505050565b6000838311158290611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a9190612fc9565b60405180910390fd5b5060008385611e629190613391565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ebf60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611eea573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f3b60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f66573d6000803e3d6000fd5b5050565b6000600554821115611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa89061302b565b60405180910390fd5b6000611fbb6122d5565b9050611fd0818461228b90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561200f5761200e61356b565b5b60405190808252806020026020018201604052801561203d5781602001602082028036833780820191505090505b50905030816000815181106120555761205461353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120f757600080fd5b505afa15801561210b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212f9190612a59565b816001815181106121435761214261353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121aa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461126b565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161220e9594939291906131e6565b600060405180830381600087803b15801561222857600080fd5b505af115801561223c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061226c5761226b612300565b5b612277848484612343565b806122855761228461250e565b5b50505050565b60006122cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612522565b905092915050565b60008060006122e2612585565b915091506122f9818361228b90919063ffffffff16565b9250505090565b6000600c5414801561231457506000600d54145b1561231e57612341565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612355876125e1565b9550955095509550955095506123b386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061244885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612494816126f1565b61249e84836127ae565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124fb91906131cb565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008083118290612569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125609190612fc9565b60405180910390fd5b50600083856125789190613306565b9050809150509392505050565b600080600060055490506000662386f26fc1000090506125b7662386f26fc1000060055461228b90919063ffffffff16565b8210156125d457600554662386f26fc100009350935050506125dd565b81819350935050505b9091565b60008060008060008060008060006125fe8a600c54600d546127e8565b925092509250600061260e6122d5565b905060008060006126218e87878761287e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061268b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0b565b905092915050565b60008082846126a291906132b0565b9050838110156126e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126de906130cb565b60405180910390fd5b8091505092915050565b60006126fb6122d5565b90506000612712828461290790919063ffffffff16565b905061276681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127c38260055461264990919063ffffffff16565b6005819055506127de8160065461269390919063ffffffff16565b6006819055505050565b6000806000806128146064612806888a61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061283e6064612830888b61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061286782612859858c61264990919063ffffffff16565b61264990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612897858961290790919063ffffffff16565b905060006128ae868961290790919063ffffffff16565b905060006128c5878961290790919063ffffffff16565b905060006128ee826128e0858761264990919063ffffffff16565b61264990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561291a576000905061297c565b600082846129289190613337565b90508284826129379190613306565b14612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e906130eb565b60405180910390fd5b809150505b92915050565b600081359050612991816139cd565b92915050565b6000815190506129a6816139cd565b92915050565b60008083601f8401126129c2576129c161359f565b5b8235905067ffffffffffffffff8111156129df576129de61359a565b5b6020830191508360208202830111156129fb576129fa6135a4565b5b9250929050565b600081359050612a11816139e4565b92915050565b600081359050612a26816139fb565b92915050565b600060208284031215612a4257612a416135ae565b5b6000612a5084828501612982565b91505092915050565b600060208284031215612a6f57612a6e6135ae565b5b6000612a7d84828501612997565b91505092915050565b60008060408385031215612a9d57612a9c6135ae565b5b6000612aab85828601612982565b9250506020612abc85828601612982565b9150509250929050565b600080600060608486031215612adf57612ade6135ae565b5b6000612aed86828701612982565b9350506020612afe86828701612982565b9250506040612b0f86828701612a17565b9150509250925092565b60008060408385031215612b3057612b2f6135ae565b5b6000612b3e85828601612982565b9250506020612b4f85828601612a17565b9150509250929050565b600080600060408486031215612b7257612b716135ae565b5b600084013567ffffffffffffffff811115612b9057612b8f6135a9565b5b612b9c868287016129ac565b93509350506020612baf86828701612a02565b9150509250925092565b600060208284031215612bcf57612bce6135ae565b5b6000612bdd84828501612a02565b91505092915050565b600060208284031215612bfc57612bfb6135ae565b5b6000612c0a84828501612a17565b91505092915050565b60008060408385031215612c2a57612c296135ae565b5b6000612c3885828601612a17565b9250506020612c4985828601612a17565b9150509250929050565b6000612c5f8383612c6b565b60208301905092915050565b612c74816133c5565b82525050565b612c83816133c5565b82525050565b6000612c948261326b565b612c9e818561328e565b9350612ca98361325b565b8060005b83811015612cda578151612cc18882612c53565b9750612ccc83613281565b925050600181019050612cad565b5085935050505092915050565b612cf0816133d7565b82525050565b612cff8161341a565b82525050565b612d0e8161342c565b82525050565b6000612d1f82613276565b612d29818561329f565b9350612d39818560208601613462565b612d42816135b3565b840191505092915050565b6000612d5a60238361329f565b9150612d65826135c4565b604082019050919050565b6000612d7d603f8361329f565b9150612d8882613613565b604082019050919050565b6000612da0602a8361329f565b9150612dab82613662565b604082019050919050565b6000612dc3601c8361329f565b9150612dce826136b1565b602082019050919050565b6000612de660268361329f565b9150612df1826136da565b604082019050919050565b6000612e0960228361329f565b9150612e1482613729565b604082019050919050565b6000612e2c60238361329f565b9150612e3782613778565b604082019050919050565b6000612e4f601b8361329f565b9150612e5a826137c7565b602082019050919050565b6000612e7260218361329f565b9150612e7d826137f0565b604082019050919050565b6000612e9560208361329f565b9150612ea08261383f565b602082019050919050565b6000612eb860298361329f565b9150612ec382613868565b604082019050919050565b6000612edb60258361329f565b9150612ee6826138b7565b604082019050919050565b6000612efe60238361329f565b9150612f0982613906565b604082019050919050565b6000612f21600c8361329f565b9150612f2c82613955565b602082019050919050565b6000612f4460248361329f565b9150612f4f8261397e565b604082019050919050565b612f6381613403565b82525050565b612f728161340d565b82525050565b6000602082019050612f8d6000830184612c7a565b92915050565b6000602082019050612fa86000830184612ce7565b92915050565b6000602082019050612fc36000830184612cf6565b92915050565b60006020820190508181036000830152612fe38184612d14565b905092915050565b6000602082019050818103600083015261300481612d4d565b9050919050565b6000602082019050818103600083015261302481612d70565b9050919050565b6000602082019050818103600083015261304481612d93565b9050919050565b6000602082019050818103600083015261306481612db6565b9050919050565b6000602082019050818103600083015261308481612dd9565b9050919050565b600060208201905081810360008301526130a481612dfc565b9050919050565b600060208201905081810360008301526130c481612e1f565b9050919050565b600060208201905081810360008301526130e481612e42565b9050919050565b6000602082019050818103600083015261310481612e65565b9050919050565b6000602082019050818103600083015261312481612e88565b9050919050565b6000602082019050818103600083015261314481612eab565b9050919050565b6000602082019050818103600083015261316481612ece565b9050919050565b6000602082019050818103600083015261318481612ef1565b9050919050565b600060208201905081810360008301526131a481612f14565b9050919050565b600060208201905081810360008301526131c481612f37565b9050919050565b60006020820190506131e06000830184612f5a565b92915050565b600060a0820190506131fb6000830188612f5a565b6132086020830187612d05565b818103604083015261321a8186612c89565b90506132296060830185612c7a565b6132366080830184612f5a565b9695505050505050565b60006020820190506132556000830184612f69565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132bb82613403565b91506132c683613403565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132fb576132fa6134de565b5b828201905092915050565b600061331182613403565b915061331c83613403565b92508261332c5761332b61350d565b5b828204905092915050565b600061334282613403565b915061334d83613403565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613386576133856134de565b5b828202905092915050565b600061339c82613403565b91506133a783613403565b9250828210156133ba576133b96134de565b5b828203905092915050565b60006133d0826133e3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006134258261343e565b9050919050565b600061343782613403565b9050919050565b600061344982613450565b9050919050565b600061345b826133e3565b9050919050565b60005b83811015613480578082015181840152602081019050613465565b8381111561348f576000848401525b50505050565b60006134a082613403565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134d3576134d26134de565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f4f7574206f662072616e67650000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6139d6816133c5565b81146139e157600080fd5b50565b6139ed816133d7565b81146139f857600080fd5b50565b613a0481613403565b8114613a0f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ea2494a4d7ee6f1c7b2c8b6a9b157f1313ea8f9b2efb9ae63158ade71f772c2764736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101855760003560e01c80637d1db4a5116100d1578063a9059cbb1161008a578063c492f04611610064578063c492f04614610559578063d00efb2f14610582578063dd62ed3e146105ad578063f2fde38b146105ea5761018c565b8063a9059cbb146104c8578063bfd7928414610505578063c3c8cd80146105425761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f70ccf7146104205780638f9a55c01461044957806395d89b411461047457806398a5c3151461049f5761018c565b8063313ce5671161013e5780636fc3eaec116101185780636fc3eaec1461033657806370a082311461034d578063715018a61461038a57806378f8484b146103a15761018c565b8063313ce567146102b757806349bd5a5e146102e25780636d8aa8f81461030d5761018c565b806306fdde0314610191578063095ea7b3146101bc5780631694505e146101f957806318160ddd1461022457806323b872dd1461024f5780632fd689e31461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610613565b6040516101b39190612fc9565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612b19565b610650565b6040516101f09190612f93565b60405180910390f35b34801561020557600080fd5b5061020e61066e565b60405161021b9190612fae565b60405180910390f35b34801561023057600080fd5b50610239610694565b60405161024691906131cb565b60405180910390f35b34801561025b57600080fd5b5061027660048036038101906102719190612ac6565b6106a3565b6040516102839190612f93565b60405180910390f35b34801561029857600080fd5b506102a161077c565b6040516102ae91906131cb565b60405180910390f35b3480156102c357600080fd5b506102cc610782565b6040516102d99190613240565b60405180910390f35b3480156102ee57600080fd5b506102f761078b565b6040516103049190612f78565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612bb9565b6107b1565b005b34801561034257600080fd5b5061034b610863565b005b34801561035957600080fd5b50610374600480360381019061036f9190612a2c565b610934565b60405161038191906131cb565b60405180910390f35b34801561039657600080fd5b5061039f610985565b005b3480156103ad57600080fd5b506103c860048036038101906103c39190612c13565b610ad8565b005b3480156103d657600080fd5b506103df610bf9565b6040516103ec91906131cb565b60405180910390f35b34801561040157600080fd5b5061040a610bff565b6040516104179190612f78565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612bb9565b610c28565b005b34801561045557600080fd5b5061045e610ce1565b60405161046b91906131cb565b60405180910390f35b34801561048057600080fd5b50610489610ce7565b6040516104969190612fc9565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c19190612be6565b610d24565b005b3480156104d457600080fd5b506104ef60048036038101906104ea9190612b19565b610dc3565b6040516104fc9190612f93565b60405180910390f35b34801561051157600080fd5b5061052c60048036038101906105279190612a2c565b610de1565b6040516105399190612f93565b60405180910390f35b34801561054e57600080fd5b50610557610e01565b005b34801561056557600080fd5b50610580600480360381019061057b9190612b59565b610eda565b005b34801561058e57600080fd5b50610597611014565b6040516105a491906131cb565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190612a86565b61101a565b6040516105e191906131cb565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190612a2c565b6110a1565b005b60606040518060400160405280600d81526020017f4772696666696e20546f6b656e00000000000000000000000000000000000000815250905090565b600061066461065d611263565b848461126b565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000662386f26fc10000905090565b60006106b0848484611436565b610771846106bc611263565b61076c85604051806060016040528060288152602001613a1360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610722611263565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0b9092919063ffffffff16565b61126b565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107b9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d9061310b565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a4611263565b73ffffffffffffffffffffffffffffffffffffffff16148061091a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610902611263565b73ffffffffffffffffffffffffffffffffffffffff16145b61092357600080fd5b600047905061093181611e6f565b50565b600061097e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6a565b9050919050565b61098d611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a119061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b19611263565b73ffffffffffffffffffffffffffffffffffffffff1614610b3957600080fd5b60165482118015610b515750610b4d610694565b8211155b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b879061318b565b60405180910390fd5b60175481118015610ba85750610ba4610694565b8111155b610be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bde9061318b565b60405180910390fd5b81601681905550806017819055505050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c30611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb49061310b565b60405180910390fd5b80601560146101000a81548160ff0219169083151502179055504360078190555050565b60175481565b60606040518060400160405280600781526020017f4752494646494e00000000000000000000000000000000000000000000000000815250905090565b610d2c611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db09061310b565b60405180910390fd5b8060188190555050565b6000610dd7610dd0611263565b8484611436565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e42611263565b73ffffffffffffffffffffffffffffffffffffffff161480610eb85750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ea0611263565b73ffffffffffffffffffffffffffffffffffffffff16145b610ec157600080fd5b6000610ecc30610934565b9050610ed781611fd8565b50565b610ee2611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f669061310b565b60405180910390fd5b60005b8383905081101561100e578160046000868685818110610f9557610f9461353c565b5b9050602002016020810190610faa9190612a2c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061100690613495565b915050610f72565b50505050565b60075481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110a9611263565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d9061310b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d9061306b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d2906131ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113429061308b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161142991906131cb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d9061314b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90612feb565b60405180910390fd5b60008111611559576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115509061312b565b60405180910390fd5b611561610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115cf575061159f610bff565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b0a57601560149054906101000a900460ff1661165e576115f0610bff565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461165d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116549061300b565b60405180910390fd5b5b6016548111156116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169a9061304b565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117475750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906130ab565b60405180910390fd5b60075443111580156117e55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561183f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187757503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118d5576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611983576017548161193784610934565b61194191906132b0565b1115611982576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119799061316b565b60405180910390fd5b5b600061198e30610934565b90506000601854821015905060165482106119a95760165491505b8080156119c1575060158054906101000a900460ff16155b8015611a1b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a335750601560169054906101000a900460ff165b8015611a895750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611adf5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b0757611aed82611fd8565b60004790506000811115611b0557611b0447611e6f565b5b505b50505b600060019050600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bb15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c645750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c635750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611c725760009050611df9565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d1d5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3557600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611de05750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611df857600a54600c81905550600b54600d819055505b5b611e058484848461225e565b50505050565b6000838311158290611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a9190612fc9565b60405180910390fd5b5060008385611e629190613391565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ebf60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611eea573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f3b60028461228b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f66573d6000803e3d6000fd5b5050565b6000600554821115611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa89061302b565b60405180910390fd5b6000611fbb6122d5565b9050611fd0818461228b90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561200f5761200e61356b565b5b60405190808252806020026020018201604052801561203d5781602001602082028036833780820191505090505b50905030816000815181106120555761205461353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120f757600080fd5b505afa15801561210b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212f9190612a59565b816001815181106121435761214261353c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121aa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461126b565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161220e9594939291906131e6565b600060405180830381600087803b15801561222857600080fd5b505af115801561223c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061226c5761226b612300565b5b612277848484612343565b806122855761228461250e565b5b50505050565b60006122cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612522565b905092915050565b60008060006122e2612585565b915091506122f9818361228b90919063ffffffff16565b9250505090565b6000600c5414801561231457506000600d54145b1561231e57612341565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612355876125e1565b9550955095509550955095506123b386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461264990919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061244885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612494816126f1565b61249e84836127ae565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124fb91906131cb565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008083118290612569576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125609190612fc9565b60405180910390fd5b50600083856125789190613306565b9050809150509392505050565b600080600060055490506000662386f26fc1000090506125b7662386f26fc1000060055461228b90919063ffffffff16565b8210156125d457600554662386f26fc100009350935050506125dd565b81819350935050505b9091565b60008060008060008060008060006125fe8a600c54600d546127e8565b925092509250600061260e6122d5565b905060008060006126218e87878761287e565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061268b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0b565b905092915050565b60008082846126a291906132b0565b9050838110156126e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126de906130cb565b60405180910390fd5b8091505092915050565b60006126fb6122d5565b90506000612712828461290790919063ffffffff16565b905061276681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127c38260055461264990919063ffffffff16565b6005819055506127de8160065461269390919063ffffffff16565b6006819055505050565b6000806000806128146064612806888a61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061283e6064612830888b61290790919063ffffffff16565b61228b90919063ffffffff16565b9050600061286782612859858c61264990919063ffffffff16565b61264990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612897858961290790919063ffffffff16565b905060006128ae868961290790919063ffffffff16565b905060006128c5878961290790919063ffffffff16565b905060006128ee826128e0858761264990919063ffffffff16565b61264990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561291a576000905061297c565b600082846129289190613337565b90508284826129379190613306565b14612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296e906130eb565b60405180910390fd5b809150505b92915050565b600081359050612991816139cd565b92915050565b6000815190506129a6816139cd565b92915050565b60008083601f8401126129c2576129c161359f565b5b8235905067ffffffffffffffff8111156129df576129de61359a565b5b6020830191508360208202830111156129fb576129fa6135a4565b5b9250929050565b600081359050612a11816139e4565b92915050565b600081359050612a26816139fb565b92915050565b600060208284031215612a4257612a416135ae565b5b6000612a5084828501612982565b91505092915050565b600060208284031215612a6f57612a6e6135ae565b5b6000612a7d84828501612997565b91505092915050565b60008060408385031215612a9d57612a9c6135ae565b5b6000612aab85828601612982565b9250506020612abc85828601612982565b9150509250929050565b600080600060608486031215612adf57612ade6135ae565b5b6000612aed86828701612982565b9350506020612afe86828701612982565b9250506040612b0f86828701612a17565b9150509250925092565b60008060408385031215612b3057612b2f6135ae565b5b6000612b3e85828601612982565b9250506020612b4f85828601612a17565b9150509250929050565b600080600060408486031215612b7257612b716135ae565b5b600084013567ffffffffffffffff811115612b9057612b8f6135a9565b5b612b9c868287016129ac565b93509350506020612baf86828701612a02565b9150509250925092565b600060208284031215612bcf57612bce6135ae565b5b6000612bdd84828501612a02565b91505092915050565b600060208284031215612bfc57612bfb6135ae565b5b6000612c0a84828501612a17565b91505092915050565b60008060408385031215612c2a57612c296135ae565b5b6000612c3885828601612a17565b9250506020612c4985828601612a17565b9150509250929050565b6000612c5f8383612c6b565b60208301905092915050565b612c74816133c5565b82525050565b612c83816133c5565b82525050565b6000612c948261326b565b612c9e818561328e565b9350612ca98361325b565b8060005b83811015612cda578151612cc18882612c53565b9750612ccc83613281565b925050600181019050612cad565b5085935050505092915050565b612cf0816133d7565b82525050565b612cff8161341a565b82525050565b612d0e8161342c565b82525050565b6000612d1f82613276565b612d29818561329f565b9350612d39818560208601613462565b612d42816135b3565b840191505092915050565b6000612d5a60238361329f565b9150612d65826135c4565b604082019050919050565b6000612d7d603f8361329f565b9150612d8882613613565b604082019050919050565b6000612da0602a8361329f565b9150612dab82613662565b604082019050919050565b6000612dc3601c8361329f565b9150612dce826136b1565b602082019050919050565b6000612de660268361329f565b9150612df1826136da565b604082019050919050565b6000612e0960228361329f565b9150612e1482613729565b604082019050919050565b6000612e2c60238361329f565b9150612e3782613778565b604082019050919050565b6000612e4f601b8361329f565b9150612e5a826137c7565b602082019050919050565b6000612e7260218361329f565b9150612e7d826137f0565b604082019050919050565b6000612e9560208361329f565b9150612ea08261383f565b602082019050919050565b6000612eb860298361329f565b9150612ec382613868565b604082019050919050565b6000612edb60258361329f565b9150612ee6826138b7565b604082019050919050565b6000612efe60238361329f565b9150612f0982613906565b604082019050919050565b6000612f21600c8361329f565b9150612f2c82613955565b602082019050919050565b6000612f4460248361329f565b9150612f4f8261397e565b604082019050919050565b612f6381613403565b82525050565b612f728161340d565b82525050565b6000602082019050612f8d6000830184612c7a565b92915050565b6000602082019050612fa86000830184612ce7565b92915050565b6000602082019050612fc36000830184612cf6565b92915050565b60006020820190508181036000830152612fe38184612d14565b905092915050565b6000602082019050818103600083015261300481612d4d565b9050919050565b6000602082019050818103600083015261302481612d70565b9050919050565b6000602082019050818103600083015261304481612d93565b9050919050565b6000602082019050818103600083015261306481612db6565b9050919050565b6000602082019050818103600083015261308481612dd9565b9050919050565b600060208201905081810360008301526130a481612dfc565b9050919050565b600060208201905081810360008301526130c481612e1f565b9050919050565b600060208201905081810360008301526130e481612e42565b9050919050565b6000602082019050818103600083015261310481612e65565b9050919050565b6000602082019050818103600083015261312481612e88565b9050919050565b6000602082019050818103600083015261314481612eab565b9050919050565b6000602082019050818103600083015261316481612ece565b9050919050565b6000602082019050818103600083015261318481612ef1565b9050919050565b600060208201905081810360008301526131a481612f14565b9050919050565b600060208201905081810360008301526131c481612f37565b9050919050565b60006020820190506131e06000830184612f5a565b92915050565b600060a0820190506131fb6000830188612f5a565b6132086020830187612d05565b818103604083015261321a8186612c89565b90506132296060830185612c7a565b6132366080830184612f5a565b9695505050505050565b60006020820190506132556000830184612f69565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132bb82613403565b91506132c683613403565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132fb576132fa6134de565b5b828201905092915050565b600061331182613403565b915061331c83613403565b92508261332c5761332b61350d565b5b828204905092915050565b600061334282613403565b915061334d83613403565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613386576133856134de565b5b828202905092915050565b600061339c82613403565b91506133a783613403565b9250828210156133ba576133b96134de565b5b828203905092915050565b60006133d0826133e3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006134258261343e565b9050919050565b600061343782613403565b9050919050565b600061344982613450565b9050919050565b600061345b826133e3565b9050919050565b60005b83811015613480578082015181840152602081019050613465565b8381111561348f576000848401525b50505050565b60006134a082613403565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134d3576134d26134de565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f4f7574206f662072616e67650000000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6139d6816133c5565b81146139e157600080fd5b50565b6139ed816133d7565b81146139f857600080fd5b50565b613a0481613403565b8114613a0f57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ea2494a4d7ee6f1c7b2c8b6a9b157f1313ea8f9b2efb9ae63158ade71f772c2764736f6c63430008070033
Deployed Bytecode Sourcemap
4232:13615:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6845:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7777:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5681:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7125:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7979:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5981:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7033:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5729:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17007:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13092:235;;;;;;;;;;;;;:::i;:::-;;7229:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1705:148;;;;;;;;;;;;;:::i;:::-;;17181:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5873:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1489:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12700:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5926:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6937:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16815:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7376:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5375:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12847:236;;;;;;;;;;;;;:::i;:::-;;17610:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4910:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7584:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1862:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6845:83;6882:13;6915:5;;;;;;;;;;;;;;;;;6908:12;;6845:83;:::o;7777:193::-;7879:4;7901:39;7910:12;:10;:12::i;:::-;7924:7;7933:6;7901:8;:39::i;:::-;7958:4;7951:11;;7777:193;;;;:::o;5681:41::-;;;;;;;;;;;;;:::o;7125:95::-;7178:7;4798:16;7198:14;;7125:95;:::o;7979:446::-;8111:4;8128:36;8138:6;8146:9;8157:6;8128:9;:36::i;:::-;8175:220;8198:6;8219:12;:10;:12::i;:::-;8246:138;8302:6;8246:138;;;;;;;;;;;;;;;;;:11;:19;8258:6;8246:19;;;;;;;;;;;;;;;:33;8266:12;:10;:12::i;:::-;8246:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8175:8;:220::i;:::-;8413:4;8406:11;;7979:446;;;;;:::o;5981:51::-;;;;:::o;7033:83::-;7074:5;4471:1;7092:16;;7033:83;:::o;5729:28::-;;;;;;;;;;;;;:::o;17007:101::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17088:12:::1;17074:11;;:26;;;;;;;;;;;;;;;;;;17007:101:::0;:::o;13092:235::-;13158:19;;;;;;;;;;;13142:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13197:17;;;;;;;;;;;13181:33;;:12;:10;:12::i;:::-;:33;;;13142:72;13134:81;;;;;;13226:26;13255:21;13226:50;;13287:32;13300:18;13287:12;:32::i;:::-;13123:204;13092:235::o;7229:138::-;7295:7;7322:37;7342:7;:16;7350:7;7342:16;;;;;;;;;;;;;;;;7322:19;:37::i;:::-;7315:44;;7229:138;;;:::o;1705:148::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1812:1:::1;1775:40;;1796:6;::::0;::::1;;;;;;;;1775:40;;;;;;;;;;;;1843:1;1826:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1705:148::o:0;17181:420::-;17293:19;;;;;;;;;;;17277:35;;:12;:10;:12::i;:::-;:35;;;17269:44;;;;;;17347:12;;17332;:27;:60;;;;;17379:13;:11;:13::i;:::-;17363:12;:29;;17332:60;17324:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;17445:14;;17428;:31;:66;;;;;17481:13;:11;:13::i;:::-;17463:14;:31;;17428:66;17420:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;17539:12;17524;:27;;;;17579:14;17562;:31;;;;17181:420;;:::o;5873:43::-;;;;:::o;1489:79::-;1527:7;1554:6;;;;;;;;;;;1547:13;;1489:79;:::o;12700:138::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12781:12:::1;12767:11;;:26;;;;;;;;;;;;;;;;;;12818:12;12804:11;:26;;;;12700:138:::0;:::o;5926:45::-;;;;:::o;6937:87::-;6976:13;7009:7;;;;;;;;;;;;;;;;;7002:14;;6937:87;:::o;16815:139::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16928:18:::1;16906:19;:40;;;;16815:139:::0;:::o;7376:199::-;7481:4;7503:42;7513:12;:10;:12::i;:::-;7527:9;7538:6;7503:9;:42::i;:::-;7563:4;7556:11;;7376:199;;;;:::o;5375:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12847:236::-;12913:19;;;;;;;;;;;12897:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;12952:17;;;;;;;;;;;12936:33;;:12;:10;:12::i;:::-;:33;;;12897:72;12889:81;;;;;;12981:23;13007:24;13025:4;13007:9;:24::i;:::-;12981:50;;13042:33;13059:15;13042:16;:33::i;:::-;12878:205;12847:236::o;17610:234::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17727:9:::1;17723:114;17746:8;;:15;;17742:1;:19;17723:114;;;17817:8;17783:18;:31;17802:8;;17811:1;17802:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17783:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17763:3;;;;;:::i;:::-;;;;17723:114;;;;17610:234:::0;;;:::o;4910:26::-;;;;:::o;7584:184::-;7701:7;7733:11;:18;7745:5;7733:18;;;;;;;;;;;;;;;:27;7752:7;7733:27;;;;;;;;;;;;;;;;7726:34;;7584:184;;;;:::o;1862:244::-;1627:12;:10;:12::i;:::-;1617:22;;:6;;;;;;;;;;:22;;;1609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1971:1:::1;1951:22;;:8;:22;;;;1943:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2061:8;2032:38;;2053:6;::::0;::::1;;;;;;;;2032:38;;;;;;;;;;;;2090:8;2081:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1862:244:::0;:::o;275:98::-;328:7;355:10;348:17;;275:98;:::o;9122:369::-;9266:1;9249:19;;:5;:19;;;;9241:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9347:1;9328:21;;:7;:21;;;;9320:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9429:6;9399:11;:18;9411:5;9399:18;;;;;;;;;;;;;;;:27;9418:7;9399:27;;;;;;;;;;;;;;;:36;;;;9467:7;9451:32;;9460:5;9451:32;;;9476:6;9451:32;;;;;;:::i;:::-;;;;;;;;9122:369;;;:::o;9500:2530::-;9638:1;9622:18;;:4;:18;;;;9614:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9715:1;9701:16;;:2;:16;;;;9693:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9785:1;9776:6;:10;9768:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9858:7;:5;:7::i;:::-;9850:15;;:4;:15;;;;:32;;;;;9875:7;:5;:7::i;:::-;9869:13;;:2;:13;;;;9850:32;9846:1452;;;9940:11;;;;;;;;;;;9935:144;;9988:7;:5;:7::i;:::-;9980:15;;:4;:15;;;9972:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9935:144;10114:12;;10104:6;:22;;10096:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10185:4;:10;10190:4;10185:10;;;;;;;;;;;;;;;;;;;;;;;;;10184:11;:24;;;;;10200:4;:8;10205:2;10200:8;;;;;;;;;;;;;;;;;;;;;;;;;10199:9;10184:24;10176:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10285:11;;10269:12;:27;;:52;;;;;10308:13;;;;;;;;;;;10300:21;;:4;:21;;;10269:52;:86;;;;;10339:15;;;;;;;;;;;10325:30;;:2;:30;;;;10269:86;:109;;;;;10373:4;10359:19;;:2;:19;;;;10269:109;10266:166;;;10412:4;10401;:8;10406:2;10401:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;10266:166;10459:13;;;;;;;;;;;10453:19;;:2;:19;;;10450:147;;10527:14;;10517:6;10501:13;10511:2;10501:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10493:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;10450:147;10614:28;10645:24;10663:4;10645:9;:24::i;:::-;10614:55;;10684:12;10723:19;;10699:20;:43;;10684:58;;10787:12;;10763:20;:36;10760:124;;10856:12;;10833:35;;10760:124;10905:7;:18;;;;;10917:6;;;;;;;;;;10916:7;10905:18;:43;;;;;10935:13;;;;;;;;;;;10927:21;;:4;:21;;;;10905:43;:58;;;;;10952:11;;;;;;;;;;;10905:58;:87;;;;;10968:18;:24;10987:4;10968:24;;;;;;;;;;;;;;;;;;;;;;;;;10967:25;10905:87;:114;;;;;10997:18;:22;11016:2;10997:22;;;;;;;;;;;;;;;;;;;;;;;;;10996:23;10905:114;10901:386;;;11040:38;11057:20;11040:16;:38::i;:::-;11097:26;11126:21;11097:50;;11191:1;11170:18;:22;11166:106;;;11217:35;11230:21;11217:12;:35::i;:::-;11166:106;11021:266;10901:386;9884:1414;;9846:1452;11311:12;11326:4;11311:19;;11376:18;:24;11395:4;11376:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11404:18;:22;11423:2;11404:22;;;;;;;;;;;;;;;;;;;;;;;;;11376:50;11375:102;;;;11440:13;;;;;;;;;;;11432:21;;:4;:21;;;;:44;;;;;11463:13;;;;;;;;;;;11457:19;;:2;:19;;;;11432:44;11375:102;11371:597;;;11504:5;11494:15;;11371:597;;;11588:13;;;;;;;;;;;11580:21;;:4;:21;;;:55;;;;;11619:15;;;;;;;;;;;11605:30;;:2;:30;;;;11580:55;11577:162;;;11668:14;;11656:9;:26;;;;11711:12;;11701:7;:22;;;;11577:162;11799:13;;;;;;;;;;;11793:19;;:2;:19;;;:55;;;;;11832:15;;;;;;;;;;;11816:32;;:4;:32;;;;11793:55;11789:165;;;11881:15;;11869:9;:27;;;;11925:13;;11915:7;:23;;;;11789:165;11371:597;11981:41;11996:4;12002:2;12006:6;12014:7;11981:14;:41::i;:::-;9603:2427;9500:2530;;;:::o;2474:224::-;2594:7;2627:1;2622;:6;;2630:12;2614:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2654:9;2670:1;2666;:5;;;;:::i;:::-;2654:17;;2689:1;2682:8;;;2474:224;;;;;:::o;12531:160::-;12588:19;;;;;;;;;;;:28;;:43;12617:13;12628:1;12617:6;:10;;:13;;;;:::i;:::-;12588:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12642:17;;;;;;;;;;;:26;;:41;12669:13;12680:1;12669:6;:10;;:13;;;;:::i;:::-;12642:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12531:160;:::o;8434:323::-;8529:7;8587;;8576;:18;;8554:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8675:19;8697:10;:8;:10::i;:::-;8675:32;;8725:24;8737:11;8725:7;:11;;:24;;;;:::i;:::-;8718:31;;;8434:323;;;:::o;12039:483::-;6139:4;6130:6;;:13;;;;;;;;;;;;;;;;;;12117:21:::1;12155:1;12141:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12117:40;;12186:4;12168;12173:1;12168:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12212:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12202:4;12207:1;12202:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12245:62;12262:4;12277:15;;;;;;;;;;;12295:11;12245:8;:62::i;:::-;12318:15;;;;;;;;;;;:66;;;12399:11;12425:1;12441:4;12468;12488:15;12318:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12106:416;6175:5:::0;6166:6;;:14;;;;;;;;;;;;;;;;;;12039:483;:::o;13342:282::-;13498:7;13493:28;;13507:14;:12;:14::i;:::-;13493:28;13532:44;13550:6;13558:9;13569:6;13532:17;:44::i;:::-;13592:7;13587:29;;13601:15;:13;:15::i;:::-;13587:29;13342:282;;;;:::o;2962:132::-;3020:7;3047:39;3051:1;3054;3047:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3040:46;;2962:132;;;;:::o;16320:167::-;16362:7;16383:15;16400;16419:19;:17;:19::i;:::-;16382:56;;;;16459:20;16471:7;16459;:11;;:20;;;;:::i;:::-;16452:27;;;;16320:167;:::o;8766:221::-;8826:1;8813:9;;:14;:30;;;;;8842:1;8831:7;;:12;8813:30;8809:43;;;8845:7;;8809:43;8885:9;;8865:17;:29;;;;8923:7;;8905:15;:25;;;;8956:1;8944:9;:13;;;;8978:1;8968:7;:11;;;;8766:221;:::o;13633:610::-;13780:15;13810:23;13848:12;13875:23;13913:12;13940:13;13967:19;13978:7;13967:10;:19::i;:::-;13765:221;;;;;;;;;;;;14015:28;14035:7;14015;:15;14023:6;14015:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13997:7;:15;14005:6;13997:15;;;;;;;;;;;;;;;:46;;;;14075:39;14098:15;14075:7;:18;14083:9;14075:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14054:7;:18;14062:9;14054:18;;;;;;;;;;;;;;;:60;;;;14125:16;14135:5;14125:9;:16::i;:::-;14152:23;14164:4;14170;14152:11;:23::i;:::-;14208:9;14191:44;;14200:6;14191:44;;;14219:15;14191:44;;;;;;:::i;:::-;;;;;;;;13754:489;;;;;;13633:610;;;:::o;8996:117::-;9052:17;;9040:9;:29;;;;9090:15;;9080:7;:25;;;;8996:117::o;3103:223::-;3223:7;3255:1;3251;:5;3258:12;3243:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3282:9;3298:1;3294;:5;;;;:::i;:::-;3282:17;;3317:1;3310:8;;;3103:223;;;;;:::o;16496:260::-;16547:7;16556;16576:15;16594:7;;16576:25;;16612:15;4798:16;16612:25;;16662:20;4798:16;16662:7;;:11;;:20;;;;:::i;:::-;16652:7;:30;16648:61;;;16692:7;;4798:16;16684:25;;;;;;;;16648:61;16731:7;16740;16723:25;;;;;;16496:260;;;:::o;14666:618::-;14766:7;14788;14810;14832;14854;14876;14912:23;14937:12;14951:13;14981:40;14993:7;15002:9;;15013:7;;14981:11;:40::i;:::-;14911:110;;;;;;15032:19;15054:10;:8;:10::i;:::-;15032:32;;15076:15;15093:23;15118:12;15147:46;15159:7;15168:4;15174:5;15181:11;15147;:46::i;:::-;15075:118;;;;;;15215:7;15224:15;15241:4;15247:15;15264:4;15270:5;15207:69;;;;;;;;;;;;;;;;;;;14666:618;;;;;;;:::o;2329:136::-;2387:7;2414:43;2418:1;2421;2414:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2407:50;;2329:136;;;;:::o;2141:179::-;2199:7;2219:9;2235:1;2231;:5;;;;:::i;:::-;2219:17;;2260:1;2255;:6;;2247:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2311:1;2304:8;;;2141:179;;;;:::o;14252:211::-;14305:19;14327:10;:8;:10::i;:::-;14305:32;;14348:13;14364:22;14374:11;14364:5;:9;;:22;;;;:::i;:::-;14348:38;;14422:33;14449:5;14422:7;:22;14438:4;14422:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14397:7;:22;14413:4;14397:22;;;;;;;;;;;;;;;:58;;;;14294:169;;14252:211;:::o;14472:147::-;14550:17;14562:4;14550:7;;:11;;:17;;;;:::i;:::-;14540:7;:27;;;;14591:20;14606:4;14591:10;;:14;;:20;;;;:::i;:::-;14578:10;:33;;;;14472:147;;:::o;15293:472::-;15462:7;15484;15506;15541:12;15556:30;15582:3;15556:21;15568:8;15556:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15541:45;;15597:13;15613:28;15637:3;15613:19;15625:6;15613:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15597:44;;15652:23;15678:28;15700:5;15678:17;15690:4;15678:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15652:54;;15728:15;15745:4;15751:5;15720:37;;;;;;;;;15293:472;;;;;;;:::o;15774:537::-;15968:7;15990;16012;16047:15;16065:24;16077:11;16065:7;:11;;:24;;;;:::i;:::-;16047:42;;16100:12;16115:21;16124:11;16115:4;:8;;:21;;;;:::i;:::-;16100:36;;16147:13;16163:22;16173:11;16163:5;:9;;:22;;;;:::i;:::-;16147:38;;16196:23;16222:28;16244:5;16222:17;16234:4;16222:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16196:54;;16272:7;16281:15;16298:4;16264:39;;;;;;;;;;15774:537;;;;;;;;:::o;2707:246::-;2765:7;2794:1;2789;:6;2785:47;;;2819:1;2812:8;;;;2785:47;2842:9;2858:1;2854;:5;;;;:::i;:::-;2842:17;;2887:1;2882;2878;:5;;;;:::i;:::-;:10;2870:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2944:1;2937:8;;;2707:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:323::-;4213:6;4262:2;4250:9;4241:7;4237:23;4233:32;4230:119;;;4268:79;;:::i;:::-;4230:119;4388:1;4413:50;4455:7;4446:6;4435:9;4431:22;4413:50;:::i;:::-;4403:60;;4359:114;4157:323;;;;:::o;4486:329::-;4545:6;4594:2;4582:9;4573:7;4569:23;4565:32;4562:119;;;4600:79;;:::i;:::-;4562:119;4720:1;4745:53;4790:7;4781:6;4770:9;4766:22;4745:53;:::i;:::-;4735:63;;4691:117;4486:329;;;;:::o;4821:474::-;4889:6;4897;4946:2;4934:9;4925:7;4921:23;4917:32;4914:119;;;4952:79;;:::i;:::-;4914:119;5072:1;5097:53;5142:7;5133:6;5122:9;5118:22;5097:53;:::i;:::-;5087:63;;5043:117;5199:2;5225:53;5270:7;5261:6;5250:9;5246:22;5225:53;:::i;:::-;5215:63;;5170:118;4821:474;;;;;:::o;5301:179::-;5370:10;5391:46;5433:3;5425:6;5391:46;:::i;:::-;5469:4;5464:3;5460:14;5446:28;;5301:179;;;;:::o;5486:108::-;5563:24;5581:5;5563:24;:::i;:::-;5558:3;5551:37;5486:108;;:::o;5600:118::-;5687:24;5705:5;5687:24;:::i;:::-;5682:3;5675:37;5600:118;;:::o;5754:732::-;5873:3;5902:54;5950:5;5902:54;:::i;:::-;5972:86;6051:6;6046:3;5972:86;:::i;:::-;5965:93;;6082:56;6132:5;6082:56;:::i;:::-;6161:7;6192:1;6177:284;6202:6;6199:1;6196:13;6177:284;;;6278:6;6272:13;6305:63;6364:3;6349:13;6305:63;:::i;:::-;6298:70;;6391:60;6444:6;6391:60;:::i;:::-;6381:70;;6237:224;6224:1;6221;6217:9;6212:14;;6177:284;;;6181:14;6477:3;6470:10;;5878:608;;;5754:732;;;;:::o;6492:109::-;6573:21;6588:5;6573:21;:::i;:::-;6568:3;6561:34;6492:109;;:::o;6607:183::-;6720:63;6777:5;6720:63;:::i;:::-;6715:3;6708:76;6607:183;;:::o;6796:147::-;6891:45;6930:5;6891:45;:::i;:::-;6886:3;6879:58;6796:147;;:::o;6949:364::-;7037:3;7065:39;7098:5;7065:39;:::i;:::-;7120:71;7184:6;7179:3;7120:71;:::i;:::-;7113:78;;7200:52;7245:6;7240:3;7233:4;7226:5;7222:16;7200:52;:::i;:::-;7277:29;7299:6;7277:29;:::i;:::-;7272:3;7268:39;7261:46;;7041:272;6949:364;;;;:::o;7319:366::-;7461:3;7482:67;7546:2;7541:3;7482:67;:::i;:::-;7475:74;;7558:93;7647:3;7558:93;:::i;:::-;7676:2;7671:3;7667:12;7660:19;;7319:366;;;:::o;7691:::-;7833:3;7854:67;7918:2;7913:3;7854:67;:::i;:::-;7847:74;;7930:93;8019:3;7930:93;:::i;:::-;8048:2;8043:3;8039:12;8032:19;;7691:366;;;:::o;8063:::-;8205:3;8226:67;8290:2;8285:3;8226:67;:::i;:::-;8219:74;;8302:93;8391:3;8302:93;:::i;:::-;8420:2;8415:3;8411:12;8404:19;;8063:366;;;:::o;8435:::-;8577:3;8598:67;8662:2;8657:3;8598:67;:::i;:::-;8591:74;;8674:93;8763:3;8674:93;:::i;:::-;8792:2;8787:3;8783:12;8776:19;;8435:366;;;:::o;8807:::-;8949:3;8970:67;9034:2;9029:3;8970:67;:::i;:::-;8963:74;;9046:93;9135:3;9046:93;:::i;:::-;9164:2;9159:3;9155:12;9148:19;;8807:366;;;:::o;9179:::-;9321:3;9342:67;9406:2;9401:3;9342:67;:::i;:::-;9335:74;;9418:93;9507:3;9418:93;:::i;:::-;9536:2;9531:3;9527:12;9520:19;;9179:366;;;:::o;9551:::-;9693:3;9714:67;9778:2;9773:3;9714:67;:::i;:::-;9707:74;;9790:93;9879:3;9790:93;:::i;:::-;9908:2;9903:3;9899:12;9892:19;;9551:366;;;:::o;9923:::-;10065:3;10086:67;10150:2;10145:3;10086:67;:::i;:::-;10079:74;;10162:93;10251:3;10162:93;:::i;:::-;10280:2;10275:3;10271:12;10264:19;;9923:366;;;:::o;10295:::-;10437:3;10458:67;10522:2;10517:3;10458:67;:::i;:::-;10451:74;;10534:93;10623:3;10534:93;:::i;:::-;10652:2;10647:3;10643:12;10636:19;;10295:366;;;:::o;10667:::-;10809:3;10830:67;10894:2;10889:3;10830:67;:::i;:::-;10823:74;;10906:93;10995:3;10906:93;:::i;:::-;11024:2;11019:3;11015:12;11008:19;;10667:366;;;:::o;11039:::-;11181:3;11202:67;11266:2;11261:3;11202:67;:::i;:::-;11195:74;;11278:93;11367:3;11278:93;:::i;:::-;11396:2;11391:3;11387:12;11380:19;;11039:366;;;:::o;11411:::-;11553:3;11574:67;11638:2;11633:3;11574:67;:::i;:::-;11567:74;;11650:93;11739:3;11650:93;:::i;:::-;11768:2;11763:3;11759:12;11752:19;;11411:366;;;:::o;11783:::-;11925:3;11946:67;12010:2;12005:3;11946:67;:::i;:::-;11939:74;;12022:93;12111:3;12022:93;:::i;:::-;12140:2;12135:3;12131:12;12124:19;;11783:366;;;:::o;12155:::-;12297:3;12318:67;12382:2;12377:3;12318:67;:::i;:::-;12311:74;;12394:93;12483:3;12394:93;:::i;:::-;12512:2;12507:3;12503:12;12496:19;;12155:366;;;:::o;12527:::-;12669:3;12690:67;12754:2;12749:3;12690:67;:::i;:::-;12683:74;;12766:93;12855:3;12766:93;:::i;:::-;12884:2;12879:3;12875:12;12868:19;;12527:366;;;:::o;12899:118::-;12986:24;13004:5;12986:24;:::i;:::-;12981:3;12974:37;12899:118;;:::o;13023:112::-;13106:22;13122:5;13106:22;:::i;:::-;13101:3;13094:35;13023:112;;:::o;13141:222::-;13234:4;13272:2;13261:9;13257:18;13249:26;;13285:71;13353:1;13342:9;13338:17;13329:6;13285:71;:::i;:::-;13141:222;;;;:::o;13369:210::-;13456:4;13494:2;13483:9;13479:18;13471:26;;13507:65;13569:1;13558:9;13554:17;13545:6;13507:65;:::i;:::-;13369:210;;;;:::o;13585:274::-;13704:4;13742:2;13731:9;13727:18;13719:26;;13755:97;13849:1;13838:9;13834:17;13825:6;13755:97;:::i;:::-;13585:274;;;;:::o;13865:313::-;13978:4;14016:2;14005:9;14001:18;13993:26;;14065:9;14059:4;14055:20;14051:1;14040:9;14036:17;14029:47;14093:78;14166:4;14157:6;14093:78;:::i;:::-;14085:86;;13865:313;;;;:::o;14184:419::-;14350:4;14388:2;14377:9;14373:18;14365:26;;14437:9;14431:4;14427:20;14423:1;14412:9;14408:17;14401:47;14465:131;14591:4;14465:131;:::i;:::-;14457:139;;14184:419;;;:::o;14609:::-;14775:4;14813:2;14802:9;14798:18;14790:26;;14862:9;14856:4;14852:20;14848:1;14837:9;14833:17;14826:47;14890:131;15016:4;14890:131;:::i;:::-;14882:139;;14609:419;;;:::o;15034:::-;15200:4;15238:2;15227:9;15223:18;15215:26;;15287:9;15281:4;15277:20;15273:1;15262:9;15258:17;15251:47;15315:131;15441:4;15315:131;:::i;:::-;15307:139;;15034:419;;;:::o;15459:::-;15625:4;15663:2;15652:9;15648:18;15640:26;;15712:9;15706:4;15702:20;15698:1;15687:9;15683:17;15676:47;15740:131;15866:4;15740:131;:::i;:::-;15732:139;;15459:419;;;:::o;15884:::-;16050:4;16088:2;16077:9;16073:18;16065:26;;16137:9;16131:4;16127:20;16123:1;16112:9;16108:17;16101:47;16165:131;16291:4;16165:131;:::i;:::-;16157:139;;15884:419;;;:::o;16309:::-;16475:4;16513:2;16502:9;16498:18;16490:26;;16562:9;16556:4;16552:20;16548:1;16537:9;16533:17;16526:47;16590:131;16716:4;16590:131;:::i;:::-;16582:139;;16309:419;;;:::o;16734:::-;16900:4;16938:2;16927:9;16923:18;16915:26;;16987:9;16981:4;16977:20;16973:1;16962:9;16958:17;16951:47;17015:131;17141:4;17015:131;:::i;:::-;17007:139;;16734:419;;;:::o;17159:::-;17325:4;17363:2;17352:9;17348:18;17340:26;;17412:9;17406:4;17402:20;17398:1;17387:9;17383:17;17376:47;17440:131;17566:4;17440:131;:::i;:::-;17432:139;;17159:419;;;:::o;17584:::-;17750:4;17788:2;17777:9;17773:18;17765:26;;17837:9;17831:4;17827:20;17823:1;17812:9;17808:17;17801:47;17865:131;17991:4;17865:131;:::i;:::-;17857:139;;17584:419;;;:::o;18009:::-;18175:4;18213:2;18202:9;18198:18;18190:26;;18262:9;18256:4;18252:20;18248:1;18237:9;18233:17;18226:47;18290:131;18416:4;18290:131;:::i;:::-;18282:139;;18009:419;;;:::o;18434:::-;18600:4;18638:2;18627:9;18623:18;18615:26;;18687:9;18681:4;18677:20;18673:1;18662:9;18658:17;18651:47;18715:131;18841:4;18715:131;:::i;:::-;18707:139;;18434:419;;;:::o;18859:::-;19025:4;19063:2;19052:9;19048:18;19040:26;;19112:9;19106:4;19102:20;19098:1;19087:9;19083:17;19076:47;19140:131;19266:4;19140:131;:::i;:::-;19132:139;;18859:419;;;:::o;19284:::-;19450:4;19488:2;19477:9;19473:18;19465:26;;19537:9;19531:4;19527:20;19523:1;19512:9;19508:17;19501:47;19565:131;19691:4;19565:131;:::i;:::-;19557:139;;19284:419;;;:::o;19709:::-;19875:4;19913:2;19902:9;19898:18;19890:26;;19962:9;19956:4;19952:20;19948:1;19937:9;19933:17;19926:47;19990:131;20116:4;19990:131;:::i;:::-;19982:139;;19709:419;;;:::o;20134:::-;20300:4;20338:2;20327:9;20323:18;20315:26;;20387:9;20381:4;20377:20;20373:1;20362:9;20358:17;20351:47;20415:131;20541:4;20415:131;:::i;:::-;20407:139;;20134:419;;;:::o;20559:222::-;20652:4;20690:2;20679:9;20675:18;20667:26;;20703:71;20771:1;20760:9;20756:17;20747:6;20703:71;:::i;:::-;20559:222;;;;:::o;20787:831::-;21050:4;21088:3;21077:9;21073:19;21065:27;;21102:71;21170:1;21159:9;21155:17;21146:6;21102:71;:::i;:::-;21183:80;21259:2;21248:9;21244:18;21235:6;21183:80;:::i;:::-;21310:9;21304:4;21300:20;21295:2;21284:9;21280:18;21273:48;21338:108;21441:4;21432:6;21338:108;:::i;:::-;21330:116;;21456:72;21524:2;21513:9;21509:18;21500:6;21456:72;:::i;:::-;21538:73;21606:3;21595:9;21591:19;21582:6;21538:73;:::i;:::-;20787:831;;;;;;;;:::o;21624:214::-;21713:4;21751:2;21740:9;21736:18;21728:26;;21764:67;21828:1;21817:9;21813:17;21804:6;21764:67;:::i;:::-;21624:214;;;;:::o;21925:132::-;21992:4;22015:3;22007:11;;22045:4;22040:3;22036:14;22028:22;;21925:132;;;:::o;22063:114::-;22130:6;22164:5;22158:12;22148:22;;22063:114;;;:::o;22183:99::-;22235:6;22269:5;22263:12;22253:22;;22183:99;;;:::o;22288:113::-;22358:4;22390;22385:3;22381:14;22373:22;;22288:113;;;:::o;22407:184::-;22506:11;22540:6;22535:3;22528:19;22580:4;22575:3;22571:14;22556:29;;22407:184;;;;:::o;22597:169::-;22681:11;22715:6;22710:3;22703:19;22755:4;22750:3;22746:14;22731:29;;22597:169;;;;:::o;22772:305::-;22812:3;22831:20;22849:1;22831:20;:::i;:::-;22826:25;;22865:20;22883:1;22865:20;:::i;:::-;22860:25;;23019:1;22951:66;22947:74;22944:1;22941:81;22938:107;;;23025:18;;:::i;:::-;22938:107;23069:1;23066;23062:9;23055:16;;22772:305;;;;:::o;23083:185::-;23123:1;23140:20;23158:1;23140:20;:::i;:::-;23135:25;;23174:20;23192:1;23174:20;:::i;:::-;23169:25;;23213:1;23203:35;;23218:18;;:::i;:::-;23203:35;23260:1;23257;23253:9;23248:14;;23083:185;;;;:::o;23274:348::-;23314:7;23337:20;23355:1;23337:20;:::i;:::-;23332:25;;23371:20;23389:1;23371:20;:::i;:::-;23366:25;;23559:1;23491:66;23487:74;23484:1;23481:81;23476:1;23469:9;23462:17;23458:105;23455:131;;;23566:18;;:::i;:::-;23455:131;23614:1;23611;23607:9;23596:20;;23274:348;;;;:::o;23628:191::-;23668:4;23688:20;23706:1;23688:20;:::i;:::-;23683:25;;23722:20;23740:1;23722:20;:::i;:::-;23717:25;;23761:1;23758;23755:8;23752:34;;;23766:18;;:::i;:::-;23752:34;23811:1;23808;23804:9;23796:17;;23628:191;;;;:::o;23825:96::-;23862:7;23891:24;23909:5;23891:24;:::i;:::-;23880:35;;23825:96;;;:::o;23927:90::-;23961:7;24004:5;23997:13;23990:21;23979:32;;23927:90;;;:::o;24023:126::-;24060:7;24100:42;24093:5;24089:54;24078:65;;24023:126;;;:::o;24155:77::-;24192:7;24221:5;24210:16;;24155:77;;;:::o;24238:86::-;24273:7;24313:4;24306:5;24302:16;24291:27;;24238:86;;;:::o;24330:152::-;24406:9;24439:37;24470:5;24439:37;:::i;:::-;24426:50;;24330:152;;;:::o;24488:121::-;24546:9;24579:24;24597:5;24579:24;:::i;:::-;24566:37;;24488:121;;;:::o;24615:126::-;24665:9;24698:37;24729:5;24698:37;:::i;:::-;24685:50;;24615:126;;;:::o;24747:113::-;24797:9;24830:24;24848:5;24830:24;:::i;:::-;24817:37;;24747:113;;;:::o;24866:307::-;24934:1;24944:113;24958:6;24955:1;24952:13;24944:113;;;25043:1;25038:3;25034:11;25028:18;25024:1;25019:3;25015:11;25008:39;24980:2;24977:1;24973:10;24968:15;;24944:113;;;25075:6;25072:1;25069:13;25066:101;;;25155:1;25146:6;25141:3;25137:16;25130:27;25066:101;24915:258;24866:307;;;:::o;25179:233::-;25218:3;25241:24;25259:5;25241:24;:::i;:::-;25232:33;;25287:66;25280:5;25277:77;25274:103;;;25357:18;;:::i;:::-;25274:103;25404:1;25397:5;25393:13;25386:20;;25179:233;;;:::o;25418:180::-;25466:77;25463:1;25456:88;25563:4;25560:1;25553:15;25587:4;25584:1;25577:15;25604:180;25652:77;25649:1;25642:88;25749:4;25746:1;25739:15;25773:4;25770:1;25763:15;25790:180;25838:77;25835:1;25828:88;25935:4;25932:1;25925:15;25959:4;25956:1;25949:15;25976:180;26024:77;26021:1;26014:88;26121:4;26118:1;26111:15;26145:4;26142:1;26135:15;26162:117;26271:1;26268;26261:12;26285:117;26394:1;26391;26384:12;26408:117;26517:1;26514;26507:12;26531:117;26640:1;26637;26630:12;26654:117;26763:1;26760;26753:12;26777:102;26818:6;26869:2;26865:7;26860:2;26853:5;26849:14;26845:28;26835:38;;26777:102;;;:::o;26885:222::-;27025:34;27021:1;27013:6;27009:14;27002:58;27094:5;27089:2;27081:6;27077:15;27070:30;26885:222;:::o;27113:250::-;27253:34;27249:1;27241:6;27237:14;27230:58;27322:33;27317:2;27309:6;27305:15;27298:58;27113:250;:::o;27369:229::-;27509:34;27505:1;27497:6;27493:14;27486:58;27578:12;27573:2;27565:6;27561:15;27554:37;27369:229;:::o;27604:178::-;27744:30;27740:1;27732:6;27728:14;27721:54;27604:178;:::o;27788:225::-;27928:34;27924:1;27916:6;27912:14;27905:58;27997:8;27992:2;27984:6;27980:15;27973:33;27788:225;:::o;28019:221::-;28159:34;28155:1;28147:6;28143:14;28136:58;28228:4;28223:2;28215:6;28211:15;28204:29;28019:221;:::o;28246:222::-;28386:34;28382:1;28374:6;28370:14;28363:58;28455:5;28450:2;28442:6;28438:15;28431:30;28246:222;:::o;28474:177::-;28614:29;28610:1;28602:6;28598:14;28591:53;28474:177;:::o;28657:220::-;28797:34;28793:1;28785:6;28781:14;28774:58;28866:3;28861:2;28853:6;28849:15;28842:28;28657:220;:::o;28883:182::-;29023:34;29019:1;29011:6;29007:14;29000:58;28883:182;:::o;29071:228::-;29211:34;29207:1;29199:6;29195:14;29188:58;29280:11;29275:2;29267:6;29263:15;29256:36;29071:228;:::o;29305:224::-;29445:34;29441:1;29433:6;29429:14;29422:58;29514:7;29509:2;29501:6;29497:15;29490:32;29305:224;:::o;29535:222::-;29675:34;29671:1;29663:6;29659:14;29652:58;29744:5;29739:2;29731:6;29727:15;29720:30;29535:222;:::o;29763:162::-;29903:14;29899:1;29891:6;29887:14;29880:38;29763:162;:::o;29931:223::-;30071:34;30067:1;30059:6;30055:14;30048:58;30140:6;30135:2;30127:6;30123:15;30116:31;29931:223;:::o;30160:122::-;30233:24;30251:5;30233:24;:::i;:::-;30226:5;30223:35;30213:63;;30272:1;30269;30262:12;30213:63;30160:122;:::o;30288:116::-;30358:21;30373:5;30358:21;:::i;:::-;30351:5;30348:32;30338:60;;30394:1;30391;30384:12;30338:60;30288:116;:::o;30410:122::-;30483:24;30501:5;30483:24;:::i;:::-;30476:5;30473:35;30463:63;;30522:1;30519;30512:12;30463:63;30410:122;:::o
Swarm Source
ipfs://ea2494a4d7ee6f1c7b2c8b6a9b157f1313ea8f9b2efb9ae63158ade71f772c27
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.