ERC-20
Overview
Max Total Supply
1,000,000,000 HYME
Holders
38
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HYME
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-20 */ /* Explore Crypto like never before. Discover your next crypto gem through a visually captivating and engaging experience on HYME, the world's first scroll-to-find crypto search engine. Website: https://www.hymenet.com Telegram: https://t.me/hyme_erc Twitter: https://twitter.com/hyme_eth Dapp: https://app.hymenet.com */ // SPDX-License-Identifier: MIT pragma solidity 0.8.21; interface IUniswapRouter { 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); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address pairAddress_); function getPair(address tokenA, address tokenB) external view returns (address pairAddress_); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} function renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));} event OwnershipTransferred(address owner); } contract HYME is IERC20, Ownable { using SafeMath for uint256; string private constant _name = 'HYME'; string private constant _symbol = 'HYME'; uint8 private constant _decimals = 18; uint256 private _totalSupply = 10 ** 9 * (10 ** _decimals); IUniswapRouter uniswapRouter; address public pairAddress; bool private isTradeOpened = false; bool private feeSwapEnabled = true; uint256 private _swappedCount; bool private _swapping; uint256 _buyCount = 1; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFees; uint256 private _maximumFeeSwap = ( _totalSupply * 3) / 100; uint256 private _feeSwapThreshold = ( _totalSupply * 1) / 100000; modifier lockSwap {_swapping = true; _; _swapping = false;} uint256 private liquidityFee = 0; uint256 private marketingFee = 0; uint256 private developmentFee = 100; uint256 private burnFee = 0; uint256 private totalFee = 1900; uint256 private sellFee = 1900; uint256 private transferFee = 1900; uint256 private denominator = 10000; uint256 public maxTxAmount = ( _totalSupply * 250 ) / 10000; uint256 public maxBuyAmount = ( _totalSupply * 250 ) / 10000; uint256 public maxWallet = ( _totalSupply * 250 ) / 10000; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal development_receiver = 0x0a3FDF73c01627273C4EB73A632C335E32c7Ea86; address internal marketing_receiver = 0x0a3FDF73c01627273C4EB73A632C335E32c7Ea86; address internal liquidity_receiver = 0x0a3FDF73c01627273C4EB73A632C335E32c7Ea86; constructor() Ownable(msg.sender) { IUniswapRouter _router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IUniswapFactory(_router.factory()).createPair(address(this), _router.WETH()); uniswapRouter = _router; pairAddress = _pair; _isExcludedFromFees[liquidity_receiver] = true; _isExcludedFromFees[marketing_receiver] = true; _isExcludedFromFees[development_receiver] = true; _isExcludedFromFees[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, 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(msg.sender, spender, amount);return true;} function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function _getTax(address sender, address recipient) internal view returns (uint256) { if(recipient == pairAddress){return sellFee;} if(sender == pairAddress){return totalFee;} return transferFee; } function swapBack(uint256 tokens) private lockSwap { uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForEth(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee); if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);} uint256 contractBalance = address(this).balance; if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);} } function _getTransferAmounts(address sender, address recipient, uint256 amount) internal returns (uint256) { if(_getTax(sender, recipient) > 0){ uint256 feeAmount = amount.div(denominator).mul(_getTax(sender, recipient)); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(burnFee > uint256(0) && _getTax(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));} return amount.sub(feeAmount);} return amount; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function startHYME() external onlyOwner {isTradeOpened = true;} function updateHypmeTx(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner { uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000); maxTxAmount = newTx; maxBuyAmount = newTransfer; maxWallet = newWallet; uint256 limit = totalSupply().mul(5).div(1000); require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%"); } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].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); } receive() external payable {} function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(!_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient]){require(isTradeOpened, "isTradeOpened");} if(!_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient] && recipient != address(pairAddress) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= maxWallet, "Exceeds maximum wallet amount.");} if(sender != pairAddress){require(amount <= maxBuyAmount || _isExcludedFromFees[sender] || _isExcludedFromFees[recipient], "TX Limit Exceeded");} require(amount <= maxTxAmount || _isExcludedFromFees[sender] || _isExcludedFromFees[recipient], "TX Limit Exceeded"); if(recipient == pairAddress && !_isExcludedFromFees[sender]){_swappedCount += uint256(1);} if(shouldSwapBack(sender, recipient, amount)){swapBack(min(balanceOf(address(this)), _maximumFeeSwap)); _swappedCount = uint256(0);} if (!isTradeOpened || !_isExcludedFromFees[sender]) { _balances[sender] = _balances[sender].sub(amount); } uint256 amountReceived = shouldTakeFee(sender, recipient) ? _getTransferAmounts(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function updateHYMETax(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; totalFee = _total; sellFee = _sell; transferFee = _trans; require(totalFee <= denominator && sellFee <= denominator && transferFee <= denominator, "totalFee and sellFee cannot be more than 100%"); } function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= _feeSwapThreshold; bool aboveThreshold = balanceOf(address(this)) >= _feeSwapThreshold; return !_swapping && feeSwapEnabled && isTradeOpened && aboveMin && !_isExcludedFromFees[sender] && recipient == pairAddress && _swappedCount >= _buyCount && aboveThreshold; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !_isExcludedFromFees[sender] && !_isExcludedFromFees[recipient]; } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(uniswapRouter), tokenAmount); uniswapRouter.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, liquidity_receiver, 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":"address","name":"owner","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyAmount","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":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startHYME","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"updateHYMETax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"updateHypmeTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a620004b0565b6200002290633b9aca00620004c7565b60018181556003805461ffff60a01b1916600160a81b1781556006919091556064916200004f91620004c7565b6200005b9190620004e1565b600a55620186a06001546001620000739190620004c7565b6200007f9190620004e1565b600b555f600c555f600d556064600e555f600f5561076c60105561076c60115561076c60125561271060135561271060015460fa620000bf9190620004c7565b620000cb9190620004e1565b60145561271060015460fa620000e29190620004c7565b620000ee9190620004e1565b60155561271060015460fa620001059190620004c7565b620001119190620004e1565b60165560178054730a3fdf73c01627273c4eb73a632c335e32c7ea866001600160a01b031991821681179092556018805482168317905560198054909116909117905534801562000160575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001c5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001eb919062000501565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000237573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025d919062000501565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ce919062000501565b600280546001600160a01b038581166001600160a01b03199283161790925560038054848416921691909117905560195481165f908152600960209081526040808320805460ff19908116600190811790925560185486168552828520805482168317905560175490951684528184208054861682179055338085528285208054909616821790955554600783528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000529565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003f557815f1904821115620003d957620003d9620003a1565b80851615620003e757918102915b93841c9390800290620003ba565b509250929050565b5f826200040d57506001620004aa565b816200041b57505f620004aa565b81600181146200043457600281146200043f576200045f565b6001915050620004aa565b60ff841115620004535762000453620003a1565b50506001821b620004aa565b5060208310610133831016604e8410600b841016171562000484575081810a620004aa565b620004908383620003b5565b805f1904821115620004a657620004a6620003a1565b0290505b92915050565b5f620004c060ff841683620003fd565b9392505050565b8082028115828204841417620004aa57620004aa620003a1565b5f82620004fc57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000512575f80fd5b81516001600160a01b0381168114620004c0575f80fd5b6117cc80620005375f395ff3fe608060405260043610610129575f3560e01c8063893d20e8116100a8578063a9059cbb1161006d578063a9059cbb1461031d578063dd62ed3e1461033c578063e0bf7fd114610380578063f2fde38b146103ae578063f8b45b05146103cd578063faa6342c146103e2575f80fd5b8063893d20e8146102a55780638c0b5e22146102d557806395d89b411461013457806397afe8f8146102ea578063a8b08982146102fe575f80fd5b80632f54bf6e116100ee5780632f54bf6e14610200578063313ce5671461022d57806370a0823114610248578063715018a61461027c57806388e765ff14610290575f80fd5b806306fdde0314610134578063095ea7b31461016f57806318160ddd1461019e578063212bfb01146101c057806323b872dd146101e1575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b50604080518082018252600481526348594d4560e01b602082015290516101669190611489565b60405180910390f35b34801561017a575f80fd5b5061018e6101893660046114eb565b610401565b6040519015158152602001610166565b3480156101a9575f80fd5b506101b2610417565b604051908152602001610166565b3480156101cb575f80fd5b506101df6101da366004611515565b610487565b005b3480156101ec575f80fd5b5061018e6101fb36600461155c565b61056d565b34801561020b575f80fd5b5061018e61021a36600461159a565b5f546001600160a01b0391821691161490565b348015610238575f80fd5b5060405160128152602001610166565b348015610253575f80fd5b506101b261026236600461159a565b6001600160a01b03165f9081526007602052604090205490565b348015610287575f80fd5b506101df6105d5565b34801561029b575f80fd5b506101b260155481565b3480156102b0575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610166565b3480156102e0575f80fd5b506101b260145481565b3480156102f5575f80fd5b506101df610642565b348015610309575f80fd5b506003546102bd906001600160a01b031681565b348015610328575f80fd5b5061018e6103373660046114eb565b610680565b348015610347575f80fd5b506101b26103563660046115b5565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b34801561038b575f80fd5b5061018e61039a36600461159a565b60096020525f908152604090205460ff1681565b3480156103b9575f80fd5b506101df6103c836600461159a565b61068c565b3480156103d8575f80fd5b506101b260165481565b3480156103ed575f80fd5b506101df6103fc3660046115ec565b610708565b5f61040d33848461083b565b5060015b92915050565b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461dead5f9081527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d54600154919261048292909161047c919061095e565b9061095e565b905090565b5f546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b090611615565b60405180910390fd5b600c879055600d869055600f859055600e84905560108390556011829055601281905560135483118015906104f2575060135460115411155b8015610502575060135460125411155b6105645760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b60648201526084016104b0565b50505050505050565b5f610579848484610969565b6105ca84336105c58560405180606001604052806028815260200161176f602891396001600160a01b038a165f9081526008602090815260408083203384529091529020549190610e71565b61083b565b5060015b9392505050565b5f546001600160a01b031633146105fe5760405162461bcd60e51b81526004016104b090611615565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b0316331461066b5760405162461bcd60e51b81526004016104b090611615565b6003805460ff60a01b1916600160a01b179055565b5f61040d338484610969565b5f546001600160a01b031633146106b55760405162461bcd60e51b81526004016104b090611615565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b031633146107315760405162461bcd60e51b81526004016104b090611615565b5f61075361271061074d86600154610e9c90919063ffffffff16565b90610ea7565b90505f61077161271061074d86600154610e9c90919063ffffffff16565b90505f61078f61271061074d86600154610e9c90919063ffffffff16565b60148490556015839055601681905590505f6107ba6103e861074d60056107b4610417565b90610e9c565b90508084101580156107cc5750808310155b80156107d85750808210155b6105645760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b0565b6001600160a01b03831661089d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b0565b6001600160a01b0382166108fe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b0565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105ce8284611649565b6001600160a01b0383166109cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b0565b6001600160a01b038216610a2f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b0565b6001600160a01b0383165f9081526009602052604090205460ff16158015610a6f57506001600160a01b0382165f9081526009602052604090205460ff16155b15610abd57600354600160a01b900460ff16610abd5760405162461bcd60e51b815260206004820152600d60248201526c1a5cd51c98591953dc195b9959609a1b60448201526064016104b0565b6001600160a01b0383165f9081526009602052604090205460ff16158015610afd57506001600160a01b0382165f9081526009602052604090205460ff16155b8015610b1757506003546001600160a01b03838116911614155b8015610b2e57506001600160a01b03821661dead14155b15610ba6576016546001600160a01b0383165f90815260076020526040902054610b589083610eb2565b1115610ba65760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b0565b6003546001600160a01b03848116911614610c455760155481111580610be357506001600160a01b0383165f9081526009602052604090205460ff165b80610c0557506001600160a01b0382165f9081526009602052604090205460ff165b610c455760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b0565b60145481111580610c6d57506001600160a01b0383165f9081526009602052604090205460ff165b80610c8f57506001600160a01b0382165f9081526009602052604090205460ff165b610ccf5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b0565b6003546001600160a01b038381169116148015610d0457506001600160a01b0383165f9081526009602052604090205460ff16155b15610d2157600160045f828254610d1b919061165c565b90915550505b610d2c838383610ebd565b15610d5a57305f90815260076020526040902054610d5590610d5090600a54610f74565b610f88565b5f6004555b600354600160a01b900460ff161580610d8b57506001600160a01b0383165f9081526009602052604090205460ff16155b15610dcb576001600160a01b0383165f90815260076020526040902054610db2908261095e565b6001600160a01b0384165f908152600760205260409020555b5f610dd684846110f8565b610de05781610deb565b610deb84848461113c565b6001600160a01b0384165f90815260076020526040902054909150610e109082610eb2565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e639085815260200190565b60405180910390a350505050565b5f8184841115610e945760405162461bcd60e51b81526004016104b09190611489565b505050900390565b5f6105ce828461166f565b5f6105ce8284611686565b5f6105ce828461165c565b600b54305f90815260076020526040812054600554919280851015929110159060ff16158015610ef65750600354600160a81b900460ff165b8015610f0b5750600354600160a01b900460ff165b8015610f145750815b8015610f3857506001600160a01b0386165f9081526009602052604090205460ff16155b8015610f5157506003546001600160a01b038681169116145b8015610f61575060065460045410155b8015610f6a5750805b9695505050505050565b5f818311610f8257826105ce565b50919050565b6005805460ff19166001908117909155600e54600d54600c545f93610fc1936002936107b4939192610fbb928391610eb2565b90610eb2565b90505f610fdd8261074d600c5486610e9c90919063ffffffff16565b90505f610fea848361095e565b905047610ff68261123e565b5f611001478361095e565b90505f61102361101c600c548861095e90919063ffffffff16565b8390610ea7565b90505f61103b600c5483610e9c90919063ffffffff16565b9050801561104d5761104d868261138e565b600d545f90611061906107b4856002610e9c565b905080156110a2576018546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110a0573d5f803e3d5ffd5b505b4780156110e2576017546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110e0573d5f803e3d5ffd5b505b50506005805460ff191690555050505050505050565b6001600160a01b0382165f9081526009602052604081205460ff161580156105ce5750506001600160a01b03165f9081526009602052604090205460ff1615919050565b5f80611148858561143f565b1115611237575f61116a61115c868661143f565b6013546107b4908690610ea7565b305f908152600760205260409020549091506111869082610eb2565b305f81815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d69085815260200190565b60405180910390a35f600f541180156111f95750600f546111f7868661143f565b115b15611225576112253061dead611220600f546107b460135489610ea790919063ffffffff16565b610969565b61122f838261095e565b9150506105ce565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611271576112716116a5565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ec91906116b9565b816001815181106112ff576112ff6116a5565b6001600160a01b039283166020918202929092010152600254611325913091168461083b565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac9479061135d9085905f908690309042906004016116d4565b5f604051808303815f87803b158015611374575f80fd5b505af1158015611386573d5f803e3d5ffd5b505050505050565b6002546113a69030906001600160a01b03168461083b565b60025460195460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611413573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114389190611743565b5050505050565b6003545f906001600160a01b03908116908316036114605750601154610411565b6003546001600160a01b039081169084160361147f5750601054610411565b5060125492915050565b5f6020808352835180828501525f5b818110156114b457858101830151858201604001528201611498565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114e8575f80fd5b50565b5f80604083850312156114fc575f80fd5b8235611507816114d4565b946020939093013593505050565b5f805f805f805f60e0888a03121561152b575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f805f6060848603121561156e575f80fd5b8335611579816114d4565b92506020840135611589816114d4565b929592945050506040919091013590565b5f602082840312156115aa575f80fd5b81356105ce816114d4565b5f80604083850312156115c6575f80fd5b82356115d1816114d4565b915060208301356115e1816114d4565b809150509250929050565b5f805f606084860312156115fe575f80fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561041157610411611635565b8082018082111561041157610411611635565b808202811582820484141761041157610411611635565b5f826116a057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156116c9575f80fd5b81516105ce816114d4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117225784516001600160a01b0316835293830193918301916001016116fd565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611755575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077ef86dd35fa7c16505b760736ab269db30368bae5c71e44d1ffad41fd2041d264736f6c63430008150033
Deployed Bytecode
0x608060405260043610610129575f3560e01c8063893d20e8116100a8578063a9059cbb1161006d578063a9059cbb1461031d578063dd62ed3e1461033c578063e0bf7fd114610380578063f2fde38b146103ae578063f8b45b05146103cd578063faa6342c146103e2575f80fd5b8063893d20e8146102a55780638c0b5e22146102d557806395d89b411461013457806397afe8f8146102ea578063a8b08982146102fe575f80fd5b80632f54bf6e116100ee5780632f54bf6e14610200578063313ce5671461022d57806370a0823114610248578063715018a61461027c57806388e765ff14610290575f80fd5b806306fdde0314610134578063095ea7b31461016f57806318160ddd1461019e578063212bfb01146101c057806323b872dd146101e1575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b50604080518082018252600481526348594d4560e01b602082015290516101669190611489565b60405180910390f35b34801561017a575f80fd5b5061018e6101893660046114eb565b610401565b6040519015158152602001610166565b3480156101a9575f80fd5b506101b2610417565b604051908152602001610166565b3480156101cb575f80fd5b506101df6101da366004611515565b610487565b005b3480156101ec575f80fd5b5061018e6101fb36600461155c565b61056d565b34801561020b575f80fd5b5061018e61021a36600461159a565b5f546001600160a01b0391821691161490565b348015610238575f80fd5b5060405160128152602001610166565b348015610253575f80fd5b506101b261026236600461159a565b6001600160a01b03165f9081526007602052604090205490565b348015610287575f80fd5b506101df6105d5565b34801561029b575f80fd5b506101b260155481565b3480156102b0575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610166565b3480156102e0575f80fd5b506101b260145481565b3480156102f5575f80fd5b506101df610642565b348015610309575f80fd5b506003546102bd906001600160a01b031681565b348015610328575f80fd5b5061018e6103373660046114eb565b610680565b348015610347575f80fd5b506101b26103563660046115b5565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b34801561038b575f80fd5b5061018e61039a36600461159a565b60096020525f908152604090205460ff1681565b3480156103b9575f80fd5b506101df6103c836600461159a565b61068c565b3480156103d8575f80fd5b506101b260165481565b3480156103ed575f80fd5b506101df6103fc3660046115ec565b610708565b5f61040d33848461083b565b5060015b92915050565b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461dead5f9081527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d54600154919261048292909161047c919061095e565b9061095e565b905090565b5f546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b090611615565b60405180910390fd5b600c879055600d869055600f859055600e84905560108390556011829055601281905560135483118015906104f2575060135460115411155b8015610502575060135460125411155b6105645760405162461bcd60e51b815260206004820152602d60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526c6f7265207468616e203130302560981b60648201526084016104b0565b50505050505050565b5f610579848484610969565b6105ca84336105c58560405180606001604052806028815260200161176f602891396001600160a01b038a165f9081526008602090815260408083203384529091529020549190610e71565b61083b565b5060015b9392505050565b5f546001600160a01b031633146105fe5760405162461bcd60e51b81526004016104b090611615565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b0316331461066b5760405162461bcd60e51b81526004016104b090611615565b6003805460ff60a01b1916600160a01b179055565b5f61040d338484610969565b5f546001600160a01b031633146106b55760405162461bcd60e51b81526004016104b090611615565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b5f546001600160a01b031633146107315760405162461bcd60e51b81526004016104b090611615565b5f61075361271061074d86600154610e9c90919063ffffffff16565b90610ea7565b90505f61077161271061074d86600154610e9c90919063ffffffff16565b90505f61078f61271061074d86600154610e9c90919063ffffffff16565b60148490556015839055601681905590505f6107ba6103e861074d60056107b4610417565b90610e9c565b90508084101580156107cc5750808310155b80156107d85750808210155b6105645760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104b0565b6001600160a01b03831661089d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b0565b6001600160a01b0382166108fe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b0565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105ce8284611649565b6001600160a01b0383166109cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b0565b6001600160a01b038216610a2f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b0565b6001600160a01b0383165f9081526009602052604090205460ff16158015610a6f57506001600160a01b0382165f9081526009602052604090205460ff16155b15610abd57600354600160a01b900460ff16610abd5760405162461bcd60e51b815260206004820152600d60248201526c1a5cd51c98591953dc195b9959609a1b60448201526064016104b0565b6001600160a01b0383165f9081526009602052604090205460ff16158015610afd57506001600160a01b0382165f9081526009602052604090205460ff16155b8015610b1757506003546001600160a01b03838116911614155b8015610b2e57506001600160a01b03821661dead14155b15610ba6576016546001600160a01b0383165f90815260076020526040902054610b589083610eb2565b1115610ba65760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104b0565b6003546001600160a01b03848116911614610c455760155481111580610be357506001600160a01b0383165f9081526009602052604090205460ff165b80610c0557506001600160a01b0382165f9081526009602052604090205460ff165b610c455760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b0565b60145481111580610c6d57506001600160a01b0383165f9081526009602052604090205460ff165b80610c8f57506001600160a01b0382165f9081526009602052604090205460ff165b610ccf5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104b0565b6003546001600160a01b038381169116148015610d0457506001600160a01b0383165f9081526009602052604090205460ff16155b15610d2157600160045f828254610d1b919061165c565b90915550505b610d2c838383610ebd565b15610d5a57305f90815260076020526040902054610d5590610d5090600a54610f74565b610f88565b5f6004555b600354600160a01b900460ff161580610d8b57506001600160a01b0383165f9081526009602052604090205460ff16155b15610dcb576001600160a01b0383165f90815260076020526040902054610db2908261095e565b6001600160a01b0384165f908152600760205260409020555b5f610dd684846110f8565b610de05781610deb565b610deb84848461113c565b6001600160a01b0384165f90815260076020526040902054909150610e109082610eb2565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e639085815260200190565b60405180910390a350505050565b5f8184841115610e945760405162461bcd60e51b81526004016104b09190611489565b505050900390565b5f6105ce828461166f565b5f6105ce8284611686565b5f6105ce828461165c565b600b54305f90815260076020526040812054600554919280851015929110159060ff16158015610ef65750600354600160a81b900460ff165b8015610f0b5750600354600160a01b900460ff165b8015610f145750815b8015610f3857506001600160a01b0386165f9081526009602052604090205460ff16155b8015610f5157506003546001600160a01b038681169116145b8015610f61575060065460045410155b8015610f6a5750805b9695505050505050565b5f818311610f8257826105ce565b50919050565b6005805460ff19166001908117909155600e54600d54600c545f93610fc1936002936107b4939192610fbb928391610eb2565b90610eb2565b90505f610fdd8261074d600c5486610e9c90919063ffffffff16565b90505f610fea848361095e565b905047610ff68261123e565b5f611001478361095e565b90505f61102361101c600c548861095e90919063ffffffff16565b8390610ea7565b90505f61103b600c5483610e9c90919063ffffffff16565b9050801561104d5761104d868261138e565b600d545f90611061906107b4856002610e9c565b905080156110a2576018546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110a0573d5f803e3d5ffd5b505b4780156110e2576017546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156110e0573d5f803e3d5ffd5b505b50506005805460ff191690555050505050505050565b6001600160a01b0382165f9081526009602052604081205460ff161580156105ce5750506001600160a01b03165f9081526009602052604090205460ff1615919050565b5f80611148858561143f565b1115611237575f61116a61115c868661143f565b6013546107b4908690610ea7565b305f908152600760205260409020549091506111869082610eb2565b305f81815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d69085815260200190565b60405180910390a35f600f541180156111f95750600f546111f7868661143f565b115b15611225576112253061dead611220600f546107b460135489610ea790919063ffffffff16565b610969565b61122f838261095e565b9150506105ce565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611271576112716116a5565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ec91906116b9565b816001815181106112ff576112ff6116a5565b6001600160a01b039283166020918202929092010152600254611325913091168461083b565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac9479061135d9085905f908690309042906004016116d4565b5f604051808303815f87803b158015611374575f80fd5b505af1158015611386573d5f803e3d5ffd5b505050505050565b6002546113a69030906001600160a01b03168461083b565b60025460195460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611413573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114389190611743565b5050505050565b6003545f906001600160a01b03908116908316036114605750601154610411565b6003546001600160a01b039081169084160361147f5750601054610411565b5060125492915050565b5f6020808352835180828501525f5b818110156114b457858101830151858201604001528201611498565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114e8575f80fd5b50565b5f80604083850312156114fc575f80fd5b8235611507816114d4565b946020939093013593505050565b5f805f805f805f60e0888a03121561152b575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f805f6060848603121561156e575f80fd5b8335611579816114d4565b92506020840135611589816114d4565b929592945050506040919091013590565b5f602082840312156115aa575f80fd5b81356105ce816114d4565b5f80604083850312156115c6575f80fd5b82356115d1816114d4565b915060208301356115e1816114d4565b809150509250929050565b5f805f606084860312156115fe575f80fd5b505081359360208301359350604090920135919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561041157610411611635565b8082018082111561041157610411611635565b808202811582820484141761041157610411611635565b5f826116a057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156116c9575f80fd5b81516105ce816114d4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117225784516001600160a01b0316835293830193918301916001016116fd565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611755575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077ef86dd35fa7c16505b760736ab269db30368bae5c71e44d1ffad41fd2041d264736f6c63430008150033
Deployed Bytecode Sourcemap
4023:10151:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6417:67;;;;;;;;;;-1:-1:-1;6477:5:0;;;;;;;;;;;-1:-1:-1;;;6477:5:0;;;;6417:67;;;;6477:5;6417:67;:::i;:::-;;;;;;;;7111:133;;;;;;;;;;-1:-1:-1;7111:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7111:133:0;1023:187:1;7250:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;7250:132:0;1215:177:1;12696:491:0;;;;;;;;;;-1:-1:-1;12696:491:0;;;;;:::i;:::-;;:::i;:::-;;10480:309;;;;;;;;;;-1:-1:-1;10480:309:0;;;;;:::i;:::-;;:::i;3652:87::-;;;;;;;;;;-1:-1:-1;3652:87:0;;;;;:::i;:::-;3707:4;3732:5;-1:-1:-1;;;;;3721:16:0;;;3732:5;;3721:16;;3652:87;6567:67;;;;;;;;;;-1:-1:-1;6567:67:0;;4223:2;2849:36:1;;2837:2;2822:18;6567:67:0;2707:184:1;6724:103:0;;;;;;;;;;-1:-1:-1;6724:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6807:18:0;6790:7;6807:18;;;:9;:18;;;;;;;6724:103;3862:106;;;;;;;;;;;;;:::i;5307:60::-;;;;;;;;;;;;;;;;6640:78;;;;;;;;;;-1:-1:-1;6692:7:0;6710:5;-1:-1:-1;;;;;6710:5:0;6640:78;;;-1:-1:-1;;;;;3060:32:1;;;3042:51;;3030:2;3015:18;6640:78:0;2896:203:1;5241:59:0;;;;;;;;;;;;;;;;9865:63;;;;;;;;;;;;;:::i;4334:26::-;;;;;;;;;;-1:-1:-1;4334:26:0;;;;-1:-1:-1;;;;;4334:26:0;;;6833:139;;;;;;;;;;-1:-1:-1;6833:139:0;;;;;:::i;:::-;;:::i;6978:127::-;;;;;;;;;;-1:-1:-1;6978:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7076:18:0;;;7059:7;7076:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6978:127;4663:52;;;;;;;;;;-1:-1:-1;4663:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3745:111;;;;;;;;;;-1:-1:-1;3745:111:0;;;;;:::i;:::-;;:::i;5374:57::-;;;;;;;;;;;;;;;;9934:540;;;;;;;;;;-1:-1:-1;9934:540:0;;;;;:::i;:::-;;:::i;7111:133::-;7186:4;7193:37;7202:10;7214:7;7223:6;7193:8;:37::i;:::-;-1:-1:-1;7238:4:0;7111:133;;;;;:::o;7250:132::-;6807:9;:18;;;;5471:42;7303:7;6807:18;;;;;7320:12;;7303:7;;7320:60;;6807:18;;7320:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;7313:67;;7250:132;:::o;12696:491::-;3707:4;3732:5;-1:-1:-1;;;;;3732:5:0;3619:10;3721:16;3603:38;;;;-1:-1:-1;;;3603:38:0;;;;;;;:::i;:::-;;;;;;;;;12873:12:::1;:25:::0;;;12900:12:::1;:25:::0;;;12927:7:::1;:15:::0;;;12944:14:::1;:29:::0;;;12975:8:::1;:17:::0;;;12994:7:::1;:15:::0;;;13011:11:::1;:20:::0;;;13062:11:::1;::::0;13050:23;::::1;::::0;::::1;::::0;:49:::1;;;13088:11;;13077:7;;:22;;13050:49;:79;;;;;13118:11;;13103;;:26;;13050:79;13042:137;;;::::0;-1:-1:-1;;;13042:137:0;;4614:2:1;13042:137:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:43;4796:19;;13042:137:0::1;4412:409:1::0;13042:137:0::1;12696:491:::0;;;;;;;:::o;10480:309::-;10578:4;10595:36;10605:6;10613:9;10624:6;10595:9;:36::i;:::-;10642:117;10651:6;10659:10;10671:87;10707:6;10671:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10671:19:0;;;;;;:11;:19;;;;;;;;10691:10;10671:31;;;;;;;;;:87;:35;:87::i;:::-;10642:8;:117::i;:::-;-1:-1:-1;10777:4:0;10480:309;;;;;;:::o;3862:106::-;3707:4;3732:5;-1:-1:-1;;;;;3732:5:0;3619:10;3721:16;3603:38;;;;-1:-1:-1;;;3603:38:0;;;;;;;:::i;:::-;3925:1:::1;3909:18:::0;;-1:-1:-1;;;;;;3909:18:0::1;::::0;;3934:32:::1;::::0;3042:51:1;;;3934:32:0::1;::::0;3030:2:1;3015:18;3934:32:0::1;;;;;;;3862:106::o:0;9865:63::-;3707:4;3732:5;-1:-1:-1;;;;;3732:5:0;3619:10;3721:16;3603:38;;;;-1:-1:-1;;;3603:38:0;;;;;;;:::i;:::-;9906:13:::1;:20:::0;;-1:-1:-1;;;;9906:20:0::1;-1:-1:-1::0;;;9906:20:0::1;::::0;;9865:63::o;6833:139::-;6911:4;6918:40;6928:10;6940:9;6951:6;6918:9;:40::i;3745:111::-;3707:4;3732:5;-1:-1:-1;;;;;3732:5:0;3619:10;3721:16;3603:38;;;;-1:-1:-1;;;3603:38:0;;;;;;;:::i;:::-;3811:5:::1;:11:::0;;-1:-1:-1;;;;;;3811:11:0::1;-1:-1:-1::0;;;;;3811:11:0;::::1;::::0;;::::1;::::0;;;3829:25:::1;::::0;3042:51:1;;;3829:25:0::1;::::0;3030:2:1;3015:18;3829:25:0::1;;;;;;;3745:111:::0;:::o;9934:540::-;3707:4;3732:5;-1:-1:-1;;;;;3732:5:0;3619:10;3721:16;3603:38;;;;-1:-1:-1;;;3603:38:0;;;;;;;:::i;:::-;10033:13:::1;10049:33;10076:5;10049:22;10066:4;10049:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;10033:49;;10084:19;10106:34;10134:5;10106:23;10123:5;10106:12;;:16;;:23;;;;:::i;:34::-;10084:56;;10142:17;10162:36;10192:5;10162:25;10179:7;10162:12;;:16;;:25;;;;:::i;:36::-;10209:11;:19:::0;;;10230:12:::1;:26:::0;;;10258:9:::1;:21:::0;;;10142:56;-1:-1:-1;;10306:30:0::1;10331:4;10306:20;10324:1;10306:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;10290:46;;10364:5;10355;:14;;:38;;;;;10388:5;10373:11;:20;;10355:38;:60;;;;;10410:5;10397:9;:18;;10355:60;10347:119;;;::::0;-1:-1:-1;;;10347:119:0;;5244:2:1;10347:119:0::1;::::0;::::1;5226:21:1::0;5283:2;5263:18;;;5256:30;5322:34;5302:18;;;5295:62;-1:-1:-1;;;5373:18:1;;;5366:44;5427:19;;10347:119:0::1;5042:410:1::0;10795:335:0;-1:-1:-1;;;;;10888:19:0;;10880:68;;;;-1:-1:-1;;;10880:68:0;;5659:2:1;10880:68:0;;;5641:21:1;5698:2;5678:18;;;5671:30;5737:34;5717:18;;;5710:62;-1:-1:-1;;;5788:18:1;;;5781:34;5832:19;;10880:68:0;5457:400:1;10880:68:0;-1:-1:-1;;;;;10967:21:0;;10959:68;;;;-1:-1:-1;;;10959:68:0;;6064:2:1;10959:68:0;;;6046:21:1;6103:2;6083:18;;;6076:30;6142:34;6122:18;;;6115:62;-1:-1:-1;;;6193:18:1;;;6186:32;6235:19;;10959:68:0;5862:398:1;10959:68:0;-1:-1:-1;;;;;11038:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11090:32;;1361:25:1;;;11090:32:0;;1334:18:1;11090:32:0;;;;;;;10795:335;;;:::o;1389:98::-;1447:7;1474:5;1478:1;1474;:5;:::i;11175:1515::-;-1:-1:-1;;;;;11272:20:0;;11264:70;;;;-1:-1:-1;;;11264:70:0;;6732:2:1;11264:70:0;;;6714:21:1;6771:2;6751:18;;;6744:30;6810:34;6790:18;;;6783:62;-1:-1:-1;;;6861:18:1;;;6854:35;6906:19;;11264:70:0;6530:401:1;11264:70:0;-1:-1:-1;;;;;11353:23:0;;11345:71;;;;-1:-1:-1;;;11345:71:0;;7138:2:1;11345:71:0;;;7120:21:1;7177:2;7157:18;;;7150:30;7216:34;7196:18;;;7189:62;-1:-1:-1;;;7267:18:1;;;7260:33;7310:19;;11345:71:0;6936:399:1;11345:71:0;-1:-1:-1;;;;;11431:27:0;;;;;;:19;:27;;;;;;;;11430:28;:63;;;;-1:-1:-1;;;;;;11463:30:0;;;;;;:19;:30;;;;;;;;11462:31;11430:63;11427:109;;;11503:13;;-1:-1:-1;;;11503:13:0;;;;11495:39;;;;-1:-1:-1;;;11495:39:0;;7542:2:1;11495:39:0;;;7524:21:1;7581:2;7561:18;;;7554:30;-1:-1:-1;;;7600:18:1;;;7593:43;7653:18;;11495:39:0;7340:337:1;11495:39:0;-1:-1:-1;;;;;11550:27:0;;;;;;:19;:27;;;;;;;;11549:28;:63;;;;-1:-1:-1;;;;;;11582:30:0;;;;;;:19;:30;;;;;;;;11581:31;11549:63;:100;;;;-1:-1:-1;11637:11:0;;-1:-1:-1;;;;;11616:33:0;;;11637:11;;11616:33;;11549:100;:130;;;;-1:-1:-1;;;;;;11653:26:0;;5471:42;11653:26;;11549:130;11546:237;;;11737:9;;-1:-1:-1;;;;;11700:20:0;;;;;;:9;:20;;;;;;:32;;11725:6;11700:24;:32::i;:::-;11699:47;;11691:90;;;;-1:-1:-1;;;11691:90:0;;7884:2:1;11691:90:0;;;7866:21:1;7923:2;7903:18;;;7896:30;7962:32;7942:18;;;7935:60;8012:18;;11691:90:0;7682:354:1;11691:90:0;11806:11;;-1:-1:-1;;;;;11796:21:0;;;11806:11;;11796:21;11793:145;;11837:12;;11827:6;:22;;:53;;;-1:-1:-1;;;;;;11853:27:0;;;;;;:19;:27;;;;;;;;11827:53;:87;;;-1:-1:-1;;;;;;11884:30:0;;;;;;:19;:30;;;;;;;;11827:87;11819:117;;;;-1:-1:-1;;;11819:117:0;;8243:2:1;11819:117:0;;;8225:21:1;8282:2;8262:18;;;8255:30;-1:-1:-1;;;8301:18:1;;;8294:47;8358:18;;11819:117:0;8041:341:1;11819:117:0;11966:11;;11956:6;:21;;:52;;;-1:-1:-1;;;;;;11981:27:0;;;;;;:19;:27;;;;;;;;11956:52;:86;;;-1:-1:-1;;;;;;12012:30:0;;;;;;:19;:30;;;;;;;;11956:86;11948:116;;;;-1:-1:-1;;;11948:116:0;;8243:2:1;11948:116:0;;;8225:21:1;8282:2;8262:18;;;8255:30;-1:-1:-1;;;8301:18:1;;;8294:47;8358:18;;11948:116:0;8041:341:1;11948:116:0;12092:11;;-1:-1:-1;;;;;12079:24:0;;;12092:11;;12079:24;:56;;;;-1:-1:-1;;;;;;12108:27:0;;;;;;:19;:27;;;;;;;;12107:28;12079:56;12076:90;;;12162:1;12137:13;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;;12076:90:0;12179:41;12194:6;12202:9;12213:6;12179:14;:41::i;:::-;12176:132;;;12253:4;6790:7;6807:18;;;:9;:18;;;;;;12222:56;;12231:46;;12261:15;;12231:3;:46::i;:::-;12222:8;:56::i;:::-;12304:1;12280:13;:26;12176:132;12323:13;;-1:-1:-1;;;12323:13:0;;;;12322:14;;:46;;-1:-1:-1;;;;;;12341:27:0;;;;;;:19;:27;;;;;;;;12340:28;12322:46;12318:106;;;-1:-1:-1;;;;;12392:17:0;;;;;;:9;:17;;;;;;:29;;12414:6;12392:21;:29::i;:::-;-1:-1:-1;;;;;12372:17:0;;;;;;:9;:17;;;;;:49;12318:106;12434:22;12459:32;12473:6;12481:9;12459:13;:32::i;:::-;:90;;12543:6;12459:90;;;12494:46;12514:6;12522:9;12533:6;12494:19;:46::i;:::-;-1:-1:-1;;;;;12583:20:0;;;;;;:9;:20;;;;;;12434:115;;-1:-1:-1;12583:40:0;;12434:115;12583:24;:40::i;:::-;-1:-1:-1;;;;;12560:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12639:43;;;;;;;;;;12667:14;1361:25:1;;1349:2;1334:18;;1215:177;12639:43:0;;;;;;;;11253:1437;11175:1515;;;:::o;1813:240::-;1933:7;1994:12;1986:6;;;;1978:29;;;;-1:-1:-1;;;1978:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2029:5:0;;;1813:240::o;1495:98::-;1553:7;1580:5;1584:1;1580;:5;:::i;1601:98::-;1659:7;1686:5;1690:1;1686;:5;:::i;1283:98::-;1341:7;1368:5;1372:1;1368;:5;:::i;13193:427::-;13334:17;;13402:4;13291;6807:18;;;:9;:18;;;;;;13448:9;;13291:4;;13324:27;;;;;-1:-1:-1;;13384:45:0;;13448:9;;13447:10;:28;;;;-1:-1:-1;13461:14:0;;-1:-1:-1;;;13461:14:0;;;;13447:28;:45;;;;-1:-1:-1;13479:13:0;;-1:-1:-1;;;13479:13:0;;;;13447:45;:57;;;;;13496:8;13447:57;:89;;;;-1:-1:-1;;;;;;13509:27:0;;;;;;:19;:27;;;;;;;;13508:28;13447:89;:117;;;;-1:-1:-1;13553:11:0;;-1:-1:-1;;;;;13540:24:0;;;13553:11;;13540:24;13447:117;:147;;;;;13585:9;;13568:13;;:26;;13447:147;:165;;;;;13598:14;13447:165;13440:172;13193:427;-1:-1:-1;;;;;;13193:427:0:o;9293:105::-;9350:7;9380:1;9376;:5;9375:15;;9389:1;9375:15;;;-1:-1:-1;9385:1:0;9293:105;-1:-1:-1;9293:105:0:o;7637:1054::-;4878:9;:16;;-1:-1:-1;;4878:16:0;4890:4;4878:16;;;;;;7765:14:::1;::::0;7747:12:::1;::::0;7723::::1;::::0;4878:9;;7722:66:::1;::::0;7786:1:::1;::::0;7723:57:::1;::::0;7765:14;;7723:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;7722:66::-;7699:89;;7799:32;7834:42;7863:12;7834:24;7845:12;;7834:6;:10;;:24;;;;:::i;:42::-;7799:77:::0;-1:-1:-1;7887:14:0::1;7904:36;:6:::0;7799:77;7904:10:::1;:36::i;:::-;7887:53:::0;-1:-1:-1;7976:21:0::1;8008:24;7887:53:::0;8008:16:::1;:24::i;:::-;8043:20;8066:41;:21;8092:14:::0;8066:25:::1;:41::i;:::-;8043:64;;8118:19;8139:48;8156:30;8173:12;;8156;:16;;:30;;;;:::i;:::-;8139:12:::0;;:16:::1;:48::i;:::-;8118:69;;8198:29;8230;8246:12;;8230:11;:15;;:29;;;;:::i;:::-;8198:61:::0;-1:-1:-1;8273:34:0;;8270:103:::1;;8309:61;8322:24;8348:21;8309:12;:61::i;:::-;8429:12;::::0;8383:20:::1;::::0;8406:36:::1;::::0;:18:::1;:11:::0;8422:1:::1;8406:15;:18::i;:36::-;8383:59:::0;-1:-1:-1;8456:16:0;;8453:73:::1;;8482:18;::::0;8474:50:::1;::::0;-1:-1:-1;;;;;8482:18:0;;::::1;::::0;8474:50;::::1;;;::::0;8511:12;;8482:18:::1;8474:50:::0;8482:18;8474:50;8511:12;8482:18;8474:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8453:73;8562:21;8597:28:::0;;8594:90:::1;;8635:20;::::0;8627:55:::1;::::0;-1:-1:-1;;;;;8635:20:0;;::::1;::::0;8627:55;::::1;;;::::0;8666:15;;8635:20:::1;8627:55:::0;8635:20;8627:55;8666:15;8635:20;8627:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8594:90;-1:-1:-1::0;;4899:9:0;:17;;-1:-1:-1;;4899:17:0;;;-1:-1:-1;;;;;;;;7637:1054:0:o;13626:176::-;-1:-1:-1;;;;;13732:27:0;;13707:4;13732:27;;;:19;:27;;;;;;;;13731:28;:63;;;;-1:-1:-1;;;;;;;13764:30:0;;;;;:19;:30;;;;;;;;13763:31;;13626:176;-1:-1:-1;13626:176:0:o;8697:590::-;8795:7;8847:1;8818:26;8826:6;8834:9;8818:7;:26::i;:::-;:30;8815:450;;;8860:17;8880:55;8908:26;8916:6;8924:9;8908:7;:26::i;:::-;8891:11;;8880:23;;:6;;:10;:23::i;:55::-;8991:4;8973:24;;;;:9;:24;;;;;;8860:75;;-1:-1:-1;8973:39:0;;8860:75;8973:28;:39::i;:::-;8964:4;8946:24;;;;:9;:24;;;;;;;:66;;;;9028:42;;-1:-1:-1;;;;;9028:42:0;;;;;;;9060:9;1361:25:1;;1349:2;1334:18;;1215:177;9028:42:0;;;;;;;;9102:1;9084:7;;:20;:60;;;;;9137:7;;9108:26;9116:6;9124:9;9108:7;:26::i;:::-;:36;9084:60;9081:144;;;9146:77;9164:4;5471:42;9186:36;9214:7;;9186:23;9197:11;;9186:6;:10;;:23;;;;:::i;:36::-;9146:9;:77::i;:::-;9242:21;:6;9253:9;9242:10;:21::i;:::-;9235:28;;;;;8815:450;-1:-1:-1;9273:6:0;8697:590;-1:-1:-1;;8697:590:0:o;9404:455::-;9494:16;;;9508:1;9494:16;;;;;;;;9470:21;;9494:16;;;;;;;;;;-1:-1:-1;9494:16:0;9470:40;;9539:4;9521;9526:1;9521:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9521:23:0;;;:7;;;;;;;;;;:23;;;;9565:13;;:20;;;-1:-1:-1;;;9565:20:0;;;;:13;;;;;:18;;:20;;;;;9521:7;;9565:20;;;;;:13;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9555:4;9560:1;9555:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9555:30:0;;;:7;;;;;;;;;:30;9628:13;;9596:60;;9613:4;;9628:13;9644:11;9596:8;:60::i;:::-;9667:13;;:184;;-1:-1:-1;;;9667:184:0;;-1:-1:-1;;;;;9667:13:0;;;;:64;;:184;;9746:11;;9667:13;;9788:4;;9815;;9835:15;;9667:184;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9459:400;9404:455;:::o;13814:357::-;13927:13;;13895:60;;13912:4;;-1:-1:-1;;;;;13927:13:0;13943:11;13895:8;:60::i;:::-;13966:13;;14114:18;;13966:197;;-1:-1:-1;;;13966:197:0;;14036:4;13966:197;;;10758:34:1;10808:18;;;10801:34;;;13966:13:0;10851:18:1;;;10844:34;;;10894:18;;;10887:34;-1:-1:-1;;;;;14114:18:0;;;10937:19:1;;;10930:44;14147:15:0;10990:19:1;;;10983:35;13966:13:0;;;:29;;14003:9;;10692:19:1;;13966:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13814:357;;:::o;7392:229::-;7503:11;;7467:7;;-1:-1:-1;;;;;7503:11:0;;;7490:24;;;;7487:45;;-1:-1:-1;7523:7:0;;7516:14;;7487:45;7555:11;;-1:-1:-1;;;;;7555:11:0;;;7545:21;;;;7542:43;;-1:-1:-1;7575:8:0;;7568:15;;7542:43;-1:-1:-1;7602:11:0;;7392:229;;;;:::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:592::-;1510:6;1518;1526;1534;1542;1550;1558;1611:3;1599:9;1590:7;1586:23;1582:33;1579:53;;;1628:1;1625;1618:12;1579:53;-1:-1:-1;;1651:23:1;;;1721:2;1706:18;;1693:32;;-1:-1:-1;1772:2:1;1757:18;;1744:32;;1823:2;1808:18;;1795:32;;-1:-1:-1;1874:3:1;1859:19;;1846:33;;-1:-1:-1;1926:3:1;1911:19;;1898:33;;-1:-1:-1;1978:3:1;1963:19;1950:33;;-1:-1:-1;1397:592:1;-1:-1:-1;1397:592:1:o;1994:456::-;2071:6;2079;2087;2140:2;2128:9;2119:7;2115:23;2111:32;2108:52;;;2156:1;2153;2146:12;2108:52;2195:9;2182:23;2214:31;2239:5;2214:31;:::i;:::-;2264:5;-1:-1:-1;2321:2:1;2306:18;;2293:32;2334:33;2293:32;2334:33;:::i;:::-;1994:456;;2386:7;;-1:-1:-1;;;2440:2:1;2425:18;;;;2412:32;;1994:456::o;2455:247::-;2514:6;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;2622:9;2609:23;2641:31;2666:5;2641:31;:::i;3104:388::-;3172:6;3180;3233:2;3221:9;3212:7;3208:23;3204:32;3201:52;;;3249:1;3246;3239:12;3201:52;3288:9;3275:23;3307:31;3332:5;3307:31;:::i;:::-;3357:5;-1:-1:-1;3414:2:1;3399:18;;3386:32;3427:33;3386:32;3427:33;:::i;:::-;3479:7;3469:17;;;3104:388;;;;;:::o;3757:316::-;3834:6;3842;3850;3903:2;3891:9;3882:7;3878:23;3874:32;3871:52;;;3919:1;3916;3909:12;3871:52;-1:-1:-1;;3942:23:1;;;4012:2;3997:18;;3984:32;;-1:-1:-1;4063:2:1;4048:18;;;4035:32;;3757:316;-1:-1:-1;3757:316:1:o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6265:127::-;6326:10;6321:3;6317:20;6314:1;6307:31;6357:4;6354:1;6347:15;6381:4;6378:1;6371:15;6397:128;6464:9;;;6485:11;;;6482:37;;;6499:18;;:::i;8387:125::-;8452:9;;;8473:10;;;8470:36;;;8486:18;;:::i;8517:168::-;8590:9;;;8621;;8638:15;;;8632:22;;8618:37;8608:71;;8659:18;;:::i;8690:217::-;8730:1;8756;8746:132;;8800:10;8795:3;8791:20;8788:1;8781:31;8835:4;8832:1;8825:15;8863:4;8860:1;8853:15;8746:132;-1:-1:-1;8892:9:1;;8690:217::o;9044:127::-;9105:10;9100:3;9096:20;9093:1;9086:31;9136:4;9133:1;9126:15;9160:4;9157:1;9150:15;9176:251;9246:6;9299:2;9287:9;9278:7;9274:23;9270:32;9267:52;;;9315:1;9312;9305:12;9267:52;9347:9;9341:16;9366:31;9391:5;9366:31;:::i;9432:980::-;9694:4;9742:3;9731:9;9727:19;9773:6;9762:9;9755:25;9799:2;9837:6;9832:2;9821:9;9817:18;9810:34;9880:3;9875:2;9864:9;9860:18;9853:31;9904:6;9939;9933:13;9970:6;9962;9955:22;10008:3;9997:9;9993:19;9986:26;;10047:2;10039:6;10035:15;10021:29;;10068:1;10078:195;10092:6;10089:1;10086:13;10078:195;;;10157:13;;-1:-1:-1;;;;;10153:39:1;10141:52;;10248:15;;;;10213:12;;;;10189:1;10107:9;10078:195;;;-1:-1:-1;;;;;;;10329:32:1;;;;10324:2;10309:18;;10302:60;-1:-1:-1;;;10393:3:1;10378:19;10371:35;10290:3;9432:980;-1:-1:-1;;;9432:980:1:o;11029:306::-;11117:6;11125;11133;11186:2;11174:9;11165:7;11161:23;11157:32;11154:52;;;11202:1;11199;11192:12;11154:52;11231:9;11225:16;11215:26;;11281:2;11270:9;11266:18;11260:25;11250:35;;11325:2;11314:9;11310:18;11304:25;11294:35;;11029:306;;;;;:::o
Swarm Source
ipfs://77ef86dd35fa7c16505b760736ab269db30368bae5c71e44d1ffad41fd2041d2
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.