ERC-20
Overview
Max Total Supply
100,000,000 DAETA
Holders
943
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
15,000 DAETAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DAETA
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-11-06 */ /* _____ _______ _______ | __ \ / ____|__ __|/\ | | | | / |__ | | / \ | | | |/ /| __| | | / /\ \ | |__| / ___ |____ | |/ ____ \ |_____/_/ |______| |_/_/ \_\ Distributed Cloud Storage and Modular AI-Native Data Layer. Website: https://www.daeta.xyz Twitter: https://x.com/DaetaStorage Medium: https://daetastorage.medium.com Telegram: https://t.me/DaetaStorage Discord: https://discord.gg/DaetaStorage GitHub: https://github.com/DaetaStorage Documentation: https://docs.daeta.xyz Whitepaper: https://daeta.xyz/DaetaWPv1.0.pdf Tokenomics: https://docs.daeta.xyz/tokenomics */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; interface IERC20 { event Transfer(address indexed sender, address indexed recipient, uint256 amount); event Approval(address indexed owner, address indexed spender, uint256 amount); 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _contractOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { address msgSender = _msgSender(); _contractOwner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _contractOwner; } modifier onlyOwner() { require(_contractOwner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) public onlyOwner { _updateOwnership(newOwner); } function _updateOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_contractOwner, newOwner); _contractOwner = newOwner; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_contractOwner, address(0)); _contractOwner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 tokenAmount, uint256 minETHAmount, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint tokenDesired, uint tokenMin, uint ethMin, address to, uint deadline ) external payable returns (uint tokenAmount, uint ethAmount, uint liquidity); } contract DAETA is Context, IERC20, Ownable { string private constant _tokenName = "DAETA"; string private constant _tokenSymbol = "DAETA"; uint8 private constant _tokenDecimals = 18; uint256 private constant _totalSupply = 100000000 * 10**_tokenDecimals; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => uint256) private _excludedAccounts; uint256 private constant _minSwapAmount = 25000 * 10**_tokenDecimals; uint256 private _maxSwapAmount = 625000 * 10**_tokenDecimals; uint256 public maxTxAmount = 100000 * 10**_tokenDecimals; uint256 public maxWalletBalance = 200000 * 10**_tokenDecimals; uint256 private _startBlock; uint256 buyFee = 30; uint256 sellFee = 30; IUniswapV2Router02 private _swapRouter; address public liquidityPair; address DAETAStorage; address DAETALVRG; address DAETABoost; bool private _tradingIsEnabled = false; constructor() { DAETAStorage = 0x1b3B458EBDE073723a05005F3D65715BD6aaecD6; DAETALVRG = 0xB67A1A099557A64dCDAaDfE768204002Ca25e67a; DAETABoost = 0x25e01C6EE653b4aba2227c5C6FaE34402e34c027; _balances[msg.sender] = _totalSupply; _excludedAccounts[msg.sender] = 1; _excludedAccounts[address(this)] = 1; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public pure returns (string memory) { return _tokenName; } function symbol() public pure returns (string memory) { return _tokenSymbol; } function decimals() public pure returns (uint8) { return _tokenDecimals; } function totalSupply() public pure override returns (uint256) { return _totalSupply; } function getTaxeRates() external view returns (uint256 buyTax, uint256 sellTax) { buyTax = buyFee; sellTax = sellFee; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _executeTransfer(_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) { _setTokenAllowance(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _executeTransfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _setTokenAllowance(sender, _msgSender(), currentAllowance - amount); } } return true; } function _setTokenAllowance(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function activeTrading() external onlyOwner { require(!_tradingIsEnabled, "Trading is already enabled"); _swapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); liquidityPair = IUniswapV2Factory(_swapRouter.factory()).createPair(address(this), _swapRouter.WETH()); _setTokenAllowance(address(this), address(_swapRouter), _totalSupply); _swapRouter.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(liquidityPair).approve(address(_swapRouter), type(uint).max); _tradingIsEnabled = true; _startBlock = block.number; } function modifyExcludedAccounts(address account, uint256 value) external onlyOwner { _excludedAccounts[account] = value; } function removeLimits() external onlyOwner { maxTxAmount = _totalSupply; maxWalletBalance = _totalSupply; } function updateTaxes(uint256 newTxRate) external onlyOwner { require(newTxRate <= buyFee && newTxRate <= sellFee, "Tax cannot be increased"); buyFee = newTxRate; sellFee = newTxRate; } function _executeTokenTransfer(address from, address to, uint256 amount, uint256 taxRate) private { uint256 taxAmount = (amount * taxRate) / 100; uint256 transferAmount = amount - taxAmount; _balances[from] -= amount; _balances[to] += transferAmount; _balances[address(this)] += taxAmount; emit Transfer(from, to, transferAmount); } function _executeTransfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "ERC20: transfer amount must be greater than zero"); uint256 taxRate = 0; if (_excludedAccounts[from] == 0 && _excludedAccounts[to] == 0) { require(_tradingIsEnabled, "Trading is not enabled yet"); require(amount <= maxTxAmount, "Transaction amount exceeds the maximum limit"); if (to != liquidityPair && to != address(0xdead)) { require(balanceOf(to) + amount <= maxWalletBalance, "Recipient wallet exceeds the maximum limit"); } if (block.number < _startBlock + 3) { taxRate = (from == liquidityPair) ? 30 : 30; } else { if (from == liquidityPair) { taxRate = buyFee; } else if (to == liquidityPair) { uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance > _minSwapAmount) { uint256 swapAmount = _maxSwapAmount; if (contractTokenBalance > amount) contractTokenBalance = amount; if (contractTokenBalance > swapAmount) contractTokenBalance = swapAmount; _swapTokensForEth(contractTokenBalance); } taxRate = sellFee; } } } _executeTokenTransfer(from, to, amount, taxRate); } function withdrawEth() external onlyOwner { (bool success, ) = owner().call{value: address(this).balance}(""); require(success, "ETH withdrawal failed"); } function withdrawTokens() external onlyOwner { uint256 contractTokenBalance = balanceOf(address(this)); require(contractTokenBalance > 0, "No tokens to withdraw"); _executeTokenTransfer(address(this), owner(), contractTokenBalance, 0); } function manualSwapExecution(uint256 percent) external onlyOwner { uint256 contractTokenBalance = balanceOf(address(this)); uint256 swapAmount = (percent * contractTokenBalance) / 100; _swapTokensForEth(swapAmount); } function _swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _swapRouter.WETH(); _setTokenAllowance(address(this), address(_swapRouter), tokenAmount); _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); uint256 contractEthBalance = address(this).balance; uint256 StorageTax = (contractEthBalance * 45) / 100; uint256 LVRGTax = (contractEthBalance * 45) / 100; uint256 BoostTax = (contractEthBalance * 10) / 100; (bool success, ) = DAETAStorage.call{value: StorageTax}(""); (success, ) = DAETALVRG.call{value: LVRGTax}(""); (success, ) = DAETABoost.call{value: BoostTax}(""); require(success, "Transfer failed"); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","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":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"activeTrading","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTaxeRates","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"modifyExcludedAccounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxRate","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a620002e9565b62000021906209896862000300565b600455620000326012600a620002e9565b6200004190620186a062000300565b600555620000526012600a620002e9565b620000619062030d4062000300565b600655601e6008819055600955600e805460ff60a01b1916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b0319908116731b3b458ebde073723a05005f3d65715bd6aaecd617909155600d8054821673b67a1a099557a64dcdaadfe768204002ca25e67a179055600e80549091167325e01c6ee653b4aba2227c5c6fae34402e34c0271790556200013c6012600a620002e9565b6200014c906305f5e10062000300565b335f9081526001602081815260408084209490945560039052828220819055308252919020556200017a3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001b36012600a620002e9565b620001c3906305f5e10062000300565b60405190815260200160405180910390a36200031a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200022e57815f1904821115620002125762000212620001da565b808516156200022057918102915b93841c9390800290620001f3565b509250929050565b5f826200024657506001620002e3565b816200025457505f620002e3565b81600181146200026d5760028114620002785762000298565b6001915050620002e3565b60ff8411156200028c576200028c620001da565b50506001821b620002e3565b5060208310610133831016604e8410600b8410161715620002bd575081810a620002e3565b620002c98383620001ee565b805f1904821115620002df57620002df620001da565b0290505b92915050565b5f620002f960ff84168362000236565b9392505050565b8082028115828204841417620002e357620002e3620001da565b61196f80620003285f395ff3fe60806040526004361061013f575f3560e01c806384516c8c116100b3578063a9059cbb1161006d578063a9059cbb14610364578063b3ac853714610383578063bbde77c114610397578063da28dac3146103ac578063dd62ed3e146103cb578063f2fde38b1461040f575f80fd5b806384516c8c146102e45780638c0b5e221461030b5780638d8f2adb146103205780638da5cb5b1461033457806395d89b411461014a578063a0ef91df14610350575f80fd5b80635a0ad007116101045780635a0ad00714610211578063613506911461023257806370a0823114610251578063715018a614610285578063751039fc14610299578063808a5457146102ad575f80fd5b806306fdde031461014a578063095ea7b31461018657806318160ddd146101b557806323b872dd146101d7578063313ce567146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820182526005815264444145544160d81b6020820152905161017d9190611587565b60405180910390f35b348015610191575f80fd5b506101a56101a03660046115e6565b61042e565b604051901515815260200161017d565b3480156101c0575f80fd5b506101c9610444565b60405190815260200161017d565b3480156101e2575f80fd5b506101a56101f1366004611610565b610464565b348015610201575f80fd5b506040516012815260200161017d565b34801561021c575f80fd5b5061023061022b36600461164e565b610519565b005b34801561023d575f80fd5b5061023061024c36600461164e565b6105ac565b34801561025c575f80fd5b506101c961026b366004611665565b6001600160a01b03165f9081526001602052604090205490565b348015610290575f80fd5b5061023061060b565b3480156102a4575f80fd5b5061023061067c565b3480156102b8575f80fd5b50600b546102cc906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b3480156102ef575f80fd5b506008546009546040805192835260208301919091520161017d565b348015610316575f80fd5b506101c960055481565b34801561032b575f80fd5b506102306106e1565b34801561033f575f80fd5b505f546001600160a01b03166102cc565b34801561035b575f80fd5b5061023061077d565b34801561036f575f80fd5b506101a561037e3660046115e6565b61083e565b34801561038e575f80fd5b5061023061084a565b3480156103a2575f80fd5b506101c960065481565b3480156103b7575f80fd5b506102306103c63660046115e6565b610bee565b3480156103d6575f80fd5b506101c96103e5366004611687565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561041a575f80fd5b50610230610429366004611665565b610c32565b5f61043a338484610c64565b5060015b92915050565b5f6104516012600a6117b2565b61045f906305f5e1006117c0565b905090565b5f610470848484610d87565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461050e57828110156105015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61050e8533858403610c64565b506001949350505050565b5f546001600160a01b031633146105425760405162461bcd60e51b81526004016104f8906117d7565b600854811115801561055657506009548111155b6105a25760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e6372656173656400000000000000000060448201526064016104f8565b6008819055600955565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260408120549060646105f183856117c0565b6105fb919061180c565b9050610606816110ec565b505050565b5f546001600160a01b031633146106345760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106a55760405162461bcd60e51b81526004016104f8906117d7565b6106b16012600a6117b2565b6106bf906305f5e1006117c0565b6005556106ce6012600a6117b2565b6106dc906305f5e1006117c0565b600655565b5f546001600160a01b0316331461070a5760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260409020548061075e5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016104f8565b61077a306107735f546001600160a01b031690565b835f6113ce565b50565b5f546001600160a01b031633146107a65760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f81146107f0576040519150601f19603f3d011682016040523d82523d5f602084013e6107f5565b606091505b505090508061077a5760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016104f8565b5f61043a338484610d87565b5f546001600160a01b031633146108735760405162461bcd60e51b81526004016104f8906117d7565b600e54600160a01b900460ff16156108cd5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016104f8565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561092f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610953919061182b565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d6919061182b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a44919061182b565b600b80546001600160a01b0319166001600160a01b03928316179055600a8054610a8c923092911690610a79906012906117b2565b610a87906305f5e1006117c0565b610c64565b600a546001600160a01b031663f305d7194730610abd816001600160a01b03165f9081526001602052604090205490565b5f80610ad05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b5b9190611846565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd49190611871565b50600e805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b03163314610c175760405162461bcd60e51b81526004016104f8906117d7565b6001600160a01b039091165f90815260036020526040902055565b5f546001600160a01b03163314610c5b5760405162461bcd60e51b81526004016104f8906117d7565b61077a816114c9565b6001600160a01b038316610cc65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f8565b6001600160a01b038216610d275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f8565b5f8111610e535760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016104f8565b6001600160a01b0383165f90815260036020526040812054158015610e8d57506001600160a01b0383165f90815260036020526040902054155b156110da57600e54600160a01b900460ff16610eeb5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016104f8565b600554821115610f525760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b60648201526084016104f8565b600b546001600160a01b03848116911614801590610f7b57506001600160a01b03831661dead14155b1561100d5760065482610fa2856001600160a01b03165f9081526001602052604090205490565b610fac9190611890565b111561100d5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b60648201526084016104f8565b60075461101b906003611890565b43101561104b57600b546001600160a01b0385811691161461103e57601e611041565b601e5b60ff1690506110da565b600b546001600160a01b039081169085160361106a57506008546110da565b600b546001600160a01b03908116908416036110da57305f9081526001602052604090205461109b6012600a6117b2565b6110a7906161a86117c0565b8111156110d457600454838211156110bd578391505b808211156110c9578091505b6110d2826110ec565b505b50506009545b6110e6848484846113ce565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111f5761111f6118a3565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119a919061182b565b816001815181106111ad576111ad6118a3565b6001600160a01b039283166020918202929092010152600a546111d39130911684610c64565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120b9085905f908690309042906004016118b7565b5f604051808303815f87803b158015611222575f80fd5b505af1158015611234573d5f803e3d5ffd5b504792505f91506064905061124a83602d6117c0565b611254919061180c565b90505f606461126484602d6117c0565b61126e919061180c565b90505f606461127e85600a6117c0565b611288919061180c565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146112d7576040519150601f19603f3d011682016040523d82523d5f602084013e6112dc565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611329576040519150601f19603f3d011682016040523d82523d5f602084013e61132e565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f811461137b576040519150601f19603f3d011682016040523d82523d5f602084013e611380565b606091505b505080915050806113c55760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016104f8565b50505050505050565b5f60646113db83856117c0565b6113e5919061180c565b90505f6113f28285611926565b6001600160a01b0387165f9081526001602052604081208054929350869290919061141e908490611926565b90915550506001600160a01b0385165f908152600160205260408120805483929061144a908490611890565b9091555050305f908152600160205260408120805484929061146d908490611890565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114b991815260200190565b60405180910390a3505050505050565b6001600160a01b03811661152e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f8565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156115b257858101830151858201604001528201611596565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a575f80fd5b5f80604083850312156115f7575f80fd5b8235611602816115d2565b946020939093013593505050565b5f805f60608486031215611622575f80fd5b833561162d816115d2565b9250602084013561163d816115d2565b929592945050506040919091013590565b5f6020828403121561165e575f80fd5b5035919050565b5f60208284031215611675575f80fd5b8135611680816115d2565b9392505050565b5f8060408385031215611698575f80fd5b82356116a3816115d2565b915060208301356116b3816115d2565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561170c57815f19048211156116f2576116f26116be565b808516156116ff57918102915b93841c93908002906116d7565b509250929050565b5f826117225750600161043e565b8161172e57505f61043e565b8160018114611744576002811461174e5761176a565b600191505061043e565b60ff84111561175f5761175f6116be565b50506001821b61043e565b5060208310610133831016604e8410600b841016171561178d575081810a61043e565b61179783836116d2565b805f19048211156117aa576117aa6116be565b029392505050565b5f61168060ff841683611714565b808202811582820484141761043e5761043e6116be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261182657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561183b575f80fd5b8151611680816115d2565b5f805f60608486031215611858575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611881575f80fd5b81518015158114611680575f80fd5b8082018082111561043e5761043e6116be565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119055784516001600160a01b0316835293830193918301916001016118e0565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561043e5761043e6116be56fea2646970667358221220ab0af1fe0c5c71f94190dc8293b3e65e74fc90dc1ebb80f74d864dc5633654ea64736f6c63430008140033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c806384516c8c116100b3578063a9059cbb1161006d578063a9059cbb14610364578063b3ac853714610383578063bbde77c114610397578063da28dac3146103ac578063dd62ed3e146103cb578063f2fde38b1461040f575f80fd5b806384516c8c146102e45780638c0b5e221461030b5780638d8f2adb146103205780638da5cb5b1461033457806395d89b411461014a578063a0ef91df14610350575f80fd5b80635a0ad007116101045780635a0ad00714610211578063613506911461023257806370a0823114610251578063715018a614610285578063751039fc14610299578063808a5457146102ad575f80fd5b806306fdde031461014a578063095ea7b31461018657806318160ddd146101b557806323b872dd146101d7578063313ce567146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820182526005815264444145544160d81b6020820152905161017d9190611587565b60405180910390f35b348015610191575f80fd5b506101a56101a03660046115e6565b61042e565b604051901515815260200161017d565b3480156101c0575f80fd5b506101c9610444565b60405190815260200161017d565b3480156101e2575f80fd5b506101a56101f1366004611610565b610464565b348015610201575f80fd5b506040516012815260200161017d565b34801561021c575f80fd5b5061023061022b36600461164e565b610519565b005b34801561023d575f80fd5b5061023061024c36600461164e565b6105ac565b34801561025c575f80fd5b506101c961026b366004611665565b6001600160a01b03165f9081526001602052604090205490565b348015610290575f80fd5b5061023061060b565b3480156102a4575f80fd5b5061023061067c565b3480156102b8575f80fd5b50600b546102cc906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b3480156102ef575f80fd5b506008546009546040805192835260208301919091520161017d565b348015610316575f80fd5b506101c960055481565b34801561032b575f80fd5b506102306106e1565b34801561033f575f80fd5b505f546001600160a01b03166102cc565b34801561035b575f80fd5b5061023061077d565b34801561036f575f80fd5b506101a561037e3660046115e6565b61083e565b34801561038e575f80fd5b5061023061084a565b3480156103a2575f80fd5b506101c960065481565b3480156103b7575f80fd5b506102306103c63660046115e6565b610bee565b3480156103d6575f80fd5b506101c96103e5366004611687565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561041a575f80fd5b50610230610429366004611665565b610c32565b5f61043a338484610c64565b5060015b92915050565b5f6104516012600a6117b2565b61045f906305f5e1006117c0565b905090565b5f610470848484610d87565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461050e57828110156105015760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61050e8533858403610c64565b506001949350505050565b5f546001600160a01b031633146105425760405162461bcd60e51b81526004016104f8906117d7565b600854811115801561055657506009548111155b6105a25760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e6372656173656400000000000000000060448201526064016104f8565b6008819055600955565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260408120549060646105f183856117c0565b6105fb919061180c565b9050610606816110ec565b505050565b5f546001600160a01b031633146106345760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106a55760405162461bcd60e51b81526004016104f8906117d7565b6106b16012600a6117b2565b6106bf906305f5e1006117c0565b6005556106ce6012600a6117b2565b6106dc906305f5e1006117c0565b600655565b5f546001600160a01b0316331461070a5760405162461bcd60e51b81526004016104f8906117d7565b305f908152600160205260409020548061075e5760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b60448201526064016104f8565b61077a306107735f546001600160a01b031690565b835f6113ce565b50565b5f546001600160a01b031633146107a65760405162461bcd60e51b81526004016104f8906117d7565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f81146107f0576040519150601f19603f3d011682016040523d82523d5f602084013e6107f5565b606091505b505090508061077a5760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b60448201526064016104f8565b5f61043a338484610d87565b5f546001600160a01b031633146108735760405162461bcd60e51b81526004016104f8906117d7565b600e54600160a01b900460ff16156108cd5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064016104f8565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801561092f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610953919061182b565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d6919061182b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a44919061182b565b600b80546001600160a01b0319166001600160a01b03928316179055600a8054610a8c923092911690610a79906012906117b2565b610a87906305f5e1006117c0565b610c64565b600a546001600160a01b031663f305d7194730610abd816001600160a01b03165f9081526001602052604090205490565b5f80610ad05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b36573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b5b9190611846565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd49190611871565b50600e805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b03163314610c175760405162461bcd60e51b81526004016104f8906117d7565b6001600160a01b039091165f90815260036020526040902055565b5f546001600160a01b03163314610c5b5760405162461bcd60e51b81526004016104f8906117d7565b61077a816114c9565b6001600160a01b038316610cc65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f8565b6001600160a01b038216610d275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f8565b5f8111610e535760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b60648201526084016104f8565b6001600160a01b0383165f90815260036020526040812054158015610e8d57506001600160a01b0383165f90815260036020526040902054155b156110da57600e54600160a01b900460ff16610eeb5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016104f8565b600554821115610f525760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b60648201526084016104f8565b600b546001600160a01b03848116911614801590610f7b57506001600160a01b03831661dead14155b1561100d5760065482610fa2856001600160a01b03165f9081526001602052604090205490565b610fac9190611890565b111561100d5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b60648201526084016104f8565b60075461101b906003611890565b43101561104b57600b546001600160a01b0385811691161461103e57601e611041565b601e5b60ff1690506110da565b600b546001600160a01b039081169085160361106a57506008546110da565b600b546001600160a01b03908116908416036110da57305f9081526001602052604090205461109b6012600a6117b2565b6110a7906161a86117c0565b8111156110d457600454838211156110bd578391505b808211156110c9578091505b6110d2826110ec565b505b50506009545b6110e6848484846113ce565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061111f5761111f6118a3565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119a919061182b565b816001815181106111ad576111ad6118a3565b6001600160a01b039283166020918202929092010152600a546111d39130911684610c64565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120b9085905f908690309042906004016118b7565b5f604051808303815f87803b158015611222575f80fd5b505af1158015611234573d5f803e3d5ffd5b504792505f91506064905061124a83602d6117c0565b611254919061180c565b90505f606461126484602d6117c0565b61126e919061180c565b90505f606461127e85600a6117c0565b611288919061180c565b600c546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f81146112d7576040519150601f19603f3d011682016040523d82523d5f602084013e6112dc565b606091505b5050600d546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611329576040519150601f19603f3d011682016040523d82523d5f602084013e61132e565b606091505b5050600e546040519192506001600160a01b03169083905f81818185875af1925050503d805f811461137b576040519150601f19603f3d011682016040523d82523d5f602084013e611380565b606091505b505080915050806113c55760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016104f8565b50505050505050565b5f60646113db83856117c0565b6113e5919061180c565b90505f6113f28285611926565b6001600160a01b0387165f9081526001602052604081208054929350869290919061141e908490611926565b90915550506001600160a01b0385165f908152600160205260408120805483929061144a908490611890565b9091555050305f908152600160205260408120805484929061146d908490611890565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114b991815260200190565b60405180910390a3505050505050565b6001600160a01b03811661152e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f8565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b818110156115b257858101830151858201604001528201611596565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a575f80fd5b5f80604083850312156115f7575f80fd5b8235611602816115d2565b946020939093013593505050565b5f805f60608486031215611622575f80fd5b833561162d816115d2565b9250602084013561163d816115d2565b929592945050506040919091013590565b5f6020828403121561165e575f80fd5b5035919050565b5f60208284031215611675575f80fd5b8135611680816115d2565b9392505050565b5f8060408385031215611698575f80fd5b82356116a3816115d2565b915060208301356116b3816115d2565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561170c57815f19048211156116f2576116f26116be565b808516156116ff57918102915b93841c93908002906116d7565b509250929050565b5f826117225750600161043e565b8161172e57505f61043e565b8160018114611744576002811461174e5761176a565b600191505061043e565b60ff84111561175f5761175f6116be565b50506001821b61043e565b5060208310610133831016604e8410600b841016171561178d575081810a61043e565b61179783836116d2565b805f19048211156117aa576117aa6116be565b029392505050565b5f61168060ff841683611714565b808202811582820484141761043e5761043e6116be565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261182657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561183b575f80fd5b8151611680816115d2565b5f805f60608486031215611858575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611881575f80fd5b81518015158114611680575f80fd5b8082018082111561043e5761043e6116be565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119055784516001600160a01b0316835293830193918301916001016118e0565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561043e5761043e6116be56fea2646970667358221220ab0af1fe0c5c71f94190dc8293b3e65e74fc90dc1ebb80f74d864dc5633654ea64736f6c63430008140033
Deployed Bytecode Sourcemap
3433:8650:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4909:88;;;;;;;;;;-1:-1:-1;4979:10:0;;;;;;;;;;;-1:-1:-1;;;4979:10:0;;;;4909:88;;;;4979:10;4909:88;:::i;:::-;;;;;;;;5919:171;;;;;;;;;;-1:-1:-1;5919:171:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5919:171:0;1023:187:1;5201:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5201:100:0;1215:177:1;6098:546:0;;;;;;;;;;-1:-1:-1;6098:546:0;;;;;:::i;:::-;;:::i;5105:88::-;;;;;;;;;;-1:-1:-1;5105:88:0;;3627:2;2000:36:1;;1988:2;1973:18;5105:88:0;1858:184:1;8087:216:0;;;;;;;;;;-1:-1:-1;8087:216:0;;;;;:::i;:::-;;:::i;:::-;;10815:249;;;;;;;;;;-1:-1:-1;10815:249:0;;;;;:::i;:::-;;:::i;5459:119::-;;;;;;;;;;-1:-1:-1;5459:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5552:18:0;5525:7;5552:18;;;:9;:18;;;;;;;5459:119;2502:164;;;;;;;;;;;;;:::i;7949:130::-;;;;;;;;;;;;;:::i;4314:28::-;;;;;;;;;;-1:-1:-1;4314:28:0;;;;-1:-1:-1;;;;;4314:28:0;;;;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;4314:28:0;2484:203:1;5309:142:0;;;;;;;;;;-1:-1:-1;5409:6:0;;5436:7;;5309:142;;;2866:25:1;;;2922:2;2907:18;;2900:34;;;;2839:18;5309:142:0;2692:248:1;4047:56:0;;;;;;;;;;;;;;;;10536:271;;;;;;;;;;;;;:::i;1906:87::-;;;;;;;;;;-1:-1:-1;1944:7:0;1971:14;-1:-1:-1;;;;;1971:14:0;1906:87;;10352:176;;;;;;;;;;;;;:::i;5586:174::-;;;;;;;;;;-1:-1:-1;5586:174:0;;;;;:::i;:::-;;:::i;7005:792::-;;;;;;;;;;;;;:::i;4110:61::-;;;;;;;;;;;;;;;;7805:136;;;;;;;;;;-1:-1:-1;7805:136:0;;;;;:::i;:::-;;:::i;5768:143::-;;;;;;;;;;-1:-1:-1;5768:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5876:18:0;;;5849:7;5876:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5768:143;2136:107;;;;;;;;;;-1:-1:-1;2136:107:0;;;;;:::i;:::-;;:::i;5919:171::-;5994:4;6011:49;1548:10;6044:7;6053:6;6011:18;:49::i;:::-;-1:-1:-1;6078:4:0;5919:171;;;;;:::o;5201:100::-;5254:7;3688:18;3627:2;3688;:18;:::i;:::-;3676:30;;:9;:30;:::i;:::-;5274:19;;5201:100;:::o;6098:546::-;6196:4;6213:43;6230:6;6238:9;6249:6;6213:16;:43::i;:::-;-1:-1:-1;;;;;6296:19:0;;6269:24;6296:19;;;:11;:19;;;;;;;;1548:10;6296:33;;;;;;;;-1:-1:-1;;6344:37:0;;6340:275;;6426:6;6406:16;:26;;6398:79;;;;-1:-1:-1;;;6398:79:0;;5228:2:1;6398:79:0;;;5210:21:1;5267:2;5247:18;;;5240:30;5306:34;5286:18;;;5279:62;-1:-1:-1;;;5357:18:1;;;5350:38;5405:19;;6398:79:0;;;;;;;;;6521:67;6540:6;1548:10;6581:6;6562:16;:25;6521:18;:67::i;:::-;-1:-1:-1;6632:4:0;;6098:546;-1:-1:-1;;;;6098:546:0:o;8087:216::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;8178:6:::1;;8165:9;:19;;:43;;;;;8201:7;;8188:9;:20;;8165:43;8157:79;;;::::0;-1:-1:-1;;;8157:79:0;;5998:2:1;8157:79:0::1;::::0;::::1;5980:21:1::0;6037:2;6017:18;;;6010:30;6076:25;6056:18;;;6049:53;6119:18;;8157:79:0::1;5796:347:1::0;8157:79:0::1;8247:6;:18:::0;;;8276:7:::1;:19:::0;8087:216::o;10815:249::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;10940:4:::1;10891:28;5552:18:::0;;;:9;:18;;;;;;;11013:3:::1;10979:30;5552:18:::0;10979:7;:30:::1;:::i;:::-;10978:38;;;;:::i;:::-;10957:59;;11027:29;11045:10;11027:17;:29::i;:::-;10880:184;;10815:249:::0;:::o;2502:164::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;2617:1:::1;2593:14:::0;;2572:48:::1;::::0;-1:-1:-1;;;;;2593:14:0;;::::1;::::0;2572:48:::1;::::0;2617:1;;2572:48:::1;2656:1;2631:27:::0;;-1:-1:-1;;;;;;2631:27:0::1;::::0;;2502:164::o;7949:130::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;3688:18:::1;3627:2;3688;:18;:::i;:::-;3676:30;::::0;:9:::1;:30;:::i;:::-;8003:11;:26:::0;3688:18:::1;3627:2;3688;:18;:::i;:::-;3676:30;::::0;:9:::1;:30;:::i;:::-;8040:16;:31:::0;7949:130::o;10536:271::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;10641:4:::1;10592:28;5552:18:::0;;;:9;:18;;;;;;10666:24;10658:58:::1;;;::::0;-1:-1:-1;;;10658:58:0;;6572:2:1;10658:58:0::1;::::0;::::1;6554:21:1::0;6611:2;6591:18;;;6584:30;-1:-1:-1;;;6630:18:1;;;6623:51;6691:18;;10658:58:0::1;6370:345:1::0;10658:58:0::1;10729:70;10759:4;10766:7;1944::::0;1971:14;-1:-1:-1;;;;;1971:14:0;;1906:87;10766:7:::1;10775:20;10797:1;10729:21;:70::i;:::-;10581:226;10536:271::o:0;10352:176::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;10406:12:::1;1971:14:::0;;10424:46:::1;::::0;-1:-1:-1;;;;;1971:14:0;;;;10444:21:::1;::::0;10406:12;10424:46;10406:12;10424:46;10444:21;1971:14;10424:46:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10405:65;;;10487:7;10479:41;;;::::0;-1:-1:-1;;;10479:41:0;;7132:2:1;10479:41:0::1;::::0;::::1;7114:21:1::0;7171:2;7151:18;;;7144:30;-1:-1:-1;;;7190:18:1;;;7183:51;7251:18;;10479:41:0::1;6930:345:1::0;5586:174:0;5664:4;5681:49;1548:10;5712:9;5723:6;5681:16;:49::i;7005:792::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;7069:17:::1;::::0;-1:-1:-1;;;7069:17:0;::::1;;;7068:18;7060:57;;;::::0;-1:-1:-1;;;7060:57:0;;7482:2:1;7060:57:0::1;::::0;::::1;7464:21:1::0;7521:2;7501:18;;;7494:30;7560:28;7540:18;;;7533:56;7606:18;;7060:57:0::1;7280:350:1::0;7060:57:0::1;7128:11;:76:::0;;-1:-1:-1;;;;;;7128:76:0::1;7161:42;7128:76:::0;;::::1;::::0;;;7249:21:::1;::::0;;-1:-1:-1;;;7249:21:0;;;;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;7161:42;7249:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7231:51:0::1;;7291:4;7298:11;;;;;;;;;-1:-1:-1::0;;;;;7298:11:0::1;-1:-1:-1::0;;;;;7298:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7231:86;::::0;-1:-1:-1;;;;;;7231:86:0::1;::::0;;;;;;-1:-1:-1;;;;;8121:15:1;;;7231:86:0::1;::::0;::::1;8103:34:1::0;8173:15;;8153:18;;;8146:43;8038:18;;7231:86:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7215:13;:102:::0;;-1:-1:-1;;;;;;7215:102:0::1;-1:-1:-1::0;;;;;7215:102:0;;::::1;;::::0;;7370:11:::1;::::0;;7328:69:::1;::::0;7355:4:::1;::::0;7370:11;::::1;::::0;3688:18:::1;::::0;3627:2:::1;::::0;3688:18:::1;:::i;:::-;3676:30;::::0;:9:::1;:30;:::i;:::-;7328:18;:69::i;:::-;7418:11;::::0;-1:-1:-1;;;;;7418:11:0::1;:27;7453:21;7498:4;7518:24;7498:4:::0;-1:-1:-1;;;;;5552:18:0;5525:7;5552:18;;;:9;:18;;;;;;;5459:119;7518:24:::1;7557:1;7573::::0;7589:7:::1;1944::::0;1971:14;-1:-1:-1;;;;;1971:14:0;;1906:87;7589:7:::1;7418:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;7418:219:0;;;-1:-1:-1;;;;;8559:15:1;;;7418:219:0::1;::::0;::::1;8541:34:1::0;8591:18;;;8584:34;;;;8634:18;;;8627:34;;;;8677:18;;;8670:34;8741:15;;;8720:19;;;8713:44;7611:15:0::1;8773:19:1::0;;;8766:35;8475:19;;7418:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7657:13:0::1;::::0;7688:11:::1;::::0;7650:67:::1;::::0;-1:-1:-1;;;7650:67:0;;-1:-1:-1;;;;;7688:11:0;;::::1;7650:67;::::0;::::1;9297:51:1::0;-1:-1:-1;;9364:18:1;;;9357:34;7657:13:0;::::1;::::0;-1:-1:-1;7650:29:0::1;::::0;9270:18:1;;7650:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7728:17:0::1;:24:::0;;-1:-1:-1;;;;7728:24:0::1;-1:-1:-1::0;;;7728:24:0::1;::::0;;7777:12:::1;7763:11;:26:::0;7005:792::o;7805:136::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7899:26:0;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;7805:136::o;2136:107::-;2041:14;;-1:-1:-1;;;;;2041:14:0;1548:10;2041:30;2033:75;;;;-1:-1:-1;;;2033:75:0;;;;;;;:::i;:::-;2209:26:::1;2226:8;2209:16;:26::i;6652:345::-:0;-1:-1:-1;;;;;6755:19:0;;6747:68;;;;-1:-1:-1;;;6747:68:0;;9886:2:1;6747:68:0;;;9868:21:1;9925:2;9905:18;;;9898:30;9964:34;9944:18;;;9937:62;-1:-1:-1;;;10015:18:1;;;10008:34;10059:19;;6747:68:0;9684:400:1;6747:68:0;-1:-1:-1;;;;;6834:21:0;;6826:68;;;;-1:-1:-1;;;6826:68:0;;10291:2:1;6826:68:0;;;10273:21:1;10330:2;10310:18;;;10303:30;10369:34;10349:18;;;10342:62;-1:-1:-1;;;10420:18:1;;;10413:32;10462:19;;6826:68:0;10089:398:1;6826:68:0;-1:-1:-1;;;;;6905:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6957:32;;1361:25:1;;;6957:32:0;;1334:18:1;6957:32:0;;;;;;;6652:345;;;:::o;8714:1630::-;-1:-1:-1;;;;;8809:18:0;;8801:68;;;;-1:-1:-1;;;8801:68:0;;10694:2:1;8801:68:0;;;10676:21:1;10733:2;10713:18;;;10706:30;10772:34;10752:18;;;10745:62;-1:-1:-1;;;10823:18:1;;;10816:35;10868:19;;8801:68:0;10492:401:1;8801:68:0;8897:1;8888:6;:10;8880:71;;;;-1:-1:-1;;;8880:71:0;;11100:2:1;8880:71:0;;;11082:21:1;11139:2;11119:18;;;11112:30;11178:34;11158:18;;;11151:62;-1:-1:-1;;;11229:18:1;;;11222:46;11285:19;;8880:71:0;10898:412:1;8880:71:0;-1:-1:-1;;;;;9000:23:0;;8964:15;9000:23;;;:17;:23;;;;;;:28;:58;;;;-1:-1:-1;;;;;;9032:21:0;;;;;;:17;:21;;;;;;:26;9000:58;8996:1282;;;9083:17;;-1:-1:-1;;;9083:17:0;;;;9075:56;;;;-1:-1:-1;;;9075:56:0;;11517:2:1;9075:56:0;;;11499:21:1;11556:2;11536:18;;;11529:30;11595:28;11575:18;;;11568:56;11641:18;;9075:56:0;11315:350:1;9075:56:0;9164:11;;9154:6;:21;;9146:78;;;;-1:-1:-1;;;9146:78:0;;11872:2:1;9146:78:0;;;11854:21:1;11911:2;11891:18;;;11884:30;11950:34;11930:18;;;11923:62;-1:-1:-1;;;12001:18:1;;;11994:42;12053:19;;9146:78:0;11670:408:1;9146:78:0;9263:13;;-1:-1:-1;;;;;9257:19:0;;;9263:13;;9257:19;;;;:44;;-1:-1:-1;;;;;;9280:21:0;;9294:6;9280:21;;9257:44;9253:182;;;9356:16;;9346:6;9330:13;9340:2;-1:-1:-1;;;;;5552:18:0;5525:7;5552:18;;;:9;:18;;;;;;;5459:119;9330:13;:22;;;;:::i;:::-;:42;;9322:97;;;;-1:-1:-1;;;9322:97:0;;12415:2:1;9322:97:0;;;12397:21:1;12454:2;12434:18;;;12427:30;12493:34;12473:18;;;12466:62;-1:-1:-1;;;12544:18:1;;;12537:40;12594:19;;9322:97:0;12213:406:1;9322:97:0;9470:11;;:15;;9484:1;9470:15;:::i;:::-;9455:12;:30;9451:816;;;9525:13;;-1:-1:-1;;;;;9517:21:0;;;9525:13;;9517:21;9516:33;;9547:2;9516:33;;;9542:2;9516:33;9506:43;;;;9451:816;;;9602:13;;-1:-1:-1;;;;;9602:13:0;;;9594:21;;;;9590:662;;-1:-1:-1;9650:6:0;;9590:662;;;9692:13;;-1:-1:-1;;;;;9692:13:0;;;9686:19;;;;9682:570;;9779:4;9730:28;5552:18;;;:9;:18;;;;;;3953;3627:2;3953;:18;:::i;:::-;3945:26;;:5;:26;:::i;:::-;9812:20;:37;9808:385;;;9899:14;;9944:29;;;9940:64;;;9998:6;9975:29;;9940:64;10058:10;10035:20;:33;10031:72;;;10093:10;10070:33;;10031:72;10130:39;10148:20;10130:17;:39::i;:::-;9851:342;9808:385;-1:-1:-1;;10225:7:0;;9682:570;10288:48;10310:4;10316:2;10320:6;10328:7;10288:21;:48::i;:::-;8790:1554;8714:1630;;;:::o;11072:971::-;11163:16;;;11177:1;11163:16;;;;;;;;11139:21;;11163:16;;;;;;;;;;-1:-1:-1;11163:16:0;11139:40;;11208:4;11190;11195:1;11190:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11190:23:0;;;:7;;;;;;;;;;:23;;;;11234:11;;:18;;;-1:-1:-1;;;11234:18:0;;;;:11;;;;;:16;;:18;;;;;11190:7;;11234:18;;;;;:11;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11224:4;11229:1;11224:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11224:28:0;;;:7;;;;;;;;;:28;11307:11;;11265:68;;11292:4;;11307:11;11321;11265:18;:68::i;:::-;11346:11;;:192;;-1:-1:-1;;;11346:192:0;;-1:-1:-1;;;;;11346:11:0;;;;:62;;:192;;11423:11;;11346;;11465:4;;11492;;11512:15;;11346:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11580:21:0;;-1:-1:-1;11551:26:0;;-1:-1:-1;11661:3:0;;-1:-1:-1;11634:23:0;11580:21;11655:2;11634:23;:::i;:::-;11633:31;;;;:::i;:::-;11612:52;-1:-1:-1;11675:15:0;11721:3;11694:23;:18;11715:2;11694:23;:::i;:::-;11693:31;;;;:::i;:::-;11675:49;-1:-1:-1;11735:16:0;11782:3;11755:23;:18;11776:2;11755:23;:::i;:::-;11754:31;;;;:::i;:::-;11817:12;;:40;;11735:50;;-1:-1:-1;11799:12:0;;-1:-1:-1;;;;;11817:12:0;;;;11842:10;;11799:12;11817:40;11799:12;11817:40;11842:10;11817:12;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11882:9:0;;:34;;11798:59;;-1:-1:-1;;;;;;11882:9:0;;11904:7;;11882:34;;;;11904:7;11882:9;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11941:10:0;;:36;;11868:48;;-1:-1:-1;;;;;;11941:10:0;;11964:8;;11941:36;;;;11964:8;11941:10;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11927:50;;;;;12008:7;12000:35;;;;-1:-1:-1;;;12000:35:0;;14075:2:1;12000:35:0;;;14057:21:1;14114:2;14094:18;;;14087:30;-1:-1:-1;;;14133:18:1;;;14126:45;14188:18;;12000:35:0;13873:339:1;12000:35:0;11128:915;;;;;;11072:971;:::o;8311:395::-;8420:17;8461:3;8441:16;8450:7;8441:6;:16;:::i;:::-;8440:24;;;;:::i;:::-;8420:44;-1:-1:-1;8475:22:0;8500:18;8420:44;8500:6;:18;:::i;:::-;-1:-1:-1;;;;;8531:15:0;;;;;;:9;:15;;;;;:25;;8475:43;;-1:-1:-1;8550:6:0;;8531:15;;;:25;;8550:6;;8531:25;:::i;:::-;;;;-1:-1:-1;;;;;;;8567:13:0;;;;;;:9;:13;;;;;:31;;8584:14;;8567:13;:31;;8584:14;;8567:31;:::i;:::-;;;;-1:-1:-1;;8627:4:0;8609:24;;;;:9;:24;;;;;:37;;8637:9;;8609:24;:37;;8637:9;;8609:37;:::i;:::-;;;;;;;;8679:2;-1:-1:-1;;;;;8664:34:0;8673:4;-1:-1:-1;;;;;8664:34:0;;8683:14;8664:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;8664:34:0;;;;;;;;8409:297;;8311:395;;;;:::o;2251:243::-;-1:-1:-1;;;;;2323:22:0;;2315:73;;;;-1:-1:-1;;;2315:73:0;;14552:2:1;2315:73:0;;;14534:21:1;14591:2;14571:18;;;14564:30;14630:34;14610:18;;;14603:62;-1:-1:-1;;;14681:18:1;;;14674:36;14727:19;;2315:73:0;14350:402:1;2315:73:0;2425:14;;;2404:46;;-1:-1:-1;;;;;2404:46:0;;;;2425:14;;;2404:46;;;2461:14;:25;;-1:-1:-1;;;;;;2461:25:0;-1:-1:-1;;;;;2461:25:0;;;;;;;;;;2251:243::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;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:180::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;-1:-1:-1;2198:23:1;;2047:180;-1:-1:-1;2047:180:1:o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;:::-;2468:5;2232:247;-1:-1:-1;;;2232:247:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3338:127::-;3399:10;3394:3;3390:20;3387:1;3380:31;3430:4;3427:1;3420:15;3454:4;3451:1;3444:15;3470:422;3559:1;3602:5;3559:1;3616:270;3637:7;3627:8;3624:21;3616:270;;;3696:4;3692:1;3688:6;3684:17;3678:4;3675:27;3672:53;;;3705:18;;:::i;:::-;3755:7;3745:8;3741:22;3738:55;;;3775:16;;;;3738:55;3854:22;;;;3814:15;;;;3616:270;;;3620:3;3470:422;;;;;:::o;3897:806::-;3946:5;3976:8;3966:80;;-1:-1:-1;4017:1:1;4031:5;;3966:80;4065:4;4055:76;;-1:-1:-1;4102:1:1;4116:5;;4055:76;4147:4;4165:1;4160:59;;;;4233:1;4228:130;;;;4140:218;;4160:59;4190:1;4181:10;;4204:5;;;4228:130;4265:3;4255:8;4252:17;4249:43;;;4272:18;;:::i;:::-;-1:-1:-1;;4328:1:1;4314:16;;4343:5;;4140:218;;4442:2;4432:8;4429:16;4423:3;4417:4;4414:13;4410:36;4404:2;4394:8;4391:16;4386:2;4380:4;4377:12;4373:35;4370:77;4367:159;;;-1:-1:-1;4479:19:1;;;4511:5;;4367:159;4558:34;4583:8;4577:4;4558:34;:::i;:::-;4628:6;4624:1;4620:6;4616:19;4607:7;4604:32;4601:58;;;4639:18;;:::i;:::-;4677:20;;3897:806;-1:-1:-1;;;3897:806:1:o;4708:140::-;4766:5;4795:47;4836:4;4826:8;4822:19;4816:4;4795:47;:::i;4853:168::-;4926:9;;;4957;;4974:15;;;4968:22;;4954:37;4944:71;;4995:18;;:::i;5435:356::-;5637:2;5619:21;;;5656:18;;;5649:30;5715:34;5710:2;5695:18;;5688:62;5782:2;5767:18;;5435:356::o;6148:217::-;6188:1;6214;6204:132;;6258:10;6253:3;6249:20;6246:1;6239:31;6293:4;6290:1;6283:15;6321:4;6318:1;6311:15;6204:132;-1:-1:-1;6350:9:1;;6148:217::o;7635:251::-;7705:6;7758:2;7746:9;7737:7;7733:23;7729:32;7726:52;;;7774:1;7771;7764:12;7726:52;7806:9;7800:16;7825:31;7850:5;7825:31;:::i;8812:306::-;8900:6;8908;8916;8969:2;8957:9;8948:7;8944:23;8940:32;8937:52;;;8985:1;8982;8975:12;8937:52;9014:9;9008:16;8998:26;;9064:2;9053:9;9049:18;9043:25;9033:35;;9108:2;9097:9;9093:18;9087:25;9077:35;;8812:306;;;;;:::o;9402:277::-;9469:6;9522:2;9510:9;9501:7;9497:23;9493:32;9490:52;;;9538:1;9535;9528:12;9490:52;9570:9;9564:16;9623:5;9616:13;9609:21;9602:5;9599:32;9589:60;;9645:1;9642;9635:12;12083:125;12148:9;;;12169:10;;;12166:36;;;12182:18;;:::i;12756:127::-;12817:10;12812:3;12808:20;12805:1;12798:31;12848:4;12845:1;12838:15;12872:4;12869:1;12862:15;12888:980;13150:4;13198:3;13187:9;13183:19;13229:6;13218:9;13211:25;13255:2;13293:6;13288:2;13277:9;13273:18;13266:34;13336:3;13331:2;13320:9;13316:18;13309:31;13360:6;13395;13389:13;13426:6;13418;13411:22;13464:3;13453:9;13449:19;13442:26;;13503:2;13495:6;13491:15;13477:29;;13524:1;13534:195;13548:6;13545:1;13542:13;13534:195;;;13613:13;;-1:-1:-1;;;;;13609:39:1;13597:52;;13704:15;;;;13669:12;;;;13645:1;13563:9;13534:195;;;-1:-1:-1;;;;;;;13785:32:1;;;;13780:2;13765:18;;13758:60;-1:-1:-1;;;13849:3:1;13834:19;13827:35;13746:3;12888:980;-1:-1:-1;;;12888:980:1:o;14217:128::-;14284:9;;;14305:11;;;14302:37;;;14319:18;;:::i
Swarm Source
ipfs://ab0af1fe0c5c71f94190dc8293b3e65e74fc90dc1ebb80f74d864dc5633654ea
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.