ERC-20
Overview
Max Total Supply
420,000,000 GDOGE
Holders
69
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
394,189.22493709 GDOGEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
GIGADOGE
Compiler Version
v0.8.27+commit.40a35a09
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-25 */ // SPDX-License-Identifier: None /** GIGADOGE (GDOGE) Doge is a true GIGACHAD, an inspiration to us all. This is the untold story of GIGA DOGE. Telegram: https://t.me/GigaDogeErc Twitter : https://x.com/gigadogeoneth Website : https://gigadoge.vip/ **/ 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); } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract GIGADOGE is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => uint256) private _boughtAt; mapping (address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _devWallet; uint256 private _lastSwap=0; bool private _noSecondSwap=false; uint256 private _startBuyTax=20; uint256 private _startSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=0; uint256 private _noSwapBefore=20; uint256 private _buyCount=0; uint8 private constant _decimals = 8; uint256 private constant _totalSupply = 420000000 * 10**_decimals; string private constant _name = unicode"GIGADOGE"; string private constant _symbol = unicode"GDOGE"; uint256 public _maxTxAmount = 8400000 * 10**_decimals; uint256 public _maxWalletSize = 8400000 * 10**_decimals; uint256 public _taxSwapThreshold=8400000 * 10**_decimals; uint256 public _maxTaxSwap=8400000 * 10**_decimals; IUniswapV2Router02 private _router; address private _pair; bool private _tradingOpen; bool private _inSwap = false; bool private _swapEnabled = false; bool private liquidityCreated =false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { _inSwap = true; _; _inSwap = false; } constructor () { _devWallet = payable(_msgSender()); _balances[address(this)] = _totalSupply; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_devWallet] = true; emit Transfer(address(0), address(this), _totalSupply); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[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 _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"); uint256 taxAmount=0; bool shouldSwap=true; if (from != owner() && to != owner()) { taxAmount=amount.mul((_tradingOpen)?0:_startBuyTax).div(100); if (transferDelayEnabled) { if (to != address(_router) && to != address(_pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == _pair && to != address(_router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if(_buyCount<_noSwapBefore){ require(!isContract(to)); } _buyCount++; _boughtAt[to]=block.timestamp; taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_startBuyTax).div(100); } if(to == _pair && from!= address(this) ){ require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_startSellTax).div(100); if(_boughtAt[from]==block.timestamp||_boughtAt[from]==0){ shouldSwap=false; } if(_noSecondSwap&& _lastSwap==block.number){ shouldSwap=false; } } uint256 contractTokenBalance = balanceOf(address(this)); if (!_inSwap && to == _pair && _swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_noSwapBefore && shouldSwap) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); _lastSwap=block.number; } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} if(!_tradingOpen){return;} address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), tokenAmount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _totalSupply; _maxWalletSize=_totalSupply; transferDelayEnabled=false; emit MaxTxAmountUpdated(_totalSupply); } function sendETHToFee(uint256 amount) private { _devWallet.transfer(amount); } function createLiquidity() external onlyOwner payable { require(!_tradingOpen,"Trading is already open"); require(!liquidityCreated,"Liquidity created"); _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(_router), _totalSupply); IUniswapV2Factory factory=IUniswapV2Factory(_router.factory()); _pair = factory.getPair(address(this),_router.WETH()); if(_pair==address(0x0)){ _pair = factory.createPair(address(this), _router.WETH()); } _router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(_pair).approve(address(_router), type(uint).max); liquidityCreated=true; } function openTrading() external onlyOwner() { _swapEnabled = true; _tradingOpen = true; } receive() external payable {} function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function manualSwap() external { require(_msgSender()==_devWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"_taxSwapThreshold","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":"createLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006805460ff199081169091555f600781905560088054909216825560146009819055600a828155600b839055600c8390556001600d55600e839055600f919091556010919091556100569190610317565b6100639062802c8061032c565b6011556100726008600a610317565b61007f9062802c8061032c565b60125561008e6008600a610317565b61009b9062802c8061032c565b6013556100aa6008600a610317565b6100b79062802c8061032c565b6014556016805462ffffff60a81b191690553480156100d4575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556101386008600a610317565b61014690631908b10061032c565b305f90815260016020819052604082209290925560039061016e5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530808252600390945282812080548616600190811790915560065461010090049092168152918220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101fa6008600a610317565b61020890631908b10061032c565b60405190815260200160405180910390a3610343565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561026d578085048111156102515761025161021e565b600184161561025f57908102905b60019390931c928002610236565b935093915050565b5f8261028357506001610311565b8161028f57505f610311565b81600181146102a557600281146102af576102cb565b6001915050610311565b60ff8411156102c0576102c061021e565b50506001821b610311565b5060208310610133831016604e8410600b84101617156102ee575081810a610311565b6102fa5f198484610232565b805f190482111561030d5761030d61021e565b0290505b92915050565b5f61032560ff841683610275565b9392505050565b80820281158282048414176103115761031161021e565b611ab7806103505f395ff3fe60806040526004361061011e575f3560e01c80637d1db4a51161009d578063bf474bed11610062578063bf474bed14610319578063c7af2a9c1461032e578063c876d0b914610336578063c9567bf91461034f578063dd62ed3e14610363575f5ffd5b80637d1db4a51461027d5780638da5cb5b146102925780638f9a55c0146102b857806395d89b41146102cd578063a9059cbb146102fa575f5ffd5b8063313ce567116100e3578063313ce567146101f057806351bc3c851461020b57806370a0823114610221578063715018a614610255578063751039fc14610269575f5ffd5b806306fdde0314610129578063095ea7b31461016b5780630faee56f1461019a57806318160ddd146101bd57806323b872dd146101d1575f5ffd5b3661012557005b5f5ffd5b348015610134575f5ffd5b5060408051808201909152600881526747494741444f474560c01b60208201525b60405161016291906116bc565b60405180910390f35b348015610176575f5ffd5b5061018a610185366004611708565b6103a7565b6040519015158152602001610162565b3480156101a5575f5ffd5b506101af60145481565b604051908152602001610162565b3480156101c8575f5ffd5b506101af6103bd565b3480156101dc575f5ffd5b5061018a6101eb366004611732565b6103dd565b3480156101fb575f5ffd5b5060405160088152602001610162565b348015610216575f5ffd5b5061021f610444565b005b34801561022c575f5ffd5b506101af61023b366004611770565b6001600160a01b03165f9081526001602052604090205490565b348015610260575f5ffd5b5061021f61049a565b348015610274575f5ffd5b5061021f610514565b348015610288575f5ffd5b506101af60115481565b34801561029d575f5ffd5b505f546040516001600160a01b039091168152602001610162565b3480156102c3575f5ffd5b506101af60125481565b3480156102d8575f5ffd5b5060408051808201909152600581526447444f474560d81b6020820152610155565b348015610305575f5ffd5b5061018a610314366004611708565b6105cf565b348015610324575f5ffd5b506101af60135481565b61021f6105db565b348015610341575f5ffd5b5060065461018a9060ff1681565b34801561035a575f5ffd5b5061021f610ae8565b34801561036e575f5ffd5b506101af61037d36600461178b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103b3338484610b2a565b5060015b92915050565b5f6103ca6008600a6118b9565b6103d890631908b1006118c7565b905090565b5f6103e9848484610c4d565b61043a843361043585604051806060016040528060288152602001611a5a602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061131b565b610b2a565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610468575f5ffd5b305f9081526001602052604090205480156104865761048681611353565b47801561049657610496816114dc565b5050565b5f546001600160a01b031633146104cc5760405162461bcd60e51b81526004016104c3906118de565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461053d5760405162461bcd60e51b81526004016104c3906118de565b6105496008600a6118b9565b61055790631908b1006118c7565b6011556105666008600a6118b9565b61057490631908b1006118c7565b6012556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ae6008600a6118b9565b6105bc90631908b1006118c7565b60405190815260200160405180910390a1565b5f6103b3338484610c4d565b5f546001600160a01b031633146106045760405162461bcd60e51b81526004016104c3906118de565b601654600160a01b900460ff161561065e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c3565b601654600160b81b900460ff16156106ac5760405162461bcd60e51b8152602060048201526011602482015270131a5c5d5a591a5d1e4818dc99585d1959607a1b60448201526064016104c3565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f59030906106e76008600a6118b9565b61043590631908b1006118c7565b6015546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa15801561073c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107609190611913565b9050806001600160a01b031663e6a439053060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e69190611913565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561082f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190611913565b601680546001600160a01b0319166001600160a01b0392909216918217905561098957806001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fa9190611913565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610944573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109689190611913565b601680546001600160a01b0319166001600160a01b03929092169190911790555b6015546001600160a01b031663f305d71947306109ba816001600160a01b03165f9081526001602052604090205490565b5f5f6109cd5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a33573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a58919061192e565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad19190611959565b50506016805460ff60b81b1916600160b81b179055565b5f546001600160a01b03163314610b115760405162461bcd60e51b81526004016104c3906118de565b6016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b8c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c3565b6001600160a01b038216610bed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c3565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cb15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c3565b6001600160a01b038216610d135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c3565b5f8111610d745760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c3565b5f6001610d885f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610db657505f546001600160a01b03858116911614155b156111dd57610dee6064610de8601660149054906101000a900460ff16610ddf57600954610de1565b5f5b8690611517565b9061159c565b60065490925060ff1615610ea8576015546001600160a01b03858116911614801590610e2857506016546001600160a01b03858116911614155b15610ea857325f908152600560205260409020544311610e965760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104c3565b325f9081526005602052604090204390555b6016546001600160a01b038681169116148015610ed357506015546001600160a01b03858116911614155b8015610ef757506001600160a01b0384165f9081526003602052604090205460ff16155b1561103457601154831115610f4a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c3565b60125483610f6c866001600160a01b03165f9081526001602052604090205490565b610f769190611978565b1115610fc45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c3565b600f546010541015610fdb57833b15610fdb575f5ffd5b60108054905f610fea8361198b565b90915550506001600160a01b0384165f908152600460205260409020429055600d5460105461103191606491610de8911061102757600954610de1565b600b548690611517565b91505b6016546001600160a01b03858116911614801561105a57506001600160a01b0385163014155b15611132576011548311156110ad5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c3565b6110d26064610de8600e54601054116110c857600a54610de1565b600c548690611517565b6001600160a01b0386165f9081526004602052604090205490925042148061110f57506001600160a01b0385165f90815260046020526040902054155b1561111757505f5b60085460ff16801561112a575043600754145b1561113257505f5b305f90815260016020526040902054601654600160a81b900460ff1615801561116857506016546001600160a01b038681169116145b801561117d5750601654600160b01b900460ff165b801561118a575060135481115b80156111995750600f54601054115b80156111a25750815b156111db576111c46111bf856111ba846014546115dd565b6115dd565b611353565b4780156111d9576111d4476114dc565b436007555b505b505b811561125557305f908152600160205260409020546111fc90836115f1565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061124c9086815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054611277908461164f565b6001600160a01b0386165f908152600160205260409020556112ba61129c848461164f565b6001600160a01b0386165f90815260016020526040902054906115f1565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611303868661164f565b60405190815260200160405180910390a35050505050565b5f818484111561133e5760405162461bcd60e51b81526004016104c391906116bc565b505f61134a84866119a3565b95945050505050565b6016805460ff60a81b1916600160a81b17905580156114cc57601654600160a01b900460ff16156114cc576040805160028082526060820183525f9260208301908036833701905050905030815f815181106113b1576113b16119b6565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c9190611913565b8160018151811061143f5761143f6119b6565b6001600160a01b0392831660209182029290920101526015546114659130911684610b2a565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061149d9085905f908690309042906004016119ca565b5f604051808303815f87803b1580156114b4575f5ffd5b505af11580156114c6573d5f5f3e3d5ffd5b50505050505b506016805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610496573d5f5f3e3d5ffd5b5f825f0361152657505f6103b7565b5f61153183856118c7565b90508261153e8583611a3a565b146115955760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c3565b9392505050565b5f61159583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611690565b5f8183116115eb5782611595565b50919050565b5f806115fd8385611978565b9050838110156115955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c3565b5f61159583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061131b565b5f81836116b05760405162461bcd60e51b81526004016104c391906116bc565b505f61134a8486611a3a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611705575f5ffd5b50565b5f5f60408385031215611719575f5ffd5b8235611724816116f1565b946020939093013593505050565b5f5f5f60608486031215611744575f5ffd5b833561174f816116f1565b9250602084013561175f816116f1565b929592945050506040919091013590565b5f60208284031215611780575f5ffd5b8135611595816116f1565b5f5f6040838503121561179c575f5ffd5b82356117a7816116f1565b915060208301356117b7816116f1565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611811578085048111156117f5576117f56117c2565b600184161561180357908102905b60019390931c9280026117da565b935093915050565b5f82611827575060016103b7565b8161183357505f6103b7565b816001811461184957600281146118535761186f565b60019150506103b7565b60ff841115611864576118646117c2565b50506001821b6103b7565b5060208310610133831016604e8410600b8410161715611892575081810a6103b7565b61189e5f1984846117d6565b805f19048211156118b1576118b16117c2565b029392505050565b5f61159560ff841683611819565b80820281158282048414176103b7576103b76117c2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611923575f5ffd5b8151611595816116f1565b5f5f5f60608486031215611940575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611969575f5ffd5b81518015158114611595575f5ffd5b808201808211156103b7576103b76117c2565b5f6001820161199c5761199c6117c2565b5060010190565b818103818111156103b7576103b76117c2565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a1a5783516001600160a01b03168352602093840193909201916001016119f3565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611a5457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209724e4f2d2fc45f2386c591de8d9e24b009d3c485d398c71fc41276eb42cc2db64736f6c634300081b0033
Deployed Bytecode
0x60806040526004361061011e575f3560e01c80637d1db4a51161009d578063bf474bed11610062578063bf474bed14610319578063c7af2a9c1461032e578063c876d0b914610336578063c9567bf91461034f578063dd62ed3e14610363575f5ffd5b80637d1db4a51461027d5780638da5cb5b146102925780638f9a55c0146102b857806395d89b41146102cd578063a9059cbb146102fa575f5ffd5b8063313ce567116100e3578063313ce567146101f057806351bc3c851461020b57806370a0823114610221578063715018a614610255578063751039fc14610269575f5ffd5b806306fdde0314610129578063095ea7b31461016b5780630faee56f1461019a57806318160ddd146101bd57806323b872dd146101d1575f5ffd5b3661012557005b5f5ffd5b348015610134575f5ffd5b5060408051808201909152600881526747494741444f474560c01b60208201525b60405161016291906116bc565b60405180910390f35b348015610176575f5ffd5b5061018a610185366004611708565b6103a7565b6040519015158152602001610162565b3480156101a5575f5ffd5b506101af60145481565b604051908152602001610162565b3480156101c8575f5ffd5b506101af6103bd565b3480156101dc575f5ffd5b5061018a6101eb366004611732565b6103dd565b3480156101fb575f5ffd5b5060405160088152602001610162565b348015610216575f5ffd5b5061021f610444565b005b34801561022c575f5ffd5b506101af61023b366004611770565b6001600160a01b03165f9081526001602052604090205490565b348015610260575f5ffd5b5061021f61049a565b348015610274575f5ffd5b5061021f610514565b348015610288575f5ffd5b506101af60115481565b34801561029d575f5ffd5b505f546040516001600160a01b039091168152602001610162565b3480156102c3575f5ffd5b506101af60125481565b3480156102d8575f5ffd5b5060408051808201909152600581526447444f474560d81b6020820152610155565b348015610305575f5ffd5b5061018a610314366004611708565b6105cf565b348015610324575f5ffd5b506101af60135481565b61021f6105db565b348015610341575f5ffd5b5060065461018a9060ff1681565b34801561035a575f5ffd5b5061021f610ae8565b34801561036e575f5ffd5b506101af61037d36600461178b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103b3338484610b2a565b5060015b92915050565b5f6103ca6008600a6118b9565b6103d890631908b1006118c7565b905090565b5f6103e9848484610c4d565b61043a843361043585604051806060016040528060288152602001611a5a602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061131b565b610b2a565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610468575f5ffd5b305f9081526001602052604090205480156104865761048681611353565b47801561049657610496816114dc565b5050565b5f546001600160a01b031633146104cc5760405162461bcd60e51b81526004016104c3906118de565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461053d5760405162461bcd60e51b81526004016104c3906118de565b6105496008600a6118b9565b61055790631908b1006118c7565b6011556105666008600a6118b9565b61057490631908b1006118c7565b6012556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ae6008600a6118b9565b6105bc90631908b1006118c7565b60405190815260200160405180910390a1565b5f6103b3338484610c4d565b5f546001600160a01b031633146106045760405162461bcd60e51b81526004016104c3906118de565b601654600160a01b900460ff161561065e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c3565b601654600160b81b900460ff16156106ac5760405162461bcd60e51b8152602060048201526011602482015270131a5c5d5a591a5d1e4818dc99585d1959607a1b60448201526064016104c3565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f59030906106e76008600a6118b9565b61043590631908b1006118c7565b6015546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa15801561073c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107609190611913565b9050806001600160a01b031663e6a439053060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e69190611913565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561082f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190611913565b601680546001600160a01b0319166001600160a01b0392909216918217905561098957806001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fa9190611913565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610944573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109689190611913565b601680546001600160a01b0319166001600160a01b03929092169190911790555b6015546001600160a01b031663f305d71947306109ba816001600160a01b03165f9081526001602052604090205490565b5f5f6109cd5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a33573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a58919061192e565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad19190611959565b50506016805460ff60b81b1916600160b81b179055565b5f546001600160a01b03163314610b115760405162461bcd60e51b81526004016104c3906118de565b6016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b8c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c3565b6001600160a01b038216610bed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c3565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cb15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c3565b6001600160a01b038216610d135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c3565b5f8111610d745760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c3565b5f6001610d885f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610db657505f546001600160a01b03858116911614155b156111dd57610dee6064610de8601660149054906101000a900460ff16610ddf57600954610de1565b5f5b8690611517565b9061159c565b60065490925060ff1615610ea8576015546001600160a01b03858116911614801590610e2857506016546001600160a01b03858116911614155b15610ea857325f908152600560205260409020544311610e965760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104c3565b325f9081526005602052604090204390555b6016546001600160a01b038681169116148015610ed357506015546001600160a01b03858116911614155b8015610ef757506001600160a01b0384165f9081526003602052604090205460ff16155b1561103457601154831115610f4a5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c3565b60125483610f6c866001600160a01b03165f9081526001602052604090205490565b610f769190611978565b1115610fc45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c3565b600f546010541015610fdb57833b15610fdb575f5ffd5b60108054905f610fea8361198b565b90915550506001600160a01b0384165f908152600460205260409020429055600d5460105461103191606491610de8911061102757600954610de1565b600b548690611517565b91505b6016546001600160a01b03858116911614801561105a57506001600160a01b0385163014155b15611132576011548311156110ad5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c3565b6110d26064610de8600e54601054116110c857600a54610de1565b600c548690611517565b6001600160a01b0386165f9081526004602052604090205490925042148061110f57506001600160a01b0385165f90815260046020526040902054155b1561111757505f5b60085460ff16801561112a575043600754145b1561113257505f5b305f90815260016020526040902054601654600160a81b900460ff1615801561116857506016546001600160a01b038681169116145b801561117d5750601654600160b01b900460ff165b801561118a575060135481115b80156111995750600f54601054115b80156111a25750815b156111db576111c46111bf856111ba846014546115dd565b6115dd565b611353565b4780156111d9576111d4476114dc565b436007555b505b505b811561125557305f908152600160205260409020546111fc90836115f1565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061124c9086815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054611277908461164f565b6001600160a01b0386165f908152600160205260409020556112ba61129c848461164f565b6001600160a01b0386165f90815260016020526040902054906115f1565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611303868661164f565b60405190815260200160405180910390a35050505050565b5f818484111561133e5760405162461bcd60e51b81526004016104c391906116bc565b505f61134a84866119a3565b95945050505050565b6016805460ff60a81b1916600160a81b17905580156114cc57601654600160a01b900460ff16156114cc576040805160028082526060820183525f9260208301908036833701905050905030815f815181106113b1576113b16119b6565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142c9190611913565b8160018151811061143f5761143f6119b6565b6001600160a01b0392831660209182029290920101526015546114659130911684610b2a565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061149d9085905f908690309042906004016119ca565b5f604051808303815f87803b1580156114b4575f5ffd5b505af11580156114c6573d5f5f3e3d5ffd5b50505050505b506016805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610496573d5f5f3e3d5ffd5b5f825f0361152657505f6103b7565b5f61153183856118c7565b90508261153e8583611a3a565b146115955760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c3565b9392505050565b5f61159583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611690565b5f8183116115eb5782611595565b50919050565b5f806115fd8385611978565b9050838110156115955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c3565b5f61159583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061131b565b5f81836116b05760405162461bcd60e51b81526004016104c391906116bc565b505f61134a8486611a3a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611705575f5ffd5b50565b5f5f60408385031215611719575f5ffd5b8235611724816116f1565b946020939093013593505050565b5f5f5f60608486031215611744575f5ffd5b833561174f816116f1565b9250602084013561175f816116f1565b929592945050506040919091013590565b5f60208284031215611780575f5ffd5b8135611595816116f1565b5f5f6040838503121561179c575f5ffd5b82356117a7816116f1565b915060208301356117b7816116f1565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611811578085048111156117f5576117f56117c2565b600184161561180357908102905b60019390931c9280026117da565b935093915050565b5f82611827575060016103b7565b8161183357505f6103b7565b816001811461184957600281146118535761186f565b60019150506103b7565b60ff841115611864576118646117c2565b50506001821b6103b7565b5060208310610133831016604e8410600b8410161715611892575081810a6103b7565b61189e5f1984846117d6565b805f19048211156118b1576118b16117c2565b029392505050565b5f61159560ff841683611819565b80820281158282048414176103b7576103b76117c2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611923575f5ffd5b8151611595816116f1565b5f5f5f60608486031215611940575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611969575f5ffd5b81518015158114611595575f5ffd5b808201808211156103b7576103b76117c2565b5f6001820161199c5761199c6117c2565b5060010190565b818103818111156103b7576103b76117c2565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611a1a5783516001600160a01b03168352602093840193909201916001016119f3565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611a5457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209724e4f2d2fc45f2386c591de8d9e24b009d3c485d398c71fc41276eb42cc2db64736f6c634300081b0033
Deployed Bytecode Sourcemap
3756:8991:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:83;;;;;;;;;;-1:-1:-1;5861:5:0;;;;;;;;;;;;-1:-1:-1;;;5861:5:0;;;;5791:83;;;;;;;:::i;:::-;;;;;;;;6615:161;;;;;;;;;;-1:-1:-1;6615:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6615:161:0;945:187:1;5034:50:0;;;;;;;;;;;;;;;;;;;1283:25:1;;;1271:2;1256:18;5034:50:0;1137:177:1;6062:100:0;;;;;;;;;;;;;:::i;6782:313::-;;;;;;;;;;-1:-1:-1;6782:313:0;;;;;:::i;:::-;;:::i;5973:83::-;;;;;;;;;;-1:-1:-1;5973:83:0;;4656:1;1974:36:1;;1962:2;1947:18;5973:83:0;1832:184:1;12396:348:0;;;;;;;;;;;;;:::i;:::-;;6168:119;;;;;;;;;;-1:-1:-1;6168:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6261:18:0;6234:7;6261:18;;;:9;:18;;;;;;;6168:119;2753:148;;;;;;;;;;;;;:::i;10910:211::-;;;;;;;;;;;;;:::i;4847:55::-;;;;;;;;;;;;;;;;2543:79;;;;;;;;;;-1:-1:-1;2581:7:0;2608:6;2543:79;;-1:-1:-1;;;;;2608:6:0;;;2419:51:1;;2407:2;2392:18;2543:79:0;2273:203:1;4909:55:0;;;;;;;;;;;;;;;;5880:87;;;;;;;;;;-1:-1:-1;5952:7:0;;;;;;;;;;;;-1:-1:-1;;;5952:7:0;;;;5880:87;;6293:167;;;;;;;;;;-1:-1:-1;6293:167:0;;;;;:::i;:::-;;:::i;4971:56::-;;;;;;;;;;;;;;;;11227:809;;;:::i;4155:40::-;;;;;;;;;;-1:-1:-1;4155:40:0;;;;;;;;12042:112;;;;;;;;;;;;;:::i;6466:143::-;;;;;;;;;;-1:-1:-1;6466:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6574:18:0;;;6547:7;6574:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6466:143;6615:161;6690:4;6707:39;400:10;6730:7;6739:6;6707:8;:39::i;:::-;-1:-1:-1;6764:4:0;6615:161;;;;;:::o;6062:100::-;6115:7;4716:13;4656:1;4716:2;:13;:::i;:::-;4704:25;;:9;:25;:::i;:::-;6135:19;;6062:100;:::o;6782:313::-;6880:4;6897:36;6907:6;6915:9;6926:6;6897:9;:36::i;:::-;6944:121;6953:6;400:10;6975:89;7013:6;6975:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6975:19:0;;;;;;:11;:19;;;;;;;;400:10;6975:33;;;;;;;;;;:37;:89::i;:::-;6944:8;:121::i;:::-;-1:-1:-1;7083:4:0;6782:313;;;;;:::o;12396:348::-;12460:10;;;;;-1:-1:-1;;;;;12460:10:0;400;-1:-1:-1;;;;;12446:24:0;;12438:33;;;;;;12521:4;12482:20;6261:18;;;:9;:18;;;;;;12541:14;;12538:73;;12569:30;12586:12;12569:16;:30::i;:::-;12640:21;12675:12;;12672:65;;12701:24;12714:10;12701:12;:24::i;:::-;12427:317;;12396:348::o;2753:148::-;2668:6;;-1:-1:-1;;;;;2668:6:0;400:10;2668:22;2660:67;;;;-1:-1:-1;;;2660:67:0;;;;;;;:::i;:::-;;;;;;;;;2860:1:::1;2844:6:::0;;2823:40:::1;::::0;-1:-1:-1;;;;;2844:6:0;;::::1;::::0;2823:40:::1;::::0;2860:1;;2823:40:::1;2891:1;2874:19:::0;;-1:-1:-1;;;;;;2874:19:0::1;::::0;;2753:148::o;10910:211::-;2668:6;;-1:-1:-1;;;;;2668:6:0;400:10;2668:22;2660:67;;;;-1:-1:-1;;;2660:67:0;;;;;;;:::i;:::-;4716:13:::1;4656:1;4716:2;:13;:::i;:::-;4704:25;::::0;:9:::1;:25;:::i;:::-;10963:12;:27:::0;4716:13:::1;4656:1;4716:2;:13;:::i;:::-;4704:25;::::0;:9:::1;:25;:::i;:::-;11001:14;:27:::0;11039:20:::1;:26:::0;;-1:-1:-1;;11039:26:0::1;::::0;;11081:32:::1;4716:13;4656:1;4716:2;:13;:::i;:::-;4704:25;::::0;:9:::1;:25;:::i;:::-;11081:32;::::0;1283:25:1;;;1271:2;1256:18;11081:32:0::1;;;;;;;10910:211::o:0;6293:167::-;6371:4;6388:42;400:10;6412:9;6423:6;6388:9;:42::i;11227:809::-;2668:6;;-1:-1:-1;;;;;2668:6:0;400:10;2668:22;2660:67;;;;-1:-1:-1;;;2660:67:0;;;;;;;:::i;:::-;11301:12:::1;::::0;-1:-1:-1;;;11301:12:0;::::1;;;11300:13;11292:48;;;::::0;-1:-1:-1;;;11292:48:0;;5174:2:1;11292:48:0::1;::::0;::::1;5156:21:1::0;5213:2;5193:18;;;5186:30;5252:25;5232:18;;;5225:53;5295:18;;11292:48:0::1;4972:347:1::0;11292:48:0::1;11360:16;::::0;-1:-1:-1;;;11360:16:0;::::1;;;11359:17;11351:46;;;::::0;-1:-1:-1;;;11351:46:0;;5526:2:1;11351:46:0::1;::::0;::::1;5508:21:1::0;5565:2;5545:18;;;5538:30;-1:-1:-1;;;5584:18:1;;;5577:47;5641:18;;11351:46:0::1;5324:341:1::0;11351:46:0::1;11408:7;:72:::0;;-1:-1:-1;;;;;;11408:72:0::1;11437:42;11408:72:::0;;::::1;::::0;;;11491:55:::1;::::0;11508:4:::1;::::0;4716:13:::1;4656:1;4716:2;:13;:::i;:::-;4704:25;::::0;:9:::1;:25;:::i;11491:55::-;11601:7;::::0;:17:::1;::::0;;-1:-1:-1;;;11601:17:0;;;;11557:25:::1;::::0;-1:-1:-1;;;;;11601:7:0::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:7;:17:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11557:62;;11638:7;-1:-1:-1::0;;;;;11638:15:0::1;;11662:4;11668:7;;;;;;;;;-1:-1:-1::0;;;;;11668:7:0::1;-1:-1:-1::0;;;;;11668:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11638:45;::::0;-1:-1:-1;;;;;;11638:45:0::1;::::0;;;;;;-1:-1:-1;;;;;6118:32:1;;;11638:45:0::1;::::0;::::1;6100:51:1::0;6187:32;;6167:18;;;6160:60;6073:18;;11638:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11630:5;:53:::0;;-1:-1:-1;;;;;;11630:53:0::1;-1:-1:-1::0;;;;;11630:53:0;;;::::1;::::0;;::::1;::::0;;11694:105:::1;;11738:7;-1:-1:-1::0;;;;;11738:18:0::1;;11765:4;11772:7;;;;;;;;;-1:-1:-1::0;;;;;11772:7:0::1;-1:-1:-1::0;;;;;11772:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11738:49;::::0;-1:-1:-1;;;;;;11738:49:0::1;::::0;;;;;;-1:-1:-1;;;;;6118:32:1;;;11738:49:0::1;::::0;::::1;6100:51:1::0;6187:32;;6167:18;;;6160:60;6073:18;;11738:49:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11730:5;:57:::0;;-1:-1:-1;;;;;;11730:57:0::1;-1:-1:-1::0;;;;;11730:57:0;;;::::1;::::0;;;::::1;::::0;;11694:105:::1;11809:7;::::0;-1:-1:-1;;;;;11809:7:0::1;:23;11840:21;11871:4;11877:24;11871:4:::0;-1:-1:-1;;;;;6261:18:0;6234:7;6261:18;;;:9;:18;;;;;;;6168:119;11877:24:::1;11902:1;11904;11906:7;2581::::0;2608:6;-1:-1:-1;;;;;2608:6:0;;2543:79;11906:7:::1;11809:121;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11809:121:0;;;-1:-1:-1;;;;;6552:32:1;;;11809:121:0::1;::::0;::::1;6534:51:1::0;6601:18;;;6594:34;;;;6644:18;;;6637:34;;;;6687:18;;;6680:34;6751:32;;;6730:19;;;6723:61;11914:15:0::1;6800:19:1::0;;;6793:35;6506:19;;11809:121:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11948:5:0::1;::::0;11971:7:::1;::::0;11941:55:::1;::::0;-1:-1:-1;;;11941:55:0;;-1:-1:-1;;;;;11971:7:0;;::::1;11941:55;::::0;::::1;7474:51:1::0;-1:-1:-1;;7541:18:1;;;7534:34;11948:5:0;::::1;::::0;-1:-1:-1;11941:21:0::1;::::0;7447:18:1;;11941:55:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12007:16:0::1;:21:::0;;-1:-1:-1;;;;12007:21:0::1;-1:-1:-1::0;;;12007:21:0::1;::::0;;11227:809::o;12042:112::-;2668:6;;-1:-1:-1;;;;;2668:6:0;400:10;2668:22;2660:67;;;;-1:-1:-1;;;2660:67:0;;;;;;;:::i;:::-;12097:12:::1;:19:::0;;-1:-1:-1;;;;12127:19:0;-1:-1:-1;;;12127:19:0;;;12042:112::o;7101:335::-;-1:-1:-1;;;;;7194:19:0;;7186:68;;;;-1:-1:-1;;;7186:68:0;;8063:2:1;7186:68:0;;;8045:21:1;8102:2;8082:18;;;8075:30;8141:34;8121:18;;;8114:62;-1:-1:-1;;;8192:18:1;;;8185:34;8236:19;;7186:68:0;7861:400:1;7186:68:0;-1:-1:-1;;;;;7273:21:0;;7265:68;;;;-1:-1:-1;;;7265:68:0;;8468:2:1;7265:68:0;;;8450:21:1;8507:2;8487:18;;;8480:30;8546:34;8526:18;;;8519:62;-1:-1:-1;;;8597:18:1;;;8590:32;8639:19;;7265:68:0;8266:398:1;7265:68:0;-1:-1:-1;;;;;7344:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7396:32;;1283:25:1;;;7396:32:0;;1256:18:1;7396:32:0;;;;;;;7101:335;;;:::o;7442:2818::-;-1:-1:-1;;;;;7530:18:0;;7522:68;;;;-1:-1:-1;;;7522:68:0;;8871:2:1;7522:68:0;;;8853:21:1;8910:2;8890:18;;;8883:30;8949:34;8929:18;;;8922:62;-1:-1:-1;;;9000:18:1;;;8993:35;9045:19;;7522:68:0;8669:401:1;7522:68:0;-1:-1:-1;;;;;7609:16:0;;7601:64;;;;-1:-1:-1;;;7601:64:0;;9277:2:1;7601:64:0;;;9259:21:1;9316:2;9296:18;;;9289:30;9355:34;9335:18;;;9328:62;-1:-1:-1;;;9406:18:1;;;9399:33;9449:19;;7601:64:0;9075:399:1;7601:64:0;7693:1;7684:6;:10;7676:64;;;;-1:-1:-1;;;7676:64:0;;9681:2:1;7676:64:0;;;9663:21:1;9720:2;9700:18;;;9693:30;9759:34;9739:18;;;9732:62;-1:-1:-1;;;9810:18:1;;;9803:39;9859:19;;7676:64:0;9479:405:1;7676:64:0;7751:17;7797:4;7824:7;2581;2608:6;-1:-1:-1;;;;;2608:6:0;;2543:79;7824:7;-1:-1:-1;;;;;7816:15:0;:4;-1:-1:-1;;;;;7816:15:0;;;:32;;;;-1:-1:-1;2581:7:0;2608:6;-1:-1:-1;;;;;7835:13:0;;;2608:6;;7835:13;;7816:32;7812:2094;;;7875:50;7921:3;7875:41;7887:12;;;;;;;;;;;7886:29;;7903:12;;7886:29;;;7901:1;7886:29;7875:6;;:10;:41::i;:::-;:45;;:50::i;:::-;7944:20;;7865:60;;-1:-1:-1;7944:20:0;;7940:322;;;8001:7;;-1:-1:-1;;;;;7987:22:0;;;8001:7;;7987:22;;;;:46;;-1:-1:-1;8027:5:0;;-1:-1:-1;;;;;8013:20:0;;;8027:5;;8013:20;;7987:46;7983:264;;;8091:9;8062:39;;;;:28;:39;;;;;;8104:12;-1:-1:-1;8054:102:0;;;;-1:-1:-1;;;8054:102:0;;10091:2:1;8054:102:0;;;10073:21:1;10130:2;10110:18;;;10103:30;10169:34;10149:18;;;10142:62;-1:-1:-1;;;10220:18:1;;;10213:34;10264:19;;8054:102:0;9889:400:1;8054:102:0;8204:9;8175:39;;;;:28;:39;;;;;8217:12;8175:54;;7983:264;8290:5;;-1:-1:-1;;;;;8282:13:0;;;8290:5;;8282:13;:39;;;;-1:-1:-1;8313:7:0;;-1:-1:-1;;;;;8299:22:0;;;8313:7;;8299:22;;8282:39;:67;;;;-1:-1:-1;;;;;;8327:22:0;;;;;;:18;:22;;;;;;;;8325:24;8282:67;8278:560;;;8389:12;;8379:6;:22;;8371:60;;;;-1:-1:-1;;;8371:60:0;;10496:2:1;8371:60:0;;;10478:21:1;10535:2;10515:18;;;10508:30;-1:-1:-1;;;10554:18:1;;;10547:55;10619:18;;8371:60:0;10294:349:1;8371:60:0;8484:14;;8474:6;8458:13;8468:2;-1:-1:-1;;;;;6261:18:0;6234:7;6261:18;;;:9;:18;;;;;;;6168:119;8458:13;:22;;;;:::i;:::-;:40;;8450:79;;;;-1:-1:-1;;;8450:79:0;;10980:2:1;8450:79:0;;;10962:21:1;11019:2;10999:18;;;10992:30;11058:28;11038:18;;;11031:56;11104:18;;8450:79:0;10778:350:1;8450:79:0;8561:13;;8551:9;;:23;8548:92;;;12326:20;;12374:8;8596:24;;;;;;8658:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8688:13:0;;;;;;:9;:13;;;;;8702:15;8688:29;;8770:15;;8760:9;;8748:74;;8818:3;;8748:65;;-1:-1:-1;8759:53:0;;8800:12;;8759:53;;;8787:12;;8748:6;;:10;:65::i;:74::-;8736:86;;8278:560;8861:5;;-1:-1:-1;;;;;8855:11:0;;;8861:5;;8855:11;:35;;;;-1:-1:-1;;;;;;8870:20:0;;8885:4;8870:20;;8855:35;8852:492;;;8929:12;;8919:6;:22;;8911:60;;;;-1:-1:-1;;;8911:60:0;;10496:2:1;8911:60:0;;;10478:21:1;10535:2;10515:18;;;10508:30;-1:-1:-1;;;10554:18:1;;;10547:55;10619:18;;8911:60:0;10294:349:1;8911:60:0;9002:77;9075:3;9002:68;9024:16;;9014:9;;:26;9013:56;;9056:13;;9013:56;;;9042:13;;9002:6;;:10;:68::i;:77::-;-1:-1:-1;;;;;9101:15:0;;;;;;:9;:15;;;;;;8990:89;;-1:-1:-1;9118:15:0;9101:32;;:52;;-1:-1:-1;;;;;;9135:15:0;;;;;;:9;:15;;;;;;:18;9101:52;9098:113;;;-1:-1:-1;9186:5:0;9098:113;9232:13;;;;:39;;;;;9259:12;9248:9;;:23;9232:39;9229:100;;;-1:-1:-1;9304:5:0;9229:100;9407:4;9358:28;6261:18;;;:9;:18;;;;;;9433:7;;-1:-1:-1;;;9433:7:0;;;;9432:8;:23;;;;-1:-1:-1;9450:5:0;;-1:-1:-1;;;;;9444:11:0;;;9450:5;;9444:11;9432:23;:39;;;;-1:-1:-1;9459:12:0;;-1:-1:-1;;;9459:12:0;;;;9432:39;:81;;;;;9496:17;;9475:20;:38;9432:81;:108;;;;;9527:13;;9517:9;;:23;9432:108;:122;;;;;9544:10;9432:122;9428:467;;;9575:67;9592:49;9596:6;9603:37;9607:20;9628:11;;9603:3;:37::i;:::-;9592:3;:49::i;:::-;9575:16;:67::i;:::-;9690:21;9733:22;;9730:150;;9780:35;9793:21;9780:12;:35::i;:::-;9848:12;9838:9;:22;9730:150;9556:339;9428:467;7850:2056;7812:2094;9919:11;;9916:161;;9987:4;9969:24;;;;:9;:24;;;;;;:39;;9998:9;9969:28;:39::i;:::-;9962:4;9944:24;;;;:9;:24;;;;;;;:64;;;;10026:39;;-1:-1:-1;;;;;10026:39:0;;;;;;;10055:9;1283:25:1;;1271:2;1256:18;;1137:177;10026:39:0;;;;;;;;9916:161;-1:-1:-1;;;;;10103:15:0;;;;;;:9;:15;;;;;;:27;;10123:6;10103:19;:27::i;:::-;-1:-1:-1;;;;;10087:15:0;;;;;;:9;:15;;;;;:43;10155:40;10173:21;:6;10184:9;10173:10;:21::i;:::-;-1:-1:-1;;;;;10155:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10141:13:0;;;;;;;:9;:13;;;;;:54;;;;10211:41;;;10230:21;:6;10241:9;10230:10;:21::i;:::-;10211:41;;1283:25:1;;;1271:2;1256:18;10211:41:0;;;;;;;7511:2749;;7442:2818;;;:::o;1449:190::-;1535:7;1571:12;1563:6;;;;1555:29;;;;-1:-1:-1;;;1555:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1595:9:0;1607:5;1611:1;1607;:5;:::i;:::-;1595:17;1449:190;-1:-1:-1;;;;;1449:190:0:o;10372:532::-;5392:7;:14;;-1:-1:-1;;;;5392:14:0;-1:-1:-1;;;5392:14:0;;;10450:27;;10469:7:::1;10450:27;10491:12;::::0;-1:-1:-1;;;10491:12:0;::::1;;;10487:26:::0;10505:7:::1;10487:26;10547:16;::::0;;10561:1:::1;10547:16:::0;;;;;::::1;::::0;;10523:21:::1;::::0;10547:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10547:16:0::1;10523:40;;10592:4;10574;10579:1;10574:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10574:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10618:7:::1;::::0;:14:::1;::::0;;-1:-1:-1;;;10618:14:0;;;;:7;;;::::1;::::0;:12:::1;::::0;:14:::1;::::0;;::::1;::::0;10574:7;;10618:14;;;;;:7;:14:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10608:4;10613:1;10608:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10608:24:0;;::::1;:7;::::0;;::::1;::::0;;;;;:24;10675:7:::1;::::0;10643:54:::1;::::0;10660:4:::1;::::0;10675:7:::1;10685:11:::0;10643:8:::1;:54::i;:::-;10708:7;::::0;:188:::1;::::0;-1:-1:-1;;;10708:188:0;;-1:-1:-1;;;;;10708:7:0;;::::1;::::0;:58:::1;::::0;:188:::1;::::0;10781:11;;10708:7:::1;::::0;10823:4;;10850::::1;::::0;10870:15:::1;::::0;10708:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10439:465;5417:1;-1:-1:-1::0;5429:7:0;:15;;-1:-1:-1;;;;5429:15:0;;;10372:532::o;11127:92::-;11184:10;;:27;;:10;;;;-1:-1:-1;;;;;11184:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1645:246;1703:7;1727:1;1732;1727:6;1723:47;;-1:-1:-1;1757:1:0;1750:8;;1723:47;1780:9;1792:5;1796:1;1792;:5;:::i;:::-;1780:17;-1:-1:-1;1825:1:0;1816:5;1820:1;1780:17;1816:5;:::i;:::-;:10;1808:56;;;;-1:-1:-1;;;1808:56:0;;13058:2:1;1808:56:0;;;13040:21:1;13097:2;13077:18;;;13070:30;13136:34;13116:18;;;13109:62;-1:-1:-1;;;13187:18:1;;;13180:31;13228:19;;1808:56:0;12856:397:1;1808:56:0;1882:1;1645:246;-1:-1:-1;;;1645:246:0:o;1897:132::-;1955:7;1982:39;1986:1;1989;1982:39;;;;;;;;;;;;;;;;;:3;:39::i;10268:98::-;10325:7;10352:1;10350;:3;10349:9;;10357:1;10349:9;;;-1:-1:-1;10355:1:0;10268:98;-1:-1:-1;10268:98:0:o;1122:179::-;1180:7;;1212:5;1216:1;1212;:5;:::i;:::-;1200:17;;1241:1;1236;:6;;1228:46;;;;-1:-1:-1;;;1228:46:0;;13460:2:1;1228:46:0;;;13442:21:1;13499:2;13479:18;;;13472:30;13538:29;13518:18;;;13511:57;13585:18;;1228:46:0;13258:351:1;1307:136:0;1365:7;1392:43;1396:1;1399;1392:43;;;;;;;;;;;;;;;;;:3;:43::i;2035:189::-;2121:7;2156:12;2149:5;2141:28;;;;-1:-1:-1;;;2141:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2180:9:0;2192:5;2196:1;2192;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;2874:127::-;2935:10;2930:3;2926:20;2923:1;2916:31;2966:4;2963:1;2956:15;2990:4;2987:1;2980:15;3006:375;3094:1;3112:5;3126:249;3147:1;3137:8;3134:15;3126:249;;;3197:4;3192:3;3188:14;3182:4;3179:24;3176:50;;;3206:18;;:::i;:::-;3256:1;3246:8;3242:16;3239:49;;;3270:16;;;;3239:49;3353:1;3349:16;;;;;3309:15;;3126:249;;;3006:375;;;;;;:::o;3386:902::-;3435:5;3465:8;3455:80;;-1:-1:-1;3506:1:1;3520:5;;3455:80;3554:4;3544:76;;-1:-1:-1;3591:1:1;3605:5;;3544:76;3636:4;3654:1;3649:59;;;;3722:1;3717:174;;;;3629:262;;3649:59;3679:1;3670:10;;3693:5;;;3717:174;3754:3;3744:8;3741:17;3738:43;;;3761:18;;:::i;:::-;-1:-1:-1;;3817:1:1;3803:16;;3876:5;;3629:262;;3975:2;3965:8;3962:16;3956:3;3950:4;3947:13;3943:36;3937:2;3927:8;3924:16;3919:2;3913:4;3910:12;3906:35;3903:77;3900:203;;;-1:-1:-1;4012:19:1;;;4088:5;;3900:203;4135:42;-1:-1:-1;;4160:8:1;4154:4;4135:42;:::i;:::-;4213:6;4209:1;4205:6;4201:19;4192:7;4189:32;4186:58;;;4224:18;;:::i;:::-;4262:20;;3386:902;-1:-1:-1;;;3386:902:1:o;4293:140::-;4351:5;4380:47;4421:4;4411:8;4407:19;4401:4;4380:47;:::i;4438:168::-;4511:9;;;4542;;4559:15;;;4553:22;;4539:37;4529:71;;4580:18;;:::i;4611:356::-;4813:2;4795:21;;;4832:18;;;4825:30;4891:34;4886:2;4871:18;;4864:62;4958:2;4943:18;;4611:356::o;5670:251::-;5740:6;5793:2;5781:9;5772:7;5768:23;5764:32;5761:52;;;5809:1;5806;5799:12;5761:52;5841:9;5835:16;5860:31;5885:5;5860:31;:::i;6839:456::-;6927:6;6935;6943;6996:2;6984:9;6975:7;6971:23;6967:32;6964:52;;;7012:1;7009;7002:12;6964:52;-1:-1:-1;;7057:16:1;;7163:2;7148:18;;7142:25;7259:2;7244:18;;;7238:25;7057:16;;7142:25;;-1:-1:-1;7238:25:1;6839:456;-1:-1:-1;6839:456:1:o;7579:277::-;7646:6;7699:2;7687:9;7678:7;7674:23;7670:32;7667:52;;;7715:1;7712;7705:12;7667:52;7747:9;7741:16;7800:5;7793:13;7786:21;7779:5;7776:32;7766:60;;7822:1;7819;7812:12;10648:125;10713:9;;;10734:10;;;10731:36;;;10747:18;;:::i;11133:135::-;11172:3;11193:17;;;11190:43;;11213:18;;:::i;:::-;-1:-1:-1;11260:1:1;11249:13;;11133:135::o;11273:128::-;11340:9;;;11361:11;;;11358:37;;;11375:18;;:::i;11538:127::-;11599:10;11594:3;11590:20;11587:1;11580:31;11630:4;11627:1;11620:15;11654:4;11651:1;11644:15;11670:959;11932:4;11980:3;11969:9;11965:19;12011:6;12000:9;11993:25;12054:6;12049:2;12038:9;12034:18;12027:34;12097:3;12092:2;12081:9;12077:18;12070:31;12121:6;12156;12150:13;12187:6;12179;12172:22;12225:3;12214:9;12210:19;12203:26;;12264:2;12256:6;12252:15;12238:29;;12285:1;12295:195;12309:6;12306:1;12303:13;12295:195;;;12374:13;;-1:-1:-1;;;;;12370:39:1;12358:52;;12439:2;12465:15;;;;12430:12;;;;12406:1;12324:9;12295:195;;;-1:-1:-1;;;;;;;12546:32:1;;;;12541:2;12526:18;;12519:60;-1:-1:-1;;12610:3:1;12595:19;12588:35;12507:3;11670:959;-1:-1:-1;;;11670:959:1:o;12634:217::-;12674:1;12700;12690:132;;12744:10;12739:3;12735:20;12732:1;12725:31;12779:4;12776:1;12769:15;12807:4;12804:1;12797:15;12690:132;-1:-1:-1;12836:9:1;;12634:217::o
Swarm Source
ipfs://9724e4f2d2fc45f2386c591de8d9e24b009d3c485d398c71fc41276eb42cc2db
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.