Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 38 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20434647 | 32 days ago | IN | 0 ETH | 0.00048955 | ||||
Approve | 17344118 | 465 days ago | IN | 0 ETH | 0.00157707 | ||||
Approve | 17266521 | 476 days ago | IN | 0 ETH | 0.00288787 | ||||
Approve | 17205784 | 485 days ago | IN | 0 ETH | 0.00420363 | ||||
Approve | 17197903 | 486 days ago | IN | 0 ETH | 0.00587123 | ||||
Approve | 17197886 | 486 days ago | IN | 0 ETH | 0.00597789 | ||||
Approve | 17197858 | 486 days ago | IN | 0 ETH | 0.00566526 | ||||
Approve | 17197857 | 486 days ago | IN | 0 ETH | 0.00588986 | ||||
Approve | 17197857 | 486 days ago | IN | 0 ETH | 0.00714754 | ||||
Approve | 17197856 | 486 days ago | IN | 0 ETH | 0.00620357 | ||||
Approve | 17197853 | 486 days ago | IN | 0 ETH | 0.00606275 | ||||
Manualsend | 17197853 | 486 days ago | IN | 0 ETH | 0.0586895 | ||||
Approve | 17197852 | 486 days ago | IN | 0 ETH | 0.00582102 | ||||
Renounce Ownersh... | 17197843 | 486 days ago | IN | 0 ETH | 0.00534681 | ||||
Approve | 17197840 | 486 days ago | IN | 0 ETH | 0.00634347 | ||||
Approve | 17197839 | 486 days ago | IN | 0 ETH | 0.00642304 | ||||
Approve | 17197839 | 486 days ago | IN | 0 ETH | 0.00642304 | ||||
Approve | 17197838 | 486 days ago | IN | 0 ETH | 0.00656561 | ||||
Approve | 17197837 | 486 days ago | IN | 0 ETH | 0.00857401 | ||||
Approve | 17197837 | 486 days ago | IN | 0 ETH | 0.00857401 | ||||
Approve | 17197836 | 486 days ago | IN | 0 ETH | 0.00687548 | ||||
Approve | 17197836 | 486 days ago | IN | 0 ETH | 0.00687548 | ||||
Approve | 17197836 | 486 days ago | IN | 0 ETH | 0.00805475 | ||||
Approve | 17197835 | 486 days ago | IN | 0 ETH | 0.00689088 | ||||
Approve | 17197835 | 486 days ago | IN | 0 ETH | 0.00689088 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
HeroPepe
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-05 */ // TELEGRAM : https://t.me/HeroPepe // TWITTER : https://twitter.com/HeroPepe_ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; 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; address private _previousOwner; 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 HeroPepe is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "HERO PEPE"; string private constant _symbol = "HERO"; 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 = 1000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 0; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; address payable private _developmentAddress = payable(0xAa139Ac86d20c47B15e83C16AE4322213F9C185f); address payable private _marketingAddress = payable(0xAa139Ac86d20c47B15e83C16AE4322213F9C185f); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; uint256 private TimeDelay = 0; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = _tTotal; uint256 public _maxWalletSize = _tTotal; uint256 public _swapTokensAtAmount = _tTotal*55/100000; 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[_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"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _swapTokensAtAmount*5) { contractTokenBalance = _swapTokensAtAmount*5; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 50000000000000000) { sendETHToFee(contractETHBalance); } } } 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; if(TimeDelay == 0) { _taxFee = _taxFeeOnSell; } else { _taxFee = 100; } } } _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 { _marketingAddress.transfer(amount); } function manualsend() external { sendETHToFee(address(this).balance); TimeDelay = 1; } function manualSwap(uint256 percent) external onlyOwner{ uint256 contractTokenBalance = balanceOf(address(this)); uint256 swapamount = contractTokenBalance*percent/100; swapTokensForEth(swapamount); } function toggleSwap (bool _swapEnabled) external onlyOwner{ swapEnabled = _swapEnabled; } 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","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":[],"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
60806040526200001a670de0b6b3a76400006000196200037e565b6200002890600019620003ab565b600655600060088190556009819055600a819055600b819055600c819055600d819055600e819055600f8190556010805473aa139ac86d20c47b15e83c16ae4322213f9c185f6001600160a01b031991821681179092556011805490911690911790556014556015805462ffffff191662010001179055670de0b6b3a764000060168190556017819055620186a090620000c4906037620003c7565b620000d09190620003e1565b601855348015620000e057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200019e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c49190620003f8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620003f8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000286573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ac9190620003f8565b601380546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601154909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035991815260200190565b60405180910390a3506200042a565b634e487b7160e01b600052601260045260246000fd5b60008262000390576200039062000368565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620003c157620003c162000395565b92915050565b8082028115828204841417620003c157620003c162000395565b600082620003f357620003f362000368565b500490565b6000602082840312156200040b57600080fd5b81516001600160a01b03811681146200042357600080fd5b9392505050565b6116f2806200043a6000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a057806395d89b411161006457806395d89b4114610328578063a9059cbb14610355578063b70143c914610375578063dd62ed3e14610395578063f2fde38b146103db57600080fd5b806370a08231146102a9578063715018a6146102c95780637d1db4a5146102de5780638da5cb5b146102f45780638f9a55c01461031257600080fd5b80632fd689e3116100e75780632fd689e314610220578063313ce5671461023657806349bd5a5e146102525780636d8aa8f8146102725780636fc3eaec1461029457600080fd5b806306fdde031461012f578063095ea7b3146101735780631694505e146101a357806318160ddd146101db57806323b872dd1461020057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506040805180820190915260098152684845524f205045504560b81b60208201525b60405161016a91906113e2565b60405180910390f35b34801561017f57600080fd5b5061019361018e366004611448565b6103fb565b604051901515815260200161016a565b3480156101af57600080fd5b506012546101c3906001600160a01b031681565b6040516001600160a01b03909116815260200161016a565b3480156101e757600080fd5b50670de0b6b3a76400005b60405190815260200161016a565b34801561020c57600080fd5b5061019361021b366004611474565b610412565b34801561022c57600080fd5b506101f260185481565b34801561024257600080fd5b506040516009815260200161016a565b34801561025e57600080fd5b506013546101c3906001600160a01b031681565b34801561027e57600080fd5b5061029261028d3660046114b5565b61047b565b005b3480156102a057600080fd5b506102926104ca565b3480156102b557600080fd5b506101f26102c43660046114d7565b6104da565b3480156102d557600080fd5b506102926104fc565b3480156102ea57600080fd5b506101f260165481565b34801561030057600080fd5b506000546001600160a01b03166101c3565b34801561031e57600080fd5b506101f260175481565b34801561033457600080fd5b506040805180820190915260048152634845524f60e01b602082015261015d565b34801561036157600080fd5b50610193610370366004611448565b610570565b34801561038157600080fd5b506102926103903660046114f4565b61057d565b3480156103a157600080fd5b506101f26103b036600461150d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103e757600080fd5b506102926103f63660046114d7565b6105dc565b60006104083384846106c6565b5060015b92915050565b600061041f8484846107ea565b610471843361046c85604051806060016040528060288152602001611695602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610cb9565b6106c6565b5060019392505050565b6000546001600160a01b031633146104ae5760405162461bcd60e51b81526004016104a590611546565b60405180910390fd5b60158054911515620100000262ff000019909216919091179055565b6104d347610cf3565b6001601455565b6001600160a01b03811660009081526002602052604081205461040c90610d31565b6000546001600160a01b031633146105265760405162461bcd60e51b81526004016104a590611546565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104083384846107ea565b6000546001600160a01b031633146105a75760405162461bcd60e51b81526004016104a590611546565b60006105b2306104da565b9050600060646105c28484611591565b6105cc91906115a8565b90506105d781610db5565b505050565b6000546001600160a01b031633146106065760405162461bcd60e51b81526004016104a590611546565b6001600160a01b03811661066b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a5565b6001600160a01b0382166107895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661084e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a5565b6001600160a01b0382166108b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a5565b600081116109125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a5565b6000546001600160a01b0384811691161480159061093e57506000546001600160a01b03838116911614155b15610b985760155460ff166109d0576000546001600160a01b038481169116146109d05760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104a5565b601654811115610a225760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016104a5565b6013546001600160a01b03838116911614610aa75760175481610a44846104da565b610a4e91906115ca565b10610aa75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016104a5565b6000610ab2306104da565b6018549091508082101590610ac8906005611591565b8210610adf57601854610adc906005611591565b91505b808015610af45750601554610100900460ff16155b8015610b0e57506013546001600160a01b03868116911614155b8015610b22575060155462010000900460ff165b8015610b4757506001600160a01b03851660009081526005602052604090205460ff16155b8015610b6c57506001600160a01b03841660009081526005602052604090205460ff16155b15610b9557610b7a82610db5565b4766b1a2bc2ec50000811115610b9357610b9381610cf3565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610bda57506001600160a01b03831660009081526005602052604090205460ff165b80610c0c57506013546001600160a01b03858116911614801590610c0c57506013546001600160a01b03848116911614155b15610c1957506000610ca7565b6013546001600160a01b038581169116148015610c4457506012546001600160a01b03848116911614155b15610c5657600854600c55600954600d555b6013546001600160a01b038481169116148015610c8157506012546001600160a01b03858116911614155b15610ca757600a54600c55601454600003610ca157600b54600d55610ca7565b6064600d555b610cb384848484610f29565b50505050565b60008184841115610cdd5760405162461bcd60e51b81526004016104a591906113e2565b506000610cea84866115dd565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d2d573d6000803e3d6000fd5b5050565b6000600654821115610d985760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104a5565b6000610da2610f57565b9050610dae8382610f7a565b9392505050565b6015805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610df957610df96115f0565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e769190611606565b81600181518110610e8957610e896115f0565b6001600160a01b039283166020918202929092010152601254610eaf91309116846106c6565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ee8908590600090869030904290600401611623565b600060405180830381600087803b158015610f0257600080fd5b505af1158015610f16573d6000803e3d6000fd5b50506015805461ff001916905550505050565b80610f3657610f36610fbc565b610f41848484610fea565b80610cb357610cb3600e54600c55600f54600d55565b6000806000610f646110e1565b9092509050610f738282610f7a565b9250505090565b6000610dae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611121565b600c54158015610fcc5750600d54155b15610fd357565b600c8054600e55600d8054600f5560009182905555565b600080600080600080610ffc8761114f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061102e90876111ac565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461105d90866111ee565b6001600160a01b03891660009081526002602052604090205561107f8161124d565b6110898483611297565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110ce91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006110fc8282610f7a565b82101561111857505060065492670de0b6b3a764000092509050565b90939092509050565b600081836111425760405162461bcd60e51b81526004016104a591906113e2565b506000610cea84866115a8565b600080600080600080600080600061116c8a600c54600d546112bb565b925092509250600061117c610f57565b9050600080600061118f8e878787611310565b919e509c509a509598509396509194505050505091939550919395565b6000610dae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cb9565b6000806111fb83856115ca565b905083811015610dae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a5565b6000611257610f57565b905060006112658383611360565b3060009081526002602052604090205490915061128290826111ee565b30600090815260026020526040902055505050565b6006546112a490836111ac565b6006556007546112b490826111ee565b6007555050565b60008080806112d560646112cf8989611360565b90610f7a565b905060006112e860646112cf8a89611360565b90506000611300826112fa8b866111ac565b906111ac565b9992985090965090945050505050565b600080808061131f8886611360565b9050600061132d8887611360565b9050600061133b8888611360565b9050600061134d826112fa86866111ac565b939b939a50919850919650505050505050565b6000826000036113725750600061040c565b600061137e8385611591565b90508261138b85836115a8565b14610dae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a5565b600060208083528351808285015260005b8181101561140f578581018301518582016040015282016113f3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461144557600080fd5b50565b6000806040838503121561145b57600080fd5b823561146681611430565b946020939093013593505050565b60008060006060848603121561148957600080fd5b833561149481611430565b925060208401356114a481611430565b929592945050506040919091013590565b6000602082840312156114c757600080fd5b81358015158114610dae57600080fd5b6000602082840312156114e957600080fd5b8135610dae81611430565b60006020828403121561150657600080fd5b5035919050565b6000806040838503121561152057600080fd5b823561152b81611430565b9150602083013561153b81611430565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761040c5761040c61157b565b6000826115c557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561040c5761040c61157b565b8181038181111561040c5761040c61157b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561161857600080fd5b8151610dae81611430565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116735784516001600160a01b03168352938301939183019160010161164e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077bff201840051c072cc055525d147a98c9049abd3167026e1f52cfa84163d0464736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101235760003560e01c806370a08231116100a057806395d89b411161006457806395d89b4114610328578063a9059cbb14610355578063b70143c914610375578063dd62ed3e14610395578063f2fde38b146103db57600080fd5b806370a08231146102a9578063715018a6146102c95780637d1db4a5146102de5780638da5cb5b146102f45780638f9a55c01461031257600080fd5b80632fd689e3116100e75780632fd689e314610220578063313ce5671461023657806349bd5a5e146102525780636d8aa8f8146102725780636fc3eaec1461029457600080fd5b806306fdde031461012f578063095ea7b3146101735780631694505e146101a357806318160ddd146101db57806323b872dd1461020057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506040805180820190915260098152684845524f205045504560b81b60208201525b60405161016a91906113e2565b60405180910390f35b34801561017f57600080fd5b5061019361018e366004611448565b6103fb565b604051901515815260200161016a565b3480156101af57600080fd5b506012546101c3906001600160a01b031681565b6040516001600160a01b03909116815260200161016a565b3480156101e757600080fd5b50670de0b6b3a76400005b60405190815260200161016a565b34801561020c57600080fd5b5061019361021b366004611474565b610412565b34801561022c57600080fd5b506101f260185481565b34801561024257600080fd5b506040516009815260200161016a565b34801561025e57600080fd5b506013546101c3906001600160a01b031681565b34801561027e57600080fd5b5061029261028d3660046114b5565b61047b565b005b3480156102a057600080fd5b506102926104ca565b3480156102b557600080fd5b506101f26102c43660046114d7565b6104da565b3480156102d557600080fd5b506102926104fc565b3480156102ea57600080fd5b506101f260165481565b34801561030057600080fd5b506000546001600160a01b03166101c3565b34801561031e57600080fd5b506101f260175481565b34801561033457600080fd5b506040805180820190915260048152634845524f60e01b602082015261015d565b34801561036157600080fd5b50610193610370366004611448565b610570565b34801561038157600080fd5b506102926103903660046114f4565b61057d565b3480156103a157600080fd5b506101f26103b036600461150d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103e757600080fd5b506102926103f63660046114d7565b6105dc565b60006104083384846106c6565b5060015b92915050565b600061041f8484846107ea565b610471843361046c85604051806060016040528060288152602001611695602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610cb9565b6106c6565b5060019392505050565b6000546001600160a01b031633146104ae5760405162461bcd60e51b81526004016104a590611546565b60405180910390fd5b60158054911515620100000262ff000019909216919091179055565b6104d347610cf3565b6001601455565b6001600160a01b03811660009081526002602052604081205461040c90610d31565b6000546001600160a01b031633146105265760405162461bcd60e51b81526004016104a590611546565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006104083384846107ea565b6000546001600160a01b031633146105a75760405162461bcd60e51b81526004016104a590611546565b60006105b2306104da565b9050600060646105c28484611591565b6105cc91906115a8565b90506105d781610db5565b505050565b6000546001600160a01b031633146106065760405162461bcd60e51b81526004016104a590611546565b6001600160a01b03811661066b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a5565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a5565b6001600160a01b0382166107895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a5565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661084e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a5565b6001600160a01b0382166108b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a5565b600081116109125760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a5565b6000546001600160a01b0384811691161480159061093e57506000546001600160a01b03838116911614155b15610b985760155460ff166109d0576000546001600160a01b038481169116146109d05760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104a5565b601654811115610a225760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016104a5565b6013546001600160a01b03838116911614610aa75760175481610a44846104da565b610a4e91906115ca565b10610aa75760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016104a5565b6000610ab2306104da565b6018549091508082101590610ac8906005611591565b8210610adf57601854610adc906005611591565b91505b808015610af45750601554610100900460ff16155b8015610b0e57506013546001600160a01b03868116911614155b8015610b22575060155462010000900460ff165b8015610b4757506001600160a01b03851660009081526005602052604090205460ff16155b8015610b6c57506001600160a01b03841660009081526005602052604090205460ff16155b15610b9557610b7a82610db5565b4766b1a2bc2ec50000811115610b9357610b9381610cf3565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610bda57506001600160a01b03831660009081526005602052604090205460ff165b80610c0c57506013546001600160a01b03858116911614801590610c0c57506013546001600160a01b03848116911614155b15610c1957506000610ca7565b6013546001600160a01b038581169116148015610c4457506012546001600160a01b03848116911614155b15610c5657600854600c55600954600d555b6013546001600160a01b038481169116148015610c8157506012546001600160a01b03858116911614155b15610ca757600a54600c55601454600003610ca157600b54600d55610ca7565b6064600d555b610cb384848484610f29565b50505050565b60008184841115610cdd5760405162461bcd60e51b81526004016104a591906113e2565b506000610cea84866115dd565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d2d573d6000803e3d6000fd5b5050565b6000600654821115610d985760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104a5565b6000610da2610f57565b9050610dae8382610f7a565b9392505050565b6015805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610df957610df96115f0565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e769190611606565b81600181518110610e8957610e896115f0565b6001600160a01b039283166020918202929092010152601254610eaf91309116846106c6565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ee8908590600090869030904290600401611623565b600060405180830381600087803b158015610f0257600080fd5b505af1158015610f16573d6000803e3d6000fd5b50506015805461ff001916905550505050565b80610f3657610f36610fbc565b610f41848484610fea565b80610cb357610cb3600e54600c55600f54600d55565b6000806000610f646110e1565b9092509050610f738282610f7a565b9250505090565b6000610dae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611121565b600c54158015610fcc5750600d54155b15610fd357565b600c8054600e55600d8054600f5560009182905555565b600080600080600080610ffc8761114f565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061102e90876111ac565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461105d90866111ee565b6001600160a01b03891660009081526002602052604090205561107f8161124d565b6110898483611297565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110ce91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006110fc8282610f7a565b82101561111857505060065492670de0b6b3a764000092509050565b90939092509050565b600081836111425760405162461bcd60e51b81526004016104a591906113e2565b506000610cea84866115a8565b600080600080600080600080600061116c8a600c54600d546112bb565b925092509250600061117c610f57565b9050600080600061118f8e878787611310565b919e509c509a509598509396509194505050505091939550919395565b6000610dae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cb9565b6000806111fb83856115ca565b905083811015610dae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a5565b6000611257610f57565b905060006112658383611360565b3060009081526002602052604090205490915061128290826111ee565b30600090815260026020526040902055505050565b6006546112a490836111ac565b6006556007546112b490826111ee565b6007555050565b60008080806112d560646112cf8989611360565b90610f7a565b905060006112e860646112cf8a89611360565b90506000611300826112fa8b866111ac565b906111ac565b9992985090965090945050505050565b600080808061131f8886611360565b9050600061132d8887611360565b9050600061133b8888611360565b9050600061134d826112fa86866111ac565b939b939a50919850919650505050505050565b6000826000036113725750600061040c565b600061137e8385611591565b90508261138b85836115a8565b14610dae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a5565b600060208083528351808285015260005b8181101561140f578581018301518582016040015282016113f3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461144557600080fd5b50565b6000806040838503121561145b57600080fd5b823561146681611430565b946020939093013593505050565b60008060006060848603121561148957600080fd5b833561149481611430565b925060208401356114a481611430565b929592945050506040919091013590565b6000602082840312156114c757600080fd5b81358015158114610dae57600080fd5b6000602082840312156114e957600080fd5b8135610dae81611430565b60006020828403121561150657600080fd5b5035919050565b6000806040838503121561152057600080fd5b823561152b81611430565b9150602083013561153b81611430565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761040c5761040c61157b565b6000826115c557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561040c5761040c61157b565b8181038181111561040c5761040c61157b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561161857600080fd5b8151610dae81611430565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116735784516001600160a01b03168352938301939183019160010161164e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077bff201840051c072cc055525d147a98c9049abd3167026e1f52cfa84163d0464736f6c63430008130033
Deployed Bytecode Sourcemap
4150:11889:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6524:83;;;;;;;;;;-1:-1:-1;6594:5:0;;;;;;;;;;;;-1:-1:-1;;;6594:5:0;;;;6524:83;;;;;;;:::i;:::-;;;;;;;;7449:193;;;;;;;;;;-1:-1:-1;7449:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7449:193:0;1023:187:1;5404:41:0;;;;;;;;;;-1:-1:-1;5404:41:0;;;;-1:-1:-1;;;;;5404:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;5404:41:0;1215:229:1;6801:95:0;;;;;;;;;;-1:-1:-1;4698:18:0;6801:95;;;1595:25:1;;;1583:2;1568:18;6801:95:0;1449:177:1;7650:446:0;;;;;;;;;;-1:-1:-1;7650:446:0;;;;;:::i;:::-;;:::i;5727:54::-;;;;;;;;;;;;;;;;6710:83;;;;;;;;;;-1:-1:-1;6710:83:0;;4372:1;2234:36:1;;2222:2;2207:18;6710:83:0;2092:184:1;5452:28:0;;;;;;;;;;-1:-1:-1;5452:28:0;;;;-1:-1:-1;;;;;5452:28:0;;;12533:103;;;;;;;;;;-1:-1:-1;12533:103:0;;;;;:::i;:::-;;:::i;:::-;;12176:109;;;;;;;;;;;;;:::i;6904:138::-;;;;;;;;;;-1:-1:-1;6904:138:0;;;;;:::i;:::-;;:::i;1637:148::-;;;;;;;;;;;;;:::i;5637:37::-;;;;;;;;;;;;;;;;1423:79;;;;;;;;;;-1:-1:-1;1461:7:0;1488:6;-1:-1:-1;;;;;1488:6:0;1423:79;;5681:39;;;;;;;;;;;;;;;;6615:87;;;;;;;;;;-1:-1:-1;6687:7:0;;;;;;;;;;;;-1:-1:-1;;;6687:7:0;;;;6615:87;;7050:199;;;;;;;;;;-1:-1:-1;7050:199:0;;;;;:::i;:::-;;:::i;12293:232::-;;;;;;;;;;-1:-1:-1;12293:232:0;;;;;:::i;:::-;;:::i;7257:184::-;;;;;;;;;;-1:-1:-1;7257:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7406:18:0;;;7374:7;7406:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7257:184;1793:244;;;;;;;;;;-1:-1:-1;1793:244:0;;;;;:::i;:::-;;:::i;7449:193::-;7551:4;7573:39;262:10;7596:7;7605:6;7573:8;:39::i;:::-;-1:-1:-1;7630:4:0;7449:193;;;;;:::o;7650:446::-;7782:4;7799:36;7809:6;7817:9;7828:6;7799:9;:36::i;:::-;7846:220;7869:6;262:10;7917:138;7973:6;7917:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7917:19:0;;;;;;:11;:19;;;;;;;;262:10;7917:33;;;;;;;;;;:37;:138::i;:::-;7846:8;:220::i;:::-;-1:-1:-1;8084:4:0;7650:446;;;;;:::o;12533:103::-;1550:6;;-1:-1:-1;;;;;1550:6:0;262:10;1550:22;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;;;;;;;;;12602:11:::1;:26:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;12602:26:0;;::::1;::::0;;;::::1;::::0;;12533:103::o;12176:109::-;12218:35;12231:21;12218:12;:35::i;:::-;12276:1;12264:9;:13;12176:109::o;6904:138::-;-1:-1:-1;;;;;7017:16:0;;6970:7;7017:16;;;:7;:16;;;;;;6997:37;;:19;:37::i;1637:148::-;1550:6;;-1:-1:-1;;;;;1550:6:0;262:10;1550:22;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;1744:1:::1;1728:6:::0;;1707:40:::1;::::0;-1:-1:-1;;;;;1728:6:0;;::::1;::::0;1707:40:::1;::::0;1744:1;;1707:40:::1;1775:1;1758:19:::0;;-1:-1:-1;;;;;;1758:19:0::1;::::0;;1637:148::o;7050:199::-;7155:4;7177:42;262:10;7201:9;7212:6;7177:9;:42::i;12293:232::-;1550:6;;-1:-1:-1;;;;;1550:6:0;262:10;1550:22;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;12359:28:::1;12390:24;12408:4;12390:9;:24::i;:::-;12359:55:::0;-1:-1:-1;12425:18:0::1;12475:3;12446:28;12467:7:::0;12359:55;12446:28:::1;:::i;:::-;:32;;;;:::i;:::-;12425:53;;12489:28;12506:10;12489:16;:28::i;:::-;12348:177;;12293:232:::0;:::o;1793:244::-;1550:6;;-1:-1:-1;;;;;1550:6:0;262:10;1550:22;1542:67;;;;-1:-1:-1;;;1542:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1882:22:0;::::1;1874:73;;;::::0;-1:-1:-1;;;1874:73:0;;4687:2:1;1874:73:0::1;::::0;::::1;4669:21:1::0;4726:2;4706:18;;;4699:30;4765:34;4745:18;;;4738:62;-1:-1:-1;;;4816:18:1;;;4809:36;4862:19;;1874:73:0::1;4485:402:1::0;1874:73:0::1;1984:6;::::0;;1963:38:::1;::::0;-1:-1:-1;;;;;1963:38:0;;::::1;::::0;1984:6;::::1;::::0;1963:38:::1;::::0;::::1;2012:6;:17:::0;;-1:-1:-1;;;;;;2012:17:0::1;-1:-1:-1::0;;;;;2012:17:0;;;::::1;::::0;;;::::1;::::0;;1793:244::o;8787:369::-;-1:-1:-1;;;;;8914:19:0;;8906:68;;;;-1:-1:-1;;;8906:68:0;;5094:2:1;8906:68:0;;;5076:21:1;5133:2;5113:18;;;5106:30;5172:34;5152:18;;;5145:62;-1:-1:-1;;;5223:18:1;;;5216:34;5267:19;;8906:68:0;4892:400:1;8906:68:0;-1:-1:-1;;;;;8993:21:0;;8985:68;;;;-1:-1:-1;;;8985:68:0;;5499:2:1;8985:68:0;;;5481:21:1;5538:2;5518:18;;;5511:30;5577:34;5557:18;;;5550:62;-1:-1:-1;;;5628:18:1;;;5621:32;5670:19;;8985:68:0;5297:398:1;8985:68:0;-1:-1:-1;;;;;9064:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9116:32;;1595:25:1;;;9116:32:0;;1568:18:1;9116:32:0;;;;;;;8787:369;;;:::o;9164:2400::-;-1:-1:-1;;;;;9286:18:0;;9278:68;;;;-1:-1:-1;;;9278:68:0;;5902:2:1;9278:68:0;;;5884:21:1;5941:2;5921:18;;;5914:30;5980:34;5960:18;;;5953:62;-1:-1:-1;;;6031:18:1;;;6024:35;6076:19;;9278:68:0;5700:401:1;9278:68:0;-1:-1:-1;;;;;9365:16:0;;9357:64;;;;-1:-1:-1;;;9357:64:0;;6308:2:1;9357:64:0;;;6290:21:1;6347:2;6327:18;;;6320:30;6386:34;6366:18;;;6359:62;-1:-1:-1;;;6437:18:1;;;6430:33;6480:19;;9357:64:0;6106:399:1;9357:64:0;9449:1;9440:6;:10;9432:64;;;;-1:-1:-1;;;9432:64:0;;6712:2:1;9432:64:0;;;6694:21:1;6751:2;6731:18;;;6724:30;6790:34;6770:18;;;6763:62;-1:-1:-1;;;6841:18:1;;;6834:39;6890:19;;9432:64:0;6510:405:1;9432:64:0;1461:7;1488:6;-1:-1:-1;;;;;9513:15:0;;;1488:6;;9513:15;;;;:32;;-1:-1:-1;1461:7:0;1488:6;-1:-1:-1;;;;;9532:13:0;;;1488:6;;9532:13;;9513:32;9509:1203;;;9602:11;;;;9597:144;;1461:7;1488:6;-1:-1:-1;;;;;9642:15:0;;;1488:6;;9642:15;9634:91;;;;-1:-1:-1;;;9634:91:0;;7122:2:1;9634:91:0;;;7104:21:1;7161:2;7141:18;;;7134:30;7200:34;7180:18;;;7173:62;7271:33;7251:18;;;7244:61;7322:19;;9634:91:0;6920:427:1;9634:91:0;9775:12;;9765:6;:22;;9757:63;;;;-1:-1:-1;;;9757:63:0;;7554:2:1;9757:63:0;;;7536:21:1;7593:2;7573:18;;;7566:30;7632;7612:18;;;7605:58;7680:18;;9757:63:0;7352:352:1;9757:63:0;9846:13;;-1:-1:-1;;;;;9840:19:0;;;9846:13;;9840:19;9837:146;;9913:14;;9904:6;9888:13;9898:2;9888:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9880:87;;;;-1:-1:-1;;;9880:87:0;;8041:2:1;9880:87:0;;;8023:21:1;8080:2;8060:18;;;8053:30;8119:34;8099:18;;;8092:62;-1:-1:-1;;;8170:18:1;;;8163:33;8213:19;;9880:87:0;7839:399:1;9880:87:0;9999:28;10030:24;10048:4;10030:9;:24::i;:::-;10108:19;;9999:55;;-1:-1:-1;10084:43:0;;;;;10171:21;;10191:1;10171:21;:::i;:::-;10147:20;:45;10144:142;;10249:19;;:21;;10269:1;10249:21;:::i;:::-;10226:44;;10144:142;10306:7;:18;;;;-1:-1:-1;10318:6:0;;;;;;;10317:7;10306:18;:43;;;;-1:-1:-1;10336:13:0;;-1:-1:-1;;;;;10328:21:0;;;10336:13;;10328:21;;10306:43;:58;;;;-1:-1:-1;10353:11:0;;;;;;;10306:58;:87;;;;-1:-1:-1;;;;;;10369:24:0;;;;;;:18;:24;;;;;;;;10368:25;10306:87;:114;;;;-1:-1:-1;;;;;;10398:22:0;;;;;;:18;:22;;;;;;;;10397:23;10306:114;10302:399;;;10441:38;10458:20;10441:16;:38::i;:::-;10527:21;10592:17;10571:38;;10567:119;;;10634:32;10647:18;10634:12;:32::i;:::-;10422:279;10302:399;9547:1165;;9509:1203;-1:-1:-1;;;;;10788:24:0;;10724:12;10788:24;;;:18;:24;;;;;;10739:4;;10788:24;;;:50;;-1:-1:-1;;;;;;10816:22:0;;;;;;:18;:22;;;;;;;;10788:50;10787:102;;;-1:-1:-1;10852:13:0;;-1:-1:-1;;;;;10844:21:0;;;10852:13;;10844:21;;;;:44;;-1:-1:-1;10875:13:0;;-1:-1:-1;;;;;10869:19:0;;;10875:13;;10869:19;;10844:44;10783:720;;;-1:-1:-1;10916:5:0;10783:720;;;10999:13;;-1:-1:-1;;;;;10991:21:0;;;10999:13;;10991:21;:55;;;;-1:-1:-1;11030:15:0;;-1:-1:-1;;;;;11016:30:0;;;11030:15;;11016:30;;10991:55;10988:162;;;11079:14;;11067:9;:26;11122:12;;11112:7;:22;10988:162;11209:13;;-1:-1:-1;;;;;11203:19:0;;;11209:13;;11203:19;:55;;;;-1:-1:-1;11242:15:0;;-1:-1:-1;;;;;11226:32:0;;;11242:15;;11226:32;;11203:55;11199:293;;;11292:15;;11280:9;:27;11331:9;;-1:-1:-1;11331:14:0;11328:149;;11381:13;;11371:7;:23;11328:149;;;11454:3;11443:7;:14;11328:149;11515:41;11530:4;11536:2;11540:6;11548:7;11515:14;:41::i;:::-;9267:2297;9164:2400;;;:::o;2401:224::-;2521:7;2557:12;2549:6;;;;2541:29;;;;-1:-1:-1;;;2541:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2581:9:0;2593:5;2597:1;2593;:5;:::i;:::-;2581:17;2401:224;-1:-1:-1;;;;;2401:224:0:o;12069:99::-;12126:17;;:34;;-1:-1:-1;;;;;12126:17:0;;;;:34;;;;;12153:6;;12126:17;:34;:17;:34;12153:6;12126:17;:34;;;;;;;;;;;;;;;;;;;;;12069:99;:::o;8104:323::-;8199:7;8257;;8246;:18;;8224:110;;;;-1:-1:-1;;;8224:110:0;;8578:2:1;8224:110:0;;;8560:21:1;8617:2;8597:18;;;8590:30;8656:34;8636:18;;;8629:62;-1:-1:-1;;;8707:18:1;;;8700:40;8757:19;;8224:110:0;8376:406:1;8224:110:0;8345:19;8367:10;:8;:10::i;:::-;8345:32;-1:-1:-1;8395:24:0;:7;8345:32;8395:11;:24::i;:::-;8388:31;8104:323;-1:-1:-1;;;8104:323:0:o;11578:483::-;5875:6;:13;;-1:-1:-1;;5875:13:0;;;;;11680:16:::1;::::0;;11694:1:::1;11680:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11680:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11680:16:0::1;11656:40;;11725:4;11707;11712:1;11707:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11707:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11751:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11751:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11707:7;;11751:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11741:4;11746:1;11741:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11741:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11816:15:::1;::::0;11784:62:::1;::::0;11801:4:::1;::::0;11816:15:::1;11834:11:::0;11784:8:::1;:62::i;:::-;11857:15;::::0;:196:::1;::::0;-1:-1:-1;;;11857:196:0;;-1:-1:-1;;;;;11857:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11938:11;;11857:15:::1;::::0;11980:4;;12007::::1;::::0;12027:15:::1;::::0;11857:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5911:6:0;:14;;-1:-1:-1;;5911:14:0;;;-1:-1:-1;;;;11578:483:0:o;12644:282::-;12800:7;12795:28;;12809:14;:12;:14::i;:::-;12834:44;12852:6;12860:9;12871:6;12834:17;:44::i;:::-;12894:7;12889:29;;12903:15;8718:17;;8706:9;:29;8756:15;;8746:7;:25;8662:117;15605:164;15647:7;15668:15;15685;15704:19;:17;:19::i;:::-;15667:56;;-1:-1:-1;15667:56:0;-1:-1:-1;15741:20:0;15667:56;;15741:11;:20::i;:::-;15734:27;;;;15605:164;:::o;2887:132::-;2945:7;2972:39;2976:1;2979;2972:39;;;;;;;;;;;;;;;;;:3;:39::i;8435:219::-;8482:9;;:14;:30;;;;-1:-1:-1;8500:7:0;;:12;8482:30;8478:43;;;8435:219::o;8478:43::-;8553:9;;;8533:17;:29;8591:7;;;8573:15;:25;-1:-1:-1;8611:13:0;;;;8635:11;8435:219::o;12934:610::-;13081:15;13111:23;13149:12;13176:23;13214:12;13241:13;13268:19;13279:7;13268:10;:19::i;:::-;-1:-1:-1;;;;;13316:15:0;;;;;;:7;:15;;;;;;13066:221;;-1:-1:-1;13066:221:0;;-1:-1:-1;13066:221:0;;-1:-1:-1;13066:221:0;-1:-1:-1;13066:221:0;-1:-1:-1;13066:221:0;-1:-1:-1;13316:28:0;;13066:221;13316:19;:28::i;:::-;-1:-1:-1;;;;;13298:15:0;;;;;;;:7;:15;;;;;;:46;;;;13376:18;;;;;;;:39;;13399:15;13376:22;:39::i;:::-;-1:-1:-1;;;;;13355:18:0;;;;;;:7;:18;;;;;:60;13426:16;13436:5;13426:9;:16::i;:::-;13453:23;13465:4;13471;13453:11;:23::i;:::-;13509:9;-1:-1:-1;;;;;13492:44:0;13501:6;-1:-1:-1;;;;;13492:44:0;;13520:15;13492:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;13492:44:0;;;;;;;;13055:489;;;;;;12934:610;;;:::o;15777:257::-;15875:7;;15828;;;;4698:18;15943:20;15875:7;4698:18;15943:11;:20::i;:::-;15933:7;:30;15929:61;;;-1:-1:-1;;15973:7:0;;;4698:18;;-1:-1:-1;15777:257:0;-1:-1:-1;15777:257:0:o;15929:61::-;16009:7;;16018;;-1:-1:-1;15777:257:0;-1:-1:-1;15777:257:0:o;3027:223::-;3147:7;3182:12;3175:5;3167:28;;;;-1:-1:-1;;;3167:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3206:9:0;3218:5;3222:1;3218;:5;:::i;13963:615::-;14063:7;14085;14107;14129;14151;14173;14209:23;14234:12;14248:13;14278:40;14290:7;14299:9;;14310:7;;14278:11;:40::i;:::-;14208:110;;;;;;14329:19;14351:10;:8;:10::i;:::-;14329:32;;14373:15;14390:23;14415:12;14444:46;14456:7;14465:4;14471:5;14478:11;14444;:46::i;:::-;14372:118;;-1:-1:-1;14372:118:0;-1:-1:-1;14372:118:0;-1:-1:-1;14541:15:0;;-1:-1:-1;14558:4:0;;-1:-1:-1;14564:5:0;;-1:-1:-1;;;;;13963:615:0;;;;;;;:::o;2257:136::-;2315:7;2342:43;2346:1;2349;2342:43;;;;;;;;;;;;;;;;;:3;:43::i;2070:179::-;2128:7;;2160:5;2164:1;2160;:5;:::i;:::-;2148:17;;2189:1;2184;:6;;2176:46;;;;-1:-1:-1;;;2176:46:0;;10494:2:1;2176:46:0;;;10476:21:1;10533:2;10513:18;;;10506:30;10572:29;10552:18;;;10545:57;10619:18;;2176:46:0;10292:351:1;13552:211:0;13605:19;13627:10;:8;:10::i;:::-;13605:32;-1:-1:-1;13648:13:0;13664:22;:5;13605:32;13664:9;:22::i;:::-;13738:4;13722:22;;;;:7;:22;;;;;;13648:38;;-1:-1:-1;13722:33:0;;13648:38;13722:26;:33::i;:::-;13713:4;13697:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13552:211:0:o;13771:147::-;13849:7;;:17;;13861:4;13849:11;:17::i;:::-;13839:7;:27;13890:10;;:20;;13905:4;13890:14;:20::i;:::-;13877:10;:33;-1:-1:-1;;13771:147:0:o;14586:469::-;14755:7;;;;14849:30;14875:3;14849:21;:7;14861:8;14849:11;:21::i;:::-;:25;;:30::i;:::-;14834:45;-1:-1:-1;14890:13:0;14906:28;14930:3;14906:19;:7;14918:6;14906:11;:19::i;:28::-;14890:44;-1:-1:-1;14945:23:0;14971:28;14890:44;14971:17;:7;14983:4;14971:11;:17::i;:::-;:21;;:28::i;:::-;14945:54;15035:4;;-1:-1:-1;15041:5:0;;-1:-1:-1;14586:469:0;;-1:-1:-1;;;;;14586:469:0:o;15063:534::-;15257:7;;;;15354:24;:7;15366:11;15354;:24::i;:::-;15336:42;-1:-1:-1;15389:12:0;15404:21;:4;15413:11;15404:8;:21::i;:::-;15389:36;-1:-1:-1;15436:13:0;15452:22;:5;15462:11;15452:9;:22::i;:::-;15436:38;-1:-1:-1;15485:23:0;15511:28;15436:38;15511:17;:7;15523:4;15511:11;:17::i;:28::-;15558:7;;;;-1:-1:-1;15584:4:0;;-1:-1:-1;15063:534:0;;-1:-1:-1;;;;;;;15063:534:0:o;2633:246::-;2691:7;2715:1;2720;2715:6;2711:47;;-1:-1:-1;2745:1:0;2738:8;;2711:47;2768:9;2780:5;2784:1;2780;:5;:::i;:::-;2768:17;-1:-1:-1;2813:1:0;2804:5;2808:1;2768:17;2804:5;:::i;:::-;:10;2796:56;;;;-1:-1:-1;;;2796:56:0;;10850:2:1;2796:56:0;;;10832:21:1;10889:2;10869:18;;;10862:30;10928:34;10908:18;;;10901:62;-1:-1:-1;;;10979:18:1;;;10972:31;11020:19;;2796:56:0;10648:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:273::-;2545:6;2598:2;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2653:9;2640:23;2706:5;2699:13;2692:21;2685:5;2682:32;2672:60;;2728:1;2725;2718:12;2767:247;2826:6;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2934:9;2921:23;2953:31;2978:5;2953:31;:::i;3019:180::-;3078:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:52;;;3147:1;3144;3137:12;3099:52;-1:-1:-1;3170:23:1;;3019:180;-1:-1:-1;3019:180:1:o;3204:388::-;3272:6;3280;3333:2;3321:9;3312:7;3308:23;3304:32;3301:52;;;3349:1;3346;3339:12;3301:52;3388:9;3375:23;3407:31;3432:5;3407:31;:::i;:::-;3457:5;-1:-1:-1;3514:2:1;3499:18;;3486:32;3527:33;3486:32;3527:33;:::i;:::-;3579:7;3569:17;;;3204:388;;;;;:::o;3597:356::-;3799:2;3781:21;;;3818:18;;;3811:30;3877:34;3872:2;3857:18;;3850:62;3944:2;3929:18;;3597:356::o;3958:127::-;4019:10;4014:3;4010:20;4007:1;4000:31;4050:4;4047:1;4040:15;4074:4;4071:1;4064:15;4090:168;4163:9;;;4194;;4211:15;;;4205:22;;4191:37;4181:71;;4232:18;;:::i;4263:217::-;4303:1;4329;4319:132;;4373:10;4368:3;4364:20;4361:1;4354:31;4408:4;4405:1;4398:15;4436:4;4433:1;4426:15;4319:132;-1:-1:-1;4465:9:1;;4263:217::o;7709:125::-;7774:9;;;7795:10;;;7792:36;;;7808:18;;:::i;8243:128::-;8310:9;;;8331:11;;;8328:37;;;8345:18;;:::i;8919:127::-;8980:10;8975:3;8971:20;8968:1;8961:31;9011:4;9008:1;9001:15;9035:4;9032:1;9025:15;9051:251;9121:6;9174:2;9162:9;9153:7;9149:23;9145:32;9142:52;;;9190:1;9187;9180:12;9142:52;9222:9;9216:16;9241:31;9266:5;9241:31;:::i;9307:980::-;9569:4;9617:3;9606:9;9602:19;9648:6;9637:9;9630:25;9674:2;9712:6;9707:2;9696:9;9692:18;9685:34;9755:3;9750:2;9739:9;9735:18;9728:31;9779:6;9814;9808:13;9845:6;9837;9830:22;9883:3;9872:9;9868:19;9861:26;;9922:2;9914:6;9910:15;9896:29;;9943:1;9953:195;9967:6;9964:1;9961:13;9953:195;;;10032:13;;-1:-1:-1;;;;;10028:39:1;10016:52;;10123:15;;;;10088:12;;;;10064:1;9982:9;9953:195;;;-1:-1:-1;;;;;;;10204:32:1;;;;10199:2;10184:18;;10177:60;-1:-1:-1;;;10268:3:1;10253:19;10246:35;10165:3;9307:980;-1:-1:-1;;;9307:980:1:o
Swarm Source
ipfs://77bff201840051c072cc055525d147a98c9049abd3167026e1f52cfa84163d04
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.