ERC-20
Overview
Max Total Supply
1,000,000,000 FWOGIE
Holders
93
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
8,703,890.903927295 FWOGIEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
FWOGIE
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-12 */ // SPDX-License-Identifier: MIT /** Web: https://fwogieoneth.xyz X: https://x.com/fwogie_on_eth Tg: https://t.me/fwogie_on_eth **/ pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } 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 isnt owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } 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); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract FWOGIE 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 => bool) private bots; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = false; address payable private _taxWallet; uint256 private _initialBuyTax = 20; uint256 private _initialSellTax = 20; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 20; uint256 private _reduceSellTaxAt = 20; uint256 private _preventSwapBefore = 20; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10 ** _decimals; string private constant _name = unicode"Fwog Girlfriend"; string private constant _symbol = unicode"FWOGIE"; uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; uint256 public _taxSwapThreshold = 115 * 10 ** _decimals; uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { _taxWallet = payable(0x51e7dA154CF1AB3749a325e144877b98Bb994C7B); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _balances[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function createFWOGIE() external onlyOwner { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); } 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 _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from zero address"); require(spender != address(0), "ERC20: approve to zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _tokenTransfer(address from, address to, uint256 tokenAmount) private { if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (transferDelayEnabled) { if ( to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only 1 purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + tokenAmount <= _maxWalletSize, "Exceeds the maxWalletSize." ); _buyCount++; } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { if(contractTokenBalance > _taxSwapThreshold) { swapTokensForEth( min(tokenAmount, min(contractTokenBalance, _maxTaxSwap)) ); } sendETHToFee(address(this).balance); } } (uint256 taxA, uint256 tokenA) = _taxTransfer(from, to, tokenAmount); _balances[from] = _balances[from].sub(tokenA); _balances[to] = _balances[to].add(tokenAmount.sub(taxA)); emit Transfer(from, to, tokenAmount.sub(taxA)); } 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 _taxTransfer( address sender, address receipt, uint256 amount ) internal returns (uint256, uint256) { uint256 tokenAmount; uint256 taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); if (receipt == uniswapV2Pair && sender != address(this)) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } if(receipt != address(this) && _isExcludedFromFee[sender]) return (taxAmount, tokenAmount); if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)] + taxAmount; emit Transfer(sender, address(this), taxAmount); } return (taxAmount, amount); } function _transfer(address from, address to, uint256 tokenAmount) private { require(from != address(0), "ERC20: transfer from zero address"); require(to != address(0), "ERC20: transfer to zero address"); require(tokenAmount > 0, "Transfer amount must be > than zero"); if (inSwap || !swapEnabled) { _balances[from] = _balances[from].sub(tokenAmount); _balances[to] = _balances[to].add(tokenAmount); emit Transfer(from, to, tokenAmount); return; } _tokenTransfer(from, to, tokenAmount); } function openFWOGIE() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; transferDelayEnabled = false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool) { return bots[a]; } function rescueEth() external onlyOwner { sendETHToFee(address(this).balance); } receive() external payable {} 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 ); } }
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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":"createFWOGIE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openFWOGIE","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":"rescueEth","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
60806040526006805460ff191690556014600781905560088190555f6009818155600a828155600b849055600c849055600d93909355600e91909155620000469162000343565b62000056906301312d006200035a565b600f55620000676009600a62000343565b62000077906301312d006200035a565b601055620000886009600a62000343565b620000959060736200035a565b601155620000a66009600a62000343565b620000b590629896806200035a565b6012556014805461ffff60a81b19169055348015620000d2575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319167451e7da154cf1ab3749a325e144877b98bb994c7b00179055600160035f620001525f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001bb6009600a62000343565b620001cb90633b9aca006200035a565b335f81815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020d6009600a62000343565b6200021d90633b9aca006200035a565b60405190815260200160405180910390a362000374565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028857815f19048211156200026c576200026c62000234565b808516156200027a57918102915b93841c93908002906200024d565b509250929050565b5f82620002a0575060016200033d565b81620002ae57505f6200033d565b8160018114620002c75760028114620002d257620002f2565b60019150506200033d565b60ff841115620002e657620002e662000234565b50506001821b6200033d565b5060208310610133831016604e8410600b841016171562000317575081810a6200033d565b62000323838362000248565b805f190482111562000339576200033962000234565b0290505b92915050565b5f6200035360ff84168362000290565b9392505050565b80820281158282048414176200033d576200033d62000234565b611c4780620003825f395ff3fe60806040526004361061013f575f3560e01c806375e8ace5116100b3578063a9059cbb1161006d578063a9059cbb1461038d578063bf474bed146103ac578063c876d0b9146103c1578063ce31a06b146103da578063d34628cc146103ee578063dd62ed3e1461040d575f80fd5b806375e8ace5146102e75780637d1db4a5146102fb57806384ceff48146103105780638da5cb5b146103245780638f9a55c01461034a57806395d89b411461035f575f80fd5b8063313ce56711610104578063313ce5671461021857806331c2d847146102335780633bbac5791461025457806370a082311461028b578063715018a6146102bf578063751039fc146102d3575f80fd5b806306fdde031461014a578063095ea7b3146101935780630faee56f146101c257806318160ddd146101e557806323b872dd146101f9575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600f81526e119ddbd9c811da5c9b199c9a595b99608a1b60208201525b60405161018a9190611751565b60405180910390f35b34801561019e575f80fd5b506101b26101ad3660046117c4565b610451565b604051901515815260200161018a565b3480156101cd575f80fd5b506101d760125481565b60405190815260200161018a565b3480156101f0575f80fd5b506101d7610467565b348015610204575f80fd5b506101b26102133660046117ee565b610487565b348015610223575f80fd5b506040516009815260200161018a565b34801561023e575f80fd5b5061025261024d366004611840565b6104ee565b005b34801561025f575f80fd5b506101b261026e366004611900565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610296575f80fd5b506101d76102a5366004611900565b6001600160a01b03165f9081526001602052604090205490565b3480156102ca575f80fd5b5061025261057e565b3480156102de575f80fd5b506102526105ef565b3480156102f2575f80fd5b506102526106aa565b348015610306575f80fd5b506101d7600f5481565b34801561031b575f80fd5b506102526108a3565b34801561032f575f80fd5b505f546040516001600160a01b03909116815260200161018a565b348015610355575f80fd5b506101d760105481565b34801561036a575f80fd5b5060408051808201909152600681526546574f47494560d01b602082015261017d565b348015610398575f80fd5b506101b26103a73660046117c4565b610a88565b3480156103b7575f80fd5b506101d760115481565b3480156103cc575f80fd5b506006546101b29060ff1681565b3480156103e5575f80fd5b50610252610a94565b3480156103f9575f80fd5b50610252610408366004611840565b610ac8565b348015610418575f80fd5b506101d761042736600461191b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61045d338484610b4c565b5060015b92915050565b5f6104746009600a611a46565b61048290633b9aca00611a54565b905090565b5f610493848484610c59565b6104e484336104df85604051806060016040528060288152602001611bea602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610e44565b610b4c565b5060019392505050565b5f546001600160a01b031633146105205760405162461bcd60e51b815260040161051790611a6b565b60405180910390fd5b5f5b815181101561057a575f60045f84848151811061054157610541611aa2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610522565b5050565b5f546001600160a01b031633146105a75760405162461bcd60e51b815260040161051790611a6b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106185760405162461bcd60e51b815260040161051790611a6b565b6106246009600a611a46565b61063290633b9aca00611a54565b600f556106416009600a611a46565b61064f90633b9aca00611a54565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106896009600a611a46565b61069790633b9aca00611a54565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106d35760405162461bcd60e51b815260040161051790611a6b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071c90309061070e6009600a611a46565b6104df90633b9aca00611a54565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107909190611ab6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108139190611ab6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108819190611ab6565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108cc5760405162461bcd60e51b815260040161051790611a6b565b601454600160a01b900460ff16156109265760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610517565b6013546001600160a01b031663f305d7194730610957816001600160a01b03165f9081526001602052604090205490565b5f8061096a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109d0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109f59190611ad1565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6e9190611afc565b506014805462ff00ff60a01b19166201000160a01b179055565b5f61045d338484610c59565b5f546001600160a01b03163314610abd5760405162461bcd60e51b815260040161051790611a6b565b610ac647610e7c565b565b5f546001600160a01b03163314610af15760405162461bcd60e51b815260040161051790611a6b565b5f5b815181101561057a57600160045f848481518110610b1357610b13611aa2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610af3565b6001600160a01b038316610ba25760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f20616464726573736044820152606401610517565b6001600160a01b038216610bf85760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f206164647265737300006044820152606401610517565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cb95760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610517565b6001600160a01b038216610d0f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610517565b5f8111610d6a5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b6064820152608401610517565b601454600160a81b900460ff1680610d8c5750601454600160b01b900460ff16155b15610e34576001600160a01b0383165f90815260016020526040902054610db39082610eb7565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610de19082610eff565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4c9085815260200190565b610e3f838383610f5d565b505050565b5f8184841115610e675760405162461bcd60e51b81526004016105179190611751565b505f610e738486611b1b565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561057a573d5f803e3d5ffd5b5f610ef883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e44565b9392505050565b5f80610f0b8385611b2e565b905083811015610ef85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610517565b5f546001600160a01b03848116911614801590610f8757505f546001600160a01b03838116911614155b156112c3576001600160a01b0383165f9081526004602052604090205460ff16158015610fcc57506001600160a01b0382165f9081526004602052604090205460ff16155b610fd4575f80fd5b60065460ff16156110b5576013546001600160a01b0383811691161480159061100b57506014546001600160a01b03838116911614155b156110b557325f9081526005602052604090205443116110a35760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610517565b325f9081526005602052604090204390555b6014546001600160a01b0384811691161480156110e057506013546001600160a01b03838116911614155b801561110457506001600160a01b0382165f9081526003602052604090205460ff16155b156111ea57600f5481111561115b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610517565b6010548161117d846001600160a01b03165f9081526001602052604090205490565b6111879190611b2e565b11156111d55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610517565b600e8054905f6111e483611b41565b91905055505b305f90815260016020526040902054601454600160a81b900460ff1615801561122057506014546001600160a01b038481169116145b80156112355750601454600160b01b900460ff165b80156112445750600d54600e54115b801561126857506001600160a01b0384165f9081526003602052604090205460ff16155b801561128c57506001600160a01b0383165f9081526003602052604090205460ff16155b156112c1576011548111156112b8576112b86112b3836112ae8460125461139b565b61139b565b6113af565b6112c147610e7c565b505b5f806112d085858561151f565b6001600160a01b0387165f9081526001602052604090205491935091506112f79082610eb7565b6001600160a01b0386165f9081526001602052604090205561133a61131c8484610eb7565b6001600160a01b0386165f9081526001602052604090205490610eff565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113838686610eb7565b60405190815260200160405180910390a35050505050565b5f8183116113a95782610ef8565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113f5576113f5611aa2565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561144c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114709190611ab6565b8160018151811061148357611483611aa2565b6001600160a01b0392831660209182029290920101526013546114a99130911684610b4c565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114e19085905f90869030904290600401611b59565b5f604051808303815f87803b1580156114f8575f80fd5b505af115801561150a573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f805f8061154f6064611549600b54600e541161153e57600754611542565b6009545b889061166b565b906116e9565b6014549091506001600160a01b03878116911614801561157857506001600160a01b0387163014155b156115a5576115a26064611549600c54600e541161159857600854611542565b600a54889061166b565b90505b6001600160a01b03861630148015906115d557506001600160a01b0387165f9081526003602052604090205460ff165b156115e35792509050611663565b801561165c57305f90815260016020526040902054611603908290611b2e565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116539085815260200190565b60405180910390a35b9250839150505b935093915050565b5f825f0361167a57505f610461565b5f6116858385611a54565b9050826116928583611bca565b14610ef85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610517565b5f610ef883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836117455760405162461bcd60e51b81526004016105179190611751565b505f610e738486611bca565b5f602080835283518060208501525f5b8181101561177d57858101830151858201604001528201611761565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117b1575f80fd5b50565b80356117bf8161179d565b919050565b5f80604083850312156117d5575f80fd5b82356117e08161179d565b946020939093013593505050565b5f805f60608486031215611800575f80fd5b833561180b8161179d565b9250602084013561181b8161179d565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611851575f80fd5b823567ffffffffffffffff80821115611868575f80fd5b818501915085601f83011261187b575f80fd5b81358181111561188d5761188d61182c565b8060051b604051601f19603f830116810181811085821117156118b2576118b261182c565b6040529182528482019250838101850191888311156118cf575f80fd5b938501935b828510156118f4576118e5856117b4565b845293850193928501926118d4565b98975050505050505050565b5f60208284031215611910575f80fd5b8135610ef88161179d565b5f806040838503121561192c575f80fd5b82356119378161179d565b915060208301356119478161179d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119a057815f190482111561198657611986611952565b8085161561199357918102915b93841c939080029061196b565b509250929050565b5f826119b657506001610461565b816119c257505f610461565b81600181146119d857600281146119e2576119fe565b6001915050610461565b60ff8411156119f3576119f3611952565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611a21575081810a610461565b611a2b8383611966565b805f1904821115611a3e57611a3e611952565b029392505050565b5f610ef860ff8416836119a8565b808202811582820484141761046157610461611952565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ac6575f80fd5b8151610ef88161179d565b5f805f60608486031215611ae3575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611b0c575f80fd5b81518015158114610ef8575f80fd5b8181038181111561046157610461611952565b8082018082111561046157610461611952565b5f60018201611b5257611b52611952565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ba95784516001600160a01b031683529383019391830191600101611b84565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611be457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c707f408910c12884c72000a58c74f3b8b236515528ce90d79a0f379ddf1fea664736f6c63430008170033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c806375e8ace5116100b3578063a9059cbb1161006d578063a9059cbb1461038d578063bf474bed146103ac578063c876d0b9146103c1578063ce31a06b146103da578063d34628cc146103ee578063dd62ed3e1461040d575f80fd5b806375e8ace5146102e75780637d1db4a5146102fb57806384ceff48146103105780638da5cb5b146103245780638f9a55c01461034a57806395d89b411461035f575f80fd5b8063313ce56711610104578063313ce5671461021857806331c2d847146102335780633bbac5791461025457806370a082311461028b578063715018a6146102bf578063751039fc146102d3575f80fd5b806306fdde031461014a578063095ea7b3146101935780630faee56f146101c257806318160ddd146101e557806323b872dd146101f9575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600f81526e119ddbd9c811da5c9b199c9a595b99608a1b60208201525b60405161018a9190611751565b60405180910390f35b34801561019e575f80fd5b506101b26101ad3660046117c4565b610451565b604051901515815260200161018a565b3480156101cd575f80fd5b506101d760125481565b60405190815260200161018a565b3480156101f0575f80fd5b506101d7610467565b348015610204575f80fd5b506101b26102133660046117ee565b610487565b348015610223575f80fd5b506040516009815260200161018a565b34801561023e575f80fd5b5061025261024d366004611840565b6104ee565b005b34801561025f575f80fd5b506101b261026e366004611900565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610296575f80fd5b506101d76102a5366004611900565b6001600160a01b03165f9081526001602052604090205490565b3480156102ca575f80fd5b5061025261057e565b3480156102de575f80fd5b506102526105ef565b3480156102f2575f80fd5b506102526106aa565b348015610306575f80fd5b506101d7600f5481565b34801561031b575f80fd5b506102526108a3565b34801561032f575f80fd5b505f546040516001600160a01b03909116815260200161018a565b348015610355575f80fd5b506101d760105481565b34801561036a575f80fd5b5060408051808201909152600681526546574f47494560d01b602082015261017d565b348015610398575f80fd5b506101b26103a73660046117c4565b610a88565b3480156103b7575f80fd5b506101d760115481565b3480156103cc575f80fd5b506006546101b29060ff1681565b3480156103e5575f80fd5b50610252610a94565b3480156103f9575f80fd5b50610252610408366004611840565b610ac8565b348015610418575f80fd5b506101d761042736600461191b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61045d338484610b4c565b5060015b92915050565b5f6104746009600a611a46565b61048290633b9aca00611a54565b905090565b5f610493848484610c59565b6104e484336104df85604051806060016040528060288152602001611bea602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610e44565b610b4c565b5060019392505050565b5f546001600160a01b031633146105205760405162461bcd60e51b815260040161051790611a6b565b60405180910390fd5b5f5b815181101561057a575f60045f84848151811061054157610541611aa2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610522565b5050565b5f546001600160a01b031633146105a75760405162461bcd60e51b815260040161051790611a6b565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106185760405162461bcd60e51b815260040161051790611a6b565b6106246009600a611a46565b61063290633b9aca00611a54565b600f556106416009600a611a46565b61064f90633b9aca00611a54565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106896009600a611a46565b61069790633b9aca00611a54565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106d35760405162461bcd60e51b815260040161051790611a6b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071c90309061070e6009600a611a46565b6104df90633b9aca00611a54565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107909190611ab6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108139190611ab6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108819190611ab6565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108cc5760405162461bcd60e51b815260040161051790611a6b565b601454600160a01b900460ff16156109265760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610517565b6013546001600160a01b031663f305d7194730610957816001600160a01b03165f9081526001602052604090205490565b5f8061096a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109d0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109f59190611ad1565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6e9190611afc565b506014805462ff00ff60a01b19166201000160a01b179055565b5f61045d338484610c59565b5f546001600160a01b03163314610abd5760405162461bcd60e51b815260040161051790611a6b565b610ac647610e7c565b565b5f546001600160a01b03163314610af15760405162461bcd60e51b815260040161051790611a6b565b5f5b815181101561057a57600160045f848481518110610b1357610b13611aa2565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610af3565b6001600160a01b038316610ba25760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f20616464726573736044820152606401610517565b6001600160a01b038216610bf85760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f206164647265737300006044820152606401610517565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610cb95760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610517565b6001600160a01b038216610d0f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610517565b5f8111610d6a5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b6064820152608401610517565b601454600160a81b900460ff1680610d8c5750601454600160b01b900460ff16155b15610e34576001600160a01b0383165f90815260016020526040902054610db39082610eb7565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610de19082610eff565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c4c9085815260200190565b610e3f838383610f5d565b505050565b5f8184841115610e675760405162461bcd60e51b81526004016105179190611751565b505f610e738486611b1b565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561057a573d5f803e3d5ffd5b5f610ef883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e44565b9392505050565b5f80610f0b8385611b2e565b905083811015610ef85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610517565b5f546001600160a01b03848116911614801590610f8757505f546001600160a01b03838116911614155b156112c3576001600160a01b0383165f9081526004602052604090205460ff16158015610fcc57506001600160a01b0382165f9081526004602052604090205460ff16155b610fd4575f80fd5b60065460ff16156110b5576013546001600160a01b0383811691161480159061100b57506014546001600160a01b03838116911614155b156110b557325f9081526005602052604090205443116110a35760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610517565b325f9081526005602052604090204390555b6014546001600160a01b0384811691161480156110e057506013546001600160a01b03838116911614155b801561110457506001600160a01b0382165f9081526003602052604090205460ff16155b156111ea57600f5481111561115b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610517565b6010548161117d846001600160a01b03165f9081526001602052604090205490565b6111879190611b2e565b11156111d55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610517565b600e8054905f6111e483611b41565b91905055505b305f90815260016020526040902054601454600160a81b900460ff1615801561122057506014546001600160a01b038481169116145b80156112355750601454600160b01b900460ff165b80156112445750600d54600e54115b801561126857506001600160a01b0384165f9081526003602052604090205460ff16155b801561128c57506001600160a01b0383165f9081526003602052604090205460ff16155b156112c1576011548111156112b8576112b86112b3836112ae8460125461139b565b61139b565b6113af565b6112c147610e7c565b505b5f806112d085858561151f565b6001600160a01b0387165f9081526001602052604090205491935091506112f79082610eb7565b6001600160a01b0386165f9081526001602052604090205561133a61131c8484610eb7565b6001600160a01b0386165f9081526001602052604090205490610eff565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113838686610eb7565b60405190815260200160405180910390a35050505050565b5f8183116113a95782610ef8565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113f5576113f5611aa2565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561144c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114709190611ab6565b8160018151811061148357611483611aa2565b6001600160a01b0392831660209182029290920101526013546114a99130911684610b4c565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114e19085905f90869030904290600401611b59565b5f604051808303815f87803b1580156114f8575f80fd5b505af115801561150a573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b5f805f8061154f6064611549600b54600e541161153e57600754611542565b6009545b889061166b565b906116e9565b6014549091506001600160a01b03878116911614801561157857506001600160a01b0387163014155b156115a5576115a26064611549600c54600e541161159857600854611542565b600a54889061166b565b90505b6001600160a01b03861630148015906115d557506001600160a01b0387165f9081526003602052604090205460ff165b156115e35792509050611663565b801561165c57305f90815260016020526040902054611603908290611b2e565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116539085815260200190565b60405180910390a35b9250839150505b935093915050565b5f825f0361167a57505f610461565b5f6116858385611a54565b9050826116928583611bca565b14610ef85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610517565b5f610ef883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836117455760405162461bcd60e51b81526004016105179190611751565b505f610e738486611bca565b5f602080835283518060208501525f5b8181101561177d57858101830151858201604001528201611761565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117b1575f80fd5b50565b80356117bf8161179d565b919050565b5f80604083850312156117d5575f80fd5b82356117e08161179d565b946020939093013593505050565b5f805f60608486031215611800575f80fd5b833561180b8161179d565b9250602084013561181b8161179d565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611851575f80fd5b823567ffffffffffffffff80821115611868575f80fd5b818501915085601f83011261187b575f80fd5b81358181111561188d5761188d61182c565b8060051b604051601f19603f830116810181811085821117156118b2576118b261182c565b6040529182528482019250838101850191888311156118cf575f80fd5b938501935b828510156118f4576118e5856117b4565b845293850193928501926118d4565b98975050505050505050565b5f60208284031215611910575f80fd5b8135610ef88161179d565b5f806040838503121561192c575f80fd5b82356119378161179d565b915060208301356119478161179d565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156119a057815f190482111561198657611986611952565b8085161561199357918102915b93841c939080029061196b565b509250929050565b5f826119b657506001610461565b816119c257505f610461565b81600181146119d857600281146119e2576119fe565b6001915050610461565b60ff8411156119f3576119f3611952565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611a21575081810a610461565b611a2b8383611966565b805f1904821115611a3e57611a3e611952565b029392505050565b5f610ef860ff8416836119a8565b808202811582820484141761046157610461611952565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ac6575f80fd5b8151610ef88161179d565b5f805f60608486031215611ae3575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611b0c575f80fd5b81518015158114610ef8575f80fd5b8181038181111561046157610461611952565b8082018082111561046157610461611952565b5f60018201611b5257611b52611952565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ba95784516001600160a01b031683529383019391830191600101611b84565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611be457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c707f408910c12884c72000a58c74f3b8b236515528ce90d79a0f379ddf1fea664736f6c63430008170033
Deployed Bytecode Sourcemap
3849:10007:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6255:83;;;;;;;;;;-1:-1:-1;6325:5:0;;;;;;;;;;;;-1:-1:-1;;;6325:5:0;;;;6255:83;;;;;;;:::i;:::-;;;;;;;;7138:186;;;;;;;;;;-1:-1:-1;7138:186:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7138:186:0;1162:187:1;5081:55:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5081:55:0;1354:177:1;6532:95:0;;;;;;;;;;;;;:::i;9777:446::-;;;;;;;;;;-1:-1:-1;9777:446:0;;;;;:::i;:::-;;:::i;6441:83::-;;;;;;;;;;-1:-1:-1;6441:83:0;;4692:1;2139:36:1;;2127:2;2112:18;6441:83:0;1997:184:1;12961:168:0;;;;;;;;;;-1:-1:-1;12961:168:0;;;;;:::i;:::-;;:::i;:::-;;13137:86;;;;;;;;;;-1:-1:-1;13137:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;13208:7:0;13184:4;13208:7;;;:4;:7;;;;;;;;;13137:86;6635:119;;;;;;;;;;-1:-1:-1;6635:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6728:18:0;6701:7;6728:18;;;:9;:18;;;;;;;6635:119;2218:148;;;;;;;;;;;;;:::i;12480:201::-;;;;;;;;;;;;;:::i;5854:393::-;;;;;;;;;;;;;:::i;4889:56::-;;;;;;;;;;;;;;;;11875:482;;;;;;;;;;;;;:::i;2010:79::-;;;;;;;;;;-1:-1:-1;2048:7:0;2075:6;2010:79;;-1:-1:-1;;;;;2075:6:0;;;3842:51:1;;3830:2;3815:18;2010:79:0;3696:203:1;4952:58:0;;;;;;;;;;;;;;;;6346:87;;;;;;;;;;-1:-1:-1;6418:7:0;;;;;;;;;;;;-1:-1:-1;;;6418:7:0;;;;6346:87;;6762:192;;;;;;;;;;-1:-1:-1;6762:192:0;;;;;:::i;:::-;;:::i;5018:56::-;;;;;;;;;;;;;;;;4232:40;;;;;;;;;;-1:-1:-1;4232:40:0;;;;;;;;13231:94;;;;;;;;;;;;;:::i;12789:164::-;;;;;;;;;;-1:-1:-1;12789:164:0;;;;;:::i;:::-;;:::i;6962:168::-;;;;;;;;;;-1:-1:-1;6962:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7095:18:0;;;7068:7;7095:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6962:168;7138:186;7238:4;7255:39;281:10;7278:7;7287:6;7255:8;:39::i;:::-;-1:-1:-1;7312:4:0;7138:186;;;;;:::o;6532:95::-;6585:7;4748:15;4692:1;4748:2;:15;:::i;:::-;4735:28;;:10;:28;:::i;:::-;6605:14;;6532:95;:::o;9777:446::-;9909:4;9926:36;9936:6;9944:9;9955:6;9926:9;:36::i;:::-;9973:220;9996:6;281:10;10044:138;10100:6;10044:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10044:19:0;;;;;;:11;:19;;;;;;;;281:10;10044:33;;;;;;;;;;:37;:138::i;:::-;9973:8;:220::i;:::-;-1:-1:-1;10211:4:0;9777:446;;;;;:::o;12961:168::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;;;;;;;;;13036:6:::1;13031:91;13052:6;:13;13048:1;:17;13031:91;;;13105:5;13087:4;:15;13092:6;13099:1;13092:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13087:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13087:15:0;:23;;-1:-1:-1;;13087:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;13067:3:0::1;13031:91;;;;12961:168:::0;:::o;2218:148::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;2325:1:::1;2309:6:::0;;2288:40:::1;::::0;-1:-1:-1;;;;;2309:6:0;;::::1;::::0;2288:40:::1;::::0;2325:1;;2288:40:::1;2356:1;2339:19:::0;;-1:-1:-1;;;;;;2339:19:0::1;::::0;;2218:148::o;12480:201::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;4748:15:::1;4692:1;4748:2;:15;:::i;:::-;4735:28;::::0;:10:::1;:28;:::i;:::-;12534:12;:22:::0;4748:15:::1;4692:1;4748:2;:15;:::i;:::-;4735:28;::::0;:10:::1;:28;:::i;:::-;12567:14;:24:::0;12602:20:::1;:28:::0;;-1:-1:-1;;12602:28:0::1;::::0;;12646:27:::1;4748:15;4692:1;-1:-1:-1::0;4748:15:0::1;:::i;:::-;4735:28;::::0;:10:::1;:28;:::i;:::-;12646:27;::::0;1500:25:1;;;1488:2;1473:18;12646:27:0::1;;;;;;;12480:201::o:0;5854:393::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;5908:15:::1;:104:::0;;-1:-1:-1;;;;;;5908:104:0::1;5959:42;5908:104:::0;;::::1;::::0;;;6023:58:::1;::::0;6040:4:::1;::::0;4748:15:::1;4692:1;4748:2;:15;:::i;:::-;4735:28;::::0;:10:::1;:28;:::i;6023:58::-;6126:15;;;;;;;;;-1:-1:-1::0;;;;;6126:15:0::1;-1:-1:-1::0;;;;;6126:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6108:55:0::1;;6186:4;6206:15;;;;;;;;;-1:-1:-1::0;;;;;6206:15:0::1;-1:-1:-1::0;;;;;6206:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6108:131;::::0;-1:-1:-1;;;;;;6108:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6952:15:1;;;6108:131:0::1;::::0;::::1;6934:34:1::0;7004:15;;6984:18;;;6977:43;6869:18;;6108:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6092:13;:147:::0;;-1:-1:-1;;;;;;6092:147:0::1;-1:-1:-1::0;;;;;6092:147:0;;;::::1;::::0;;;::::1;::::0;;5854:393::o;11875:482::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;11936:11:::1;::::0;-1:-1:-1;;;11936:11:0;::::1;;;11935:12;11927:48;;;::::0;-1:-1:-1;;;11927:48:0;;7233:2:1;11927:48:0::1;::::0;::::1;7215:21:1::0;7272:2;7252:18;;;7245:30;7311:25;7291:18;;;7284:53;7354:18;;11927:48:0::1;7031:347:1::0;11927:48:0::1;11986:15;::::0;-1:-1:-1;;;;;11986:15:0::1;:31;12025:21;12070:4;12090:24;12070:4:::0;-1:-1:-1;;;;;6728:18:0;6701:7;6728:18;;;:9;:18;;;;;;;6635:119;12090:24:::1;12129:1;12145::::0;12161:7:::1;2048::::0;2075:6;-1:-1:-1;;;;;2075:6:0;;2010:79;12161:7:::1;11986:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11986:223:0;;;-1:-1:-1;;;;;7742:15:1;;;11986:223:0::1;::::0;::::1;7724:34:1::0;7774:18;;;7767:34;;;;7817:18;;;7810:34;;;;7860:18;;;7853:34;7924:15;;;7903:19;;;7896:44;12183:15:0::1;7956:19:1::0;;;7949:35;7658:19;;11986:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12227:13:0::1;::::0;12258:15:::1;::::0;12220:71:::1;::::0;-1:-1:-1;;;12220:71:0;;-1:-1:-1;;;;;12258:15:0;;::::1;12220:71;::::0;::::1;8480:51:1::0;-1:-1:-1;;8547:18:1;;;8540:34;12227:13:0;::::1;::::0;-1:-1:-1;12220:29:0::1;::::0;8453:18:1;;12220:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12302:11:0::1;:18:::0;;-1:-1:-1;;;;12331:18:0;-1:-1:-1;;;12331:18:0;;;11875:482::o;6762:192::-;6865:4;6882:42;281:10;6906:9;6917:6;6882:9;:42::i;13231:94::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;13282:35:::1;13295:21;13282:12;:35::i;:::-;13231:94::o:0;12789:164::-;2137:6;;-1:-1:-1;;;;;2137:6:0;281:10;2137:22;2129:61;;;;-1:-1:-1;;;2129:61:0;;;;;;;:::i;:::-;12863:6:::1;12858:88;12879:5;:12;12875:1;:16;12858:88;;;12930:4;12913;:14;12918:5;12924:1;12918:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12913:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12913:14:0;:21;;-1:-1:-1;;12913:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12893:3:0::1;12858:88;;7332:327:::0;-1:-1:-1;;;;;7425:19:0;;7417:64;;;;-1:-1:-1;;;7417:64:0;;9069:2:1;7417:64:0;;;9051:21:1;;;9088:18;;;9081:30;9147:34;9127:18;;;9120:62;9199:18;;7417:64:0;8867:356:1;7417:64:0;-1:-1:-1;;;;;7500:21:0;;7492:64;;;;-1:-1:-1;;;7492:64:0;;9430:2:1;7492:64:0;;;9412:21:1;9469:2;9449:18;;;9442:30;9508:32;9488:18;;;9481:60;9558:18;;7492:64:0;9228:354:1;7492:64:0;-1:-1:-1;;;;;7567:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7619:32;;1500:25:1;;;7619:32:0;;1473:18:1;7619:32:0;;;;;;;;7332:327;;;:::o;11269:598::-;-1:-1:-1;;;;;11362:18:0;;11354:64;;;;-1:-1:-1;;;11354:64:0;;9789:2:1;11354:64:0;;;9771:21:1;9828:2;9808:18;;;9801:30;9867:34;9847:18;;;9840:62;-1:-1:-1;;;9918:18:1;;;9911:31;9959:19;;11354:64:0;9587:397:1;11354:64:0;-1:-1:-1;;;;;11437:16:0;;11429:60;;;;-1:-1:-1;;;11429:60:0;;10191:2:1;11429:60:0;;;10173:21:1;10230:2;10210:18;;;10203:30;10269:33;10249:18;;;10242:61;10320:18;;11429:60:0;9989:355:1;11429:60:0;11522:1;11508:11;:15;11500:63;;;;-1:-1:-1;;;11500:63:0;;10551:2:1;11500:63:0;;;10533:21:1;10590:2;10570:18;;;10563:30;10629:34;10609:18;;;10602:62;-1:-1:-1;;;10680:18:1;;;10673:33;10723:19;;11500:63:0;10349:399:1;11500:63:0;11578:6;;-1:-1:-1;;;11578:6:0;;;;;:22;;-1:-1:-1;11589:11:0;;-1:-1:-1;;;11589:11:0;;;;11588:12;11578:22;11574:238;;;-1:-1:-1;;;;;11635:15:0;;;;;;:9;:15;;;;;;:32;;11655:11;11635:19;:32::i;:::-;-1:-1:-1;;;;;11617:15:0;;;;;;;:9;:15;;;;;;:50;;;;11698:13;;;;;;;:30;;11716:11;11698:17;:30::i;:::-;-1:-1:-1;;;;;11682:13:0;;;;;;;:9;:13;;;;;;;:46;;;;11748:31;;;;;;;;;;11767:11;1500:25:1;;1488:2;1473:18;;1354:177;11574:238:0;11822:37;11837:4;11843:2;11847:11;11822:14;:37::i;:::-;11269:598;;;:::o;812:224::-;932:7;968:12;960:6;;;;952:29;;;;-1:-1:-1;;;952:29:0;;;;;;;;:::i;:::-;-1:-1:-1;992:9:0;1004:5;1008:1;1004;:5;:::i;:::-;992:17;812:224;-1:-1:-1;;;;;812:224:0:o;12689:92::-;12746:10;;:27;;:10;;;;-1:-1:-1;;;;;12746:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;668:136;726:7;753:43;757:1;760;753:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;746:50;668:136;-1:-1:-1;;;668:136:0:o;481:179::-;539:7;;571:5;575:1;571;:5;:::i;:::-;559:17;;600:1;595;:6;;587:46;;;;-1:-1:-1;;;587:46:0;;11218:2:1;587:46:0;;;11200:21:1;11257:2;11237:18;;;11230:30;11296:29;11276:18;;;11269:57;11343:18;;587:46:0;11016:351:1;7667:2100:0;2048:7;2075:6;-1:-1:-1;;;;;7761:15:0;;;2075:6;;7761:15;;;;:32;;-1:-1:-1;2048:7:0;2075:6;-1:-1:-1;;;;;7780:13:0;;;2075:6;;7780:13;;7761:32;7757:1740;;;-1:-1:-1;;;;;7819:10:0;;;;;;:4;:10;;;;;;;;7818:11;:24;;;;-1:-1:-1;;;;;;7834:8:0;;;;;;:4;:8;;;;;;;;7833:9;7818:24;7810:33;;;;;;7864:20;;;;7860:520;;;7945:15;;-1:-1:-1;;;;;7931:30:0;;;7945:15;;7931:30;;;;:83;;-1:-1:-1;8000:13:0;;-1:-1:-1;;;;;7986:28:0;;;8000:13;;7986:28;;7931:83;7905:460;;;8120:9;8091:39;;;;:28;:39;;;;;;8133:12;-1:-1:-1;8057:211:0;;;;-1:-1:-1;;;8057:211:0;;11574:2:1;8057:211:0;;;11556:21:1;11613:2;11593:18;;;11586:30;11652:34;11632:18;;;11625:62;11723:34;11703:18;;;11696:62;-1:-1:-1;;;11774:19:1;;;11767:38;11822:19;;8057:211:0;11372:475:1;8057:211:0;8320:9;8291:39;;;;:28;:39;;;;;8333:12;8291:54;;7905:460;8426:13;;-1:-1:-1;;;;;8418:21:0;;;8426:13;;8418:21;:72;;;;-1:-1:-1;8474:15:0;;-1:-1:-1;;;;;8460:30:0;;;8474:15;;8460:30;;8418:72;:116;;;;-1:-1:-1;;;;;;8512:22:0;;;;;;:18;:22;;;;;;;;8511:23;8418:116;8396:448;;;8592:12;;8577:11;:27;;8569:65;;;;-1:-1:-1;;;8569:65:0;;12054:2:1;8569:65:0;;;12036:21:1;12093:2;12073:18;;;12066:30;12132:27;12112:18;;;12105:55;12177:18;;8569:65:0;11852:349:1;8569:65:0;8714:14;;8699:11;8683:13;8693:2;-1:-1:-1;;;;;6728:18:0;6701:7;6728:18;;;:9;:18;;;;;;;6635:119;8683:13;:27;;;;:::i;:::-;:45;;8653:145;;;;-1:-1:-1;;;8653:145:0;;12408:2:1;8653:145:0;;;12390:21:1;12447:2;12427:18;;;12420:30;12486:28;12466:18;;;12459:56;12532:18;;8653:145:0;12206:350:1;8653:145:0;8817:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8396:448;8909:4;8860:28;6728:18;;;:9;:18;;;;;;8953:6;;-1:-1:-1;;;8953:6:0;;;;8952:7;:47;;;;-1:-1:-1;8986:13:0;;-1:-1:-1;;;;;8980:19:0;;;8986:13;;8980:19;8952:47;:79;;;;-1:-1:-1;9020:11:0;;-1:-1:-1;;;9020:11:0;;;;8952:79;:130;;;;;9064:18;;9052:9;;:30;8952:130;:176;;;;-1:-1:-1;;;;;;9104:24:0;;;;;;:18;:24;;;;;;;;9103:25;8952:176;:220;;;;-1:-1:-1;;;;;;9150:22:0;;;;;;:18;:22;;;;;;;;9149:23;8952:220;8930:556;;;9233:17;;9210:20;:40;9207:210;;;9275:122;9318:56;9322:11;9335:38;9339:20;9361:11;;9335:3;:38::i;:::-;9318:3;:56::i;:::-;9275:16;:122::i;:::-;9435:35;9448:21;9435:12;:35::i;:::-;7795:1702;7757:1740;9510:12;9524:14;9542:35;9555:4;9561:2;9565:11;9542:12;:35::i;:::-;-1:-1:-1;;;;;9608:15:0;;;;;;:9;:15;;;;;;9509:68;;-1:-1:-1;9509:68:0;-1:-1:-1;9608:27:0;;9509:68;9608:19;:27::i;:::-;-1:-1:-1;;;;;9590:15:0;;;;;;:9;:15;;;;;:45;9662:40;9680:21;:11;9696:4;9680:15;:21::i;:::-;-1:-1:-1;;;;;9662:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9646:13:0;;;;;;;:9;:13;;;;;:56;;;;9718:41;;;9737:21;:11;9753:4;9737:15;:21::i;:::-;9718:41;;1500:25:1;;;1488:2;1473:18;9718:41:0;;;;;;;7746:2021;;7667:2100;;;:::o;12365:107::-;12422:7;12454:1;12450;:5;12449:15;;12463:1;12449:15;;;-1:-1:-1;12459:1:0;12365:107;-1:-1:-1;12365:107:0:o;13370:483::-;5420:6;:13;;-1:-1:-1;;;;5420:13:0;-1:-1:-1;;;5420:13:0;;;13472:16:::1;::::0;;13486:1:::1;13472:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13472:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13472:16:0::1;13448:40;;13517:4;13499;13504:1;13499:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13499:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13543:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13543:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13499:7;;13543:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13533:4;13538:1;13533:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13533:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13608:15:::1;::::0;13576:62:::1;::::0;13593:4:::1;::::0;13608:15:::1;13626:11:::0;13576:8:::1;:62::i;:::-;13649:15;::::0;:196:::1;::::0;-1:-1:-1;;;13649:196:0;;-1:-1:-1;;;;;13649:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13730:11;;13649:15:::1;::::0;13772:4;;13799::::1;::::0;13819:15:::1;::::0;13649:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5456:6:0;:14;;-1:-1:-1;;;;5456:14:0;;;-1:-1:-1;;;;13370:483:0:o;10231:1030::-;10354:7;10363;10383:19;10413:17;10433:184;10613:3;10433:161;10489:15;;10477:9;;:27;10476:103;;10565:14;;10476:103;;;10529:12;;10476:103;10433:6;;:24;:161::i;:::-;:179;;:184::i;:::-;10643:13;;10413:204;;-1:-1:-1;;;;;;10632:24:0;;;10643:13;;10632:24;:51;;;;-1:-1:-1;;;;;;10660:23:0;;10678:4;10660:23;;10632:51;10628:307;;;10712:211;10919:3;10712:184;10776:16;;10764:9;;:28;10763:114;;10862:15;;10763:114;;;10821:13;;10712:6;;:28;:184::i;:211::-;10700:223;;10628:307;-1:-1:-1;;;;;10948:24:0;;10967:4;10948:24;;;;:54;;-1:-1:-1;;;;;;10976:26:0;;;;;;:18;:26;;;;;;;;10948:54;10945:90;;;11012:9;-1:-1:-1;11023:11:0;-1:-1:-1;11004:31:0;;10945:90;11050:13;;11046:171;;11125:4;11107:24;;;;:9;:24;;;;;;:36;;11134:9;;11107:36;:::i;:::-;11098:4;11080:24;;;;:9;:24;;;;;;;:63;;;;11163:42;;-1:-1:-1;;;;;11163:42:0;;;;;;;11195:9;1500:25:1;;1488:2;1473:18;;1354:177;11163:42:0;;;;;;;;11046:171;11235:9;-1:-1:-1;11246:6:0;;-1:-1:-1;;10231:1030:0;;;;;;;:::o;1044:246::-;1102:7;1126:1;1131;1126:6;1122:47;;-1:-1:-1;1156:1:0;1149:8;;1122:47;1179:9;1191:5;1195:1;1191;:5;:::i;:::-;1179:17;-1:-1:-1;1224:1:0;1215:5;1219:1;1179:17;1215:5;:::i;:::-;:10;1207:56;;;;-1:-1:-1;;;1207:56:0;;14110:2:1;1207:56:0;;;14092:21:1;14149:2;14129:18;;;14122:30;14188:34;14168:18;;;14161:62;-1:-1:-1;;;14239:18:1;;;14232:31;14280:19;;1207:56:0;13908:397:1;1298:132:0;1356:7;1383:39;1387:1;1390;1383:39;;;;;;;;;;;;;;;;;1558:7;1593:12;1586:5;1578:28;;;;-1:-1:-1;;;1578:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1617:9:0;1629:5;1633:1;1629;:5;:::i;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:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:416;4518:1;4555:5;4518:1;4569:270;4590:7;4580:8;4577:21;4569:270;;;4649:4;4645:1;4641:6;4637:17;4631:4;4628:27;4625:53;;;4658:18;;:::i;:::-;4708:7;4698:8;4694:22;4691:55;;;4728:16;;;;4691:55;4807:22;;;;4767:15;;;;4569:270;;;4573:3;4429:416;;;;;:::o;4850:806::-;4899:5;4929:8;4919:80;;-1:-1:-1;4970:1:1;4984:5;;4919:80;5018:4;5008:76;;-1:-1:-1;5055:1:1;5069:5;;5008:76;5100:4;5118:1;5113:59;;;;5186:1;5181:130;;;;5093:218;;5113:59;5143:1;5134:10;;5157:5;;;5181:130;5218:3;5208:8;5205:17;5202:43;;;5225:18;;:::i;:::-;-1:-1:-1;;5281:1:1;5267:16;;5296:5;;5093:218;;5395:2;5385:8;5382:16;5376:3;5370:4;5367:13;5363:36;5357:2;5347:8;5344:16;5339:2;5333:4;5330:12;5326:35;5323:77;5320:159;;;-1:-1:-1;5432:19:1;;;5464:5;;5320:159;5511:34;5536:8;5530:4;5511:34;:::i;:::-;5581:6;5577:1;5573:6;5569:19;5560:7;5557:32;5554:58;;;5592:18;;:::i;:::-;5630:20;;4850:806;-1:-1:-1;;;4850:806:1:o;5661:140::-;5719:5;5748:47;5789:4;5779:8;5775:19;5769:4;5748:47;:::i;5806:168::-;5879:9;;;5910;;5927:15;;;5921:22;;5907:37;5897:71;;5948:18;;:::i;5979:350::-;6181:2;6163:21;;;6220:2;6200:18;;;6193:30;6259:28;6254:2;6239:18;;6232:56;6320:2;6305:18;;5979:350::o;6334:127::-;6395:10;6390:3;6386:20;6383:1;6376:31;6426:4;6423:1;6416:15;6450:4;6447:1;6440:15;6466:251;6536:6;6589:2;6577:9;6568:7;6564:23;6560:32;6557:52;;;6605:1;6602;6595:12;6557:52;6637:9;6631:16;6656:31;6681:5;6656:31;:::i;7995:306::-;8083:6;8091;8099;8152:2;8140:9;8131:7;8127:23;8123:32;8120:52;;;8168:1;8165;8158:12;8120:52;8197:9;8191:16;8181:26;;8247:2;8236:9;8232:18;8226:25;8216:35;;8291:2;8280:9;8276:18;8270:25;8260:35;;7995:306;;;;;:::o;8585:277::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;8806:5;8799:13;8792:21;8785:5;8782:32;8772:60;;8828:1;8825;8818:12;10753:128;10820:9;;;10841:11;;;10838:37;;;10855:18;;:::i;10886:125::-;10951:9;;;10972:10;;;10969:36;;;10985:18;;:::i;12561:135::-;12600:3;12621:17;;;12618:43;;12641:18;;:::i;:::-;-1:-1:-1;12688:1:1;12677:13;;12561:135::o;12701:980::-;12963:4;13011:3;13000:9;12996:19;13042:6;13031:9;13024:25;13068:2;13106:6;13101:2;13090:9;13086:18;13079:34;13149:3;13144:2;13133:9;13129:18;13122:31;13173:6;13208;13202:13;13239:6;13231;13224:22;13277:3;13266:9;13262:19;13255:26;;13316:2;13308:6;13304:15;13290:29;;13337:1;13347:195;13361:6;13358:1;13355:13;13347:195;;;13426:13;;-1:-1:-1;;;;;13422:39:1;13410:52;;13517:15;;;;13482:12;;;;13458:1;13376:9;13347:195;;;-1:-1:-1;;;;;;;13598:32:1;;;;13593:2;13578:18;;13571:60;-1:-1:-1;;;13662:3:1;13647:19;13640:35;13559:3;12701:980;-1:-1:-1;;;12701:980:1:o;13686:217::-;13726:1;13752;13742:132;;13796:10;13791:3;13787:20;13784:1;13777:31;13831:4;13828:1;13821:15;13859:4;13856:1;13849:15;13742:132;-1:-1:-1;13888:9:1;;13686:217::o
Swarm Source
ipfs://c707f408910c12884c72000a58c74f3b8b236515528ce90d79a0f379ddf1fea6
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.