Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000 PYDOGE
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
36,240,120,585.388272603786368211 PYDOGEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC20PAYPALDOGE
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-08 */ // SPDX-License-Identifier: UNLICENSED // Telegram : https://t.me/PyDogeErcPortal pragma solidity 0.8.21; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function getOwner() external view returns (address); 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 Auth { 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 renounceOwnership() external onlyOwner { owner = address(0); } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ERC20PAYPALDOGE is ERC20, Auth { using SafeMath for uint256; address immutable WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string public constant name = "PayPal Doge"; string public constant symbol = "PYDOGE"; uint8 public constant decimals = 18; uint256 public constant totalSupply = 100_000_000_000 * 10**decimals; uint256 public _maxWalletToken = totalSupply / 50; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isWalletLimitExempt; uint256 public marketingFee = 8; uint256 public operationsFee = 2; uint256 public totalFee = marketingFee + operationsFee; uint256 public constant feeDenominator = 100; uint256 buyMultiplier = 200; uint256 sellMultiplier = 200; uint256 transferMultiplier = 200; address public marketingFeeReceiver; address public operationsFeeReceiver; IDEXRouter public router; address public pair; bool public tradingOpen = false; bool public swapEnabled = false; uint256 swapThreshold = totalSupply / 200; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); _allowances[address(this)][address(router)] = type(uint256).max; marketingFeeReceiver = 0xC227F81CA666f0D5b08274920d142DEbDA8Dcbb6; operationsFeeReceiver = msg.sender; isFeeExempt[msg.sender] = true; isFeeExempt[marketingFeeReceiver] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[DEAD] = true; isWalletLimitExempt[marketingFeeReceiver] = true; balanceOf[msg.sender] = totalSupply; emit Transfer(address(0), msg.sender, totalSupply); } function initialize(address _pair) external onlyOwner { pair = _pair; } receive() external payable { } function getOwner() external view override returns (address) { return owner; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMaxWallet(uint256 maxWallet) external onlyOwner { require(maxWallet >= 2,"Cannot set max wallet less than 2%"); _maxWalletToken = (totalSupply * maxWallet ) / 100; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!isFeeExempt[sender] && !isFeeExempt[recipient]){ require(tradingOpen,"trading not open yet"); } if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) { require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached"); } if(shouldSwapBack()){ swapBack(); } balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient); balanceOf[recipient] = balanceOf[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance"); balanceOf[recipient] = balanceOf[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { if(amount == 0 || totalFee == 0){ return amount; } uint256 multiplier = transferMultiplier; if(recipient == pair) { multiplier = sellMultiplier; } else if(sender == pair) { multiplier = buyMultiplier; } uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); if(feeAmount > 0){ balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && balanceOf[address(this)] >= swapThreshold; } function clearStuckBalance(uint256 amountPercentage) external onlyOwner { uint256 amountETH = address(this).balance; uint256 amountToClear = ( amountETH * amountPercentage ) / 100; payable(msg.sender).transfer(amountToClear); } function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner swapping returns (bool success) { if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } return ERC20(tokenAddress).transfer(msg.sender, tokens); } function takeitlive() external onlyOwner { tradingOpen = true; swapEnabled = true; } function removeLimits() external onlyOwner { swapThreshold = totalSupply / 500; swapEnabled = true; _maxWalletToken = totalSupply; operationsFee = 1; marketingFee = 4; totalFee = 5; buyMultiplier = 100; sellMultiplier = 100; transferMultiplier = 0; } function swapBack() internal swapping { address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens( swapThreshold, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 amountETHMarketing = (amountETH * marketingFee) / totalFee; uint256 amountETHOperations = (amountETH * operationsFee) / totalFee; (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(operationsFeeReceiver).call{value: amountETHOperations}(""); } function update_fees() view internal { require(totalFee.mul(buyMultiplier).div(100) <= 7, "Buy tax cannot be more than 7%"); require(totalFee.mul(sellMultiplier).div(100) <= 7, "Sell tax cannot be more than 7%"); require(totalFee.mul(transferMultiplier).div(100) <= 2, "Transfer tax cannot be more than 2%"); } function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner { sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; update_fees(); } function getCirculatingSupply() public view returns (uint256) { return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]); } }
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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","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":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeitlive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526032620000146012600a620003bf565b620000259064174876e800620003d6565b620000319190620003f0565b60015560086006819055600260078190556200004d9162000410565b60085560c86009819055600a818155600b829055600f805461ffff60a01b191690556200007d90601290620003bf565b6200008e9064174876e800620003d6565b6200009a9190620003f0565b601055348015620000a9575f80fd5b505f8054336001600160a01b031991821617909155600e8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000117573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200013d919062000426565b6001600160a01b03908116608052305f818152600360209081526040808320600e548616845282528083205f199055600c805473c227f81ca666f0d5b08274920d142debda8dcbb66001600160a01b0319918216178255600d80543392168217905580855260048452828520805460ff19908116600190811790925583548916875284872080548216831790559186526005909452828520805482168517905594845281842080548616841790557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805486168417905554909416825292902080549091169091179055620002356012600a620003bf565b620002469064174876e800620003d6565b335f81815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002886012600a620003bf565b620002999064174876e800620003d6565b60405190815260200160405180910390a36200044e565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200030457815f1904821115620002e857620002e8620002b0565b80851615620002f657918102915b93841c9390800290620002c9565b509250929050565b5f826200031c57506001620003b9565b816200032a57505f620003b9565b81600181146200034357600281146200034e576200036e565b6001915050620003b9565b60ff841115620003625762000362620002b0565b50506001821b620003b9565b5060208310610133831016604e8410600b841016171562000393575081810a620003b9565b6200039f8383620002c4565b805f1904821115620003b557620003b5620002b0565b0290505b92915050565b5f620003cf60ff8416836200030c565b9392505050565b8082028115828204841417620003b957620003b9620002b0565b5f826200040b57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620003b957620003b9620002b0565b5f6020828403121562000437575f80fd5b81516001600160a01b0381168114620003cf575f80fd5b608051611a7a620004675f395f6112810152611a7a5ff3fe6080604052600436106101f4575f3560e01c80636ddd171311610108578063963c44bf1161009d578063c867d60b1161006d578063c867d60b146105b9578063dd62ed3e146105e7578063e96fada21461062b578063f887ea401461064a578063ffb54a9914610669575f80fd5b8063963c44bf14610548578063a8aa1b311461055c578063a9059cbb1461057b578063c4d66de81461059a575f80fd5b806377b54bad116100d857806377b54bad146104c757806378109e54146104e6578063893d20e8146104fb57806395d89b4114610517575f80fd5b80636ddd17131461045457806370a0823114610474578063715018a61461049f578063751039fc146104b3575f80fd5b806323b872dd116101895780633f4218e0116101595780633f4218e0146103b4578063571ac8b0146103e25780635d0044ca146104015780636b67c4df146104205780636ce46bc314610435575f80fd5b806323b872dd1461032e5780632b112e491461034d5780632f54bf6e14610361578063313ce5671461038e575f80fd5b8063180b0d7e116101c4578063180b0d7e146102d057806318160ddd146102e45780631da1db5e146102f85780631df4ccfc14610319575f80fd5b806303382cbb146101ff57806306fdde031461023b578063090896be1461027e578063095ea7b3146102a1575f80fd5b366101fb57005b5f80fd5b34801561020a575f80fd5b50600d5461021e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610246575f80fd5b506102716040518060400160405280600b81526020016a50617950616c20446f676560a81b81525081565b60405161023291906116bc565b348015610289575f80fd5b5061029360075481565b604051908152602001610232565b3480156102ac575f80fd5b506102c06102bb366004611722565b610689565b6040519015158152602001610232565b3480156102db575f80fd5b50610293606481565b3480156102ef575f80fd5b506102936106f5565b348015610303575f80fd5b5061031761031236600461174a565b610713565b005b348015610324575f80fd5b5061029360085481565b348015610339575f80fd5b506102c0610348366004611761565b610790565b348015610358575f80fd5b5061029361084e565b34801561036c575f80fd5b506102c061037b36600461179a565b5f546001600160a01b0391821691161490565b348015610399575f80fd5b506103a2601281565b60405160ff9091168152602001610232565b3480156103bf575f80fd5b506102c06103ce36600461179a565b60046020525f908152604090205460ff1681565b3480156103ed575f80fd5b506102c06103fc36600461179a565b6108d5565b34801561040c575f80fd5b5061031761041b36600461174a565b6108e1565b34801561042b575f80fd5b5061029360065481565b348015610440575f80fd5b5061031761044f3660046117b3565b61099e565b34801561045f575f80fd5b50600f546102c090600160a81b900460ff1681565b34801561047f575f80fd5b5061029361048e36600461179a565b60026020525f908152604090205481565b3480156104aa575f80fd5b506103176109e3565b3480156104be575f80fd5b50610317610a1d565b3480156104d2575f80fd5b506102c06104e1366004611722565b610ac1565b3480156104f1575f80fd5b5061029360015481565b348015610506575f80fd5b505f546001600160a01b031661021e565b348015610522575f80fd5b50610271604051806040016040528060068152602001655059444f474560d01b81525081565b348015610553575f80fd5b50610317610be8565b348015610567575f80fd5b50600f5461021e906001600160a01b031681565b348015610586575f80fd5b506102c0610595366004611722565b610c28565b3480156105a5575f80fd5b506103176105b436600461179a565b610c34565b3480156105c4575f80fd5b506102c06105d336600461179a565b60056020525f908152604090205460ff1681565b3480156105f2575f80fd5b506102936106013660046117dc565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610636575f80fd5b50600c5461021e906001600160a01b031681565b348015610655575f80fd5b50600e5461021e906001600160a01b031681565b348015610674575f80fd5b50600f546102c090600160a01b900460ff1681565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e39086815260200190565b60405180910390a35060015b92915050565b6107016012600a611901565b6107109064174876e80061190f565b81565b5f546001600160a01b031633146107455760405162461bcd60e51b815260040161073c90611926565b60405180910390fd5b475f6064610753848461190f565b61075d9190611946565b604051909150339082156108fc029083905f818181858888f1935050505015801561078a573d5f803e3d5ffd5b50505050565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f1914610839576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600382528381203382529091529190912054610815918490610c7f565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b610844848484610cb7565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108ad6012600a611901565b6108bc9064174876e80061190f565b6108c69190611965565b6108d09190611965565b905090565b5f6106ef825f19610689565b5f546001600160a01b0316331461090a5760405162461bcd60e51b815260040161073c90611926565b60028110156109665760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261322560f01b606482015260840161073c565b6064816109756012600a611901565b6109849064174876e80061190f565b61098e919061190f565b6109989190611946565b60015550565b5f546001600160a01b031633146109c75760405162461bcd60e51b815260040161073c90611926565b600a8290556009839055600b8190556109de610f90565b505050565b5f546001600160a01b03163314610a0c5760405162461bcd60e51b815260040161073c90611926565b5f80546001600160a01b0319169055565b5f546001600160a01b03163314610a465760405162461bcd60e51b815260040161073c90611926565b6101f4610a556012600a611901565b610a649064174876e80061190f565b610a6e9190611946565b601055600f805460ff60a81b1916600160a81b179055610a906012600a611901565b610a9f9064174876e80061190f565b60019081556007556004600655600560085560646009819055600a555f600b55565b5f80546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161073c90611926565b6011805460ff191660011790555f829003610b69576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b669190611978565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610bb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd7919061198f565b6011805460ff191690559392505050565b5f546001600160a01b03163314610c115760405162461bcd60e51b815260040161073c90611926565b600f805461ffff60a01b191661010160a01b179055565b5f610847338484610cb7565b5f546001600160a01b03163314610c5d5760405162461bcd60e51b815260040161073c90611926565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8184841115610ca25760405162461bcd60e51b815260040161073c91906116bc565b505f610cae8486611965565b95945050505050565b6011545f9060ff1615610cd657610ccf8484846110e8565b9050610847565b6001600160a01b0384165f9081526004602052604090205460ff16158015610d1657506001600160a01b0383165f9081526004602052604090205460ff16155b15610d6b57600f54600160a01b900460ff16610d6b5760405162461bcd60e51b81526020600482015260146024820152731d1c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161073c565b6001600160a01b0384165f9081526005602052604090205460ff16158015610dab57506001600160a01b0383165f9081526005602052604090205460ff16155b8015610dc55750600f546001600160a01b03848116911614155b15610e3e576001546001600160a01b0384165f90815260026020526040902054610df09084906119ae565b1115610e3e5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161073c565b610e466111cb565b15610e5357610e5361121f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260029091529190912054610ea4918490610c7f565b6001600160a01b0385165f90815260026020908152604080832093909355600490529081205460ff1680610eef57506001600160a01b0384165f9081526004602052604090205460ff165b610f0357610efe85848661141f565b610f05565b825b6001600160a01b0385165f90815260026020526040902054909150610f2a9082611532565b6001600160a01b038086165f8181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f7d9085815260200190565b60405180910390a3506001949350505050565b6007610fb46064610fae60095460085461159090919063ffffffff16565b9061160e565b11156110025760405162461bcd60e51b815260206004820152601e60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e2037250000604482015260640161073c565b60076110206064610fae600a5460085461159090919063ffffffff16565b111561106e5760405162461bcd60e51b815260206004820152601f60248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e20372500604482015260640161073c565b600261108c6064610fae600b5460085461159090919063ffffffff16565b11156110e65760405162461bcd60e51b815260206004820152602360248201527f5472616e73666572207461782063616e6e6f74206265206d6f7265207468616e60448201526220322560e81b606482015260840161073c565b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600290915291822054611138918490610c7f565b6001600160a01b038086165f9081526002602052604080822093909355908516815220546111669083611532565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111b99086815260200190565b60405180910390a35060019392505050565b600f545f906001600160a01b031633148015906111eb575060115460ff16155b80156112005750600f54600160a81b900460ff165b80156108d0575050601054305f90815260026020526040902054101590565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061125f5761125f6119c1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106112b3576112b36119c1565b6001600160a01b039283166020918202929092010152600e5460105460405163791ac94760e01b8152919092169163791ac947916112fc91905f908690309042906004016119d5565b5f604051808303815f87803b158015611313575f80fd5b505af1158015611325573d5f803e3d5ffd5b50506008546006544793505f925061133d908461190f565b6113479190611946565b90505f6008546007548461135b919061190f565b6113659190611946565b600c546040519192505f916001600160a01b039091169084908381818185875af1925050503d805f81146113b4576040519150601f19603f3d011682016040523d82523d5f602084013e6113b9565b606091505b5050600d546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611406576040519150601f19603f3d011682016040523d82523d5f602084013e61140b565b606091505b50506011805460ff19169055505050505050565b5f82158061142d5750600854155b15611439575081610847565b600b54600f546001600160a01b039081169084160361145b5750600a54611476565b600f546001600160a01b039081169086160361147657506009545b5f6114a461148560648061190f565b610fae8461149e6008548a61159090919063ffffffff16565b90611590565b9050801561151e57305f908152600260205260409020546114c59082611532565b305f81815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115159085815260200190565b60405180910390a35b611528858261164f565b9695505050505050565b5f8061153e83856119ae565b9050838110156108475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161073c565b5f825f0361159f57505f6106ef565b5f6115aa838561190f565b9050826115b78583611946565b146108475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161073c565b5f61084783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611690565b5f61084783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c7f565b5f81836116b05760405162461bcd60e51b815260040161073c91906116bc565b505f610cae8486611946565b5f6020808352835180828501525f5b818110156116e7578581018301518582016040015282016116cb565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461171d575f80fd5b919050565b5f8060408385031215611733575f80fd5b61173c83611707565b946020939093013593505050565b5f6020828403121561175a575f80fd5b5035919050565b5f805f60608486031215611773575f80fd5b61177c84611707565b925061178a60208501611707565b9150604084013590509250925092565b5f602082840312156117aa575f80fd5b61084782611707565b5f805f606084860312156117c5575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156117ed575f80fd5b6117f683611707565b915061180460208401611707565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561185b57815f19048211156118415761184161180d565b8085161561184e57918102915b93841c9390800290611826565b509250929050565b5f82611871575060016106ef565b8161187d57505f6106ef565b8160018114611893576002811461189d576118b9565b60019150506106ef565b60ff8411156118ae576118ae61180d565b50506001821b6106ef565b5060208310610133831016604e8410600b84101617156118dc575081810a6106ef565b6118e68383611821565b805f19048211156118f9576118f961180d565b029392505050565b5f61084760ff841683611863565b80820281158282048414176106ef576106ef61180d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f8261196057634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106ef576106ef61180d565b5f60208284031215611988575f80fd5b5051919050565b5f6020828403121561199f575f80fd5b81518015158114610847575f80fd5b808201808211156106ef576106ef61180d565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a235784516001600160a01b0316835293830193918301916001016119fe565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212206f60c623479b53f3193885e6f11996f47d36833200ab561c88b9efa33b8fd59a64736f6c63430008150033
Deployed Bytecode
0x6080604052600436106101f4575f3560e01c80636ddd171311610108578063963c44bf1161009d578063c867d60b1161006d578063c867d60b146105b9578063dd62ed3e146105e7578063e96fada21461062b578063f887ea401461064a578063ffb54a9914610669575f80fd5b8063963c44bf14610548578063a8aa1b311461055c578063a9059cbb1461057b578063c4d66de81461059a575f80fd5b806377b54bad116100d857806377b54bad146104c757806378109e54146104e6578063893d20e8146104fb57806395d89b4114610517575f80fd5b80636ddd17131461045457806370a0823114610474578063715018a61461049f578063751039fc146104b3575f80fd5b806323b872dd116101895780633f4218e0116101595780633f4218e0146103b4578063571ac8b0146103e25780635d0044ca146104015780636b67c4df146104205780636ce46bc314610435575f80fd5b806323b872dd1461032e5780632b112e491461034d5780632f54bf6e14610361578063313ce5671461038e575f80fd5b8063180b0d7e116101c4578063180b0d7e146102d057806318160ddd146102e45780631da1db5e146102f85780631df4ccfc14610319575f80fd5b806303382cbb146101ff57806306fdde031461023b578063090896be1461027e578063095ea7b3146102a1575f80fd5b366101fb57005b5f80fd5b34801561020a575f80fd5b50600d5461021e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610246575f80fd5b506102716040518060400160405280600b81526020016a50617950616c20446f676560a81b81525081565b60405161023291906116bc565b348015610289575f80fd5b5061029360075481565b604051908152602001610232565b3480156102ac575f80fd5b506102c06102bb366004611722565b610689565b6040519015158152602001610232565b3480156102db575f80fd5b50610293606481565b3480156102ef575f80fd5b506102936106f5565b348015610303575f80fd5b5061031761031236600461174a565b610713565b005b348015610324575f80fd5b5061029360085481565b348015610339575f80fd5b506102c0610348366004611761565b610790565b348015610358575f80fd5b5061029361084e565b34801561036c575f80fd5b506102c061037b36600461179a565b5f546001600160a01b0391821691161490565b348015610399575f80fd5b506103a2601281565b60405160ff9091168152602001610232565b3480156103bf575f80fd5b506102c06103ce36600461179a565b60046020525f908152604090205460ff1681565b3480156103ed575f80fd5b506102c06103fc36600461179a565b6108d5565b34801561040c575f80fd5b5061031761041b36600461174a565b6108e1565b34801561042b575f80fd5b5061029360065481565b348015610440575f80fd5b5061031761044f3660046117b3565b61099e565b34801561045f575f80fd5b50600f546102c090600160a81b900460ff1681565b34801561047f575f80fd5b5061029361048e36600461179a565b60026020525f908152604090205481565b3480156104aa575f80fd5b506103176109e3565b3480156104be575f80fd5b50610317610a1d565b3480156104d2575f80fd5b506102c06104e1366004611722565b610ac1565b3480156104f1575f80fd5b5061029360015481565b348015610506575f80fd5b505f546001600160a01b031661021e565b348015610522575f80fd5b50610271604051806040016040528060068152602001655059444f474560d01b81525081565b348015610553575f80fd5b50610317610be8565b348015610567575f80fd5b50600f5461021e906001600160a01b031681565b348015610586575f80fd5b506102c0610595366004611722565b610c28565b3480156105a5575f80fd5b506103176105b436600461179a565b610c34565b3480156105c4575f80fd5b506102c06105d336600461179a565b60056020525f908152604090205460ff1681565b3480156105f2575f80fd5b506102936106013660046117dc565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610636575f80fd5b50600c5461021e906001600160a01b031681565b348015610655575f80fd5b50600e5461021e906001600160a01b031681565b348015610674575f80fd5b50600f546102c090600160a01b900460ff1681565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e39086815260200190565b60405180910390a35060015b92915050565b6107016012600a611901565b6107109064174876e80061190f565b81565b5f546001600160a01b031633146107455760405162461bcd60e51b815260040161073c90611926565b60405180910390fd5b475f6064610753848461190f565b61075d9190611946565b604051909150339082156108fc029083905f818181858888f1935050505015801561078a573d5f803e3d5ffd5b50505050565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f1914610839576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600382528381203382529091529190912054610815918490610c7f565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b610844848484610cb7565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108ad6012600a611901565b6108bc9064174876e80061190f565b6108c69190611965565b6108d09190611965565b905090565b5f6106ef825f19610689565b5f546001600160a01b0316331461090a5760405162461bcd60e51b815260040161073c90611926565b60028110156109665760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261322560f01b606482015260840161073c565b6064816109756012600a611901565b6109849064174876e80061190f565b61098e919061190f565b6109989190611946565b60015550565b5f546001600160a01b031633146109c75760405162461bcd60e51b815260040161073c90611926565b600a8290556009839055600b8190556109de610f90565b505050565b5f546001600160a01b03163314610a0c5760405162461bcd60e51b815260040161073c90611926565b5f80546001600160a01b0319169055565b5f546001600160a01b03163314610a465760405162461bcd60e51b815260040161073c90611926565b6101f4610a556012600a611901565b610a649064174876e80061190f565b610a6e9190611946565b601055600f805460ff60a81b1916600160a81b179055610a906012600a611901565b610a9f9064174876e80061190f565b60019081556007556004600655600560085560646009819055600a555f600b55565b5f80546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161073c90611926565b6011805460ff191660011790555f829003610b69576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b669190611978565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610bb3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd7919061198f565b6011805460ff191690559392505050565b5f546001600160a01b03163314610c115760405162461bcd60e51b815260040161073c90611926565b600f805461ffff60a01b191661010160a01b179055565b5f610847338484610cb7565b5f546001600160a01b03163314610c5d5760405162461bcd60e51b815260040161073c90611926565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8184841115610ca25760405162461bcd60e51b815260040161073c91906116bc565b505f610cae8486611965565b95945050505050565b6011545f9060ff1615610cd657610ccf8484846110e8565b9050610847565b6001600160a01b0384165f9081526004602052604090205460ff16158015610d1657506001600160a01b0383165f9081526004602052604090205460ff16155b15610d6b57600f54600160a01b900460ff16610d6b5760405162461bcd60e51b81526020600482015260146024820152731d1c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161073c565b6001600160a01b0384165f9081526005602052604090205460ff16158015610dab57506001600160a01b0383165f9081526005602052604090205460ff16155b8015610dc55750600f546001600160a01b03848116911614155b15610e3e576001546001600160a01b0384165f90815260026020526040902054610df09084906119ae565b1115610e3e5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161073c565b610e466111cb565b15610e5357610e5361121f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260029091529190912054610ea4918490610c7f565b6001600160a01b0385165f90815260026020908152604080832093909355600490529081205460ff1680610eef57506001600160a01b0384165f9081526004602052604090205460ff165b610f0357610efe85848661141f565b610f05565b825b6001600160a01b0385165f90815260026020526040902054909150610f2a9082611532565b6001600160a01b038086165f8181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f7d9085815260200190565b60405180910390a3506001949350505050565b6007610fb46064610fae60095460085461159090919063ffffffff16565b9061160e565b11156110025760405162461bcd60e51b815260206004820152601e60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e2037250000604482015260640161073c565b60076110206064610fae600a5460085461159090919063ffffffff16565b111561106e5760405162461bcd60e51b815260206004820152601f60248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e20372500604482015260640161073c565b600261108c6064610fae600b5460085461159090919063ffffffff16565b11156110e65760405162461bcd60e51b815260206004820152602360248201527f5472616e73666572207461782063616e6e6f74206265206d6f7265207468616e60448201526220322560e81b606482015260840161073c565b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600290915291822054611138918490610c7f565b6001600160a01b038086165f9081526002602052604080822093909355908516815220546111669083611532565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111b99086815260200190565b60405180910390a35060019392505050565b600f545f906001600160a01b031633148015906111eb575060115460ff16155b80156112005750600f54600160a81b900460ff165b80156108d0575050601054305f90815260026020526040902054101590565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061125f5761125f6119c1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106112b3576112b36119c1565b6001600160a01b039283166020918202929092010152600e5460105460405163791ac94760e01b8152919092169163791ac947916112fc91905f908690309042906004016119d5565b5f604051808303815f87803b158015611313575f80fd5b505af1158015611325573d5f803e3d5ffd5b50506008546006544793505f925061133d908461190f565b6113479190611946565b90505f6008546007548461135b919061190f565b6113659190611946565b600c546040519192505f916001600160a01b039091169084908381818185875af1925050503d805f81146113b4576040519150601f19603f3d011682016040523d82523d5f602084013e6113b9565b606091505b5050600d546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611406576040519150601f19603f3d011682016040523d82523d5f602084013e61140b565b606091505b50506011805460ff19169055505050505050565b5f82158061142d5750600854155b15611439575081610847565b600b54600f546001600160a01b039081169084160361145b5750600a54611476565b600f546001600160a01b039081169086160361147657506009545b5f6114a461148560648061190f565b610fae8461149e6008548a61159090919063ffffffff16565b90611590565b9050801561151e57305f908152600260205260409020546114c59082611532565b305f81815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115159085815260200190565b60405180910390a35b611528858261164f565b9695505050505050565b5f8061153e83856119ae565b9050838110156108475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161073c565b5f825f0361159f57505f6106ef565b5f6115aa838561190f565b9050826115b78583611946565b146108475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161073c565b5f61084783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611690565b5f61084783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c7f565b5f81836116b05760405162461bcd60e51b815260040161073c91906116bc565b505f610cae8486611946565b5f6020808352835180828501525f5b818110156116e7578581018301518582016040015282016116cb565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461171d575f80fd5b919050565b5f8060408385031215611733575f80fd5b61173c83611707565b946020939093013593505050565b5f6020828403121561175a575f80fd5b5035919050565b5f805f60608486031215611773575f80fd5b61177c84611707565b925061178a60208501611707565b9150604084013590509250925092565b5f602082840312156117aa575f80fd5b61084782611707565b5f805f606084860312156117c5575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156117ed575f80fd5b6117f683611707565b915061180460208401611707565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561185b57815f19048211156118415761184161180d565b8085161561184e57918102915b93841c9390800290611826565b509250929050565b5f82611871575060016106ef565b8161187d57505f6106ef565b8160018114611893576002811461189d576118b9565b60019150506106ef565b60ff8411156118ae576118ae61180d565b50506001821b6106ef565b5060208310610133831016604e8410600b84101617156118dc575081810a6106ef565b6118e68383611821565b805f19048211156118f9576118f961180d565b029392505050565b5f61084760ff841683611863565b80820281158282048414176106ef576106ef61180d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f8261196057634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156106ef576106ef61180d565b5f60208284031215611988575f80fd5b5051919050565b5f6020828403121561199f575f80fd5b81518015158114610847575f80fd5b808201808211156106ef576106ef61180d565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a235784516001600160a01b0316835293830193918301916001016119fe565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212206f60c623479b53f3193885e6f11996f47d36833200ab561c88b9efa33b8fd59a64736f6c63430008150033
Deployed Bytecode Sourcemap
2827:8403:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3943:36;;;;;;;;;;-1:-1:-1;3943:36:0;;;;-1:-1:-1;;;;;3943:36:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;3943:36:0;;;;;;;;3086:43;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3086:43:0;;;;;;;;;;;;:::i;3634:32::-;;;;;;;;;;;;;;;;;;;921:25:1;;;909:2;894:18;3634:32:0;775:177:1;5370:216:0;;;;;;;;;;-1:-1:-1;5370:216:0;;;;;:::i;:::-;;:::i;:::-;;;1559:14:1;;1552:22;1534:41;;1522:2;1507:18;5370:216:0;1394:187:1;3734:44:0;;;;;;;;;;;;3775:3;3734:44;;3227:68;;;;;;;;;;;;;:::i;8710:259::-;;;;;;;;;;-1:-1:-1;8710:259:0;;;;;:::i;:::-;;:::i;:::-;;3673:54;;;;;;;;;;;;;;;;5888:370;;;;;;;;;;-1:-1:-1;5888:370:0;;;;;:::i;:::-;;:::i;11090:137::-;;;;;;;;;;;;;:::i;2149:103::-;;;;;;;;;;-1:-1:-1;2149:103:0;;;;;:::i;:::-;2204:4;2239:5;-1:-1:-1;;;;;2228:16:0;;;2239:5;;2228:16;;2149:103;3183:35;;;;;;;;;;;;3216:2;3183:35;;;;;2467:4:1;2455:17;;;2437:36;;2425:2;2410:18;3183:35:0;2295:184:1;3484:44:0;;;;;;;;;;-1:-1:-1;3484:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5594:122;;;;;;;;;;-1:-1:-1;5594:122:0;;;;;:::i;:::-;;:::i;6266:200::-;;;;;;;;;;-1:-1:-1;6266:200:0;;;;;:::i;:::-;;:::i;3596:31::-;;;;;;;;;;;;;;;;10860:222;;;;;;;;;;-1:-1:-1;10860:222:0;;;;;:::i;:::-;;:::i;4087:31::-;;;;;;;;;;-1:-1:-1;4087:31:0;;;;-1:-1:-1;;;4087:31:0;;;;;;3362:45;;;;;;;;;;-1:-1:-1;3362:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2260:85;;;;;;;;;;;;;:::i;9395:336::-;;;;;;;;;;;;;:::i;8977:295::-;;;;;;;;;;-1:-1:-1;8977:295:0;;;;;:::i;:::-;;:::i;3304:49::-;;;;;;;;;;;;;;;;5145:78;;;;;;;;;;-1:-1:-1;5197:7:0;5215:5;-1:-1:-1;;;;;5215:5:0;5145:78;;3136:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3136:40:0;;;;;9280:107;;;;;;;;;;;;;:::i;4019:19::-;;;;;;;;;;-1:-1:-1;4019:19:0;;;;-1:-1:-1;;;;;4019:19:0;;;5724:156;;;;;;;;;;-1:-1:-1;5724:156:0;;;;;:::i;:::-;;:::i;5014:85::-;;;;;;;;;;-1:-1:-1;5014:85:0;;;;;:::i;:::-;;:::i;3535:52::-;;;;;;;;;;-1:-1:-1;3535:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5229:133;;;;;;;;;;-1:-1:-1;5229:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5331:19:0;;;5313:7;5331:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5229:133;3901:35;;;;;;;;;;-1:-1:-1;3901:35:0;;;;-1:-1:-1;;;;;3901:35:0;;;3988:24;;;;;;;;;;-1:-1:-1;3988:24:0;;;;-1:-1:-1;;;;;3988:24:0;;;4047:31;;;;;;;;;;-1:-1:-1;4047:31:0;;;;-1:-1:-1;;;4047:31:0;;;;;;5370:216;5474:10;5445:4;5462:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5462:32:0;;;;;;;;;;:41;;;5519:37;5445:4;;5462:32;;5519:37;;;;5497:6;921:25:1;;909:2;894:18;;775:177;5519:37:0;;;;;;;;-1:-1:-1;5574:4:0;5370:216;;;;;:::o;3227:68::-;3283:12;3216:2;3283;:12;:::i;:::-;3265:30;;:15;:30;:::i;:::-;3227:68;:::o;8710:259::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;;;;;;;;;8813:21:::1;8793:17;8904:3;8871:28;8883:16:::0;8813:21;8871:28:::1;:::i;:::-;8869:38;;;;:::i;:::-;8918:43;::::0;8845:62;;-1:-1:-1;8926:10:0::1;::::0;8918:43;::::1;;;::::0;8845:62;;8918:43:::1;::::0;;;8845:62;8926:10;8918:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8782:187;;8710:259:::0;:::o;5888:370::-;-1:-1:-1;;;;;6008:19:0;;5988:4;6008:19;;;:11;:19;;;;;;;;6028:10;6008:31;;;;;;;;-1:-1:-1;;6008:52:0;6005:186;;6110:69;;;;;;;;;;;-1:-1:-1;;;6110:69:0;;;;;;;;-1:-1:-1;;;;;6110:19:0;;-1:-1:-1;6110:19:0;;;:11;:19;;;;;6130:10;6110:31;;;;;;;;;;:69;;6146:6;;6110:35;:69::i;:::-;-1:-1:-1;;;;;6076:19:0;;;;;;:11;:19;;;;;;;;6096:10;6076:31;;;;;;;:103;6005:186;6210:40;6224:6;6232:9;6243:6;6210:13;:40::i;:::-;6203:47;;5888:370;;;;;;:::o;11090:137::-;11203:9;:15;;;;2962:42;11143:7;11185:15;;;;;11143:7;;11203:15;3283:12;3216:2;3283;:12;:::i;:::-;3265:30;;:15;:30;:::i;:::-;11171:29;;;;:::i;:::-;:47;;;;:::i;:::-;11163:56;;11090:137;:::o;5594:122::-;5649:4;5673:35;5681:7;-1:-1:-1;;5673:7:0;:35::i;6266:200::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;6358:1:::1;6345:9;:14;;6337:60;;;::::0;-1:-1:-1;;;6337:60:0;;5875:2:1;6337:60:0::1;::::0;::::1;5857:21:1::0;5914:2;5894:18;;;5887:30;5953:34;5933:18;;;5926:62;-1:-1:-1;;;6004:18:1;;;5997:32;6046:19;;6337:60:0::1;5673:398:1::0;6337:60:0::1;6455:3;6441:9:::0;3283:12:::1;3216:2;3283;:12;:::i;:::-;3265:30;::::0;:15:::1;:30;:::i;:::-;6427:23;;;;:::i;:::-;6426:32;;;;:::i;:::-;6408:15;:50:::0;-1:-1:-1;6266:200:0:o;10860:222::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;10959:14:::1;:22:::0;;;10992:13:::1;:20:::0;;;11023:18:::1;:27:::0;;;11061:13:::1;:11;:13::i;:::-;10860:222:::0;;;:::o;2260:85::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;2335:1:::1;2319:18:::0;;-1:-1:-1;;;;;;2319:18:0::1;::::0;;2260:85::o;9395:336::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;9479:3:::1;3283:12;3216:2;3283;:12;:::i;:::-;3265:30;::::0;:15:::1;:30;:::i;:::-;9465:17;;;;:::i;:::-;9449:13;:33:::0;9493:11:::1;:18:::0;;-1:-1:-1;;;;9493:18:0::1;-1:-1:-1::0;;;9493:18:0::1;::::0;;3283:12:::1;3216:2;3283;:12;:::i;:::-;3265:30;::::0;:15:::1;:30;:::i;:::-;9522:15;:29:::0;;;9562:13:::1;:17:::0;9605:1:::1;9590:12;:16:::0;9628:1:::1;9617:8;:12:::0;9656:3:::1;9640:13;:19:::0;;;9670:14:::1;:20:::0;-1:-1:-1;9701:18:0::1;:22:::0;9395:336::o;8977:295::-;9077:12;2239:5;;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;4213:6:::1;:13:::0;;-1:-1:-1;;4213:13:0::1;4222:4;4213:13;::::0;;:6:::1;9105:11:::0;;;9102:95:::2;;9141:44;::::0;-1:-1:-1;;;9141:44:0;;9179:4:::2;9141:44;::::0;::::2;160:51:1::0;-1:-1:-1;;;;;9141:29:0;::::2;::::0;::::2;::::0;133:18:1;;9141:44:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9132:53;;9102:95;9216:48;::::0;-1:-1:-1;;;9216:48:0;;9245:10:::2;9216:48;::::0;::::2;6439:51:1::0;6506:18;;;6499:34;;;-1:-1:-1;;;;;9216:28:0;::::2;::::0;::::2;::::0;6412:18:1;;9216:48:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4231:6:::1;:14:::0;;-1:-1:-1;;4231:14:0::1;::::0;;9209:55;8977:295;-1:-1:-1;;;8977:295:0:o;9280:107::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;9332:11:::1;:18:::0;;-1:-1:-1;;;;9361:18:0;-1:-1:-1;;;9361:18:0;;;9280:107::o;5724:156::-;5804:4;5828:44;5842:10;5854:9;5865:6;5828:13;:44::i;5014:85::-;2204:4;2239:5;-1:-1:-1;;;;;2239:5:0;2108:10;2228:16;2092:38;;;;-1:-1:-1;;;2092:38:0;;;;;;;:::i;:::-;5079:4:::1;:12:::0;;-1:-1:-1;;;;;;5079:12:0::1;-1:-1:-1::0;;;;;5079:12:0;;;::::1;::::0;;;::::1;::::0;;5014:85::o;468:192::-;554:7;590:12;582:6;;;;574:29;;;;-1:-1:-1;;;574:29:0;;;;;;;;:::i;:::-;-1:-1:-1;614:9:0;626:5;630:1;626;:5;:::i;:::-;614:17;468:192;-1:-1:-1;;;;;468:192:0:o;6474:950::-;6586:6;;6566:4;;6586:6;;6583:63;;;6602:41;6617:6;6625:9;6636:6;6602:14;:41::i;:::-;6595:48;;;;6583:63;-1:-1:-1;;;;;6662:19:0;;;;;;:11;:19;;;;;;;;6661:20;:47;;;;-1:-1:-1;;;;;;6686:22:0;;;;;;:11;:22;;;;;;;;6685:23;6661:47;6658:121;;;6732:11;;-1:-1:-1;;;6732:11:0;;;;6724:43;;;;-1:-1:-1;;;6724:43:0;;7028:2:1;6724:43:0;;;7010:21:1;7067:2;7047:18;;;7040:30;-1:-1:-1;;;7086:18:1;;;7079:50;7146:18;;6724:43:0;6826:344:1;6724:43:0;-1:-1:-1;;;;;6796:27:0;;;;;;:19;:27;;;;;;;;6795:28;:63;;;;-1:-1:-1;;;;;;6828:30:0;;;;;;:19;:30;;;;;;;;6827:31;6795:63;:84;;;;-1:-1:-1;6875:4:0;;-1:-1:-1;;;;;6862:17:0;;;6875:4;;6862:17;;6795:84;6791:203;;;6939:15;;-1:-1:-1;;;;;6905:20:0;;;;;;:9;:20;;;;;;:29;;6928:6;;6905:29;:::i;:::-;6904:50;;6896:86;;;;-1:-1:-1;;;6896:86:0;;7507:2:1;6896:86:0;;;7489:21:1;7546:2;7526:18;;;7519:30;7585:26;7565:18;;;7558:54;7629:18;;6896:86:0;7305:348:1;6896:86:0;7009:16;:14;:16::i;:::-;7006:35;;;7028:10;:8;:10::i;:::-;7073:53;;;;;;;;;;;-1:-1:-1;;;7073:53:0;;;;;;;;-1:-1:-1;;;;;7073:17:0;;-1:-1:-1;7073:17:0;;;:9;:17;;;;;;;;:53;;7095:6;;7073:21;:53::i;:::-;-1:-1:-1;;;;;7053:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7165:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;7188:22:0;;;;;;:11;:22;;;;;;;;7165:45;7164:93;;7223:34;7231:6;7239;7247:9;7223:7;:34::i;:::-;7164:93;;;7214:6;7164:93;-1:-1:-1;;;;;7293:20:0;;;;;;:9;:20;;;;;;7139:118;;-1:-1:-1;7293:40:0;;7139:118;7293:24;:40::i;:::-;-1:-1:-1;;;;;7270:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7351:43;;;;;;;;;;7379:14;921:25:1;;909:2;894:18;;775:177;7351:43:0;;;;;;;;-1:-1:-1;7412:4:0;;6474:950;-1:-1:-1;;;;6474:950:0:o;10510:342::-;10606:1;10566:36;10598:3;10566:27;10579:13;;10566:8;;:12;;:27;;;;:::i;:::-;:31;;:36::i;:::-;:41;;10558:84;;;;-1:-1:-1;;;10558:84:0;;7860:2:1;10558:84:0;;;7842:21:1;7899:2;7879:18;;;7872:30;7938:32;7918:18;;;7911:60;7988:18;;10558:84:0;7658:354:1;10558:84:0;10702:1;10661:37;10694:3;10661:28;10674:14;;10661:8;;:12;;:28;;;;:::i;:37::-;:42;;10653:86;;;;-1:-1:-1;;;10653:86:0;;8219:2:1;10653:86:0;;;8201:21:1;8258:2;8238:18;;;8231:30;8297:33;8277:18;;;8270:61;8348:18;;10653:86:0;8017:355:1;10653:86:0;10803:1;10758:41;10795:3;10758:32;10771:18;;10758:8;;:12;;:32;;;;:::i;:41::-;:46;;10750:94;;;;-1:-1:-1;;;10750:94:0;;8579:2:1;10750:94:0;;;8561:21:1;8618:2;8598:18;;;8591:30;8657:34;8637:18;;;8630:62;-1:-1:-1;;;8708:18:1;;;8701:33;8751:19;;10750:94:0;8377:399:1;10750:94:0;10510:342::o;7436:330::-;7566:53;;;;;;;;;;;-1:-1:-1;;;7566:53:0;;;;;;;;-1:-1:-1;;;;;7566:17:0;;7529:4;7566:17;;;:9;:17;;;;;;;:53;;7588:6;;7566:21;:53::i;:::-;-1:-1:-1;;;;;7546:17:0;;;;;;;:9;:17;;;;;;:73;;;;7653:20;;;;;;;:32;;7678:6;7653:24;:32::i;:::-;-1:-1:-1;;;;;7630:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7701:35;;;;;;;;;;7729:6;921:25:1;;909:2;894:18;;775:177;7701:35:0;;;;;;;;-1:-1:-1;7754:4:0;7436:330;;;;;:::o;8505:197::-;8592:4;;8554;;-1:-1:-1;;;;;8592:4:0;8578:10;:18;;;;:38;;-1:-1:-1;8610:6:0;;;;8609:7;8578:38;:62;;;;-1:-1:-1;8629:11:0;;-1:-1:-1;;;8629:11:0;;;;8578:62;:116;;;;-1:-1:-1;;8681:13:0;;8671:4;8653:24;;;;:9;:24;;;;;;:41;;;8505:197::o;9739:763::-;4213:6;:13;;-1:-1:-1;;4213:13:0;4222:4;4213:13;;;9812:16:::1;::::0;;9826:1:::1;9812:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9812:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9812:16:0::1;9788:40;;9857:4;9839;9844:1;9839:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9839:23:0::1;;;-1:-1:-1::0;;;;;9839:23:0::1;;;::::0;::::1;9883:4;9873;9878:1;9873:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9873:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9900:6:::1;::::0;9972:13:::1;::::0;9900:189:::1;::::0;-1:-1:-1;;;9900:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;9972:13;9900:6:::1;::::0;10016:4;;10043::::1;::::0;10063:15:::1;::::0;9900:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10214:8:0::1;::::0;10198:12:::1;::::0;10122:21:::1;::::0;-1:-1:-1;10102:17:0::1;::::0;-1:-1:-1;10186:24:0::1;::::0;10122:21;10186:24:::1;:::i;:::-;10185:37;;;;:::i;:::-;10156:66;;10233:27;10293:8;;10276:13;;10264:9;:25;;;;:::i;:::-;10263:38;;;;:::i;:::-;10343:20;::::0;10335:65:::1;::::0;10233:68;;-1:-1:-1;10315:15:0::1;::::0;-1:-1:-1;;;;;10343:20:0;;::::1;::::0;10377:18;;10315:15;10335:65;10315:15;10335:65;10377:18;10343:20;10335:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;10435:21:0::1;::::0;10427:67:::1;::::0;10314:86;;-1:-1:-1;;;;;;10435:21:0::1;::::0;10470:19;;10427:67:::1;::::0;;;10470:19;10435:21;10427:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4231:6:0;:14;;-1:-1:-1;;4231:14:0;;;-1:-1:-1;;;;;;9739:763:0:o;7774:723::-;7860:7;7883:11;;;:28;;-1:-1:-1;7898:8:0;;:13;7883:28;7880:72;;;-1:-1:-1;7934:6:0;7927:13;;7880:72;7985:18;;8032:4;;-1:-1:-1;;;;;8032:4:0;;;8019:17;;;;8016:154;;-1:-1:-1;8066:14:0;;8016:154;;;8111:4;;-1:-1:-1;;;;;8111:4:0;;;8101:14;;;;8098:72;;-1:-1:-1;8145:13:0;;8098:72;8182:17;8202:62;8243:20;3775:3;;8243:20;:::i;:::-;8202:36;8227:10;8202:20;8213:8;;8202:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:62::-;8182:82;-1:-1:-1;8280:13:0;;8277:172;;8354:4;8336:24;;;;:9;:24;;;;;;:39;;8365:9;8336:28;:39::i;:::-;8327:4;8309:24;;;;:9;:24;;;;;;;:66;;;;8395:42;;-1:-1:-1;;;;;8395:42:0;;;;;;;8427:9;921:25:1;;909:2;894:18;;775:177;8395:42:0;;;;;;;;8277:172;8468:21;:6;8479:9;8468:10;:21::i;:::-;8461:28;7774:723;-1:-1:-1;;;;;;7774:723:0:o;139:181::-;197:7;;229:5;233:1;229;:5;:::i;:::-;217:17;;258:1;253;:6;;245:46;;;;-1:-1:-1;;;245:46:0;;10442:2:1;245:46:0;;;10424:21:1;10481:2;10461:18;;;10454:30;10520:29;10500:18;;;10493:57;10567:18;;245:46:0;10240:351:1;666:250:0;724:7;748:1;753;748:6;744:47;;-1:-1:-1;778:1:0;771:8;;744:47;803:9;815:5;819:1;815;:5;:::i;:::-;803:17;-1:-1:-1;848:1:0;839:5;843:1;803:17;839:5;:::i;:::-;:10;831:56;;;;-1:-1:-1;;;831:56:0;;10798:2:1;831:56:0;;;10780:21:1;10837:2;10817:18;;;10810:30;10876:34;10856:18;;;10849:62;-1:-1:-1;;;10927:18:1;;;10920:31;10968:19;;831:56:0;10596:397:1;922:132:0;980:7;1007:39;1011:1;1014;1007:39;;;;;;;;;;;;;;;;;:3;:39::i;326:136::-;384:7;411:43;415:1;418;411:43;;;;;;;;;;;;;;;;;:3;:43::i;1060:189::-;1146:7;1181:12;1174:5;1166:28;;;;-1:-1:-1;;;1166:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1205:9:0;1217:5;1221:1;1217;:5;:::i;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;957:173::-;1025:20;;-1:-1:-1;;;;;1074:31:1;;1064:42;;1054:70;;1120:1;1117;1110:12;1054:70;957:173;;;:::o;1135:254::-;1203:6;1211;1264:2;1252:9;1243:7;1239:23;1235:32;1232:52;;;1280:1;1277;1270:12;1232:52;1303:29;1322:9;1303:29;:::i;:::-;1293:39;1379:2;1364:18;;;;1351:32;;-1:-1:-1;;;1135:254:1:o;1586:180::-;1645:6;1698:2;1686:9;1677:7;1673:23;1669:32;1666:52;;;1714:1;1711;1704:12;1666:52;-1:-1:-1;1737:23:1;;1586:180;-1:-1:-1;1586:180:1:o;1771:328::-;1848:6;1856;1864;1917:2;1905:9;1896:7;1892:23;1888:32;1885:52;;;1933:1;1930;1923:12;1885:52;1956:29;1975:9;1956:29;:::i;:::-;1946:39;;2004:38;2038:2;2027:9;2023:18;2004:38;:::i;:::-;1994:48;;2089:2;2078:9;2074:18;2061:32;2051:42;;1771:328;;;;;:::o;2104:186::-;2163:6;2216:2;2204:9;2195:7;2191:23;2187:32;2184:52;;;2232:1;2229;2222:12;2184:52;2255:29;2274:9;2255:29;:::i;2484:316::-;2561:6;2569;2577;2630:2;2618:9;2609:7;2605:23;2601:32;2598:52;;;2646:1;2643;2636:12;2598:52;-1:-1:-1;;2669:23:1;;;2739:2;2724:18;;2711:32;;-1:-1:-1;2790:2:1;2775:18;;;2762:32;;2484:316;-1:-1:-1;2484:316:1:o;2805:260::-;2873:6;2881;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2973:29;2992:9;2973:29;:::i;:::-;2963:39;;3021:38;3055:2;3044:9;3040:18;3021:38;:::i;:::-;3011:48;;2805:260;;;;;:::o;3296:127::-;3357:10;3352:3;3348:20;3345:1;3338:31;3388:4;3385:1;3378:15;3412:4;3409:1;3402:15;3428:422;3517:1;3560:5;3517:1;3574:270;3595:7;3585:8;3582:21;3574:270;;;3654:4;3650:1;3646:6;3642:17;3636:4;3633:27;3630:53;;;3663:18;;:::i;:::-;3713:7;3703:8;3699:22;3696:55;;;3733:16;;;;3696:55;3812:22;;;;3772:15;;;;3574:270;;;3578:3;3428:422;;;;;:::o;3855:806::-;3904:5;3934:8;3924:80;;-1:-1:-1;3975:1:1;3989:5;;3924:80;4023:4;4013:76;;-1:-1:-1;4060:1:1;4074:5;;4013:76;4105:4;4123:1;4118:59;;;;4191:1;4186:130;;;;4098:218;;4118:59;4148:1;4139:10;;4162:5;;;4186:130;4223:3;4213:8;4210:17;4207:43;;;4230:18;;:::i;:::-;-1:-1:-1;;4286:1:1;4272:16;;4301:5;;4098:218;;4400:2;4390:8;4387:16;4381:3;4375:4;4372:13;4368:36;4362:2;4352:8;4349:16;4344:2;4338:4;4335:12;4331:35;4328:77;4325:159;;;-1:-1:-1;4437:19:1;;;4469:5;;4325:159;4516:34;4541:8;4535:4;4516:34;:::i;:::-;4586:6;4582:1;4578:6;4574:19;4565:7;4562:32;4559:58;;;4597:18;;:::i;:::-;4635:20;;3855:806;-1:-1:-1;;;3855:806:1:o;4666:140::-;4724:5;4753:47;4794:4;4784:8;4780:19;4774:4;4753:47;:::i;4811:168::-;4884:9;;;4915;;4932:15;;;4926:22;;4912:37;4902:71;;4953:18;;:::i;4984:329::-;5186:2;5168:21;;;5225:1;5205:18;;;5198:29;-1:-1:-1;;;5258:2:1;5243:18;;5236:36;5304:2;5289:18;;4984:329::o;5318:217::-;5358:1;5384;5374:132;;5428:10;5423:3;5419:20;5416:1;5409:31;5463:4;5460:1;5453:15;5491:4;5488:1;5481:15;5374:132;-1:-1:-1;5520:9:1;;5318:217::o;5540:128::-;5607:9;;;5628:11;;;5625:37;;;5642:18;;:::i;6076:184::-;6146:6;6199:2;6187:9;6178:7;6174:23;6170:32;6167:52;;;6215:1;6212;6205:12;6167:52;-1:-1:-1;6238:16:1;;6076:184;-1:-1:-1;6076:184:1:o;6544:277::-;6611:6;6664:2;6652:9;6643:7;6639:23;6635:32;6632:52;;;6680:1;6677;6670:12;6632:52;6712:9;6706:16;6765:5;6758:13;6751:21;6744:5;6741:32;6731:60;;6787:1;6784;6777:12;7175:125;7240:9;;;7261:10;;;7258:36;;;7274:18;;:::i;8913:127::-;8974:10;8969:3;8965:20;8962:1;8955:31;9005:4;9002:1;8995:15;9029:4;9026:1;9019:15;9045:980;9307:4;9355:3;9344:9;9340:19;9386:6;9375:9;9368:25;9412:2;9450:6;9445:2;9434:9;9430:18;9423:34;9493:3;9488:2;9477:9;9473:18;9466:31;9517:6;9552;9546:13;9583:6;9575;9568:22;9621:3;9610:9;9606:19;9599:26;;9660:2;9652:6;9648:15;9634:29;;9681:1;9691:195;9705:6;9702:1;9699:13;9691:195;;;9770:13;;-1:-1:-1;;;;;9766:39:1;9754:52;;9861:15;;;;9826:12;;;;9802:1;9720:9;9691:195;;;-1:-1:-1;;;;;;;9942:32:1;;;;9937:2;9922:18;;9915:60;-1:-1:-1;;;10006:3:1;9991:19;9984:35;9903:3;9045:980;-1:-1:-1;;;9045:980:1:o
Swarm Source
ipfs://6f60c623479b53f3193885e6f11996f47d36833200ab561c88b9efa33b8fd59a
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.