Ready to onboard to Polygon? With MetaMask Portfolio, you're in control.
15M+ users trust MoonPay. Checkout with your preferred payment method.
Get up to 0.5% cashback per purchase and receive daily interest.
3000+ Slots, 20+ Cryptos, 75K Raffle, Sports Promos - World's largest Crypto Casino & Sportsbook - Provably Fair!
Play in crypto to make deposits and withdrawals easy! Register and get a free daily shot at a progressive jackpot.
Play and Win POL!
Daily free Spin 50000 Matic ,760% Deposit Bonus, 20%Rakeback, And Get 1000000 Matic free bonus on BC.Game
Deposit BONUS 300% and Cashbacks. without verification!
Join Metawin for the ultimate Web3 Casino Experience. Frictionless Signup & Instant Withdrawals. Play Now & Earn $MWIN Points.
Overview
MATIC Balance
MATIC Value
$14,512.98 (@ $0.35/MATIC)Token Holdings
Could not find any matches!
- ERC-20 Tokens (>100)43,767 AAVE [ACCESS AAVE.ASIA]! AAVE.asia (AAVE [...)9,650 Access Airdrop Link [zksyon.one]! Airdrop: Z... (Access...)3,420 Access [1000ena.org] to receive your token! Ethena [10... (Access...)9,860 ACCESS [ETH-ENA.VIP] TO RECEIVE TOKENS! ETHNA [ETH... (ACCESS...)345,870 ACCESS [TURBO-AI.APP] TO RECEIVE YOUR COINS! TURBO [TUR... (ACCESS...)1 BTCBitcoin (BTC)1 BTCBitcoin (BTC)1 Some very long token symbol ;Bitcoin / (Some v...)1 BFWTBlue Fen Win... (BFWT)100 DPEXDPEX80,000 nft.bitconnect666.comFree NFT go ... (nft.bi...)80,000 pepe-erc.vipFree PEPE go... (pepe-e...)10,000 $ Check: gasfee.io AirDrop InviteGSF ($ Chec...)100 Some very long token symbol www.ankr.com .HELLO . (Some v...)10,000 $iPEPE СLАlМ▷ipepe.clickiPEPE ($iPEPE...)10,000 $iPEPE СLАlМ▷ipepe.clickiPEPE ($iPEPE...)10,000 $iPEPE СLАlМ▷ipepe.clickiPEPE ($iPEPE...)10,000 $iPEPE СLАlМ▷ipepe.clickiPEPE ($iPEPE...)10,000 $iPEPE СLАlМ▷ipepe.clickiPEPE ($iPEPE...)130,000,000 LIONLion Network5,000 MFCNMatic Fortun... (MFCN)985,624.8 MFCMaticFortune (MFC)6 OTYOtyan Finance72,000.00000019 PolyMoonPolyMoon (PolyMo...)1 Swap $pufETH at https://puffereth.xyzPufETH (Swap $...)50 SCTsanitize-blo... (SCT)44.731106 SIMSimba Empire0 SOLSolapur Swap (SOL)1 Some very long token symbol *Some very lo... (Some v...)1 Some very long token symbol /Some very lo... (Some v...)1 Some very long token symbol /Some very lo... (Some v...)1 Some very long token symbol }Some very lo... (Some v...)1 Some very long token symbolSome very lo... (Some v...)1 Some very long token symbolSome very lo... (Some v...)1 STGTSTG MINTS TO... (STGT)10,000 STEIN web3-chess.com CRYPTO CHESSSTN (STEIN ...)10,000 web3-chess.com Airdrop $1,000,000 STNSTN (web3-c...)10,000 STEIN-CHESS.COM | AirDrop - You are invitedSTN (STEIN-...)10,000 STEIN-CHESS.COM | AirDrop - You are invitedSTN (STEIN-...)10,000 web3stein.io | Get 50$ in ETHSTN (web3st...)10,000 web3stein.io | Get 50$ in ETHSTN (web3st...)888ERC20 ***10,000 vAIX AIXBOXES.COM Limited BoxvAIX (vAIX A...)10,000 vAIX AIXBOXES.COM Limited BoxvAIX (vAIX A...)888,888 vanity-address.iovanity-addre... (vanity...)1,000 WWW.POOFERS.FUNWWW.POOFERS.... (WWW.PO...)10,000 ZIKTOKEN.COM-AIRDROPSWAPZkash (ZIKTOK...)398,123.12 ₽₽7,864 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]714,707 TokenERC-20 TOKEN*[Suspicious]745,900 TokenERC-20 TOKEN*[Suspicious]9,467 TokenERC-20 TOKEN*[Suspicious]7,800 TokenERC-20 TOKEN*[Suspicious]8,726 TokenERC-20 TOKEN*[Suspicious]9,543 TokenERC-20 TOKEN*[Suspicious]7,680 TokenERC-20 TOKEN*[Suspicious]9,543 TokenERC-20 TOKEN*[Suspicious]110,000 TokenERC-20 TOKEN*[Suspicious]8,750 TokenERC-20 TOKEN*[Suspicious]8,750 TokenERC-20 TOKEN*[Suspicious]7,800 TokenERC-20 TOKEN*[Suspicious]7,800 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]9,000,000,000 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]3,680 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]90,000,000,000 TokenERC-20 TOKEN*[Suspicious]900,000,000 TokenERC-20 TOKEN*[Suspicious]989 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]60,000 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]1 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Suspicious]10,000 TokenERC-20 TOKEN*[Unsafe]NFT Tokens (33)GIVEAWAY$100,000,000ERC-1155NFT Voucher$15,000 SHIBERC-1155http://usdcash.xyz/1000$ AirDropERC-11551000-rewards.xyz1000$ AirDropERC-1155NFT Voucher3 stETHERC-1155Vouchers5 stETH EventERC-1155NFT Voucher5000 USDCERC-1155NFT Voucher5000 USDCERC-1155NFT Voucher5000 USDT VoucherERC-1155NFTVoucher5000$ CYBERERC-1155NFTVoucher5000$ CYBERERC-1155NFTVoucher5000$ CYBERERC-1155Vouchers50M $SHIB VoucherERC-1155AAVE-V3-POSAave Positions AirdropERC-1155APE COINAPE NFT TICKETSERC-1155APE COINAPE NFT TICKETSERC-1155APE COINAPE NFT TICKETSERC-1155POTPot Headz PolygonERC-721NFT VoucherSTAXERC-1155swap-rewards.onlineUNI AirdropERC-1155UNI-V3-PoSUniswap V3 Positions NFT-V1ERC-1155UNI-V3-PoSUniswap V3 Positions NFT-V1ERC-1155UNI-V3-PoSUniswap V3 Positions NFT-V1ERC-1155ERC-1155 TOKEN*[Spam]
- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Multichain Portfolio
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Latest 25 from a total of 605,257 transactions
Transaction Hash MethodBlockFromToBuy New Level 60221253 2024-08-05 11:44:10 2 mins ago 1722858250 IN 2 MATIC$0.71 0.01183442 179.07618072 Buy New Level 60221243 2024-08-05 11:43:36 2 mins ago 1722858216 IN 2 MATIC$0.71 0.04594378 179.07618072 Registration Ext 60221212 2024-08-05 11:42:30 3 mins ago 1722858150 IN 2 MATIC$0.71 0.08196646 182.9232908 Buy New Level 60221182 2024-08-05 11:41:26 4 mins ago 1722858086 IN 8 MATIC$2.82 0.05936588 199.42986781 Buy New Level 60221169 2024-08-05 11:41:00 5 mins ago 1722858060 IN 8 MATIC$2.82 0.04862784 199.15813979 Buy New Level 60221113 2024-08-05 11:39:00 7 mins ago 1722857940 IN 4 MATIC$1.41 0.03180203 130.70692218 Buy New Level 60221101 2024-08-05 11:38:34 7 mins ago 1722857914 IN 4 MATIC$1.41 0.03167189 132.26383282 Buy New Level 60221082 2024-08-05 11:37:54 8 mins ago 1722857874 IN 2 MATIC$0.71 0.03238255 131.43979322 Claim Divs 60221069 2024-08-05 11:37:26 8 mins ago 1722857846 IN 0 MATIC$0.00 0.00726383 150.06066328 Buy New Level 60221063 2024-08-05 11:37:14 9 mins ago 1722857834 IN 2 MATIC$0.71 0.03049109 137.12490885 Registration Ext 60221028 2024-08-05 11:36:00 10 mins ago 1722857760 IN 2 MATIC$0.71 0.07795756 172.36304369 Claim Divs 60220979 2024-08-05 11:34:16 12 mins ago 1722857656 IN 0 MATIC$0.00 0.009885 204.21025363 Buy New Level 60220910 2024-08-05 11:31:48 14 mins ago 1722857508 IN 4 MATIC$1.41 0.12677776 406.70530113 Claim Divs 60220891 2024-08-05 11:31:08 15 mins ago 1722857468 IN 0 MATIC$0.00 0.01571747 324.70094698 Claim Divs 60220739 2024-08-05 11:25:14 21 mins ago 1722857114 IN 0 MATIC$0.00 0.00713966 147.49555735 Registration Ext 60220708 2024-08-05 11:24:08 22 mins ago 1722857048 IN 2 MATIC$0.71 0.0872736 180.95407431 Buy New Level 60220540 2024-08-05 11:18:10 28 mins ago 1722856690 IN 32 MATIC$11.30 0.06104105 142.03918508 Claim Divs 60220523 2024-08-05 11:17:34 28 mins ago 1722856654 IN 0 MATIC$0.00 0.00705601 145.76746064 Claim Divs 60220509 2024-08-05 11:17:04 29 mins ago 1722856624 IN 0 MATIC$0.00 0.00722095 149.17470338 Buy New Level 60220509 2024-08-05 11:17:04 29 mins ago 1722856624 IN 16 MATIC$5.65 0.06934112 289.57287839 Registration Ext 60220508 2024-08-05 11:17:02 29 mins ago 1722856622 IN 2 MATIC$0.71 0.06974081 135.25123723 Claim Divs 60220383 2024-08-05 11:12:04 34 mins ago 1722856324 IN 0 MATIC$0.00 0.0080427 166.15092256 Claim Divs 60220378 2024-08-05 11:11:54 34 mins ago 1722856314 IN 0 MATIC$0.00 0.00730487 150.90847846 Buy New Level 60220297 2024-08-05 11:09:02 37 mins ago 1722856142 IN 32 MATIC$11.30 0.03684839 149.54582857 Buy New Level 60220261 2024-08-05 11:07:46 38 mins ago 1722856066 IN 4 MATIC$1.41 0.05350777 145.56572521 Latest 25 internal transactions (View All)
Parent Transaction Hash Block From To 60221253 2024-08-05 11:44:10 2 mins ago 1722858250 0.00000097 MATIC$0.00 60221243 2024-08-05 11:43:36 2 mins ago 1722858216 1.6 MATIC$0.56 60221243 2024-08-05 11:43:36 2 mins ago 1722858216 0.00000048 MATIC$0.00 60221212 2024-08-05 11:42:30 3 mins ago 1722858150 0.8 MATIC$0.28 60221212 2024-08-05 11:42:30 3 mins ago 1722858150 0.8 MATIC$0.28 60221182 2024-08-05 11:41:26 4 mins ago 1722858086 6.4 MATIC$2.26 60221182 2024-08-05 11:41:26 4 mins ago 1722858086 0.00002147 MATIC$0.00 60221169 2024-08-05 11:41:00 5 mins ago 1722858060 6.4 MATIC$2.26 60221169 2024-08-05 11:41:00 5 mins ago 1722858060 0.00000683 MATIC$0.00 60221113 2024-08-05 11:39:00 7 mins ago 1722857940 3.2 MATIC$1.13 60221113 2024-08-05 11:39:00 7 mins ago 1722857940 0.00000487 MATIC$0.00 60221101 2024-08-05 11:38:34 7 mins ago 1722857914 3.2 MATIC$1.13 60221101 2024-08-05 11:38:34 7 mins ago 1722857914 0.00000146 MATIC$0.00 60221082 2024-08-05 11:37:54 8 mins ago 1722857874 1.6 MATIC$0.56 60221082 2024-08-05 11:37:54 8 mins ago 1722857874 0.00000097 MATIC$0.00 60221069 2024-08-05 11:37:26 8 mins ago 1722857846 0.00777812 MATIC$0.00 60221063 2024-08-05 11:37:14 9 mins ago 1722857834 1.6 MATIC$0.56 60221063 2024-08-05 11:37:14 9 mins ago 1722857834 0.00000048 MATIC$0.00 60221028 2024-08-05 11:36:00 10 mins ago 1722857760 0.8 MATIC$0.28 60221028 2024-08-05 11:36:00 10 mins ago 1722857760 0.8 MATIC$0.28 60220979 2024-08-05 11:34:16 12 mins ago 1722857656 0.04447882 MATIC$0.02 60220910 2024-08-05 11:31:48 14 mins ago 1722857508 3.2 MATIC$1.13 60220910 2024-08-05 11:31:48 14 mins ago 1722857508 0.00028793 MATIC$0.00 60220891 2024-08-05 11:31:08 15 mins ago 1722857468 0.02016692 MATIC$0.01 60220739 2024-08-05 11:25:14 21 mins ago 1722857114 0.00518583 MATIC$0.00 Loading...LoadingContract Name:MaticFortune
Compiler Versionv0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
- interface IERC20
- - function balanceOf(address account)
- - function transfer(address recipient, ...
- - function transferFrom(address sender, ...
- contract MaticFortune *
- - function updateGameOpen(bool _gameOpe ...
- - function()
- - function registrationExt(address refe ...
- - function buyNewLevel(uint8 matrix, ui ...
- - function registration(address userAdd ...
- - function claimDivs()
- - function sendDivs(address _user)
- - function viewDivsPercent(address _pla ...
- - function viewDivs(address _player)
- - function updateX3Referrer(address use ...
- - function updateX6Referrer(address use ...
- - function updateX6(address userAddress ...
- - function updateX6ReferrerSecondLevel( ...
- - function findFreeX3Referrer(address u ...
- - function findFreeX6Referrer(address u ...
- - function usersActiveLevelsAll(address ...
- - function usersHighestLevels(address u ...
- - function usersActiveX6Levels(address ...
- - function userEarnings(address userAdd ...
- - function userEarningsAll(address user ...
- - function usersX3Matrix(address userAd ...
- - function usersX6Matrix(address userAd ...
- - function isUserExists(address user)
- - function findTRXReceiver(address user ...
- - function SetMyToken(address _token)
- - function sendPartnerTRX(address userA ...
- - function bytesToAddress(bytes memory ...
/** *Submitted for verification at polygonscan.com on 2023-03-18 */ pragma solidity >=0.4.23 <0.6.0; interface IERC20 { function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); } contract MaticFortune { struct User { uint id; address referrer; uint partnersCount; mapping(uint8 => bool) activeX3Levels; mapping(uint8 => bool) activeX6Levels; mapping(uint8 => X3) x3Matrix; mapping(uint8 => X6) x6Matrix; mapping(uint8 => uint) x3MatrixEarnings; mapping(uint8 => uint) x6MatrixEarnings; uint divClaimMark; uint totalPlayerDivPoints; uint divsClaimed; } struct X3 { address currentReferrer; address[] referrals; bool blocked; uint reinvestCount; } struct X6 { address currentReferrer; address[] firstLevelReferrals; address[] secondLevelReferrals; bool blocked; uint reinvestCount; address closedPart; } uint8 public constant LAST_LEVEL = 12; uint8 public constant DIV_PERCENT = 200; // == 20.00% uint16 internal constant DIV_DIVISOR = 1000; IERC20 public myToken = IERC20(0x19971b392740A28a1Ca3bab43C42cD7E96cCD3Fe); mapping(address => User) public users; mapping(uint => address) public idToAddress; bool public gameOpen = true; uint public divPot; uint public totalDividendPoints; uint public totalDivs; uint internal calcDivs; uint constant pointMultiplier = 1e18; uint public lastUserId = 2; address public owner; address internal admin; mapping(uint8 => uint) public levelPrice; event Registration(address indexed user, address indexed referrer, uint indexed userId, uint referrerId); event Reinvest(address indexed user, address indexed currentReferrer, address indexed caller, uint8 matrix, uint8 level); event Upgrade(address indexed user, address indexed referrer, uint8 matrix, uint8 level); event NewUserPlace(address indexed user, address indexed referrer, uint8 matrix, uint8 level, uint8 place); event MissedEthReceive(address indexed receiver, address indexed from, uint8 matrix, uint8 level); event SentExtraEthDividends(address indexed from, address indexed receiver, uint8 matrix, uint8 level); constructor(address ownerAddress) public { admin = msg.sender; levelPrice[1] = 1000000000000000000; for (uint8 i = 2; i <= LAST_LEVEL; i++) { levelPrice[i] = levelPrice[i-1] * 2; } owner = ownerAddress; User memory user = User({ id: 1, referrer: address(0), partnersCount: uint(0), divClaimMark: 0, totalPlayerDivPoints: 0, divsClaimed: 0 }); users[ownerAddress] = user; idToAddress[1] = ownerAddress; for (uint8 i = 1; i <= LAST_LEVEL; i++) { users[ownerAddress].activeX3Levels[i] = true; users[ownerAddress].activeX6Levels[i] = true; } } function updateGameOpen(bool _gameOpen) public { require(msg.sender == admin, "Only Admin"); gameOpen = _gameOpen; } function() external payable { if(msg.data.length == 0) { return registration(msg.sender, owner); } registration(msg.sender, bytesToAddress(msg.data)); } function registrationExt(address referrerAddress) external payable { require(gameOpen == true, "Game not yet open!"); registration(msg.sender, referrerAddress); } function buyNewLevel(uint8 matrix, uint8 level) external payable { require(gameOpen == true, "Game not yet open!"); require(isUserExists(msg.sender), "user is not exists. Register first."); require(matrix == 1 || matrix == 2, "invalid matrix"); require(msg.value == levelPrice[level], "invalid price"); require(level > 1 && level <= LAST_LEVEL, "invalid level"); if(viewDivs(msg.sender) > 0){ sendDivs(msg.sender); } else { users[msg.sender].divClaimMark = totalDividendPoints; } users[msg.sender].totalPlayerDivPoints += msg.value * DIV_PERCENT / DIV_DIVISOR; divPot += (msg.value * DIV_PERCENT / DIV_DIVISOR); totalDivs += (msg.value * DIV_PERCENT / DIV_DIVISOR); if (matrix == 1) { require(!users[msg.sender].activeX3Levels[level], "level already activated"); if (users[msg.sender].x3Matrix[level-1].blocked) { users[msg.sender].x3Matrix[level-1].blocked = false; } address freeX3Referrer = findFreeX3Referrer(msg.sender, level); // Short-circuits to save Energy if(freeX3Referrer == owner){ if(viewDivs(owner) > 0){ sendDivs(owner); } else { users[owner].divClaimMark = totalDividendPoints; } users[owner].totalPlayerDivPoints += msg.value * DIV_PERCENT / DIV_DIVISOR; calcDivs += msg.value * DIV_PERCENT / DIV_DIVISOR * 2; totalDividendPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR) * pointMultiplier / calcDivs; } else { calcDivs += (msg.value * DIV_PERCENT / DIV_DIVISOR); totalDividendPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR) * pointMultiplier / calcDivs; } users[msg.sender].x3Matrix[level].currentReferrer = freeX3Referrer; users[msg.sender].activeX3Levels[level] = true; updateX3Referrer(msg.sender, freeX3Referrer, level); emit Upgrade(msg.sender, freeX3Referrer, 1, level); } else { require(!users[msg.sender].activeX6Levels[level], "level already activated"); if (users[msg.sender].x6Matrix[level-1].blocked) { users[msg.sender].x6Matrix[level-1].blocked = false; } address freeX6Referrer = findFreeX6Referrer(msg.sender, level); // Short-circuits to save Energy if(freeX6Referrer == owner){ if(viewDivs(owner) > 0){ sendDivs(owner); } else { users[owner].divClaimMark = totalDividendPoints; } users[owner].totalPlayerDivPoints += msg.value * DIV_PERCENT / DIV_DIVISOR; calcDivs += msg.value * DIV_PERCENT / DIV_DIVISOR * 2; totalDividendPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR) * pointMultiplier / calcDivs; } else { calcDivs += (msg.value * DIV_PERCENT / DIV_DIVISOR); totalDividendPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR) * pointMultiplier / calcDivs; } users[msg.sender].activeX6Levels[level] = true; updateX6Referrer(msg.sender, freeX6Referrer, level); emit Upgrade(msg.sender, freeX6Referrer, 2, level); } } function registration(address userAddress, address referrerAddress) private { require(msg.value == 2000000000000000000, "registration cost 2 MATIC"); require(!isUserExists(userAddress), "user exists"); require(isUserExists(referrerAddress), "referrer not exists"); uint32 size; assembly { size := extcodesize(userAddress) } require(size == 0, "cannot be a contract"); User memory user = User({ id: lastUserId, referrer: referrerAddress, partnersCount: 0, divClaimMark: totalDividendPoints, totalPlayerDivPoints: 0, divsClaimed: 0 }); users[userAddress] = user; idToAddress[lastUserId] = userAddress; users[userAddress].referrer = referrerAddress; users[userAddress].activeX3Levels[1] = true; users[userAddress].activeX6Levels[1] = true; users[userAddress].totalPlayerDivPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR); divPot += msg.value * DIV_PERCENT / DIV_DIVISOR; totalDivs += (msg.value * DIV_PERCENT / DIV_DIVISOR); lastUserId++; users[referrerAddress].partnersCount++; address freeX3Referrer = findFreeX3Referrer(userAddress, 1); address freeX6Ref = findFreeX6Referrer(userAddress, 1); // Short-circuits to save Energy if(freeX3Referrer == owner || freeX6Ref == owner){ if(viewDivs(owner) > 0){ sendDivs(owner); } else { users[owner].divClaimMark = totalDividendPoints; } users[owner].totalPlayerDivPoints += msg.value * DIV_PERCENT / DIV_DIVISOR; calcDivs += msg.value * DIV_PERCENT / DIV_DIVISOR * 2; totalDividendPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR) * pointMultiplier / calcDivs; } else { calcDivs += (msg.value * DIV_PERCENT / DIV_DIVISOR); totalDividendPoints += (msg.value * DIV_PERCENT / DIV_DIVISOR) * pointMultiplier / calcDivs; } users[userAddress].x3Matrix[1].currentReferrer = freeX3Referrer; updateX3Referrer(userAddress, freeX3Referrer, 1); updateX6Referrer(userAddress, freeX6Ref, 1); emit Registration(userAddress, referrerAddress, users[userAddress].id, users[referrerAddress].id); } function claimDivs() public returns(bool) { uint _divAmount = viewDivs(msg.sender); require(_divAmount > 0, "No divs available"); sendDivs(msg.sender); } function sendDivs(address _user) internal returns(bool) { uint _divAmount = viewDivs(_user); divPot -= _divAmount; users[_user].divClaimMark = totalDividendPoints; users[_user].divsClaimed += _divAmount; return address(uint160(_user)).send(_divAmount); } function viewDivsPercent(address _player) public view returns(uint divsPercent) { return users[_player].totalPlayerDivPoints * 100 / calcDivs; } function viewDivs(address _player) public view returns(uint divsAvailable) { uint newDividendPoints = totalDividendPoints - users[_player].divClaimMark; return (users[_player].totalPlayerDivPoints * newDividendPoints) / pointMultiplier; } function updateX3Referrer(address userAddress, address referrerAddress, uint8 level) private { users[referrerAddress].x3Matrix[level].referrals.push(userAddress); if (users[referrerAddress].x3Matrix[level].referrals.length < 3) { emit NewUserPlace(userAddress, referrerAddress, 1, level, uint8(users[referrerAddress].x3Matrix[level].referrals.length)); return sendPartnerTRX(referrerAddress, userAddress, 1, level); } emit NewUserPlace(userAddress, referrerAddress, 1, level, 3); users[referrerAddress].x3Matrix[level].referrals = new address[](0); if (!users[referrerAddress].activeX3Levels[level+1] && level != LAST_LEVEL) { users[referrerAddress].x3Matrix[level].blocked = true; } // Short-circuits to save Energy if (referrerAddress != owner) { address freeReferrerAddress = findFreeX3Referrer(referrerAddress, level); if (users[referrerAddress].x3Matrix[level].currentReferrer != freeReferrerAddress) { users[referrerAddress].x3Matrix[level].currentReferrer = freeReferrerAddress; } users[referrerAddress].x3Matrix[level].reinvestCount++; emit Reinvest(referrerAddress, freeReferrerAddress, userAddress, 1, level); updateX3Referrer(referrerAddress, freeReferrerAddress, level); } else { sendPartnerTRX(owner, userAddress, 1, level); users[owner].x3Matrix[level].reinvestCount++; emit Reinvest(owner, address(0), userAddress, 1, level); } } function updateX6Referrer(address userAddress, address referrerAddress, uint8 level) private { require(users[referrerAddress].activeX6Levels[level], "500. Referrer level is inactive"); if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length < 2) { users[referrerAddress].x6Matrix[level].firstLevelReferrals.push(userAddress); emit NewUserPlace(userAddress, referrerAddress, 2, level, uint8(users[referrerAddress].x6Matrix[level].firstLevelReferrals.length)); users[userAddress].x6Matrix[level].currentReferrer = referrerAddress; // Short-circuits to save Energy if (referrerAddress == owner) { return sendPartnerTRX(referrerAddress, userAddress, 2, level); } address ref = users[referrerAddress].x6Matrix[level].currentReferrer; users[ref].x6Matrix[level].secondLevelReferrals.push(userAddress); uint len = users[ref].x6Matrix[level].firstLevelReferrals.length; if ((len == 2) && (users[ref].x6Matrix[level].firstLevelReferrals[0] == referrerAddress) && (users[ref].x6Matrix[level].firstLevelReferrals[1] == referrerAddress)) { if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length == 1) { emit NewUserPlace(userAddress, ref, 2, level, 5); } else { emit NewUserPlace(userAddress, ref, 2, level, 6); } } else if ((len == 1 || len == 2) && users[ref].x6Matrix[level].firstLevelReferrals[0] == referrerAddress) { if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length == 1) { emit NewUserPlace(userAddress, ref, 2, level, 3); } else { emit NewUserPlace(userAddress, ref, 2, level, 4); } } else if (len == 2 && users[ref].x6Matrix[level].firstLevelReferrals[1] == referrerAddress) { if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length == 1) { emit NewUserPlace(userAddress, ref, 2, level, 5); } else { emit NewUserPlace(userAddress, ref, 2, level, 6); } } return updateX6ReferrerSecondLevel(userAddress, ref, level); } users[referrerAddress].x6Matrix[level].secondLevelReferrals.push(userAddress); if (users[referrerAddress].x6Matrix[level].closedPart != address(0)) { if ((users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]) && (users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == users[referrerAddress].x6Matrix[level].closedPart)) { updateX6(userAddress, referrerAddress, level, true); return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level); } else if (users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == users[referrerAddress].x6Matrix[level].closedPart) { updateX6(userAddress, referrerAddress, level, true); return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level); } else { updateX6(userAddress, referrerAddress, level, false); return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level); } } if (users[referrerAddress].x6Matrix[level].firstLevelReferrals[1] == userAddress) { updateX6(userAddress, referrerAddress, level, false); return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level); } else if (users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == userAddress) { updateX6(userAddress, referrerAddress, level, true); return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level); } if (users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.length <= users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.length) { updateX6(userAddress, referrerAddress, level, false); } else { updateX6(userAddress, referrerAddress, level, true); } updateX6ReferrerSecondLevel(userAddress, referrerAddress, level); } function updateX6(address userAddress, address referrerAddress, uint8 level, bool x2) private { if (!x2) { users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.push(userAddress); emit NewUserPlace(userAddress, users[referrerAddress].x6Matrix[level].firstLevelReferrals[0], 2, level, uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.length)); emit NewUserPlace(userAddress, referrerAddress, 2, level, 2 + uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.length)); users[userAddress].x6Matrix[level].currentReferrer = users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]; } else { users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.push(userAddress); emit NewUserPlace(userAddress, users[referrerAddress].x6Matrix[level].firstLevelReferrals[1], 2, level, uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.length)); emit NewUserPlace(userAddress, referrerAddress, 2, level, 4 + uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.length)); users[userAddress].x6Matrix[level].currentReferrer = users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]; } } function updateX6ReferrerSecondLevel(address userAddress, address referrerAddress, uint8 level) private { if (users[referrerAddress].x6Matrix[level].secondLevelReferrals.length < 4) { return sendPartnerTRX(referrerAddress, userAddress, 2, level); } address[] memory x6 = users[users[referrerAddress].x6Matrix[level].currentReferrer].x6Matrix[level].firstLevelReferrals; if (x6.length == 2) { if (x6[0] == referrerAddress || x6[1] == referrerAddress) { users[users[referrerAddress].x6Matrix[level].currentReferrer].x6Matrix[level].closedPart = referrerAddress; } else if (x6.length == 1) { if (x6[0] == referrerAddress) { users[users[referrerAddress].x6Matrix[level].currentReferrer].x6Matrix[level].closedPart = referrerAddress; } } } users[referrerAddress].x6Matrix[level].firstLevelReferrals = new address[](0); users[referrerAddress].x6Matrix[level].secondLevelReferrals = new address[](0); users[referrerAddress].x6Matrix[level].closedPart = address(0); if (!users[referrerAddress].activeX6Levels[level+1] && level != LAST_LEVEL) { users[referrerAddress].x6Matrix[level].blocked = true; } users[referrerAddress].x6Matrix[level].reinvestCount++; // Short-circuits to save Energy if (referrerAddress != owner) { address freeReferrerAddress = findFreeX6Referrer(referrerAddress, level); emit Reinvest(referrerAddress, freeReferrerAddress, userAddress, 2, level); updateX6Referrer(referrerAddress, freeReferrerAddress, level); } else { emit Reinvest(owner, address(0), userAddress, 2, level); sendPartnerTRX(owner, userAddress, 2, level); } } function findFreeX3Referrer(address userAddress, uint8 level) public view returns(address) { while (true) { if (users[users[userAddress].referrer].activeX3Levels[level]) { return users[userAddress].referrer; } userAddress = users[userAddress].referrer; } } function findFreeX6Referrer(address userAddress, uint8 level) public view returns(address) { while (true) { if (users[users[userAddress].referrer].activeX6Levels[level]) { return users[userAddress].referrer; } userAddress = users[userAddress].referrer; } } function usersActiveLevelsAll(address userAddress) public view returns(bool[13] memory x3LevelsActive, bool[13] memory x6LevelsActive) { for(uint8 c=1; c< 13; c++){ x3LevelsActive[c] = users[userAddress].activeX3Levels[c]; x6LevelsActive[c] = users[userAddress].activeX6Levels[c]; } } function usersHighestLevels(address userAddress) public view returns(uint8 x3HighestLevel, uint8 x6HighestLevel) { for(uint8 c=1; c< 13; c++){ if(users[userAddress].activeX3Levels[c]) x3HighestLevel = c; if(users[userAddress].activeX6Levels[c]) x6HighestLevel = c; } } function usersActiveX6Levels(address userAddress, uint8 level) public view returns(bool) { return users[userAddress].activeX6Levels[level]; } function userEarnings(address userAddress, uint8 level) public view returns(uint x3MatrixEarnings, uint x6MatrixEarnings) { x3MatrixEarnings = users[userAddress].x3MatrixEarnings[level]; x6MatrixEarnings = users[userAddress].x6MatrixEarnings[level]; } function userEarningsAll(address userAddress) public view returns(uint[13] memory x3MatrixEarnings, uint[13] memory x6MatrixEarnings){ for(uint8 c=1; c< 13; c++){ x3MatrixEarnings[c] = users[userAddress].x3MatrixEarnings[c]; x6MatrixEarnings[c] = users[userAddress].x6MatrixEarnings[c]; } } function usersX3Matrix(address userAddress, uint8 level) public view returns(address, address[] memory, bool) { return (users[userAddress].x3Matrix[level].currentReferrer, users[userAddress].x3Matrix[level].referrals, users[userAddress].x3Matrix[level].blocked); } function usersX6Matrix(address userAddress, uint8 level) public view returns(address, address[] memory, address[] memory, bool, address) { return (users[userAddress].x6Matrix[level].currentReferrer, users[userAddress].x6Matrix[level].firstLevelReferrals, users[userAddress].x6Matrix[level].secondLevelReferrals, users[userAddress].x6Matrix[level].blocked, users[userAddress].x6Matrix[level].closedPart); } function isUserExists(address user) public view returns (bool) { return (users[user].id != 0); } function findTRXReceiver(address userAddress, address _from, uint8 matrix, uint8 level) private returns(address, bool) { address receiver = userAddress; bool isExtraDividends; if (matrix == 1) { while (true) { if (users[receiver].x3Matrix[level].blocked) { emit MissedEthReceive(receiver, _from, 1, level); isExtraDividends = true; receiver = users[receiver].x3Matrix[level].currentReferrer; } else { return (receiver, isExtraDividends); } } } else { while (true) { if (users[receiver].x6Matrix[level].blocked) { emit MissedEthReceive(receiver, _from, 2, level); isExtraDividends = true; receiver = users[receiver].x6Matrix[level].currentReferrer; } else { return (receiver, isExtraDividends); } } } } function SetMyToken(address _token) public { require(msg.sender == admin, "Only Admin"); myToken = IERC20(_token); } // Sends TRX earnings direct to parent (P2P) function sendPartnerTRX(address userAddress, address _from, uint8 matrix, uint8 level) private { (address receiver, bool isExtraDividends) = findTRXReceiver(userAddress, _from, matrix, level); uint deductedPrice = levelPrice[level] - (levelPrice[level] * DIV_PERCENT / DIV_DIVISOR); address(uint160(receiver)).transfer(deductedPrice); myToken.transfer(receiver, deductedPrice * 1); // send 1 token for every 1 MATIC if(matrix == 1) users[receiver].x3MatrixEarnings[level] += deductedPrice; else users[receiver].x6MatrixEarnings[level] += deductedPrice; if (isExtraDividends) { emit SentExtraEthDividends(_from, receiver, matrix, level); } } function bytesToAddress(bytes memory bys) private pure returns (address addr) { assembly { addr := mload(add(bys, 20)) } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"inputs":[{"internalType":"address","name":"ownerAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"MissedEthReceive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"place","type":"uint8"}],"name":"NewUserPlace","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"uint256","name":"userId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"referrerId","type":"uint256"}],"name":"Registration","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"currentReferrer","type":"address"},{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"Reinvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"SentExtraEthDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"Upgrade","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"DIV_PERCENT","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LAST_LEVEL","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"SetMyToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint8","name":"matrix","type":"uint8"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"buyNewLevel","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"claimDivs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"divPot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"findFreeX3Referrer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"findFreeX6Referrer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gameOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUserId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"levelPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"referrerAddress","type":"address"}],"name":"registrationExt","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalDividendPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDivs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_gameOpen","type":"bool"}],"name":"updateGameOpen","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"userEarnings","outputs":[{"internalType":"uint256","name":"x3MatrixEarnings","type":"uint256"},{"internalType":"uint256","name":"x6MatrixEarnings","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"userEarningsAll","outputs":[{"internalType":"uint256[13]","name":"x3MatrixEarnings","type":"uint256[13]"},{"internalType":"uint256[13]","name":"x6MatrixEarnings","type":"uint256[13]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"partnersCount","type":"uint256"},{"internalType":"uint256","name":"divClaimMark","type":"uint256"},{"internalType":"uint256","name":"totalPlayerDivPoints","type":"uint256"},{"internalType":"uint256","name":"divsClaimed","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"usersActiveLevelsAll","outputs":[{"internalType":"bool[13]","name":"x3LevelsActive","type":"bool[13]"},{"internalType":"bool[13]","name":"x6LevelsActive","type":"bool[13]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersActiveX6Levels","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"usersHighestLevels","outputs":[{"internalType":"uint8","name":"x3HighestLevel","type":"uint8"},{"internalType":"uint8","name":"x6HighestLevel","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersX3Matrix","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersX6Matrix","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"viewDivs","outputs":[{"internalType":"uint256","name":"divsAvailable","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_player","type":"address"}],"name":"viewDivsPercent","outputs":[{"internalType":"uint256","name":"divsPercent","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600080546001600160a01b0319167319971b392740a28a1ca3bab43c42cd7e96ccd3fe1790556003805460ff1916600117905560026008553480156200004957600080fd5b5060405162003b4e38038062003b4e833981810160405260208110156200006f57600080fd5b5051600a80546001600160a01b031916331790556001600052600b602052670de0b6b3a76400007f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf5560025b600c60ff821611620000f75760ff600019820181166000908152600b6020526040808220549284168252902060029091029055600101620000bb565b50600980546001600160a01b0319166001600160a01b0383161790556200011d62000244565b506040805160c081018252600180825260006020808401828152848601838152606086018481526080870185815260a088018681526001600160a01b038b81168089528988529a88208a5181559551868a018054919092166001600160a01b0319918216179091559351600280870191909155925160098601559051600a85015551600b909301929092559284905290527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e08054909116909317909255905b600c60ff8216116200023b576001600160a01b038316600090815260016020818152604080842060ff86168552600381018352818520805460ff19908116861790915560049091019092529092208054909216811790915501620001dc565b50505062000283565b6040518060c001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b6138bb80620002936000396000f3fe6080604052600436106101c25760003560e01c80637bffe9d8116100f7578063be389d5711610095578063e06e8dbd11610064578063e06e8dbd14610872578063ecabdf79146108ae578063fa45323d146108db578063fe10c41914610917576101c2565b8063be389d571461078f578063c8d6b7f7146107b7578063cd96f222146107ea578063db58c6261461083f576101c2565b80639cc102fc116100d15780639cc102fc146105d7578063a87430ba146106d0578063b2f7543a1461073e578063b8fcf9371461077a576101c2565b80637bffe9d81461050457806383ba31b2146105195780638da5cb5b146105c2576101c2565b80632ae34dc611610164578063509222cd1161013e578063509222cd146103e0578063570354c5146104135780636894937214610446578063797eee24146104de576101c2565b80632ae34dc61461038a578063348d4487146103b65780633cca779b146103cb576101c2565b80632113342d116101a05780632113342d146102b557806327d205ab146102dc57806329c704001461032f5780632a2d0c4714610344576101c2565b80630388b4a31461022e5780630e3d0d351461026157806319aa70e71461028c575b366101e3576009546101de9033906001600160a01b031661092c565b61022c565b61022c336102276000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8492505050565b61092c565b005b34801561023a57600080fd5b5061022c6004803603602081101561025157600080fd5b50356001600160a01b0316610d8b565b34801561026d57600080fd5b50610276610df9565b6040805160ff9092168252519081900360200190f35b34801561029857600080fd5b506102a1610dfe565b604080519115158252519081900360200190f35b3480156102c157600080fd5b506102ca610e63565b60408051918252519081900360200190f35b3480156102e857600080fd5b5061030f600480360360208110156102ff57600080fd5b50356001600160a01b0316610e69565b6040805160ff938416815291909216602082015281519081900390910190f35b34801561033b57600080fd5b50610276610ef9565b34801561035057600080fd5b5061036e6004803603602081101561036757600080fd5b5035610efe565b604080516001600160a01b039092168252519081900360200190f35b34801561039657600080fd5b5061022c600480360360208110156103ad57600080fd5b50351515610f19565b3480156103c257600080fd5b506102ca610f78565b3480156103d757600080fd5b506102a1610f7e565b3480156103ec57600080fd5b506102a16004803603602081101561040357600080fd5b50356001600160a01b0316610f87565b34801561041f57600080fd5b506102ca6004803603602081101561043657600080fd5b50356001600160a01b0316610fa4565b34801561045257600080fd5b506104796004803603602081101561046957600080fd5b50356001600160a01b0316610fdd565b60405180836101a080838360005b8381101561049f578181015183820152602001610487565b5050505090500182600d60200280838360005b838110156104ca5781810151838201526020016104b2565b505050509050019250505060405180910390f35b61022c600480360360208110156104f457600080fd5b50356001600160a01b0316611092565b34801561051057600080fd5b506102ca6110f0565b34801561052557600080fd5b506105556004803603604081101561053c57600080fd5b5080356001600160a01b0316906020013560ff166110f6565b604080516001600160a01b0385168152821515918101919091526060602080830182815285519284019290925284516080840191868101910280838360005b838110156105ac578181015183820152602001610594565b5050505090500194505050505060405180910390f35b3480156105ce57600080fd5b5061036e6111a0565b3480156105e357600080fd5b50610613600480360360408110156105fa57600080fd5b5080356001600160a01b0316906020013560ff166111af565b604080516001600160a01b03808816825284151560608301528316608082015260a060208083018281528851928401929092528751929391929184019160c0850191898101910280838360005b83811015610678578181015183820152602001610660565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156106b757818101518382015260200161069f565b5050505090500197505050505050505060405180910390f35b3480156106dc57600080fd5b50610703600480360360208110156106f357600080fd5b50356001600160a01b03166112cc565b604080519687526001600160a01b039095166020870152858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561074a57600080fd5b506102a16004803603604081101561076157600080fd5b5080356001600160a01b0316906020013560ff1661130c565b34801561078657600080fd5b5061036e611342565b61022c600480360360408110156107a557600080fd5b5060ff81358116916020013516611351565b3480156107c357600080fd5b50610479600480360360208110156107da57600080fd5b50356001600160a01b0316611a5a565b3480156107f657600080fd5b506108266004803603604081101561080d57600080fd5b5080356001600160a01b0316906020013560ff16611b05565b6040805192835260208301919091528051918290030190f35b34801561084b57600080fd5b506102ca6004803603602081101561086257600080fd5b50356001600160a01b0316611b42565b34801561087e57600080fd5b5061036e6004803603604081101561089557600080fd5b5080356001600160a01b0316906020013560ff16611b75565b3480156108ba57600080fd5b506102ca600480360360208110156108d157600080fd5b503560ff16611c04565b3480156108e757600080fd5b5061036e600480360360408110156108fe57600080fd5b5080356001600160a01b0316906020013560ff16611c16565b34801561092357600080fd5b506102ca611ca5565b34671bc16d674ec8000014610988576040805162461bcd60e51b815260206004820152601960248201527f726567697374726174696f6e20636f73742032204d4154494300000000000000604482015290519081900360640190fd5b61099182610f87565b156109d1576040805162461bcd60e51b815260206004820152600b60248201526a757365722065786973747360a81b604482015290519081900360640190fd5b6109da81610f87565b610a21576040805162461bcd60e51b81526020600482015260136024820152727265666572726572206e6f742065786973747360681b604482015290519081900360640190fd5b813b63ffffffff811615610a73576040805162461bcd60e51b815260206004820152601460248201527318d85b9b9bdd08189948184818dbdb9d1c9858dd60621b604482015290519081900360640190fd5b610a7b613739565b506040805160c0810182526008805482526001600160a01b0385811660208085018281526000868801818152600554606089019081526080890183815260a08a018481528e891680865260018089528d87208d5181559751888201805491909c166001600160a01b0319918216178c5595516002808a0191909155945160098901559251600a88019081559151600b8801558a5486528388528c862080548616909117905588549093168717909755868352600384018552898320805460ff199081168917909155600494850186528a84208054909116881790559386905280546103e83460c802049081019091558254810190925560068054909201909155845484019094559083529382209093018054840190559091610b9e908690611c16565b90506000610bad866001611b75565b6009549091506001600160a01b0383811691161480610bd957506009546001600160a01b038281169116145b15610c9657600954600090610bf6906001600160a01b0316610fa4565b1115610c1757600954610c11906001600160a01b0316611cab565b50610c38565b600554600980546001600160a01b0316600090815260016020526040902001555b6009546001600160a01b03166000908152600160205260409020600a0180546103e860c83402049081019091556007805460028302019081905590670de0b6b3a76400000281610c8457fe5b60058054929091049091019055610cc8565b600780546103e860c834020490810191829055670de0b6b3a76400000281610cba57fe5b600580549290910490910190555b6001600160a01b03868116600090815260016020818152604080842083855260050190915290912080546001600160a01b03191692851692909217909155610d139087908490611d11565b610d1f86826001612080565b6001600160a01b03808716600081815260016020908152604080832054948a168084529281902054815190815290519293927f309bb360e8b69c23937ccc5fb01f9aeeead1c95a99604e175113ff82f2b1723a929181900390910190a4505050505050565b6014015190565b600a546001600160a01b03163314610dd7576040805162461bcd60e51b815260206004820152600a60248201526927b7363c9020b236b4b760b11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60c881565b600080610e0a33610fa4565b905060008111610e55576040805162461bcd60e51b81526020600482015260116024820152704e6f206469767320617661696c61626c6560781b604482015290519081900360640190fd5b610e5e33611cab565b505090565b60055481565b60008060015b600d8160ff161015610ef3576001600160a01b038416600090815260016020908152604080832060ff80861685526003909101909252909120541615610eb3578092505b6001600160a01b038416600090815260016020908152604080832060ff80861685526004909101909252909120541615610eeb578091505b600101610e6f565b50915091565b600c81565b6002602052600090815260409020546001600160a01b031681565b600a546001600160a01b03163314610f65576040805162461bcd60e51b815260206004820152600a60248201526927b7363c9020b236b4b760b11b604482015290519081900360640190fd5b6003805460ff1916911515919091179055565b60085481565b60035460ff1681565b6001600160a01b0316600090815260016020526040902054151590565b6001600160a01b031660009081526001602052604090206009810154600554600a90920154670de0b6b3a7640000919092039091020490565b610fe5613778565b610fed613778565b60015b600d8160ff161015610ef3576001600160a01b038416600090815260016020908152604080832060ff808616808652600390920190935292205416908490600d811061103857fe5b911515602092830291909101526001600160a01b038516600090815260018252604080822060ff8086168085526004909201909452912054909116908390600d811061108057fe5b91151560209092020152600101610ff0565b60035460ff1615156001146110e3576040805162461bcd60e51b815260206004820152601260248201527147616d65206e6f7420796574206f70656e2160701b604482015290519081900360640190fd5b6110ed338261092c565b50565b60065481565b6001600160a01b03828116600090815260016020818152604080842060ff87811686526005909101835281852080546002820154919095018054845181870281018701909552808552969760609789979091169591949290931692849183018282801561118c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161116e575b505050505091509250925092509250925092565b6009546001600160a01b031681565b6001600160a01b03828116600090815260016020818152604080842060ff878116865260069091018352818520805460038201546005830154968301805486518189028101890190975280875298996060998a998c998a9996841698949760020196959094169492169286919083018282801561125557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611237575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156112b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611293575b50505050509250945094509450945094509295509295909350565b600160208190526000918252604090912080549181015460028201546009830154600a840154600b909401546001600160a01b0390931693919290919086565b6001600160a01b038216600090815260016020908152604080832060ff8086168552600490910190925290912054165b92915050565b6000546001600160a01b031681565b60035460ff1615156001146113a2576040805162461bcd60e51b815260206004820152601260248201527147616d65206e6f7420796574206f70656e2160701b604482015290519081900360640190fd5b6113ab33610f87565b6113e65760405162461bcd60e51b81526004018080602001828103825260238152602001806138646023913960400191505060405180910390fd5b8160ff16600114806113fb57508160ff166002145b61143d576040805162461bcd60e51b815260206004820152600e60248201526d0d2dcecc2d8d2c840dac2e8e4d2f60931b604482015290519081900360640190fd5b60ff81166000908152600b60205260409020543414611493576040805162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b604482015290519081900360640190fd5b60018160ff161180156114aa5750600c60ff821611155b6114eb576040805162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081b195d995b609a1b604482015290519081900360640190fd5b60006114f633610fa4565b111561150b5761150533611cab565b50611522565b600554336000908152600160205260409020600901555b336000908152600160208190526040909120600a0180546103e860c8340204908101909155600480548201905560068054909101905560ff831614156117ef5733600090815260016020908152604080832060ff808616855260039091019092529091205416156115d4576040805162461bcd60e51b81526020600482015260176024820152761b195d995b08185b1c9958591e481858dd1a5d985d1959604a1b604482015290519081900360640190fd5b33600090815260016020908152604080832060ff60001986018116855260059091019092529091206002015416156116365733600090815260016020908152604080832060ff60001986011684526005019091529020600201805460ff191690555b60006116423383611c16565b6009549091506001600160a01b038083169116141561171357600954600090611673906001600160a01b0316610fa4565b11156116945760095461168e906001600160a01b0316611cab565b506116b5565b600554600980546001600160a01b0316600090815260016020526040902001555b6009546001600160a01b03166000908152600160205260409020600a0180546103e860c83402049081019091556007805460028302019081905590670de0b6b3a7640000028161170157fe5b60058054929091049091019055611745565b600780546103e860c834020490810191829055670de0b6b3a7640000028161173757fe5b600580549290910490910190555b33600081815260016020818152604080842060ff8816855260058101835281852080546001600160a01b0319166001600160a01b038916179055600301909152909120805460ff1916909117905561179e908284611d11565b604080516001815260ff8416602082015281516001600160a01b0384169233927f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119929081900390910190a350611a56565b33600090815260016020908152604080832060ff80861685526004909101909252909120541615611861576040805162461bcd60e51b81526020600482015260176024820152761b195d995b08185b1c9958591e481858dd1a5d985d1959604a1b604482015290519081900360640190fd5b33600090815260016020908152604080832060ff60001986018116855260069091019092529091206003015416156118c35733600090815260016020908152604080832060ff60001986011684526006019091529020600301805460ff191690555b60006118cf3383611b75565b6009549091506001600160a01b03808316911614156119a057600954600090611900906001600160a01b0316610fa4565b11156119215760095461191b906001600160a01b0316611cab565b50611942565b600554600980546001600160a01b0316600090815260016020526040902001555b6009546001600160a01b03166000908152600160205260409020600a0180546103e860c83402049081019091556007805460028302019081905590670de0b6b3a7640000028161198e57fe5b600580549290910490910190556119d2565b600780546103e860c834020490810191829055670de0b6b3a764000002816119c457fe5b600580549290910490910190555b33600081815260016020818152604080842060ff88168552600401909152909120805460ff19169091179055611a09908284612080565b604080516002815260ff8416602082015281516001600160a01b0384169233927f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119929081900390910190a3505b5050565b611a62613778565b611a6a613778565b60015b600d8160ff161015610ef3576001600160a01b038416600090815260016020908152604080832060ff8516808552600790910190925290912054908490600d8110611ab457fe5b602090810291909101919091526001600160a01b038516600090815260018252604080822060ff85168084526008909101909352902054908390600d8110611af857fe5b6020020152600101611a6d565b6001600160a01b0391909116600090815260016020908152604080832060ff90941683526007840182528083205460089094019091529020549091565b6007546001600160a01b0382166000908152600160205260408120600a015490919060640281611b6e57fe5b0492915050565b60005b6001600160a01b03808416600090815260016020818152604080842090920154909316825280822060ff808716845260049091019093529020541615611bdd57506001600160a01b03808316600090815260016020819052604090912001541661133c565b6001600160a01b039283166000908152600160208190526040909120015490921691611b78565b600b6020526000908152604090205481565b60005b6001600160a01b03808416600090815260016020818152604080842090920154909316825280822060ff808716845260039091019093529020541615611c7e57506001600160a01b03808316600090815260016020819052604090912001541661133c565b6001600160a01b039283166000908152600160208190526040909120015490921691611c19565b60045481565b600080611cb783610fa4565b6004805482900390556005546001600160a01b0385166000818152600160205260408082206009810194909455600b90930180548501905591519293509183156108fc0291849190818181858888f1979650505050505050565b6001600160a01b03828116600090815260016020818152604080842060ff87168086526005909101835290842083018054938401815580855291842090920180546001600160a01b0319169488169490941790935590525460031115611de3576001600160a01b03808316600081815260016020818152604080842060ff8089168087526005909201845294829020840154825194855292840152921681830152905191928616916000805160206138248339815191529181900360600190a3611dde8284600184612a15565b61207b565b604080516001815260ff8316602082015260038183015290516001600160a01b0380851692908616916000805160206138248339815191529181900360600190a360408051600080825260208083018085526001600160a01b0387168352600180835285842060ff88168552600501909252939091209151611e6a93929091019190613797565b506001600160a01b038216600090815260016020818152604080842060ff938601841685526003019091529091205416158015611eab575060ff8116600c14155b15611ee9576001600160a01b038216600090815260016020818152604080842060ff86168552600501909152909120600201805460ff191690911790555b6009546001600160a01b03838116911614611ff6576000611f0a8383611c16565b6001600160a01b03848116600090815260016020908152604080832060ff88168452600501909152902054919250828116911614611f82576001600160a01b03838116600090815260016020908152604080832060ff87168452600501909152902080546001600160a01b0319169183169190911790555b6001600160a01b03808416600081815260016020818152604080842060ff8916808652600590910183529381902060030180548401905580519283529082019290925281518885169486169392600080516020613844833981519152928290030190a4611ff0838284611d11565b5061207b565b60095461200f906001600160a01b031684600184612a15565b600980546001600160a01b03908116600090815260016020818152604080842060ff881680865260059091018352818520600301805485019055955481519384529183019590955284518885169593949190911692600080516020613844833981519152928290030190a45b505050565b6001600160a01b038216600090815260016020908152604080832060ff808616855260049091019092529091205416612100576040805162461bcd60e51b815260206004820152601f60248201527f3530302e205265666572726572206c6576656c20697320696e61637469766500604482015290519081900360640190fd5b6001600160a01b038216600090815260016020818152604080842060ff86168552600601909152909120015460021115612666576001600160a01b03828116600081815260016020818152604080842060ff8881168087526006909201845282862085018054958601815580875284872090950180546001600160a01b031916988c16988917905594819052925481516002815292830193909352919092168282015251919291600080516020613824833981519152916060908290030190a36001600160a01b03838116600090815260016020908152604080832060ff86168452600601909152902080546001600160a01b031916848316908117909155600954909116141561221857611dde8284600284612a15565b6001600160a01b03828116600090815260016020818152604080842060ff871680865260069182018452828620548716808752858552838720828852909201845291852060028082018054808801825590885294872090940180546001600160a01b031916978b169790971790965593529201549091811480156122e857506001600160a01b03828116600090815260016020818152604080842060ff891685526006019091528220018054928716929091906122d157fe5b6000918252602090912001546001600160a01b0316145b801561234457506001600160a01b03828116600090815260016020818152604080842060ff891685526006019091529091208101805492871692909190811061232d57fe5b6000918252602090912001546001600160a01b0316145b15612409576001600160a01b038416600090815260016020818152604080842060ff8816855260060190915290912081015414156123c257604080516002815260ff8516602082015260058183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612404565b604080516002815260ff8516602082015260068183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a35b612654565b80600114806124185750806002145b801561247057506001600160a01b03828116600090815260016020818152604080842060ff8916855260060190915282200180549287169290919061245957fe5b6000918252602090912001546001600160a01b0316145b15612534576001600160a01b038416600090815260016020818152604080842060ff8816855260060190915290912081015414156124ee57604080516002815260ff8516602082015260038183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612404565b604080516002815260ff8516602082015260048183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612654565b80600214801561259457506001600160a01b03828116600090815260016020818152604080842060ff891685526006019091529091208101805492871692909190811061257d57fe5b6000918252602090912001546001600160a01b0316145b15612654576001600160a01b038416600090815260016020818152604080842060ff88168552600601909152909120810154141561261257604080516002815260ff8516602082015260058183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612654565b604080516002815260ff8516602082015260068183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a35b61265f858385612bd2565b505061207b565b6001600160a01b03828116600090815260016020818152604080842060ff8716808652600690910183529084206002810180549485018155855291842090920180546001600160a01b0319168886161790559152600501541615612849576001600160a01b038216600090815260016020818152604080842060ff861685526006019091529091208101805490919081106126fd57fe5b60009182526020808320909101546001600160a01b0385811684526001808452604080862060ff8816875260060190945292842090920180549290911692909161274357fe5b6000918252602090912001546001600160a01b03161480156127b757506001600160a01b03828116600090815260016020818152604080842060ff871685526006019091528220600581015491018054919093169291906127a057fe5b6000918252602090912001546001600160a01b0316145b156127d4576127c98383836001613032565b611dde838383612bd2565b6001600160a01b03828116600090815260016020818152604080842060ff8716855260060190915282206005810154910180549190931692919061281457fe5b6000918252602090912001546001600160a01b0316141561283c576127c98383836001613032565b6127c98383836000613032565b6001600160a01b03828116600090815260016020818152604080842060ff871685526006019091529091208101805492861692909190811061288757fe5b6000918252602090912001546001600160a01b031614156128af576127c98383836000613032565b6001600160a01b03828116600090815260016020818152604080842060ff871685526006019091528220018054928616929091906128e957fe5b6000918252602090912001546001600160a01b03161415612911576127c98383836001613032565b6001600160a01b038216600090815260016020818152604080842060ff861685526006019091528220810180549192918390811061294b57fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822060ff861680845260069182018352848420600190810154968916855280845285852091855291019091529181208201805482906129ad57fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff86168252600601909252902060010154116129fd576129f88383836000613032565b612a0a565b612a0a8383836001613032565b61207b838383612bd2565b600080612a2486868686613599565b60ff85166000908152600b60205260408082205490519395509193506103e860c8830204909103916001600160a01b038516916108fc841502918491818181858888f19350505050158015612a7d573d6000803e3d6000fd5b50600080546040805163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529151919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612ad757600080fd5b505af1158015612aeb573d6000803e3d6000fd5b505050506040513d6020811015612b0157600080fd5b5050600160ff86161415612b43576001600160a01b038316600090815260016020908152604080832060ff881684526007019091529020805482019055612b73565b6001600160a01b038316600090815260016020908152604080832060ff8816845260080190915290208054820190555b8115612bc9576040805160ff80881682528616602082015281516001600160a01b0380871693908a16927ff0ddc65c0d411f042f723dcfa1b7d13e85a35b7b70761d447c6500411cacf328929081900390910190a35b50505050505050565b6001600160a01b038216600090815260016020908152604080832060ff8516845260060190915290206002015460041115612c1457611dde8284600284612a15565b6001600160a01b03808316600090815260016020818152604080842060ff8716808652600691820184528286205490961685528383528185209585529490940181529183902001805483518184028101840190945280845260609392830182828015612ca957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612c8b575b50505050509050805160021415612e0a57826001600160a01b031681600081518110612cd157fe5b60200260200101516001600160a01b03161480612d135750826001600160a01b031681600181518110612d0057fe5b60200260200101516001600160a01b0316145b15612d77576001600160a01b03808416600081815260016020818152604080842060ff8916808652600691820184528286205490971685529282528084209584529490910190529190912060050180546001600160a01b0319169091179055612e0a565b805160011415612e0a57826001600160a01b031681600081518110612d9857fe5b60200260200101516001600160a01b03161415612e0a576001600160a01b03808416600081815260016020818152604080842060ff8916808652600691820184528286205490971685529282528084209584529490910190529190912060050180546001600160a01b03191690911790555b60408051600080825260208083018085526001600160a01b0388168352600180835285842060ff89168552600601909252939091209151612e5093929091019190613797565b5060408051600080825260208083018085526001600160a01b03881683526001825284832060ff881684526006019091529290209051612e969260029092019190613797565b506001600160a01b038316600090815260016020818152604080842060ff808816865260068201845282862060050180546001600160a01b0319169055938701841685526004019091529091205416158015612ef6575060ff8216600c14155b15612f34576001600160a01b038316600090815260016020818152604080842060ff87168552600601909152909120600301805460ff191690911790555b6001600160a01b03808416600081815260016020818152604080842060ff891685526006019091529091206004018054909101905560095490911614612fd2576000612f808484611b75565b604080516002815260ff8616602082015281519293506001600160a01b0380891693818616939189169260008051602061384483398151915292908290030190a4612fcc848285612080565b5061302c565b600954604080516002815260ff8516602082015281516001600160a01b0380891694600094911692600080516020613844833981519152929081900390910190a460095461302c906001600160a01b031685600285612a15565b50505050565b806132e3576001600160a01b038316600090815260016020818152604080842060ff87168552600601909152822081018054919291829061306f57fe5b6000918252602080832091909101546001600160a01b039081168452838201949094526040928301822060ff8716808452600691820183528484206001908101805480830182559086528486200180546001600160a01b0319168c8916179055958916845285835284842090845201905290812090910180549091906130f157fe5b60009182526020808320909101546001600160a01b0386811684526001808452604080862060ff891687526006019094529284208301805492821694918916936000805160206138248339815191529360029389939091829061315057fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c1683526006909101845290829020600101548251958216865293811692850192909252911682820152519081900360600190a36001600160a01b03808416600081815260016020818152604080842060ff8916855260060190915282208101805493948916936000805160206138248339815191529360029389939092829061320057fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c168352600690910184529082902060010154825195821686529381169285019290925260029092011682820152519081900360600190a36001600160a01b038316600090815260016020818152604080842060ff87168552600601909152822001805490919061329757fe5b60009182526020808320909101546001600160a01b03878116845260018352604080852060ff881686526006019093529190922080546001600160a01b0319169190921617905561302c565b6001600160a01b038316600090815260016020818152604080842060ff871685526006019091528220810180549192918390811061331d57fe5b6000918252602080832091909101546001600160a01b039081168452838201949094526040928301822060ff8716808452600691820183528484206001908101805480830182559086528486200180546001600160a01b0319168c891617905595891684528583528484209084520190522081018054909190811061339e57fe5b60009182526020808320909101546001600160a01b0386811684526001808452604080862060ff891687526006019094529284208301805492821694918916936000805160206138248339815191529360029389939091839081106133ff57fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c1683526006909101845290829020600101548251958216865293811692850192909252911682820152519081900360600190a36001600160a01b03808416600081815260016020818152604080842060ff8916855260060190915282208101805493948916936000805160206138248339815191529360029389939092839081106134b157fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c168352600690910184529082902060010154825195821686529381169285019290925260049092011682820152519081900360600190a36001600160a01b038316600090815260016020818152604080842060ff8716855260060190915290912081018054909190811061354c57fe5b60009182526020808320909101546001600160a01b03878116845260018352604080852060ff881686526006019093529190922080546001600160a01b0319169190921617905550505050565b6000808581600160ff87161415613675575b6001600160a01b038216600090815260016020908152604080832060ff808a168552600590910190925290912060020154161561366657604080516001815260ff8716602082015281516001600160a01b03808b1693908616927ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709929081900390910190a3506001600160a01b03908116600090815260016020818152604080842060ff891685526005019091529091205490911690613670565b9092509050613730565b6135ab565b6001600160a01b038216600090815260016020908152604080832060ff808a168552600690910190925290912060030154161561366657604080516002815260ff8716602082015281516001600160a01b03808b1693908616927ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709929081900390910190a3506001600160a01b03908116600090815260016020818152604080842060ff891685526006019091529091205490911690613675565b94509492505050565b6040518060c001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600d906020820280388339509192915050565b8280548282559060005260206000209081019282156137ec579160200282015b828111156137ec57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906137b7565b506137f89291506137fc565b5090565b61382091905b808211156137f85780546001600160a01b0319168155600101613802565b9056fe68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d82a00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a675736572206973206e6f74206578697374732e2052656769737465722066697273742ea265627a7a723158208f21428330e32ee4ffffece52759c18c5cdafea09c910a839a51256a125b7db664736f6c63430005100032000000000000000000000000d1f6d3b9931d76e873f27776d7b1c669ac3bbadaDeployed Bytecode
0x6080604052600436106101c25760003560e01c80637bffe9d8116100f7578063be389d5711610095578063e06e8dbd11610064578063e06e8dbd14610872578063ecabdf79146108ae578063fa45323d146108db578063fe10c41914610917576101c2565b8063be389d571461078f578063c8d6b7f7146107b7578063cd96f222146107ea578063db58c6261461083f576101c2565b80639cc102fc116100d15780639cc102fc146105d7578063a87430ba146106d0578063b2f7543a1461073e578063b8fcf9371461077a576101c2565b80637bffe9d81461050457806383ba31b2146105195780638da5cb5b146105c2576101c2565b80632ae34dc611610164578063509222cd1161013e578063509222cd146103e0578063570354c5146104135780636894937214610446578063797eee24146104de576101c2565b80632ae34dc61461038a578063348d4487146103b65780633cca779b146103cb576101c2565b80632113342d116101a05780632113342d146102b557806327d205ab146102dc57806329c704001461032f5780632a2d0c4714610344576101c2565b80630388b4a31461022e5780630e3d0d351461026157806319aa70e71461028c575b366101e3576009546101de9033906001600160a01b031661092c565b61022c565b61022c336102276000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8492505050565b61092c565b005b34801561023a57600080fd5b5061022c6004803603602081101561025157600080fd5b50356001600160a01b0316610d8b565b34801561026d57600080fd5b50610276610df9565b6040805160ff9092168252519081900360200190f35b34801561029857600080fd5b506102a1610dfe565b604080519115158252519081900360200190f35b3480156102c157600080fd5b506102ca610e63565b60408051918252519081900360200190f35b3480156102e857600080fd5b5061030f600480360360208110156102ff57600080fd5b50356001600160a01b0316610e69565b6040805160ff938416815291909216602082015281519081900390910190f35b34801561033b57600080fd5b50610276610ef9565b34801561035057600080fd5b5061036e6004803603602081101561036757600080fd5b5035610efe565b604080516001600160a01b039092168252519081900360200190f35b34801561039657600080fd5b5061022c600480360360208110156103ad57600080fd5b50351515610f19565b3480156103c257600080fd5b506102ca610f78565b3480156103d757600080fd5b506102a1610f7e565b3480156103ec57600080fd5b506102a16004803603602081101561040357600080fd5b50356001600160a01b0316610f87565b34801561041f57600080fd5b506102ca6004803603602081101561043657600080fd5b50356001600160a01b0316610fa4565b34801561045257600080fd5b506104796004803603602081101561046957600080fd5b50356001600160a01b0316610fdd565b60405180836101a080838360005b8381101561049f578181015183820152602001610487565b5050505090500182600d60200280838360005b838110156104ca5781810151838201526020016104b2565b505050509050019250505060405180910390f35b61022c600480360360208110156104f457600080fd5b50356001600160a01b0316611092565b34801561051057600080fd5b506102ca6110f0565b34801561052557600080fd5b506105556004803603604081101561053c57600080fd5b5080356001600160a01b0316906020013560ff166110f6565b604080516001600160a01b0385168152821515918101919091526060602080830182815285519284019290925284516080840191868101910280838360005b838110156105ac578181015183820152602001610594565b5050505090500194505050505060405180910390f35b3480156105ce57600080fd5b5061036e6111a0565b3480156105e357600080fd5b50610613600480360360408110156105fa57600080fd5b5080356001600160a01b0316906020013560ff166111af565b604080516001600160a01b03808816825284151560608301528316608082015260a060208083018281528851928401929092528751929391929184019160c0850191898101910280838360005b83811015610678578181015183820152602001610660565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156106b757818101518382015260200161069f565b5050505090500197505050505050505060405180910390f35b3480156106dc57600080fd5b50610703600480360360208110156106f357600080fd5b50356001600160a01b03166112cc565b604080519687526001600160a01b039095166020870152858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561074a57600080fd5b506102a16004803603604081101561076157600080fd5b5080356001600160a01b0316906020013560ff1661130c565b34801561078657600080fd5b5061036e611342565b61022c600480360360408110156107a557600080fd5b5060ff81358116916020013516611351565b3480156107c357600080fd5b50610479600480360360208110156107da57600080fd5b50356001600160a01b0316611a5a565b3480156107f657600080fd5b506108266004803603604081101561080d57600080fd5b5080356001600160a01b0316906020013560ff16611b05565b6040805192835260208301919091528051918290030190f35b34801561084b57600080fd5b506102ca6004803603602081101561086257600080fd5b50356001600160a01b0316611b42565b34801561087e57600080fd5b5061036e6004803603604081101561089557600080fd5b5080356001600160a01b0316906020013560ff16611b75565b3480156108ba57600080fd5b506102ca600480360360208110156108d157600080fd5b503560ff16611c04565b3480156108e757600080fd5b5061036e600480360360408110156108fe57600080fd5b5080356001600160a01b0316906020013560ff16611c16565b34801561092357600080fd5b506102ca611ca5565b34671bc16d674ec8000014610988576040805162461bcd60e51b815260206004820152601960248201527f726567697374726174696f6e20636f73742032204d4154494300000000000000604482015290519081900360640190fd5b61099182610f87565b156109d1576040805162461bcd60e51b815260206004820152600b60248201526a757365722065786973747360a81b604482015290519081900360640190fd5b6109da81610f87565b610a21576040805162461bcd60e51b81526020600482015260136024820152727265666572726572206e6f742065786973747360681b604482015290519081900360640190fd5b813b63ffffffff811615610a73576040805162461bcd60e51b815260206004820152601460248201527318d85b9b9bdd08189948184818dbdb9d1c9858dd60621b604482015290519081900360640190fd5b610a7b613739565b506040805160c0810182526008805482526001600160a01b0385811660208085018281526000868801818152600554606089019081526080890183815260a08a018481528e891680865260018089528d87208d5181559751888201805491909c166001600160a01b0319918216178c5595516002808a0191909155945160098901559251600a88019081559151600b8801558a5486528388528c862080548616909117905588549093168717909755868352600384018552898320805460ff199081168917909155600494850186528a84208054909116881790559386905280546103e83460c802049081019091558254810190925560068054909201909155845484019094559083529382209093018054840190559091610b9e908690611c16565b90506000610bad866001611b75565b6009549091506001600160a01b0383811691161480610bd957506009546001600160a01b038281169116145b15610c9657600954600090610bf6906001600160a01b0316610fa4565b1115610c1757600954610c11906001600160a01b0316611cab565b50610c38565b600554600980546001600160a01b0316600090815260016020526040902001555b6009546001600160a01b03166000908152600160205260409020600a0180546103e860c83402049081019091556007805460028302019081905590670de0b6b3a76400000281610c8457fe5b60058054929091049091019055610cc8565b600780546103e860c834020490810191829055670de0b6b3a76400000281610cba57fe5b600580549290910490910190555b6001600160a01b03868116600090815260016020818152604080842083855260050190915290912080546001600160a01b03191692851692909217909155610d139087908490611d11565b610d1f86826001612080565b6001600160a01b03808716600081815260016020908152604080832054948a168084529281902054815190815290519293927f309bb360e8b69c23937ccc5fb01f9aeeead1c95a99604e175113ff82f2b1723a929181900390910190a4505050505050565b6014015190565b600a546001600160a01b03163314610dd7576040805162461bcd60e51b815260206004820152600a60248201526927b7363c9020b236b4b760b11b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60c881565b600080610e0a33610fa4565b905060008111610e55576040805162461bcd60e51b81526020600482015260116024820152704e6f206469767320617661696c61626c6560781b604482015290519081900360640190fd5b610e5e33611cab565b505090565b60055481565b60008060015b600d8160ff161015610ef3576001600160a01b038416600090815260016020908152604080832060ff80861685526003909101909252909120541615610eb3578092505b6001600160a01b038416600090815260016020908152604080832060ff80861685526004909101909252909120541615610eeb578091505b600101610e6f565b50915091565b600c81565b6002602052600090815260409020546001600160a01b031681565b600a546001600160a01b03163314610f65576040805162461bcd60e51b815260206004820152600a60248201526927b7363c9020b236b4b760b11b604482015290519081900360640190fd5b6003805460ff1916911515919091179055565b60085481565b60035460ff1681565b6001600160a01b0316600090815260016020526040902054151590565b6001600160a01b031660009081526001602052604090206009810154600554600a90920154670de0b6b3a7640000919092039091020490565b610fe5613778565b610fed613778565b60015b600d8160ff161015610ef3576001600160a01b038416600090815260016020908152604080832060ff808616808652600390920190935292205416908490600d811061103857fe5b911515602092830291909101526001600160a01b038516600090815260018252604080822060ff8086168085526004909201909452912054909116908390600d811061108057fe5b91151560209092020152600101610ff0565b60035460ff1615156001146110e3576040805162461bcd60e51b815260206004820152601260248201527147616d65206e6f7420796574206f70656e2160701b604482015290519081900360640190fd5b6110ed338261092c565b50565b60065481565b6001600160a01b03828116600090815260016020818152604080842060ff87811686526005909101835281852080546002820154919095018054845181870281018701909552808552969760609789979091169591949290931692849183018282801561118c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161116e575b505050505091509250925092509250925092565b6009546001600160a01b031681565b6001600160a01b03828116600090815260016020818152604080842060ff878116865260069091018352818520805460038201546005830154968301805486518189028101890190975280875298996060998a998c998a9996841698949760020196959094169492169286919083018282801561125557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611237575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156112b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611293575b50505050509250945094509450945094509295509295909350565b600160208190526000918252604090912080549181015460028201546009830154600a840154600b909401546001600160a01b0390931693919290919086565b6001600160a01b038216600090815260016020908152604080832060ff8086168552600490910190925290912054165b92915050565b6000546001600160a01b031681565b60035460ff1615156001146113a2576040805162461bcd60e51b815260206004820152601260248201527147616d65206e6f7420796574206f70656e2160701b604482015290519081900360640190fd5b6113ab33610f87565b6113e65760405162461bcd60e51b81526004018080602001828103825260238152602001806138646023913960400191505060405180910390fd5b8160ff16600114806113fb57508160ff166002145b61143d576040805162461bcd60e51b815260206004820152600e60248201526d0d2dcecc2d8d2c840dac2e8e4d2f60931b604482015290519081900360640190fd5b60ff81166000908152600b60205260409020543414611493576040805162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b604482015290519081900360640190fd5b60018160ff161180156114aa5750600c60ff821611155b6114eb576040805162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081b195d995b609a1b604482015290519081900360640190fd5b60006114f633610fa4565b111561150b5761150533611cab565b50611522565b600554336000908152600160205260409020600901555b336000908152600160208190526040909120600a0180546103e860c8340204908101909155600480548201905560068054909101905560ff831614156117ef5733600090815260016020908152604080832060ff808616855260039091019092529091205416156115d4576040805162461bcd60e51b81526020600482015260176024820152761b195d995b08185b1c9958591e481858dd1a5d985d1959604a1b604482015290519081900360640190fd5b33600090815260016020908152604080832060ff60001986018116855260059091019092529091206002015416156116365733600090815260016020908152604080832060ff60001986011684526005019091529020600201805460ff191690555b60006116423383611c16565b6009549091506001600160a01b038083169116141561171357600954600090611673906001600160a01b0316610fa4565b11156116945760095461168e906001600160a01b0316611cab565b506116b5565b600554600980546001600160a01b0316600090815260016020526040902001555b6009546001600160a01b03166000908152600160205260409020600a0180546103e860c83402049081019091556007805460028302019081905590670de0b6b3a7640000028161170157fe5b60058054929091049091019055611745565b600780546103e860c834020490810191829055670de0b6b3a7640000028161173757fe5b600580549290910490910190555b33600081815260016020818152604080842060ff8816855260058101835281852080546001600160a01b0319166001600160a01b038916179055600301909152909120805460ff1916909117905561179e908284611d11565b604080516001815260ff8416602082015281516001600160a01b0384169233927f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119929081900390910190a350611a56565b33600090815260016020908152604080832060ff80861685526004909101909252909120541615611861576040805162461bcd60e51b81526020600482015260176024820152761b195d995b08185b1c9958591e481858dd1a5d985d1959604a1b604482015290519081900360640190fd5b33600090815260016020908152604080832060ff60001986018116855260069091019092529091206003015416156118c35733600090815260016020908152604080832060ff60001986011684526006019091529020600301805460ff191690555b60006118cf3383611b75565b6009549091506001600160a01b03808316911614156119a057600954600090611900906001600160a01b0316610fa4565b11156119215760095461191b906001600160a01b0316611cab565b50611942565b600554600980546001600160a01b0316600090815260016020526040902001555b6009546001600160a01b03166000908152600160205260409020600a0180546103e860c83402049081019091556007805460028302019081905590670de0b6b3a7640000028161198e57fe5b600580549290910490910190556119d2565b600780546103e860c834020490810191829055670de0b6b3a764000002816119c457fe5b600580549290910490910190555b33600081815260016020818152604080842060ff88168552600401909152909120805460ff19169091179055611a09908284612080565b604080516002815260ff8416602082015281516001600160a01b0384169233927f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119929081900390910190a3505b5050565b611a62613778565b611a6a613778565b60015b600d8160ff161015610ef3576001600160a01b038416600090815260016020908152604080832060ff8516808552600790910190925290912054908490600d8110611ab457fe5b602090810291909101919091526001600160a01b038516600090815260018252604080822060ff85168084526008909101909352902054908390600d8110611af857fe5b6020020152600101611a6d565b6001600160a01b0391909116600090815260016020908152604080832060ff90941683526007840182528083205460089094019091529020549091565b6007546001600160a01b0382166000908152600160205260408120600a015490919060640281611b6e57fe5b0492915050565b60005b6001600160a01b03808416600090815260016020818152604080842090920154909316825280822060ff808716845260049091019093529020541615611bdd57506001600160a01b03808316600090815260016020819052604090912001541661133c565b6001600160a01b039283166000908152600160208190526040909120015490921691611b78565b600b6020526000908152604090205481565b60005b6001600160a01b03808416600090815260016020818152604080842090920154909316825280822060ff808716845260039091019093529020541615611c7e57506001600160a01b03808316600090815260016020819052604090912001541661133c565b6001600160a01b039283166000908152600160208190526040909120015490921691611c19565b60045481565b600080611cb783610fa4565b6004805482900390556005546001600160a01b0385166000818152600160205260408082206009810194909455600b90930180548501905591519293509183156108fc0291849190818181858888f1979650505050505050565b6001600160a01b03828116600090815260016020818152604080842060ff87168086526005909101835290842083018054938401815580855291842090920180546001600160a01b0319169488169490941790935590525460031115611de3576001600160a01b03808316600081815260016020818152604080842060ff8089168087526005909201845294829020840154825194855292840152921681830152905191928616916000805160206138248339815191529181900360600190a3611dde8284600184612a15565b61207b565b604080516001815260ff8316602082015260038183015290516001600160a01b0380851692908616916000805160206138248339815191529181900360600190a360408051600080825260208083018085526001600160a01b0387168352600180835285842060ff88168552600501909252939091209151611e6a93929091019190613797565b506001600160a01b038216600090815260016020818152604080842060ff938601841685526003019091529091205416158015611eab575060ff8116600c14155b15611ee9576001600160a01b038216600090815260016020818152604080842060ff86168552600501909152909120600201805460ff191690911790555b6009546001600160a01b03838116911614611ff6576000611f0a8383611c16565b6001600160a01b03848116600090815260016020908152604080832060ff88168452600501909152902054919250828116911614611f82576001600160a01b03838116600090815260016020908152604080832060ff87168452600501909152902080546001600160a01b0319169183169190911790555b6001600160a01b03808416600081815260016020818152604080842060ff8916808652600590910183529381902060030180548401905580519283529082019290925281518885169486169392600080516020613844833981519152928290030190a4611ff0838284611d11565b5061207b565b60095461200f906001600160a01b031684600184612a15565b600980546001600160a01b03908116600090815260016020818152604080842060ff881680865260059091018352818520600301805485019055955481519384529183019590955284518885169593949190911692600080516020613844833981519152928290030190a45b505050565b6001600160a01b038216600090815260016020908152604080832060ff808616855260049091019092529091205416612100576040805162461bcd60e51b815260206004820152601f60248201527f3530302e205265666572726572206c6576656c20697320696e61637469766500604482015290519081900360640190fd5b6001600160a01b038216600090815260016020818152604080842060ff86168552600601909152909120015460021115612666576001600160a01b03828116600081815260016020818152604080842060ff8881168087526006909201845282862085018054958601815580875284872090950180546001600160a01b031916988c16988917905594819052925481516002815292830193909352919092168282015251919291600080516020613824833981519152916060908290030190a36001600160a01b03838116600090815260016020908152604080832060ff86168452600601909152902080546001600160a01b031916848316908117909155600954909116141561221857611dde8284600284612a15565b6001600160a01b03828116600090815260016020818152604080842060ff871680865260069182018452828620548716808752858552838720828852909201845291852060028082018054808801825590885294872090940180546001600160a01b031916978b169790971790965593529201549091811480156122e857506001600160a01b03828116600090815260016020818152604080842060ff891685526006019091528220018054928716929091906122d157fe5b6000918252602090912001546001600160a01b0316145b801561234457506001600160a01b03828116600090815260016020818152604080842060ff891685526006019091529091208101805492871692909190811061232d57fe5b6000918252602090912001546001600160a01b0316145b15612409576001600160a01b038416600090815260016020818152604080842060ff8816855260060190915290912081015414156123c257604080516002815260ff8516602082015260058183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612404565b604080516002815260ff8516602082015260068183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a35b612654565b80600114806124185750806002145b801561247057506001600160a01b03828116600090815260016020818152604080842060ff8916855260060190915282200180549287169290919061245957fe5b6000918252602090912001546001600160a01b0316145b15612534576001600160a01b038416600090815260016020818152604080842060ff8816855260060190915290912081015414156124ee57604080516002815260ff8516602082015260038183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612404565b604080516002815260ff8516602082015260048183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612654565b80600214801561259457506001600160a01b03828116600090815260016020818152604080842060ff891685526006019091529091208101805492871692909190811061257d57fe5b6000918252602090912001546001600160a01b0316145b15612654576001600160a01b038416600090815260016020818152604080842060ff88168552600601909152909120810154141561261257604080516002815260ff8516602082015260058183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a3612654565b604080516002815260ff8516602082015260068183015290516001600160a01b0380851692908816916000805160206138248339815191529181900360600190a35b61265f858385612bd2565b505061207b565b6001600160a01b03828116600090815260016020818152604080842060ff8716808652600690910183529084206002810180549485018155855291842090920180546001600160a01b0319168886161790559152600501541615612849576001600160a01b038216600090815260016020818152604080842060ff861685526006019091529091208101805490919081106126fd57fe5b60009182526020808320909101546001600160a01b0385811684526001808452604080862060ff8816875260060190945292842090920180549290911692909161274357fe5b6000918252602090912001546001600160a01b03161480156127b757506001600160a01b03828116600090815260016020818152604080842060ff871685526006019091528220600581015491018054919093169291906127a057fe5b6000918252602090912001546001600160a01b0316145b156127d4576127c98383836001613032565b611dde838383612bd2565b6001600160a01b03828116600090815260016020818152604080842060ff8716855260060190915282206005810154910180549190931692919061281457fe5b6000918252602090912001546001600160a01b0316141561283c576127c98383836001613032565b6127c98383836000613032565b6001600160a01b03828116600090815260016020818152604080842060ff871685526006019091529091208101805492861692909190811061288757fe5b6000918252602090912001546001600160a01b031614156128af576127c98383836000613032565b6001600160a01b03828116600090815260016020818152604080842060ff871685526006019091528220018054928616929091906128e957fe5b6000918252602090912001546001600160a01b03161415612911576127c98383836001613032565b6001600160a01b038216600090815260016020818152604080842060ff861685526006019091528220810180549192918390811061294b57fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822060ff861680845260069182018352848420600190810154968916855280845285852091855291019091529181208201805482906129ad57fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff86168252600601909252902060010154116129fd576129f88383836000613032565b612a0a565b612a0a8383836001613032565b61207b838383612bd2565b600080612a2486868686613599565b60ff85166000908152600b60205260408082205490519395509193506103e860c8830204909103916001600160a01b038516916108fc841502918491818181858888f19350505050158015612a7d573d6000803e3d6000fd5b50600080546040805163a9059cbb60e01b81526001600160a01b038781166004830152602482018690529151919092169263a9059cbb92604480820193602093909283900390910190829087803b158015612ad757600080fd5b505af1158015612aeb573d6000803e3d6000fd5b505050506040513d6020811015612b0157600080fd5b5050600160ff86161415612b43576001600160a01b038316600090815260016020908152604080832060ff881684526007019091529020805482019055612b73565b6001600160a01b038316600090815260016020908152604080832060ff8816845260080190915290208054820190555b8115612bc9576040805160ff80881682528616602082015281516001600160a01b0380871693908a16927ff0ddc65c0d411f042f723dcfa1b7d13e85a35b7b70761d447c6500411cacf328929081900390910190a35b50505050505050565b6001600160a01b038216600090815260016020908152604080832060ff8516845260060190915290206002015460041115612c1457611dde8284600284612a15565b6001600160a01b03808316600090815260016020818152604080842060ff8716808652600691820184528286205490961685528383528185209585529490940181529183902001805483518184028101840190945280845260609392830182828015612ca957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612c8b575b50505050509050805160021415612e0a57826001600160a01b031681600081518110612cd157fe5b60200260200101516001600160a01b03161480612d135750826001600160a01b031681600181518110612d0057fe5b60200260200101516001600160a01b0316145b15612d77576001600160a01b03808416600081815260016020818152604080842060ff8916808652600691820184528286205490971685529282528084209584529490910190529190912060050180546001600160a01b0319169091179055612e0a565b805160011415612e0a57826001600160a01b031681600081518110612d9857fe5b60200260200101516001600160a01b03161415612e0a576001600160a01b03808416600081815260016020818152604080842060ff8916808652600691820184528286205490971685529282528084209584529490910190529190912060050180546001600160a01b03191690911790555b60408051600080825260208083018085526001600160a01b0388168352600180835285842060ff89168552600601909252939091209151612e5093929091019190613797565b5060408051600080825260208083018085526001600160a01b03881683526001825284832060ff881684526006019091529290209051612e969260029092019190613797565b506001600160a01b038316600090815260016020818152604080842060ff808816865260068201845282862060050180546001600160a01b0319169055938701841685526004019091529091205416158015612ef6575060ff8216600c14155b15612f34576001600160a01b038316600090815260016020818152604080842060ff87168552600601909152909120600301805460ff191690911790555b6001600160a01b03808416600081815260016020818152604080842060ff891685526006019091529091206004018054909101905560095490911614612fd2576000612f808484611b75565b604080516002815260ff8616602082015281519293506001600160a01b0380891693818616939189169260008051602061384483398151915292908290030190a4612fcc848285612080565b5061302c565b600954604080516002815260ff8516602082015281516001600160a01b0380891694600094911692600080516020613844833981519152929081900390910190a460095461302c906001600160a01b031685600285612a15565b50505050565b806132e3576001600160a01b038316600090815260016020818152604080842060ff87168552600601909152822081018054919291829061306f57fe5b6000918252602080832091909101546001600160a01b039081168452838201949094526040928301822060ff8716808452600691820183528484206001908101805480830182559086528486200180546001600160a01b0319168c8916179055958916845285835284842090845201905290812090910180549091906130f157fe5b60009182526020808320909101546001600160a01b0386811684526001808452604080862060ff891687526006019094529284208301805492821694918916936000805160206138248339815191529360029389939091829061315057fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c1683526006909101845290829020600101548251958216865293811692850192909252911682820152519081900360600190a36001600160a01b03808416600081815260016020818152604080842060ff8916855260060190915282208101805493948916936000805160206138248339815191529360029389939092829061320057fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c168352600690910184529082902060010154825195821686529381169285019290925260029092011682820152519081900360600190a36001600160a01b038316600090815260016020818152604080842060ff87168552600601909152822001805490919061329757fe5b60009182526020808320909101546001600160a01b03878116845260018352604080852060ff881686526006019093529190922080546001600160a01b0319169190921617905561302c565b6001600160a01b038316600090815260016020818152604080842060ff871685526006019091528220810180549192918390811061331d57fe5b6000918252602080832091909101546001600160a01b039081168452838201949094526040928301822060ff8716808452600691820183528484206001908101805480830182559086528486200180546001600160a01b0319168c891617905595891684528583528484209084520190522081018054909190811061339e57fe5b60009182526020808320909101546001600160a01b0386811684526001808452604080862060ff891687526006019094529284208301805492821694918916936000805160206138248339815191529360029389939091839081106133ff57fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c1683526006909101845290829020600101548251958216865293811692850192909252911682820152519081900360600190a36001600160a01b03808416600081815260016020818152604080842060ff8916855260060190915282208101805493948916936000805160206138248339815191529360029389939092839081106134b157fe5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff808c168352600690910184529082902060010154825195821686529381169285019290925260049092011682820152519081900360600190a36001600160a01b038316600090815260016020818152604080842060ff8716855260060190915290912081018054909190811061354c57fe5b60009182526020808320909101546001600160a01b03878116845260018352604080852060ff881686526006019093529190922080546001600160a01b0319169190921617905550505050565b6000808581600160ff87161415613675575b6001600160a01b038216600090815260016020908152604080832060ff808a168552600590910190925290912060020154161561366657604080516001815260ff8716602082015281516001600160a01b03808b1693908616927ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709929081900390910190a3506001600160a01b03908116600090815260016020818152604080842060ff891685526005019091529091205490911690613670565b9092509050613730565b6135ab565b6001600160a01b038216600090815260016020908152604080832060ff808a168552600690910190925290912060030154161561366657604080516002815260ff8716602082015281516001600160a01b03808b1693908616927ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709929081900390910190a3506001600160a01b03908116600090815260016020818152604080842060ff891685526006019091529091205490911690613675565b94509492505050565b6040518060c001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b604051806101a00160405280600d906020820280388339509192915050565b8280548282559060005260206000209081019282156137ec579160200282015b828111156137ec57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906137b7565b506137f89291506137fc565b5090565b61382091905b808211156137f85780546001600160a01b0319168155600101613802565b9056fe68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d82a00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a675736572206973206e6f74206578697374732e2052656769737465722066697273742ea265627a7a723158208f21428330e32ee4ffffece52759c18c5cdafea09c910a839a51256a125b7db664736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d1f6d3b9931d76e873f27776d7b1c669ac3bbada
-----Decoded View---------------
Arg [0] : ownerAddress (address): 0xD1f6d3b9931D76e873F27776D7B1c669aC3BbaDA
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d1f6d3b9931d76e873f27776d7b1c669ac3bbadaDeployed Bytecode Sourcemap
321:26217:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3614:8;3611:90;;3683:5;;3658:31;;3671:10;;-1:-1:-1;;;;;3683:5:0;3658:12;:31::i;:::-;3651:38;;3611:90;3721:50;3734:10;3746:24;3761:8;;3746:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3746:14:0;;-1:-1:-1;;;3746:24:0:i;:::-;3721:12;:50::i;:::-;321:26217;25377:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25377:139:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25377:139:0;-1:-1:-1;;;;;25377:139:0;;:::i;1276:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1276:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10154:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10154:185:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;1634:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1634:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;22171:374;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22171:374:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22171:374:0;-1:-1:-1;;;;;22171:374:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1232:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1232:37:0;;;:::i;1514:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1514:43:0;;:::i;:::-;;;;-1:-1:-1;;;;;1514:43:0;;;;;;;;;;;;;;3421:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3421:139:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3421:139:0;;;;:::i;1793:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1793:26:0;;;:::i;1566:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1566:27:0;;;:::i;24178:110::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24178:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24178:110:0;-1:-1:-1;;;;;24178:110:0;;:::i;10842:261::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10842:261:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10842:261:0;-1:-1:-1;;;;;10842:261:0;;:::i;21826:333::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21826:333:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21826:333:0;-1:-1:-1;;;;;21826:333:0;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;21826:333:0;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;21826:333:0;;;;;;;;;;;;;;;;;3787:185;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3787:185:0;-1:-1:-1;;;;;3787:185:0;;:::i;1672:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1672:21:0;;;:::i;23351:312::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23351:312:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23351:312:0;;-1:-1:-1;;;;;23351:312:0;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;23351:312:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23351:312:0;;;;;;;;;;;;;;;;;;;1826:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1826:20:0;;;:::i;23673:487::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23673:487:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23673:487:0;;-1:-1:-1;;;;;23673:487:0;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;23673:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23673:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23673:487:0;;;;;;;;;;;;;;;;;;;;;;1470:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1470:37:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1470:37:0;-1:-1:-1;;;;;1470:37:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1470:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22553:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22553:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22553:155:0;;-1:-1:-1;;;;;22553:155:0;;;;;;;;:::i;1387:74::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1387:74:0;;;:::i;3984:3578::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3984:3578:0;;;;;;;;;;;:::i;22998:345::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22998:345:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22998:345:0;-1:-1:-1;;;;;22998:345:0;;:::i;22716:274::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22716:274:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22716:274:0;;-1:-1:-1;;;;;22716:274:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10675:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10675:159:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10675:159:0;-1:-1:-1;;;;;10675:159:0;;:::i;21459:349::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21459:349:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21459:349:0;;-1:-1:-1;;;;;21459:349:0;;;;;;;;:::i;1888:40::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1888:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1888:40:0;;;;:::i;21098:349::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21098:349:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21098:349:0;;-1:-1:-1;;;;;21098:349:0;;;;;;;;:::i;1608:18::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1608:18:0;;;:::i;7578:2558::-;7673:9;7686:19;7673:32;7665:70;;;;;-1:-1:-1;;;7665:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7775:25;7788:11;7775:12;:25::i;:::-;7774:26;7766:50;;;;;-1:-1:-1;;;7766:50:0;;;;;;;;;;;;-1:-1:-1;;;7766:50:0;;;;;;;;;;;;;;;7837:29;7850:15;7837:12;:29::i;:::-;7829:61;;;;;-1:-1:-1;;;7829:61:0;;;;;;;;;;;;-1:-1:-1;;;7829:61:0;;;;;;;;;;;;;;;7957:24;;8010:9;;;;8002:42;;;;;-1:-1:-1;;;8002:42:0;;;;;;;;;;;;-1:-1:-1;;;8002:42:0;;;;;;;;;;;;;;;8057:16;;:::i;:::-;-1:-1:-1;8076:246:0;;;;;;;;8100:10;;;8076:246;;-1:-1:-1;;;;;8076:246:0;;;;;;;;;;-1:-1:-1;8076:246:0;;;;;;8210:19;;8076:246;;;;;;;;;;;;;;;;;;8343:18;;;;;;:5;:18;;;;;;:25;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8343:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8391:10;;8379:23;;;;;;;;:37;;;;;;;;;8437:45;;;;;;;;;;8503:36;;;:33;;;:36;;;;;:43;;-1:-1:-1;;8503:43:0;;;;;;;;8558:33;;;;:36;;;;;:43;;;;;;;;;8622:18;;;;:82;;1374:4;8666:9;1312:3;8666:23;:37;8622:82;;;;;;8719:47;;;;;;;-1:-1:-1;8777:52:0;;;;;;;;8870:12;;;;;;;8903:22;;;;;;:36;;;:38;;;;;;8076:246;;8979:34;;8343:18;;8979;:34::i;:::-;8954:59;;9024:17;9044:34;9063:11;9076:1;9044:18;:34::i;:::-;9154:5;;9024:54;;-1:-1:-1;;;;;;9136:23:0;;;9154:5;;9136:23;;:45;;-1:-1:-1;9176:5:0;;-1:-1:-1;;;;;9163:18:0;;;9176:5;;9163:18;9136:45;9133:691;;;9209:5;;9218:1;;9200:15;;-1:-1:-1;;;;;9209:5:0;9200:8;:15::i;:::-;:19;9197:161;;;9248:5;;9239:15;;-1:-1:-1;;;;;9248:5:0;9239:8;:15::i;:::-;;9197:161;;;9323:19;;9301:5;;;-1:-1:-1;;;;;9301:5:0;9295:12;;;;:5;:12;;;;;:25;:47;9197:161;9380:5;;-1:-1:-1;;;;;9380:5:0;9374:12;;;;:5;:12;;;;;:33;;:74;;1374:4;1312:3;9411:9;:23;:37;9374:74;;;;;;9463:8;:53;;9515:1;9475:41;;9463:53;;;;;;1774:4;9554:57;9463:53;9554:68;;;;9531:19;:91;;9554:68;;;;9531:91;;;;;9133:691;;;9655:8;:51;;1374:4;1312:3;9668:9;:23;:37;9655:51;;;;;;;1774:4;9744:57;9655:51;9744:68;;;;9721:19;:91;;9744:68;;;;9721:91;;;;;9133:691;-1:-1:-1;;;;;9836:18:0;;;;;;;:5;:18;;;;;;;;:30;;;:27;;:30;;;;;;:63;;-1:-1:-1;;;;;;9836:63:0;;;;;;;;;;;9910:48;;9836:18;;:63;;9910:16;:48::i;:::-;9971:43;9988:11;10001:9;10012:1;9971:16;:43::i;:::-;-1:-1:-1;;;;;10079:18:0;;;;;;;:5;:18;;;;;;;;:21;10036:92;;;10102:22;;;;;;;:25;10036:92;;;;;;;;;10079:18;10036:92;;;;;;;;;;;7578:2558;;;;;;:::o;26377:158::-;26513:2;26504:12;26498:19;;26475:53::o;25377:139::-;25453:5;;-1:-1:-1;;;;;25453:5:0;25439:10;:19;25431:42;;;;;-1:-1:-1;;;25431:42:0;;;;;;;;;;;;-1:-1:-1;;;25431:42:0;;;;;;;;;;;;;;;25484:7;:24;;-1:-1:-1;;;;;;25484:24:0;-1:-1:-1;;;;;25484:24:0;;;;;;;;;;25377:139::o;1276:39::-;1312:3;1276:39;:::o;10154:185::-;10190:4;10207:15;10225:20;10234:10;10225:8;:20::i;:::-;10207:38;;10277:1;10264:10;:14;10256:44;;;;;-1:-1:-1;;;10256:44:0;;;;;;;;;;;;-1:-1:-1;;;10256:44:0;;;;;;;;;;;;;;;10311:20;10320:10;10311:8;:20::i;:::-;;10154:185;;:::o;1634:31::-;;;;:::o;22171:374::-;22240:20;;22307:1;22295:238;22313:2;22310:1;:5;;;22295:238;;;-1:-1:-1;;;;;22339:18:0;;;;;;:5;:18;;;;;;;;:36;;;;;;:33;;;;:36;;;;;;;;22336:76;;;22411:1;22394:18;;22336:76;-1:-1:-1;;;;;22448:18:0;;;;;;:5;:18;;;;;;;;:36;;;;;;:33;;;;:36;;;;;;;;22445:76;;;22520:1;22503:18;;22445:76;22317:3;;22295:238;;;;22171:374;;;:::o;1232:37::-;1267:2;1232:37;:::o;1514:43::-;;;;;;;;;;;;-1:-1:-1;;;;;1514:43:0;;:::o;3421:139::-;3501:5;;-1:-1:-1;;;;;3501:5:0;3487:10;:19;3479:42;;;;;-1:-1:-1;;;3479:42:0;;;;;;;;;;;;-1:-1:-1;;;3479:42:0;;;;;;;;;;;;;;;3532:8;:20;;-1:-1:-1;;3532:20:0;;;;;;;;;;3421:139::o;1793:26::-;;;;:::o;1566:27::-;;;;;;:::o;24178:110::-;-1:-1:-1;;;;;24260:11:0;24235:4;24260:11;;;:5;:11;;;;;:14;:19;;;24178:110::o;10842:261::-;-1:-1:-1;;;;;10975:14:0;10897:18;10975:14;;;:5;:14;;;;;:27;;;;10953:19;;11021:35;;;;;1774:4;10953:49;;;;11021:55;;;11020:75;;10842:261::o;21826:333::-;21897:30;;:::i;:::-;21929;;:::i;:::-;21984:1;21972:180;21990:2;21987:1;:5;;;21972:180;;;-1:-1:-1;;;;;22033:18:0;;;;;;:5;:18;;;;;;;;:36;;;;;;;:33;;;;:36;;;;;;;;22013:14;;:17;;;;;;;:56;;;:17;;;;;;;;:56;-1:-1:-1;;;;;22104:18:0;;;;;;:5;:18;;;;;;:36;;;;;;;:33;;;;:36;;;;;;;;;;22084:14;;:17;;;;;;;:56;;;:17;;;;;:56;21994:3;;21972:180;;3787:185;3873:8;;;;:16;;:8;:16;3865:47;;;;;-1:-1:-1;;;3865:47:0;;;;;;;;;;;;-1:-1:-1;;;3865:47:0;;;;;;;;;;;;;;;3923:41;3936:10;3948:15;3923:12;:41::i;:::-;3787:185;:::o;1672:21::-;;;;:::o;23351:312::-;-1:-1:-1;;;;;23480:18:0;;;23428:7;23480:18;;;:5;:18;;;;;;;;:34;;;;;;:27;;;;:34;;;;;:50;;23612:42;;;;23549:44;;;;23472:183;;;;;;;;;;;;;;;;;23428:7;;23437:16;;23428:7;;23480:50;;;;23549:44;;23612:42;;;;;23549:44;;23472:183;;23549:44;23472:183;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23472:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23351:312;;;;;:::o;1826:20::-;;;-1:-1:-1;;;;;1826:20:0;;:::o;23673:487::-;-1:-1:-1;;;;;23829:18:0;;;23750:7;23829:18;;;:5;:18;;;;;;;;:34;;;;;;:27;;;;:34;;;;;:50;;24045:42;;;;24106:45;;;;23898:54;;;23821:331;;;;;;;;;;;;;;;;;23750:7;;23759:16;;;;23750:7;;;;23829:50;;;;23898:54;;23971:55;;;24045:42;;;;;24106:45;;;23898:54;;23821:331;;;23898:54;23821:331;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23821:331:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23821:331:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23673:487;;;;;;;;:::o;1470:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1470:37:0;;;;;;;;;;:::o;22553:155::-;-1:-1:-1;;;;;22660:18:0;;22636:4;22660:18;;;:5;:18;;;;;;;;:40;;;;;;:33;;;;:40;;;;;;;;22553:155;;;;;:::o;1387:74::-;;;-1:-1:-1;;;;;1387:74:0;;:::o;3984:3578::-;4068:8;;;;:16;;:8;:16;4060:47;;;;;-1:-1:-1;;;4060:47:0;;;;;;;;;;;;-1:-1:-1;;;4060:47:0;;;;;;;;;;;;;;;4126:24;4139:10;4126:12;:24::i;:::-;4118:72;;;;-1:-1:-1;;;4118:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4209:6;:11;;4219:1;4209:11;:26;;;;4224:6;:11;;4234:1;4224:11;4209:26;4201:53;;;;;-1:-1:-1;;;4201:53:0;;;;;;;;;;;;-1:-1:-1;;;4201:53:0;;;;;;;;;;;;;;;4286:17;;;;;;;:10;:17;;;;;;4273:9;:30;4265:56;;;;;-1:-1:-1;;;4265:56:0;;;;;;;;;;;;-1:-1:-1;;;4265:56:0;;;;;;;;;;;;;;;4348:1;4340:5;:9;;;:32;;;;-1:-1:-1;1267:2:0;4353:19;;;;;4340:32;4332:58;;;;;-1:-1:-1;;;4332:58:0;;;;;;;;;;;;-1:-1:-1;;;4332:58:0;;;;;;;;;;;;;;;4429:1;4406:20;4415:10;4406:8;:20::i;:::-;:24;4403:160;;;4446:20;4455:10;4446:8;:20::i;:::-;;4403:160;;;4532:19;;4505:10;4499:17;;;;:5;:17;;;;;:30;;:52;4403:160;4581:10;4575:17;;;;:5;:17;;;;;;;;:38;;:79;;1374:4;1312:3;4617:9;:23;:37;4575:79;;;;;;4667:6;:49;;;;;;-1:-1:-1;4727:52:0;;;;;;;4796:11;;;;4792:2763;;;4839:10;4833:17;;;;:5;:17;;;;;;;;:39;;;;;;:32;;;;:39;;;;;;;;4832:40;4824:76;;;;;-1:-1:-1;;;4824:76:0;;;;;;;;;;;;-1:-1:-1;;;4824:76:0;;;;;;;;;;;;;;;4927:10;4921:17;;;;:5;:17;;;;;;;;:35;-1:-1:-1;;4948:7:0;;4921:35;;;;:26;;;;:35;;;;;;:43;;;;4917:135;;;4991:10;5031:5;4985:17;;;:5;:17;;;;;;;;:35;-1:-1:-1;;5012:7:0;;4985:35;;;:26;;:35;;;;;:43;;:51;;-1:-1:-1;;4985:51:0;;;4917:135;5072:22;5097:37;5116:10;5128:5;5097:18;:37::i;:::-;5218:5;;5072:62;;-1:-1:-1;;;;;;5200:23:0;;;5218:5;;5200:23;5197:717;;;5255:5;;5264:1;;5246:15;;-1:-1:-1;;;;;5255:5:0;5246:8;:15::i;:::-;:19;5243:177;;;5298:5;;5289:15;;-1:-1:-1;;;;;5298:5:0;5289:8;:15::i;:::-;;5243:177;;;5381:19;;5359:5;;;-1:-1:-1;;;;;5359:5:0;5353:12;;;;:5;:12;;;;;:25;:47;5243:177;5446:5;;-1:-1:-1;;;;;5446:5:0;5440:12;;;;:5;:12;;;;;:33;;:74;;1374:4;1312:3;5477:9;:23;:37;5440:74;;;;;;5533:8;:53;;5585:1;5545:41;;5533:53;;;;;;1774:4;5628:57;5533:53;5628:68;;;;5605:19;:91;;5628:68;;;;5605:91;;;;;5197:717;;;5737:8;:51;;1374:4;1312:3;5750:9;:23;:37;5737:51;;;;;;;1774:4;5830:57;5737:51;5830:68;;;;5807:19;:91;;5830:68;;;;5807:91;;;;;5197:717;5936:10;5930:17;;;;:5;:17;;;;;;;;:33;;;;;:26;;;:33;;;;;:66;;-1:-1:-1;;;;;;5930:66:0;-1:-1:-1;;;;;5930:66:0;;;;;6011:32;;:39;;;;;;:46;;-1:-1:-1;;6011:46:0;;;;;;6072:51;;5930:66;:33;6072:16;:51::i;:::-;6157:45;;;6193:1;6157:45;;;;;;;;;;;-1:-1:-1;;;;;6157:45:0;;;6165:10;;6157:45;;;;;;;;;;;4792:2763;;;;6252:10;6246:17;;;;:5;:17;;;;;;;;:39;;;;;;:32;;;;:39;;;;;;;;6245:40;6237:76;;;;;-1:-1:-1;;;6237:76:0;;;;;;;;;;;;-1:-1:-1;;;6237:76:0;;;;;;;;;;;;;;;6341:10;6335:17;;;;:5;:17;;;;;;;;:35;-1:-1:-1;;6362:7:0;;6335:35;;;;:26;;;;:35;;;;;;:43;;;;6331:135;;;6405:10;6445:5;6399:17;;;:5;:17;;;;;;;;:35;-1:-1:-1;;6426:7:0;;6399:35;;;:26;;:35;;;;;:43;;:51;;-1:-1:-1;;6399:51:0;;;6331:135;6482:22;6507:37;6526:10;6538:5;6507:18;:37::i;:::-;6628:5;;6482:62;;-1:-1:-1;;;;;;6610:23:0;;;6628:5;;6610:23;6607:717;;;6665:5;;6674:1;;6656:15;;-1:-1:-1;;;;;6665:5:0;6656:8;:15::i;:::-;:19;6653:177;;;6708:5;;6699:15;;-1:-1:-1;;;;;6708:5:0;6699:8;:15::i;:::-;;6653:177;;;6791:19;;6769:5;;;-1:-1:-1;;;;;6769:5:0;6763:12;;;;:5;:12;;;;;:25;:47;6653:177;6856:5;;-1:-1:-1;;;;;6856:5:0;6850:12;;;;:5;:12;;;;;:33;;:74;;1374:4;1312:3;6887:9;:23;:37;6850:74;;;;;;6943:8;:53;;6995:1;6955:41;;6943:53;;;;;;1774:4;7038:57;6943:53;7038:68;;;;7015:19;:91;;7038:68;;;;7015:91;;;;;6607:717;;;7147:8;:51;;1374:4;1312:3;7160:9;:23;:37;7147:51;;;;;;;1774:4;7240:57;7147:51;7240:68;;;;7217:19;:91;;7240:68;;;;7217:91;;;;;6607:717;7358:10;7352:17;;;;7394:4;7352:17;;;;;;;;:39;;;;;:32;;:39;;;;;;:46;;-1:-1:-1;;7352:46:0;;;;;;7413:51;;7442:14;7385:5;7413:16;:51::i;:::-;7498:45;;;7534:1;7498:45;;;;;;;;;;;-1:-1:-1;;;;;7498:45:0;;;7506:10;;7498:45;;;;;;;;;;;4792:2763;;3984:3578;;:::o;22998:345::-;23064:32;;:::i;:::-;23098;;:::i;:::-;23160:1;23148:188;23166:2;23163:1;:5;;;23148:188;;;-1:-1:-1;;;;;23211:18:0;;;;;;:5;:18;;;;;;;;:38;;;;;;:35;;;;:38;;;;;;;;23189:16;;:19;;;;;;;;;;;;;;;:60;;;;-1:-1:-1;;;;;23286:18:0;;;;;;:5;:18;;;;;;:38;;;;;;:35;;;;:38;;;;;;;23264:16;;:19;;;;;;;;;;:60;23170:3;;23148:188;;22716:274;-1:-1:-1;;;;;22868:18:0;;;;22792:21;22868:18;;;:5;:18;;;;;;;;:42;;;;;;:35;;;:42;;;;;;22940:35;;;;:42;;;;;;22868;;22716:274::o;10675:159::-;10818:8;;-1:-1:-1;;;;;10774:14:0;;10737:16;10774:14;;;:5;:14;;;;;:35;;;10737:16;;10818:8;10812:3;10774:41;10818:8;10774:52;;;;;;10675:159;-1:-1:-1;;10675:159:0:o;21459:349::-;21541:7;21561:240;-1:-1:-1;;;;;21599:18:0;;;21593:34;21599:18;;;21593:5;21599:18;;;;;;;;:27;;;;;;;21593:34;;;;;:56;;;;;;:49;;;;:56;;;;;;;21589:131;;;-1:-1:-1;;;;;;21677:18:0;;;;;;;:5;:18;;;;;;;;:27;;;21670:34;;21589:131;-1:-1:-1;;;;;21762:18:0;;;;;;;:5;:18;;;;;;;;:27;;;;;;21561:240;;1888:40;;;;;;;;;;;;;:::o;21098:349::-;21180:7;21200:240;-1:-1:-1;;;;;21238:18:0;;;21232:34;21238:18;;;21232:5;21238:18;;;;;;;;:27;;;;;;;21232:34;;;;;:56;;;;;;:49;;;;:56;;;;;;;21228:131;;;-1:-1:-1;;;;;;21316:18:0;;;;;;;:5;:18;;;;;;;;:27;;;21309:34;;21228:131;-1:-1:-1;;;;;21401:18:0;;;;;;;:5;:18;;;;;;;;:27;;;;;;21200:240;;1608:18;;;;:::o;10347:318::-;10397:4;10414:15;10432;10441:5;10432:8;:15::i;:::-;10458:6;:20;;;;;;;10517:19;;-1:-1:-1;;;;;10489:12:0;;10458:6;10489:12;;;-1:-1:-1;10489:12:0;;;;;;:25;;;:47;;;;10547:24;;;;:38;;;;;;10613:40;;10414:33;;-1:-1:-1;10489:12:0;10613:40;;;;;10414:33;;10613:40;;10458:6;10613:40;10414:33;10489:12;10613:40;;;10347:318;-1:-1:-1;;;;;;;10347:318:0:o;11113:1649::-;-1:-1:-1;;;;;11217:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:48;;27:10:-1;;23:18;;;45:23;;11217:66:0;;;;;;;;;;;-1:-1:-1;;;;;;11217:66:0;;;;;;;;;;;11300:38;;:55;11358:1;-1:-1:-1;11296:289:0;;;-1:-1:-1;;;;;11381:116:0;;;11440:22;;;;11424:1;11440:22;;;;;;;;:38;;;;;;;:31;;;;:38;;;;;;:48;;:55;11381:116;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11381:116:0;;;;;;;;11519:54;11534:15;11551:11;11564:1;11567:5;11519:14;:54::i;:::-;11512:61;;11296:289;11610:55;;;11653:1;11610:55;;;;;;;;;11663:1;11610:55;;;;;;-1:-1:-1;;;;;11610:55:0;;;;;;;;-1:-1:-1;;;;;;;;;;;11610:55:0;;;;;;;;11727:16;;;11741:1;11727:16;;;;;;;;;;-1:-1:-1;;;;;11676:22:0;;;;:5;:22;;;;;;:38;;;;;:31;;:38;;;;;;;:67;;;;:48;;;;;11727:16;11676:67;:::i;:::-;-1:-1:-1;;;;;;11759:22:0;;;;;;:5;:22;;;;;;;;:46;11797:7;;;11759:46;;;;:37;;:46;;;;;;;;11758:47;:70;;;;-1:-1:-1;11809:19:0;;;1267:2;11809:19;;11758:70;11754:156;;;-1:-1:-1;;;;;11845:22:0;;;;;;11894:4;11845:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:46;;:53;;-1:-1:-1;;11845:53:0;;;;;;11754:156;11987:5;;-1:-1:-1;;;;;11968:24:0;;;11987:5;;11968:24;11964:791;;12009:27;12039:42;12058:15;12075:5;12039:18;:42::i;:::-;-1:-1:-1;;;;;12100:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:54;12009:72;;-1:-1:-1;12100:77:0;;;:54;;:77;12096:194;;-1:-1:-1;;;;;12198:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:76;;-1:-1:-1;;;;;;12198:76:0;;;;;;;;;;12096:194;-1:-1:-1;;;;;12318:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;;:52;;:54;;;;;;12392:69;;;;;;;;;;;;;;;;;;;;;12318:22;-1:-1:-1;;;;;;;;;;;12392:69:0;;;;;;;12476:61;12493:15;12510:19;12531:5;12476:16;:61::i;:::-;11964:791;;;;12585:5;;12570:44;;-1:-1:-1;;;;;12585:5:0;12592:11;12585:5;12608;12570:14;:44::i;:::-;12635:5;;;-1:-1:-1;;;;;12635:5:0;;;12629:12;;;;:5;:12;;;;;;;;:28;;;;;;:21;;;;:28;;;;;:42;;:44;;;;;;12702:5;;12693:50;;;;;;;;;;;;;;;;;;12629:12;;12702:5;;;;;-1:-1:-1;;;;;;;;;;;12693:50:0;;;;;;;11964:791;11113:1649;;;:::o;12772:4754::-;-1:-1:-1;;;;;12886:22:0;;;;;;:5;:22;;;;;;;;:44;;;;;;:37;;;;:44;;;;;;;;12878:88;;;;;-1:-1:-1;;;12878:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12983:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;:65;13051:1;-1:-1:-1;12979:2323:0;;;-1:-1:-1;;;;;13070:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;;:31;;;;:38;;;;;:58;;27:10:-1;;23:18;;;45:23;;13070:76:0;;;;;;;;;;;-1:-1:-1;;;;;;13070:76:0;;;;;;;;;13226:38;;;;:65;;13167:126;;13210:1;13167:126;;;;;;;;;;;;;;;;;;13070:22;;:76;-1:-1:-1;;;;;;;;;;;13167:126:0;;;;;;;;;-1:-1:-1;;;;;13322:18:0;;;;;;;:5;:18;;;;;;;;:34;;;;;:27;;:34;;;;;:68;;-1:-1:-1;;;;;;13322:68:0;;;;;;;;;;13477:5;;;;;13458:24;13454:126;;;13510:54;13525:15;13542:11;13555:1;13558:5;13510:14;:54::i;13454:126::-;-1:-1:-1;;;;;13622:22:0;;;13608:11;13622:22;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;13699:10;;;;;;;;;:26;;;:19;;;:26;;;;;:47;;;;27:10:-1;;23:18;;;45:23;;13699:65:0;;;;;;;;;;;-1:-1:-1;;;;;;13699:65:0;;;;;;;;;;;13806:26;;:46;;:53;13622:54;;13894:8;;13893:102;;;;-1:-1:-1;;;;;;13926:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;:46;:49;;:68;;;;:46;;:10;:49;;;;;;;;;;;;;;-1:-1:-1;;;;;13926:49:0;:68;13893:102;:193;;;;-1:-1:-1;;;;;;14017:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;;:46;;:49;;:68;;;;:46;;:5;:49;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14017:49:0;:68;13893:193;13889:1314;;;-1:-1:-1;;;;;14111:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:65;:70;14107:264;;;14211:43;;;14242:1;14211:43;;;;;;;;;14252:1;14211:43;;;;;;-1:-1:-1;;;;;14211:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;14211:43:0;;;;;;;;14107:264;;;14308:43;;;14339:1;14308:43;;;;;;;;;14349:1;14308:43;;;;;;-1:-1:-1;;;;;14308:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;14308:43:0;;;;;;;;14107:264;13889:1314;;;14398:3;14405:1;14398:8;:20;;;;14410:3;14417:1;14410:8;14398:20;14397:115;;;;-1:-1:-1;;;;;;14444:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;:46;:49;;:68;;;;:46;;:10;:49;;;;;;;;;;;;;;-1:-1:-1;;;;;14444:49:0;:68;14397:115;14393:810;;;-1:-1:-1;;;;;14537:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:65;:70;14533:264;;;14637:43;;;14668:1;14637:43;;;;;;;;;14678:1;14637:43;;;;;;-1:-1:-1;;;;;14637:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;14637:43:0;;;;;;;;14533:264;;;14734:43;;;14765:1;14734:43;;;;;;;;;14775:1;14734:43;;;;;;-1:-1:-1;;;;;14734:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;14734:43:0;;;;;;;;14393:810;;;14822:3;14829:1;14822:8;:80;;;;-1:-1:-1;;;;;;14834:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;;:46;;:49;;:68;;;;:46;;:5;:49;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14834:49:0;:68;14822:80;14818:385;;;-1:-1:-1;;;;;14927:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:65;:70;14923:265;;;15027:43;;;15058:1;15027:43;;;;;;;;;15068:1;15027:43;;;;;;-1:-1:-1;;;;;15027:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;15027:43:0;;;;;;;;14923:265;;;15124:43;;;15155:1;15124:43;;;;;;;;;15165:1;15124:43;;;;;;-1:-1:-1;;;;;15124:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;15124:43:0;;;;;;;;14923:265;15238:52;15266:11;15279:3;15284:5;15238:27;:52::i;:::-;15231:59;;;;12979:2323;-1:-1:-1;;;;;15322:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:59;;;27:10:-1;;23:18;;;45:23;;15322:77:0;;;;;;;;;;-1:-1:-1;;;;;;15322:77:0;;;;;;;15416:38;;:49;;;;:63;15412:1082;;-1:-1:-1;;;;;15584:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:61;;:58;;:5;:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15501:22:0;;;;;15584:61;15501:22;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;;:61;;15584;;;;;15501:58;;:61;;;;;;;;;;;;;;-1:-1:-1;;;;;15501:61:0;:144;15500:300;;;;-1:-1:-1;;;;;;15750:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:49;;;;15668:58;;:61;;15750:49;;;;;15668:58;15750:22;15668:61;;;;;;;;;;;;;;-1:-1:-1;;;;;15668:61:0;:131;15500:300;15496:987;;;15823:51;15832:11;15845:15;15862:5;15869:4;15823:8;:51::i;:::-;15900:64;15928:11;15941:15;15958:5;15900:27;:64::i;15496:987::-;-1:-1:-1;;;;;16073:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:49;;;;15990:58;;:61;;16073:49;;;;;15990:58;16073:22;15990:61;;;;;;;;;;;;;;-1:-1:-1;;;;;15990:61:0;:132;15986:497;;;16143:51;16152:11;16165:15;16182:5;16189:4;16143:8;:51::i;15986:497::-;16325:52;16334:11;16347:15;16364:5;16371;16325:8;:52::i;15986:497::-;-1:-1:-1;;;;;16510:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:61;;:76;;;;:58;;:5;:61;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16510:61:0;:76;16506:499;;;16603:52;16612:11;16625:15;16642:5;16649;16603:8;:52::i;16506:499::-;-1:-1:-1;;;;;16763:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;:61;;:76;;;;:58;;:22;:61;;;;;;;;;;;;;;-1:-1:-1;;;;;16763:61:0;:76;16759:246;;;16856:51;16865:11;16878:15;16895:5;16902:4;16856:8;:51::i;16759:246::-;-1:-1:-1;;;;;17164:22:0;;17158:68;17164:22;;;17158:5;17164:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;17158:5;;:68;:5;;17164:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17164:61:0;;;17158:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;17164:61;17158:104;;;:111;17035:22;;;;;;;;;;;:38;;;:31;;:38;;;;;;:58;;:61;;17164;;17035;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17035:61:0;17029:68;;;;;;;;;;;;;;;:84;;;;;:77;;:84;;;;;17035:61;17029:104;:111;:240;17025:409;;17286:52;17295:11;17308:15;17325:5;17332;17286:8;:52::i;:::-;17025:409;;;17371:51;17380:11;17393:15;17410:5;17417:4;17371:8;:51::i;:::-;17454:64;17482:11;17495:15;17512:5;17454:27;:64::i;25574:783::-;25683:16;25701:21;25726:50;25742:11;25755:5;25762:6;25770:5;25726:15;:50::i;:::-;25829:31;:17;;25787:18;25829:17;;;:10;:17;;;;;;;25896:50;;25682:94;;-1:-1:-1;25682:94:0;;-1:-1:-1;1374:4:0;1312:3;25829:31;;:45;25808:67;;;;-1:-1:-1;;;;;25896:35:0;;;:50;;;;;25808:67;;25896:50;25787:18;25896:50;25808:67;25896:35;:50;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;25957:7:0;;;:45;;;-1:-1:-1;;;25957:45:0;;-1:-1:-1;;;;;25957:45:0;;;;;;;;;;;;;;;:7;;;;;:16;;:45;;;;;;;;;;;;;;;;;;:7;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;25957:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25957:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;26063:1:0;26053:11;;;;26050:170;;;-1:-1:-1;;;;;26079:15:0;;;;;;:5;:15;;;;;;;;:39;;;;;:32;;:39;;;;;:56;;;;;;26050:170;;;-1:-1:-1;;;;;26164:15:0;;;;;;:5;:15;;;;;;;;:39;;;;;:32;;:39;;;;;:56;;;;;;26050:170;26247:16;26243:107;;;26285:53;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26285:53:0;;;;;;;;;;;;;;;;;;;26243:107;25574:783;;;;;;;:::o;19125:1961::-;-1:-1:-1;;;;;19244:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:59;;:66;19313:1;-1:-1:-1;19240:178:0;;;19352:54;19367:15;19384:11;19397:1;19400:5;19352:14;:54::i;19240:178::-;-1:-1:-1;;;;;19466:22:0;;;19460:61;19466:22;;;19460:5;19466:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;;19460:61;;;;;;;;:77;;;:70;;;;:77;;;;;;:97;19438:119;;;;;;;;;;;;;;;;;:19;;:119;;;19460:97;19438:119;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19438:119:0;;;;;;;;;;;;;;;;;;;;;;;19582:2;:9;19595:1;19582:14;19578:501;;;19626:15;-1:-1:-1;;;;;19617:24:0;:2;19620:1;19617:5;;;;;;;;;;;;;;-1:-1:-1;;;;;19617:24:0;;:69;;;;19671:15;-1:-1:-1;;;;;19662:24:0;:2;19665:1;19662:5;;;;;;;;;;;;;;-1:-1:-1;;;;;19662:24:0;;19617:69;19613:455;;;-1:-1:-1;;;;;19713:22:0;;;19707:61;19713:22;;;19707:5;19713:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;;19707:61;;;;;;;;:77;;;:70;;;;:77;;;;;;:88;;:106;;-1:-1:-1;;;;;;19707:106:0;;;;;;19613:455;;;19839:2;:9;19852:1;19839:14;19835:233;;;19887:15;-1:-1:-1;;;;;19878:24:0;:2;19881:1;19878:5;;;;;;;;;;;;;;-1:-1:-1;;;;;19878:24:0;;19874:179;;;-1:-1:-1;;;;;19933:22:0;;;19927:61;19933:22;;;19927:5;19933:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;;19927:61;;;;;;;;:77;;;:70;;;;:77;;;;;;:88;;:106;;-1:-1:-1;;;;;;19927:106:0;;;;;;19874:179;20160:16;;;20174:1;20160:16;;;;;;;;;;-1:-1:-1;;;;;20099:22:0;;;;:5;:22;;;;;;:38;;;;;:31;;:38;;;;;;;:77;;;;:58;;;;;20160:16;20099:77;:::i;:::-;-1:-1:-1;20249:16:0;;;20263:1;20249:16;;;;;;;;;;-1:-1:-1;;;;;20187:22:0;;;;:5;:22;;;;;:38;;;;;:31;;:38;;;;;;:78;;;;:59;;;;;20249:16;20187:78;:::i;:::-;-1:-1:-1;;;;;;20276:22:0;;20336:1;20276:22;;;:5;:22;;;;;;;;:38;;;;;;:31;;;:38;;;;;:49;;:62;;-1:-1:-1;;;;;;20276:62:0;;;20394:7;;;20356:46;;;;:37;;:46;;;;;;;;20355:47;:70;;;;-1:-1:-1;20406:19:0;;;1267:2;20406:19;;20355:70;20351:156;;;-1:-1:-1;;;;;20442:22:0;;;;;;20491:4;20442:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:46;;:53;;-1:-1:-1;;20442:53:0;;;;;;20351:156;-1:-1:-1;;;;;20519:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:52;;:54;;;;;;;20659:5;;;;;20640:24;20636:443;;20681:27;20711:42;20730:15;20747:5;20711:18;:42::i;:::-;20775:69;;;20835:1;20775:69;;;;;;;;;;;20681:72;;-1:-1:-1;;;;;;20775:69:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;20775:69:0;;;;;;;;20859:61;20876:15;20893:19;20914:5;20859:16;:61::i;:::-;20636:443;;;;20967:5;;20958:50;;;20999:1;20958:50;;;;;;;;;;;-1:-1:-1;;;;;20958:50:0;;;;20982:1;;20967:5;;;-1:-1:-1;;;;;;;;;;;20958:50:0;;;;;;;;;;21038:5;;21023:44;;-1:-1:-1;;;;;21038:5:0;21045:11;21058:1;21061:5;21023:14;:44::i;:::-;19125:1961;;;;:::o;17534:1579::-;17644:2;17639:1467;;-1:-1:-1;;;;;17669:22:0;;17663:68;17669:22;;;17663:5;17669:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;17663:5;;:68;;;17669:61;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17669:61:0;;;17663:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;17669:61;17663:104;;;27:10:-1;;23:18;;;45:23;;17663:122:0;;;;;;;;;-1:-1:-1;;;;;;17663:122:0;;;;;;;17831:22;;;;;;;;;;;:38;;;:31;:38;;;;;:58;;;:61;;:58;;17669:61;17831;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17916:22:0;;;;;17831:61;17916:22;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:61;;17831;;;;17805:218;;;;-1:-1:-1;;;;;;;;;;;17805:218:0;17894:1;;17897:5;;17831:61;;;;17916;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17916:61:0;17910:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;;17916:61;17910:104;:111;17805:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18043:176:0;;;18106:68;18112:22;;;18106:5;18112:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;18043:176;;;;;-1:-1:-1;;;;;;;;;;;18043:176:0;18086:1;;18089:5;;18106;;:68;;18112:61;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18112:61:0;18106:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;;18112:61;18106:104;:111;18043:176;;;;;;;;;;;;;;;;;18096:1;:122;;;18043:176;;;;;;;;;;;;;;-1:-1:-1;;;;;18301:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;:61;;:58;;:22;:61;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18248:18:0;;;;;18301:61;18248:18;;;;;;:34;;;;;:27;;:34;;;;;;;:114;;-1:-1:-1;;;;;;18248:114:0;18301:61;;;;18248:114;;;17639:1467;;;-1:-1:-1;;;;;18401:22:0;;18395:68;18401:22;;;18395:5;18401:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;18395:5;;:68;:5;;18401:61;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18401:61:0;;;18395:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;18401:61;18395:104;;;27:10:-1;;23:18;;;45:23;;18395:122:0;;;;;;;;;-1:-1:-1;;;;;;18395:122:0;;;;;;;18563:22;;;;;;;;;;;:38;;;:31;:38;;;:58;;:61;;:58;;18401:61;18563;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18648:22:0;;;;;18563:61;18648:22;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:61;;18563;;;;18537:218;;;;-1:-1:-1;;;;;;;;;;;18537:218:0;18626:1;;18629:5;;18563:61;;;;18648;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18648:61:0;18642:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;;18648:61;18642:104;:111;18537:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18775:176:0;;;18838:68;18844:22;;;18838:5;18844:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;18775:176;;;;;-1:-1:-1;;;;;;;;;;;18775:176:0;18818:1;;18821:5;;18838;;;;18844:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18844:61:0;18838:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;;18844:61;18838:104;:111;18775:176;;;;;;;;;;;;;;;;;18828:1;:122;;;18775:176;;;;;;;;;;;;;;-1:-1:-1;;;;;19033:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:61;;:58;;:5;:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18980:18:0;;;;;19033:61;18980:18;;;;;;:34;;;;;:27;;:34;;;;;;;:114;;-1:-1:-1;;;;;;18980:114:0;19033:61;;;;18980:114;;;17534:1579;;;;:::o;24296:1073::-;24400:7;;24445:11;24400:7;24513:1;24503:11;;;;24499:863;;;24531:394;-1:-1:-1;;;;;24567:15:0;;;;;;:5;:15;;;;;;;;:31;;;;;;:24;;;;:31;;;;;;:39;;;;24563:347;;;24636:43;;;24670:1;24636:43;;;;;;;;;;;-1:-1:-1;;;;;24636:43:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24759:15:0;;;;;;;24721:4;24759:15;;;;;;;;:31;;;;;:24;;:31;;;;;;:47;;;;;24563:347;;;24863:8;;-1:-1:-1;24873:16:0;-1:-1:-1;24855:35:0;;24563:347;24531:394;;24499:863;-1:-1:-1;;;;;24993:15:0;;;;;;:5;:15;;;;;;;;:31;;;;;;:24;;;;:31;;;;;;:39;;;;24989:347;;;25062:43;;;25096:1;25062:43;;;;;;;;;;;-1:-1:-1;;;;;25062:43:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;25185:15:0;;;;;;;25147:4;25185:15;;;;;;;;:31;;;;;:24;;:31;;;;;;:47;;;;;24957:394;;24296:1073;;;;;;;;:::o;321:26217::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;321:26217:0;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;321:26217:0;;;-1:-1:-1;;321:26217:0:o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;321:26217:0;-1:-1:-1;;;;;321:26217:0;;;;;;;;;;;-1:-1:-1;321:26217:0;;;;;;;-1:-1:-1;321:26217:0;;;-1:-1:-1;321:26217:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;321:26217:0;;;;;;;;;:::o
Swarm Source
bzzr://8f21428330e32ee4ffffece52759c18c5cdafea09c910a839a51256a125b7db6
Loading...LoadingLoading...Loading
Loading...Loading
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingMultichain Portfolio | 26 Chains
Chain Token Portfolio % Price Amount Value MATIC Polygon (MATIC)100.00% $0.35327 41,111.209 $14,523.37 [ Download: CSV Export ][ Download: CSV Export ]A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DirtyBytesArrayToStorage (low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), ABIDecodeTwoDimensionalArrayMemory (very low-severity), KeccakCaching (medium-severity), EmptyByteArrayCopy (medium-severity), DynamicArrayCleanup (medium-severity), MissingEscapingInFormatting (very low-severity), ImplicitConstructorCallvalueCheck (very low-severity), TupleAssignmentMultiStackSlotComponents (very low-severity), MemoryArrayCreationOverflow (low-severity), privateCanBeOverridden (low-severity) Solidity Compiler Bugs.
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Before You Copy
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.