TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

9c711161-870e-44a5-9dec-202386f236a2

complete
Chain ID
1
Address
Block Number
Created
Wed, Dec 31, 2025 10:48 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Reentrant token transfer allows repeated withdrawals before balance update
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30952 report.consolidate complete 1 / 1 3 months ago
94723 artifact.fetch complete 1 / 3 1 week ago
94724 tool.cast_disasm complete 1 / 3 1 week ago
94725 analysis.bundle complete 1 / 3 1 week ago
94726 capability.graph complete 1 / 3 1 week ago
94727 detector.run complete 1 / 3 1 week ago
94728 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found a reentrancy path in `withdraw` that lets an attacker drain the full balance of any reentrant token (ERC777/223/malicious ERC20) held by the exchange.
View stderr
[codex:298115] OpenAI Codex v0.77.0 (research preview)
[codex:298115] --------
[codex:298115] workdir: /tmp/codex-multi-l34v4hnc
[codex:298115] model: gpt-5.2-codex
[codex:298115] provider: openai
[codex:298115] approval: never
[codex:298115] sandbox: read-only
[codex:298115] reasoning effort: xhigh
[codex:298115] reasoning summaries: auto
[codex:298115] session id: 019b7694-d76c-7d72-8d45-2ed7f42af41d
[codex:298115] --------
[codex:298115] user
[codex:298115] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:298115] 
[codex:298115] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:298115] 
[codex:298115] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:298115] - Gas inefficiency, code quality, naming, or best practices
[codex:298115] - Theoretical vulnerabilities without a clear extraction path
[codex:298115] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:298115] - Front-running unless it enables theft beyond MEV
[codex:298115] - DoS, griefing, or issues that don't result in attacker profit
[codex:298115] - Missing events, view function issues, or informational findings
[codex:298115] 
[codex:298115] HIGH-VALUE PATTERNS TO HUNT:
[codex:298115] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:298115] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:298115] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:298115] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:298115] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:298115] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:298115] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:298115] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:298115] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:298115] 
[codex:298115] For each finding, you MUST provide:
[codex:298115] 1. Exact file and line numbers of vulnerable code
[codex:298115] 2. Step-by-step exploit transaction sequence
[codex:298115] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:298115] 
[codex:298115] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:298115] 
[codex:298115] Output MUST be valid JSON matching the provided schema.
[codex:298115] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:298115] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:298115] mcp startup: no servers
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Preparing to read AUDIT_BUNDLE.txt**
[codex:298115] exec
[codex:298115] /bin/bash -lc ls in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] AUDIT_BUNDLE.txt
[codex:298115] codex-output-schema.json
[codex:298115] contracts
[codex:298115] exec
[codex:298115] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:298115] 
[codex:298115] ================================================================================
[codex:298115] FILE: contracts/Contract.sol
[codex:298115] ================================================================================
[codex:298115] pragma solidity ^0.4.21;
[codex:298115] 
[codex:298115] // File: contracts/Oracle/DSAuth.sol
[codex:298115] 
[codex:298115] contract DSAuthority {
[codex:298115]     function canCall(
[codex:298115]         address src, address dst, bytes4 sig
[codex:298115]     ) public view returns (bool);
[codex:298115] }
[codex:298115] 
[codex:298115] contract DSAuthEvents {
[codex:298115]     event LogSetAuthority (address indexed authority);
[codex:298115]     event LogSetOwner     (address indexed owner);
[codex:298115] }
[codex:298115] 
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Searching for exploit clues in audit bundle**
[codex:298115] exec
[codex:298115] /bin/bash -lc "rg -n \"function withdraw|withdraw\\(|transfer\\(|call\\(\" -n contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 407:        bool ret = med_.call(bytes4(keccak256("poke()")));
[codex:298115] 864:            let success := delegatecall(not(0), _masterCopy, 0, calldatasize(), 0, 0)
[codex:298115] 891:    function transfer(address to, uint value) public returns (bool);
[codex:298115] 922:    function transfer(address to, uint value)
[codex:298115] 1117:    function withdrawUnlockedTokens()
[codex:298115] 1657:    function withdraw(
[codex:298115] 1671:        require(Token(tokenAddress).transfer(msg.sender, amount));
[codex:298115] 2348:        newBal = withdraw(buyToken, amount);
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Inspecting withdraw and claim functions**
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '1500,1750p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 5ms:
[codex:298115]         // Update masterCopy
[codex:298115]         masterCopy = newMasterCopy;
[codex:298115]         newMasterCopy = address(0);
[codex:298115]     }
[codex:298115] 
[codex:298115]     /// @param initialClosingPriceNum initial price will be 2 * initialClosingPrice. This is its numerator
[codex:298115]     /// @param initialClosingPriceDen initial price will be 2 * initialClosingPrice. This is its denominator
[codex:298115]     function addTokenPair(
[codex:298115]         address token1,
[codex:298115]         address token2,
[codex:298115]         uint token1Funding,
[codex:298115]         uint token2Funding,
[codex:298115]         uint initialClosingPriceNum,
[codex:298115]         uint initialClosingPriceDen 
[codex:298115]     )
[codex:298115]         public
[codex:298115]     {
[codex:298115]         // R1
[codex:298115]         require(token1 != token2);
[codex:298115] 
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing potential reentrancy in withdraw function**
[codex:298115] exec
[codex:298115] /bin/bash -lc "rg -n \"approvedTokens|approveToken|Approval\\(\" contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 7ms:
[codex:298115] 886:    event Approval(address indexed owner, address indexed spender, uint value);
[codex:298115] 964:        emit Approval(msg.sender, spender, value);
[codex:298115] 1339:    mapping (address => bool) public approvedTokens;
[codex:298115] 1474:            approvedTokens[token[i]] = approved;
[codex:298115] 1475:            Approval(token[i], approved);
[codex:298115] 1928:        if (approvedTokens[primaryToken] && approvedTokens[secondaryToken]) {
[codex:298115] 2712:            isApproved[i] = approvedTokens[addressToCheck[i]];
[codex:298115] 2840:    event Approval(
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '1300,1500p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] contract DutchExchange is Proxied {
[codex:298115] 
[codex:298115]     // The price is a rational number, so we need a concept of a fraction
[codex:298115]     struct fraction {
[codex:298115]         uint num;
[codex:298115]         uint den;
[codex:298115]     }
[codex:298115] 
[codex:298115]     uint constant WAITING_PERIOD_NEW_TOKEN_PAIR = 6 hours;
[codex:298115]     uint constant WAITING_PERIOD_NEW_AUCTION = 10 minutes;
[codex:298115]     uint constant WAITING_PERIOD_CHANGE_MASTERCOPY_OR_ORACLE = 30 days;
[codex:298115]     uint constant AUCTION_START_WAITING_FOR_FUNDING = 1;
[codex:298115] 
[codex:298115]     address public newMasterCopy;
[codex:298115]     // Time when new masterCopy is updatabale
[codex:298115]     uint public masterCopyCountdown;
[codex:298115] 
[codex:298115]     // > Storage
[codex:298115]     // auctioneer has the power to manage some variables
[codex:298115]     address public auctioneer;
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing token approval and reentrancy risks**
[codex:298115] exec
[codex:298115] /bin/bash -lc 'rg -n "approvedTokens" -n contracts/Contract.sol' in /tmp/codex-multi-l34v4hnc succeeded in 7ms:
[codex:298115] 1339:    mapping (address => bool) public approvedTokens;
[codex:298115] 1474:            approvedTokens[token[i]] = approved;
[codex:298115] 1928:        if (approvedTokens[primaryToken] && approvedTokens[secondaryToken]) {
[codex:298115] 2712:            isApproved[i] = approvedTokens[addressToCheck[i]];
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Checking around line 1928**
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '1860,1980p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 5ms:
[codex:298115]         // Claim tokens
[codex:298115]         sellerBalances[sellToken][buyToken][auctionIndex][user] = 0;
[codex:298115]         if (returned > 0) {
[codex:298115]             balances[buyToken][user] = add(balances[buyToken][user], returned);
[codex:298115]         }
[codex:298115]         NewSellerFundsClaim(sellToken, buyToken, user, auctionIndex, returned, frtsIssued);
[codex:298115]     }
[codex:298115] 
[codex:298115]     function claimBuyerFunds(
[codex:298115]         address sellToken,
[codex:298115]         address buyToken,
[codex:298115]         address user,
[codex:298115]         uint auctionIndex
[codex:298115]     )
[codex:298115]         public
[codex:298115]         returns (uint returned, uint frtsIssued)
[codex:298115]     {
[codex:298115]         closeTheoreticalClosedAuction(sellToken, buyToken, auctionIndex);
[codex:298115]         
[codex:298115]         uint num;
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing reentrancy vulnerabilities and token interaction**
[codex:298115] 
[codex:298115] I'm carefully reasoning about possible reentrancy attacks via token transfers, especially with ERC777 tokens that invoke hooks during transfers. The issue would be if a malicious token leveraged these callbacks to reenter the withdraw function before balances update, allowing repeated withdrawals. Still, a concrete profit-making exploit depends on the protocol accepting such tokens and users depositing them. I'm also considering potential unprotected initialization in proxy patterns, so next I'll check for "Proxied" contract usage around line 700 to see if setup misconfigurations exist.
[codex:298115] exec
[codex:298115] /bin/bash -lc 'rg -n "contract Proxied|setupDutchExchange|Proxied" contracts/Contract.sol' in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 838:/// @title Proxied - indicates that a contract will be proxied. Also defines storage requirements for Proxy.
[codex:298115] 840:contract Proxied {
[codex:298115] 846:contract Proxy is Proxied {
[codex:298115] 1190:contract TokenOWL is Proxied, StandardToken {
[codex:298115] 1300:contract DutchExchange is Proxied {
[codex:298115] 1386:    function setupDutchExchange(
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '820,940p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115]     }
[codex:298115] 
[codex:298115]     /// @dev Returns product if no overflow occurred
[codex:298115]     /// @param a First factor
[codex:298115]     /// @param b Second factor
[codex:298115]     /// @return Product
[codex:298115]     function mul(int a, int b)
[codex:298115]         internal
[codex:298115]         pure
[codex:298115]         returns (int)
[codex:298115]     {
[codex:298115]         require(safeToMul(a, b));
[codex:298115]         return a * b;
[codex:298115]     }
[codex:298115] }
[codex:298115] 
[codex:298115] // File: @gnosis.pm/util-contracts/contracts/Proxy.sol
[codex:298115] 
[codex:298115] /// @title Proxied - indicates that a contract will be proxied. Also defines storage requirements for Proxy.
[codex:298115] /// @author Alan Lu - <alan@gnosis.pm>
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing unprotected proxy initialization**
[codex:298115] exec
[codex:298115] /bin/bash -lc 'rg -n "contract TokenOWL|contract TokenFRT|setup" contracts/Contract.sol' in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 1005:contract TokenFRT is StandardToken {
[codex:298115] 1190:contract TokenOWL is Proxied, StandardToken {
[codex:298115] 1386:    function setupDutchExchange(
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '980,1240p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 5ms:
[codex:298115]     /// @dev Returns number of tokens owned by given address
[codex:298115]     /// @param owner Address of token owner
[codex:298115]     /// @return Balance of owner
[codex:298115]     function balanceOf(address owner)
[codex:298115]         public
[codex:298115]         view
[codex:298115]         returns (uint)
[codex:298115]     {
[codex:298115]         return balances[owner];
[codex:298115]     }
[codex:298115] 
[codex:298115]     /// @dev Returns total supply of tokens
[codex:298115]     /// @return Total supply
[codex:298115]     function totalSupply()
[codex:298115]         public
[codex:298115]         view
[codex:298115]         returns (uint)
[codex:298115]     {
[codex:298115]         return totalTokens;
[codex:298115]     }
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Checking TokenOWL proxy setup**
[codex:298115] exec
[codex:298115] /bin/bash -lc 'rg -n "setup" -n contracts/Contract.sol' in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 1386:    function setupDutchExchange(
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Investigating DutchExchange vulnerabilities**
[codex:298115] exec
[codex:298115] /bin/bash -lc 'rg -n "postBuyOrder|claimSellerFunds|getUnclaimedSellerFunds|getUnclaimedBuyerFunds" contracts/Contract.sol' in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 1758:    function postBuyOrder(
[codex:298115] 1830:    function claimSellerFunds(
[codex:298115] 1881:        (returned, num, den) = getUnclaimedBuyerFunds(sellToken, buyToken, user, auctionIndex);
[codex:298115] 1973:                postBuyOrder(sellToken, buyToken, auctionIndex, 0);
[codex:298115] 1979:    function getUnclaimedBuyerFunds(
[codex:298115] 2347:        (returned, frtsIssued) = claimSellerFunds(sellToken, buyToken, user, auctionIndex);
[codex:298115] 2739:            claimSellerFunds(auctionSellTokens[i], auctionBuyTokens[i], user, auctionIndices[i]);
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '1750,2100p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115]             scheduleNextAuction(sellToken, buyToken);
[codex:298115]         }
[codex:298115] 
[codex:298115]         NewSellOrder(sellToken, buyToken, msg.sender, auctionIndex, amountAfterFee);
[codex:298115] 
[codex:298115]         return (auctionIndex, newSellerBal);
[codex:298115]     }
[codex:298115] 
[codex:298115]     function postBuyOrder(
[codex:298115]         address sellToken,
[codex:298115]         address buyToken,
[codex:298115]         uint auctionIndex,
[codex:298115]         uint amount
[codex:298115]     )
[codex:298115]         public
[codex:298115]         returns (uint)
[codex:298115]     {
[codex:298115]         // R1: auction must not have cleared
[codex:298115]         require(closingPrices[sellToken][buyToken][auctionIndex].den == 0);
[codex:298115] 
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing fee avoidance and auction clearing logic**
[codex:298115] exec
[codex:298115] /bin/bash -lc "rg -n \"function clearAuction|clearAuction\\(\" contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 1824:            clearAuction(sellToken, buyToken, auctionIndex, sellVolume);
[codex:298115] 2114:    function clearAuction(
[codex:298115] 2189:        // We use current sell volume, because in clearAuction() we set
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '2100,2310p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115]             // 0.1%
[codex:298115]             num = 1;
[codex:298115]             den = 1000;
[codex:298115]         } else {
[codex:298115]             // 0% 
[codex:298115]             num = 0; 
[codex:298115]             den = 1;
[codex:298115]         }
[codex:298115]     }
[codex:298115] 
[codex:298115]     /// @dev clears an Auction
[codex:298115]     /// @param sellToken sellToken of the auction
[codex:298115]     /// @param buyToken  buyToken of the auction
[codex:298115]     /// @param auctionIndex of the auction to be cleared.
[codex:298115]     function clearAuction(
[codex:298115]         address sellToken,
[codex:298115]         address buyToken,
[codex:298115]         uint auctionIndex,
[codex:298115]         uint sellVolume
[codex:298115]     )
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Identifying potential reentrancy and fee avoidance bugs**
[codex:298115] 
[codex:298115] I’m analyzing various functions for underflows, infinite loops, fee avoidance, and miscalculations, and I see a notable reentrancy risk in `withdraw` where the external token transfer happens before state updates, allowing an attacker with a reentrant token (like ERC777) to drain others’ token balances. There’s also a fee avoidance scenario in `postBuyOrder` where fees might not be charged, effectively extracting value. Overall, these look like concrete exploit paths mostly around reentrancy and fee logic.
[codex:298115] exec
[codex:298115] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1630,1705p'" in /tmp/codex-multi-l34v4hnc succeeded in 7ms:
[codex:298115]   1630	        sellVolumesCurrent[token2][token1] = token2FundingAfterFee;
[codex:298115]   1631	        sellerBalances[token1][token2][1][msg.sender] = token1FundingAfterFee;
[codex:298115]   1632	        sellerBalances[token2][token1][1][msg.sender] = token2FundingAfterFee;
[codex:298115]   1633	        
[codex:298115]   1634	        setAuctionStart(token1, token2, WAITING_PERIOD_NEW_TOKEN_PAIR);
[codex:298115]   1635	        NewTokenPair(token1, token2);
[codex:298115]   1636	    }
[codex:298115]   1637	
[codex:298115]   1638	    function deposit(
[codex:298115]   1639	        address tokenAddress,
[codex:298115]   1640	        uint amount
[codex:298115]   1641	    )
[codex:298115]   1642	        public
[codex:298115]   1643	        returns (uint)
[codex:298115]   1644	    {
[codex:298115]   1645	        // R1
[codex:298115]   1646	        require(Token(tokenAddress).transferFrom(msg.sender, this, amount));
[codex:298115]   1647	
[codex:298115]   1648	        uint newBal = add(balances[tokenAddress][msg.sender], amount);
[codex:298115]   1649	
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing multiple token-related vulnerabilities**
[codex:298115] 
[codex:298115] I'm examining potential exploits involving reentrancy during withdrawals, fake token deposits that bypass real transfers, price oracle manipulation through auctions, and various edge cases that could let an attacker drain tokens or disrupt calculations. There's a lot here, from reentry without balance updates to manipulating auction prices or exploiting unchecked token behaviors. I'll keep unpacking these to find concrete risks!
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '2310,2410p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 5ms:
[codex:298115]             // The numbers below are chosen such that
[codex:298115]             // P(0 hrs) = 2 * lastClosingPrice, P(6 hrs) = lastClosingPrice, P(>=24 hrs) = 0
[codex:298115] 
[codex:298115]             // 10^5 * 10^31 = 10^36
[codex:298115]             num = atleastZero(int((86400 - timeElapsed) * pastNum));
[codex:298115]             // 10^6 * 10^31 = 10^37
[codex:298115]             den = mul((timeElapsed + 43200), pastDen);
[codex:298115] 
[codex:298115]             if (mul(num, sellVolumesCurrent[sellToken][buyToken]) <= mul(den, buyVolumes[sellToken][buyToken])) {
[codex:298115]                 num = buyVolumes[sellToken][buyToken];
[codex:298115]                 den = sellVolumesCurrent[sellToken][buyToken];
[codex:298115]             }
[codex:298115]         }
[codex:298115]     }
[codex:298115] 
[codex:298115]     function depositAndSell(
[codex:298115]         address sellToken,
[codex:298115]         address buyToken,
[codex:298115]         uint amount
[codex:298115]     )
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Analyzing potential reentrancy in fee settlement**
[codex:298115] exec
[codex:298115] /bin/bash -lc 'rg -n "burnOWL|burn" contracts/Contract.sol' in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115] 1283:    /// @param amount Amount of OWL to be burnt
[codex:298115] 1284:    function burnOWL(address user, uint amount)
[codex:298115] 2062:            owlToken.burnOWL(msg.sender, amountOfowlTokenBurned);
[codex:298115] exec
[codex:298115] /bin/bash -lc "sed -n '1240,1315p' contracts/Contract.sol" in /tmp/codex-multi-l34v4hnc succeeded in 6ms:
[codex:298115]     }
[codex:298115] 
[codex:298115]     function getMasterCopy()
[codex:298115]         public
[codex:298115]         view
[codex:298115]         returns (address)
[codex:298115]     {
[codex:298115]         return masterCopy;
[codex:298115]     }
[codex:298115] 
[codex:298115]     /// @dev Set minter. Only the creator of this contract can call this.
[codex:298115]     /// @param newMinter The new address authorized to mint this token
[codex:298115]     function setMinter(address newMinter)
[codex:298115]         public
[codex:298115]         onlyCreator()
[codex:298115]     {
[codex:298115]         minter = newMinter;
[codex:298115]     }
[codex:298115] 
[codex:298115] 
[codex:298115] 
[codex:298115] 
[codex:298115] thinking
[codex:298115] **Identifying reentrancy vulnerability and fee logic issues**
[codex:298115] 
[codex:298115] I’m analyzing potential exploits focusing on reentrancy in the withdraw function, where external token transfers happen before balance updates, enabling repeated withdrawals with malicious tokens like ERC777. I also considered a logic flaw allowing fee evasion by clearing auctions with overbuy orders, which results in no fees charged, effectively profiting users by saving fees, though it might be intentional. The main concrete exploit path is the reentrancy drain using malicious tokens, posing a significant profit risk.
[codex:298115] thinking
[codex:298115] **Evaluating unprotected initialization and reentrancy exploit**
[codex:298115] 
[codex:298115] I’m weighing the unprotected initializer issue, which can lead to takeover if not called promptly after deployment, but its exploitability depends on deployment specifics. The strongest confirmed vulnerability remains the high-severity reentrancy in withdraw, allowing attackers with malicious tokens to repeatedly drain token balances before internal state updates, with a clear step-by-step exploit and major profit potential.
[codex:298115] codex
[codex:298115] {"no_findings":false,"summary":"Found a reentrancy path in `withdraw` that lets an attacker drain the full balance of any reentrant token (ERC777/223/malicious ERC20) held by the exchange.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrant token transfer allows repeated withdrawals before balance update","exploit_scenario":"1) Attacker deploys a contract that receives tokens and can reenter, and uses a token with a transfer hook (ERC777/223 or a malicious ERC20 that calls back on transfer). 2) Attacker deposits that token into the exchange so `balances[token][attacker]` is non‑zero. 3) Attacker calls `withdraw(token, amount)` with `amount <= balances[token][attacker]`. 4) During `Token(tokenAddress).transfer(msg.sender, amount)`, the token calls the attacker’s hook; the attacker reenters `withdraw` before the balance is updated. 5) Each reentrant call sees the original `usersBalance` and transfers `amount` again, but the balance is only reduced once after the first call returns. 6) Attacker drains the contract’s entire holdings of that token (other users’ deposits + auction sell volumes). Estimated profit: up to the full on‑contract balance of the reentrant token.","recommendation":"Update internal balances before the external token transfer and/or add a reentrancy guard. Consider restricting deposits/withdrawals to a vetted token list if reentrant tokens are not intended.","evidence":"`withdraw` performs `Token(tokenAddress).transfer(msg.sender, amount)` before reducing `balances[tokenAddress][msg.sender]`, enabling reentrancy to withdraw multiple times on the unchanged balance.","locations":["contracts/Contract.sol:1657","contracts/Contract.sol:1671","contracts/Contract.sol:1673"]}]}
[codex:298115] tokens used
[codex:298115] 51,794
[codex:298115] {"no_findings":false,"summary":"Found a reentrancy path in `withdraw` that lets an attacker drain the full balance of any reentrant token (ERC777/223/malicious ERC20) held by the exchange.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrant token transfer allows repeated withdrawals before balance update","exploit_scenario":"1) Attacker deploys a contract that receives tokens and can reenter, and uses a token with a transfer hook (ERC777/223 or a malicious ERC20 that calls back on transfer). 2) Attacker deposits that token into the exchange so `balances[token][attacker]` is non‑zero. 3) Attacker calls `withdraw(token, amount)` with `amount <= balances[token][attacker]`. 4) During `Token(tokenAddress).transfer(msg.sender, amount)`, the token calls the attacker’s hook; the attacker reenters `withdraw` before the balance is updated. 5) Each reentrant call sees the original `usersBalance` and transfers `amount` again, but the balance is only reduced once after the first call returns. 6) Attacker drains the contract’s entire holdings of that token (other users’ deposits + auction sell volumes). Estimated profit: up to the full on‑contract balance of the reentrant token.","recommendation":"Update internal balances before the external token transfer and/or add a reentrancy guard. Consider restricting deposits/withdrawals to a vetted token list if reentrant tokens are not intended.","evidence":"`withdraw` performs `Token(tokenAddress).transfer(msg.sender, amount)` before reducing `balances[tokenAddress][msg.sender]`, enabling reentrancy to withdraw multiple times on the unchanged balance.","locations":["contracts/Contract.sol:1657","contracts/Contract.sol:1671","contracts/Contract.sol:1673"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-31T22:48:15.766117+00:00",
        "returncode": 0
    },
    "summary": "Found a reentrancy path in `withdraw` that lets an attacker drain the full balance of any reentrant token (ERC777/223/malicious ERC20) held by the exchange.",
    "raw_final": {
        "summary": "Found a reentrancy path in `withdraw` that lets an attacker drain the full balance of any reentrant token (ERC777/223/malicious ERC20) held by the exchange.",
        "findings": [
            {
                "title": "Reentrant token transfer allows repeated withdrawals before balance update",
                "category": "reentrancy",
                "evidence": "`withdraw` performs `Token(tokenAddress).transfer(msg.sender, amount)` before reducing `balances[tokenAddress][msg.sender]`, enabling reentrancy to withdraw multiple times on the unchanged balance.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:1657",
                    "contracts/Contract.sol:1671",
                    "contracts/Contract.sol:1673"
                ],
                "recommendation": "Update internal balances before the external token transfer and/or add a reentrancy guard. Consider restricting deposits/withdrawals to a vetted token list if reentrant tokens are not intended.",
                "exploit_scenario": "1) Attacker deploys a contract that receives tokens and can reenter, and uses a token with a transfer hook (ERC777/223 or a malicious ERC20 that calls back on transfer). 2) Attacker deposits that token into the exchange so `balances[token][attacker]` is non\u2011zero. 3) Attacker calls `withdraw(token, amount)` with `amount <= balances[token][attacker]`. 4) During `Token(tokenAddress).transfer(msg.sender, amount)`, the token calls the attacker\u2019s hook; the attacker reenters `withdraw` before the balance is updated. 5) Each reentrant call sees the original `usersBalance` and transfers `amount` again, but the balance is only reduced once after the first call returns. 6) Attacker drains the contract\u2019s entire holdings of that token (other users\u2019 deposits + auction sell volumes). Estimated profit: up to the full on\u2011contract balance of the reentrant token."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
11
Total opcodes
13279
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0307
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH1 0xe0
00000014: PUSH1 0x02
00000016: EXP
00000017: PUSH1 0x00
00000019: CALLDATALOAD
0000001a: DIV
0000001b: AND
0000001c: PUSH3 0x599e65
00000020: DUP2
00000021: EQ
00000022: PUSH2 0x030c
00000025: JUMPI
00000026: DUP1
00000027: PUSH4 0x01a521d6
0000002c: EQ
0000002d: PUSH2 0x0355
00000030: JUMPI
00000031: DUP1
00000032: PUSH4 0x02ffc0b0
00000037: EQ
00000038: PUSH2 0x03de
0000003b: JUMPI
0000003c: DUP1
0000003d: PUSH4 0x04e80e90
00000042: EQ
00000043: PUSH2 0x03fc
00000046: JUMPI
00000047: DUP1
00000048: PUSH4 0x06d58f2a
0000004d: EQ
0000004e: PUSH2 0x042b
00000051: JUMPI
00000052: DUP1
00000053: PUSH4 0x0e7c0f80
00000058: EQ
00000059: PUSH2 0x0480
0000005c: JUMPI
0000005d: DUP1
0000005e: PUSH4 0x1006a41f
00000063: EQ
00000064: PUSH2 0x04a5
00000067: JUMPI
00000068: DUP1
00000069: PUSH4 0x14584a9d
0000006e: EQ
0000006f: PUSH2 0x04ca
00000072: JUMPI
00000073: DUP1
00000074: PUSH4 0x2cef4dac
00000079: EQ
0000007a: PUSH2 0x04ef
0000007d: JUMPI
0000007e: DUP1
0000007f: PUSH4 0x30690468
00000084: EQ
00000085: PUSH2 0x0504
00000088: JUMPI
00000089: DUP1
0000008a: PUSH4 0x37775807
0000008f: EQ
00000090: PUSH2 0x051a
00000093: JUMPI
00000094: DUP1
00000095: PUSH4 0x403fbf54
0000009a: EQ
0000009b: PUSH2 0x0549
0000009e: JUMPI
0000009f: DUP1
000000a0: PUSH4 0x47e7ef24
000000a5: EQ
000000a6: PUSH2 0x0568
000000a9: JUMPI
000000aa: DUP1
000000ab: PUSH4 0x4bf8e7a2
000000b0: EQ
000000b1: PUSH2 0x058a
000000b4: JUMPI
000000b5: DUP1
000000b6: PUSH4 0x4e30a66c
000000bb: EQ
000000bc: PUSH2 0x05ca
000000bf: JUMPI
000000c0: DUP1
000000c1: PUSH4 0x59f96ae5
000000c6: EQ
000000c7: PUSH2 0x05f7
000000ca: JUMPI
000000cb: DUP1
000000cc: PUSH4 0x5e7f22c2
000000d1: EQ
000000d2: PUSH2 0x0622
000000d5: JUMPI
000000d6: DUP1
000000d7: PUSH4 0x5ec2c7bf
000000dc: EQ
000000dd: PUSH2 0x064d
000000e0: JUMPI
000000e1: DUP1
000000e2: PUSH4 0x65054e55
000000e7: EQ
000000e8: PUSH2 0x0660
000000eb: JUMPI
000000ec: DUP1
000000ed: PUSH4 0x657a37ad
000000f2: EQ
000000f3: PUSH2 0x068e
000000f6: JUMPI
000000f7: DUP1
000000f8: PUSH4 0x65b0d711
000000fd: EQ
000000fe: PUSH2 0x06b6
00000101: JUMPI
00000102: DUP1
00000103: PUSH4 0x6d1ea3fa
00000108: EQ
00000109: PUSH2 0x0709
0000010c: JUMPI
0000010d: DUP1
0000010e: PUSH4 0x6e6260fa
00000113: EQ
00000114: PUSH2 0x0728
00000117: JUMPI
00000118: DUP1
00000119: PUSH4 0x6ea68360
0000011e: EQ
0000011f: PUSH2 0x073b
00000122: JUMPI
00000123: DUP1
00000124: PUSH4 0x706eb3ab
00000129: EQ
0000012a: PUSH2 0x074e
0000012d: JUMPI
0000012e: DUP1
0000012f: PUSH4 0x771602f7
00000134: EQ
00000135: PUSH2 0x0761
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0x7895dd21
0000013f: EQ
00000140: PUSH2 0x077a
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x796a8076
0000014a: EQ
0000014b: PUSH2 0x07bc
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x7ae2b5c7
00000155: EQ
00000156: PUSH2 0x07db
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x7bf1a627
00000160: EQ
00000161: PUSH2 0x07f4
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x821b98f3
0000016b: EQ
0000016c: PUSH2 0x0807
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x8261eb1b
00000176: EQ
00000177: PUSH2 0x082f
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x84429579
00000181: EQ
00000182: PUSH2 0x0842
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x9fec8e96
0000018c: EQ
0000018d: PUSH2 0x08f9
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0xa48cef4a
00000197: EQ
00000198: PUSH2 0x0928
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0xa619486e
000001a2: EQ
000001a3: PUSH2 0x093b
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0xacb10351
000001ad: EQ
000001ae: PUSH2 0x094e
000001b1: JUMPI
000001b2: DUP1
000001b3: PUSH4 0xb0293850
000001b8: EQ
000001b9: PUSH2 0x098b
000001bc: JUMPI
000001bd: DUP1
000001be: PUSH4 0xb3c2083f
000001c3: EQ
000001c4: PUSH2 0x09b9
000001c7: JUMPI
000001c8: DUP1
000001c9: PUSH4 0xb64c4905
000001ce: EQ
000001cf: PUSH2 0x09de
000001d2: JUMPI
000001d3: DUP1
000001d4: PUSH4 0xb67d77c5
000001d9: EQ
000001da: PUSH2 0x0a03
000001dd: JUMPI
000001de: DUP1
000001df: PUSH4 0xb8beafd6
000001e4: EQ
000001e5: PUSH2 0x0a1c
000001e8: JUMPI
000001e9: DUP1
000001ea: PUSH4 0xbc88adc4
000001ef: EQ
000001f0: PUSH2 0x0a41
000001f3: JUMPI
000001f4: DUP1
000001f5: PUSH4 0xc1a21bf3
000001fa: EQ
000001fb: PUSH2 0x0a77
000001fe: JUMPI
000001ff: DUP1
00000200: PUSH4 0xc23f001f
00000205: EQ
00000206: PUSH2 0x0aa6
00000209: JUMPI
0000020a: DUP1
0000020b: PUSH4 0xc6af43f9
00000210: EQ
00000211: PUSH2 0x0acb
00000214: JUMPI
00000215: DUP1
00000216: PUSH4 0xc8a4ac9c
0000021b: EQ
0000021c: PUSH2 0x0ae1
0000021f: JUMPI
00000220: DUP1
00000221: PUSH4 0xcb10fa76
00000226: EQ
00000227: PUSH2 0x0afa
0000022a: JUMPI
0000022b: DUP1
0000022c: PUSH4 0xcd04ccfc
00000231: EQ
00000232: PUSH2 0x0b13
00000235: JUMPI
00000236: DUP1
00000237: PUSH4 0xcd94a2a4
0000023c: EQ
0000023d: PUSH2 0x0b26
00000240: JUMPI
00000241: DUP1
00000242: PUSH4 0xd3062b24
00000247: EQ
00000248: PUSH2 0x0b39
0000024b: JUMPI
0000024c: DUP1
0000024d: PUSH4 0xd3cc8d1c
00000252: EQ
00000253: PUSH2 0x0b67
00000256: JUMPI
00000257: DUP1
00000258: PUSH4 0xdae595e5
0000025d: EQ
0000025e: PUSH2 0x0ba9
00000261: JUMPI
00000262: DUP1
00000263: PUSH4 0xdf6af7d1
00000268: EQ
00000269: PUSH2 0x0bce
0000026c: JUMPI
0000026d: DUP1
0000026e: PUSH4 0xe1c95bb9
00000273: EQ
00000274: PUSH2 0x0bfc
00000277: JUMPI
00000278: DUP1
00000279: PUSH4 0xe31c71c4
0000027e: EQ
0000027f: PUSH2 0x0c12
00000282: JUMPI
00000283: DUP1
00000284: PUSH4 0xe9f8cd70
00000289: EQ
0000028a: PUSH2 0x0c2b
0000028d: JUMPI
0000028e: DUP1
0000028f: PUSH4 0xebcc0de1
00000294: EQ
00000295: PUSH2 0x0c5c
00000298: JUMPI
00000299: DUP1
0000029a: PUSH4 0xedd0b5cb
0000029f: EQ
000002a0: PUSH2 0x0c84
000002a3: JUMPI
000002a4: DUP1
000002a5: PUSH4 0xee93114c
000002aa: EQ
000002ab: PUSH2 0x0ca3
000002ae: JUMPI
000002af: DUP1
000002b0: PUSH4 0xf3fef3a3
000002b5: EQ
000002b6: PUSH2 0x0cb6
000002b9: JUMPI
000002ba: DUP1
000002bb: PUSH4 0xf41d97fc
000002c0: EQ
000002c1: PUSH2 0x0cd8
000002c4: JUMPI
000002c5: DUP1
000002c6: PUSH4 0xf4279d1f
000002cb: EQ
000002cc: PUSH2 0x0cf7
000002cf: JUMPI
000002d0: DUP1
000002d1: PUSH4 0xf625ee28
000002d6: EQ
000002d7: PUSH2 0x0d0a
000002da: JUMPI
000002db: DUP1
000002dc: PUSH4 0xf79710fd
000002e1: EQ
000002e2: PUSH2 0x0d29
000002e5: JUMPI
000002e6: DUP1
000002e7: PUSH4 0xf97ea6fc
000002ec: EQ
000002ed: PUSH2 0x0d51
000002f0: JUMPI
000002f1: DUP1
000002f2: PUSH4 0xfac7abe3
000002f7: EQ
000002f8: PUSH2 0x0d7f
000002fb: JUMPI
000002fc: DUP1
000002fd: PUSH4 0xfdab1b7b
00000302: EQ
00000303: PUSH2 0x0da4
00000306: JUMPI
00000307: JUMPDEST
00000308: PUSH1 0x00
0000030a: DUP1
0000030b: REVERT
0000030c: JUMPDEST
0000030d: CALLVALUE
0000030e: ISZERO
0000030f: PUSH2 0x0317
00000312: JUMPI
00000313: PUSH1 0x00
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: PUSH2 0x0331
0000031b: PUSH1 0x01
0000031d: PUSH1 0xa0
0000031f: PUSH1 0x02
00000321: EXP
00000322: SUB
00000323: PUSH1 0x04
00000325: CALLDATALOAD
00000326: DUP2
00000327: AND
00000328: SWAP1
00000329: PUSH1 0x24
0000032b: CALLDATALOAD
0000032c: AND
0000032d: PUSH2 0x0dcc
00000330: JUMP
00000331: JUMPDEST
00000332: PUSH1 0x40
00000334: MLOAD
00000335: PUSH1 0x01
00000337: PUSH1 0xa0
00000339: PUSH1 0x02
0000033b: EXP
0000033c: SUB
0000033d: SWAP3
0000033e: DUP4
0000033f: AND
00000340: DUP2
00000341: MSTORE
00000342: SWAP2
00000343: AND
00000344: PUSH1 0x20
00000346: DUP3
00000347: ADD
00000348: MSTORE
00000349: PUSH1 0x40
0000034b: SWAP1
0000034c: DUP2
0000034d: ADD
0000034e: SWAP1
0000034f: MLOAD
00000350: DUP1
00000351: SWAP2
00000352: SUB
00000353: SWAP1
00000354: RETURN
00000355: JUMPDEST
00000356: CALLVALUE
00000357: ISZERO
00000358: PUSH2 0x0360
0000035b: JUMPI
0000035c: PUSH1 0x00
0000035e: DUP1
0000035f: REVERT
00000360: JUMPDEST
00000361: PUSH2 0x038b
00000364: PUSH1 0x24
00000366: PUSH1 0x04
00000368: DUP1
00000369: CALLDATALOAD
0000036a: DUP3
0000036b: DUP2
0000036c: ADD
0000036d: SWAP3
0000036e: SWAP1
0000036f: DUP3
00000370: ADD
00000371: CALLDATALOAD
00000372: SWAP2
00000373: DUP2
00000374: CALLDATALOAD
00000375: SWAP2
00000376: DUP3
00000377: ADD
00000378: SWAP2
00000379: ADD
0000037a: CALLDATALOAD
0000037b: PUSH1 0x01
0000037d: PUSH1 0xa0
0000037f: PUSH1 0x02
00000381: EXP
00000382: SUB
00000383: PUSH1 0x44
00000385: CALLDATALOAD
00000386: AND
00000387: PUSH2 0x0df5
0000038a: JUMP
0000038b: JUMPDEST
0000038c: PUSH1 0x40
0000038e: MLOAD
0000038f: PUSH1 0x20
00000391: DUP1
00000392: DUP3
00000393: MSTORE
00000394: DUP2
00000395: SWAP1
00000396: DUP2
00000397: ADD
00000398: DUP4
00000399: DUP2
0000039a: DUP2
0000039b: MLOAD
0000039c: DUP2
0000039d: MSTORE
0000039e: PUSH1 0x20
000003a0: ADD
000003a1: SWAP2
000003a2: POP
000003a3: DUP1
000003a4: MLOAD
000003a5: SWAP1
000003a6: PUSH1 0x20
000003a8: ADD
000003a9: SWAP1
000003aa: PUSH1 0x20
000003ac: MUL
000003ad: DUP1
000003ae: DUP4
000003af: DUP4
000003b0: PUSH1 0x00
000003b2: JUMPDEST
000003b3: DUP4
000003b4: DUP2
000003b5: LT
000003b6: ISZERO
000003b7: PUSH2 0x03ca
000003ba: JUMPI
000003bb: DUP1
000003bc: DUP3
000003bd: ADD
000003be: MLOAD
000003bf: DUP4
000003c0: DUP3
000003c1: ADD
000003c2: MSTORE
000003c3: PUSH1 0x20
000003c5: ADD
000003c6: PUSH2 0x03b2
000003c9: JUMP
000003ca: JUMPDEST
000003cb: POP
000003cc: POP
000003cd: POP
000003ce: POP
000003cf: SWAP1
000003d0: POP
000003d1: ADD
000003d2: SWAP3
000003d3: POP
000003d4: POP
000003d5: POP
000003d6: PUSH1 0x40
000003d8: MLOAD
000003d9: DUP1
000003da: SWAP2
000003db: SUB
000003dc: SWAP1
000003dd: RETURN
000003de: JUMPDEST
000003df: CALLVALUE
000003e0: ISZERO
000003e1: PUSH2 0x03e9
000003e4: JUMPI
000003e5: PUSH1 0x00
000003e7: DUP1
000003e8: REVERT
000003e9: JUMPDEST
000003ea: PUSH2 0x038b
000003ed: PUSH1 0x04
000003ef: DUP1
000003f0: CALLDATALOAD
000003f1: PUSH1 0x24
000003f3: DUP2
000003f4: ADD
000003f5: SWAP2
000003f6: ADD
000003f7: CALLDATALOAD
000003f8: PUSH2 0x0f49
000003fb: JUMP
000003fc: JUMPDEST
000003fd: CALLVALUE
000003fe: ISZERO
000003ff: PUSH2 0x0407
00000402: JUMPI
00000403: PUSH1 0x00
00000405: DUP1
00000406: REVERT
00000407: JUMPDEST
00000408: PUSH2 0x040f
0000040b: PUSH2 0x0ff0
0000040e: JUMP
0000040f: JUMPDEST
00000410: PUSH1 0x40
00000412: MLOAD
00000413: PUSH1 0x01
00000415: PUSH1 0xa0
00000417: PUSH1 0x02
00000419: EXP
0000041a: SUB
0000041b: SWAP1
0000041c: SWAP2
0000041d: AND
0000041e: DUP2
0000041f: MSTORE
00000420: PUSH1 0x20
00000422: ADD
00000423: PUSH1 0x40
00000425: MLOAD
00000426: DUP1
00000427: SWAP2
00000428: SUB
00000429: SWAP1
0000042a: RETURN
0000042b: JUMPDEST
0000042c: CALLVALUE
0000042d: ISZERO
0000042e: PUSH2 0x0436
00000431: JUMPI
00000432: PUSH1 0x00
00000434: DUP1
00000435: REVERT
00000436: JUMPDEST
00000437: PUSH2 0x045c
0000043a: PUSH1 0x01
0000043c: PUSH1 0xa0
0000043e: PUSH1 0x02
00000440: EXP
00000441: SUB
00000442: PUSH1 0x04
00000444: CALLDATALOAD
00000445: DUP2
00000446: AND
00000447: SWAP1
00000448: PUSH1 0x24
0000044a: CALLDATALOAD
0000044b: DUP2
0000044c: AND
0000044d: SWAP1
0000044e: PUSH1 0x44
00000450: CALLDATALOAD
00000451: AND
00000452: PUSH1 0x64
00000454: CALLDATALOAD
00000455: PUSH1 0x84
00000457: CALLDATALOAD
00000458: PUSH2 0x0fff
0000045b: JUMP
0000045c: JUMPDEST
0000045d: PUSH1 0x40
0000045f: MLOAD
00000460: DUP1
00000461: DUP5
00000462: DUP2
00000463: MSTORE
00000464: PUSH1 0x20
00000466: ADD
00000467: DUP4
00000468: DUP2
00000469: MSTORE
0000046a: PUSH1 0x20
0000046c: ADD
0000046d: DUP3
0000046e: DUP2
0000046f: MSTORE
00000470: PUSH1 0x20
00000472: ADD
00000473: SWAP4
00000474: POP
00000475: POP
00000476: POP
00000477: POP
00000478: PUSH1 0x40
0000047a: MLOAD
0000047b: DUP1
0000047c: SWAP2
0000047d: SUB
0000047e: SWAP1
0000047f: RETURN
00000480: JUMPDEST
00000481: CALLVALUE
00000482: ISZERO
00000483: PUSH2 0x048b
00000486: JUMPI
00000487: PUSH1 0x00
00000489: DUP1
0000048a: REVERT
0000048b: JUMPDEST
0000048c: PUSH2 0x0493
0000048f: PUSH2 0x102c
00000492: JUMP
00000493: JUMPDEST
00000494: PUSH1 0x40
00000496: MLOAD
00000497: SWAP1
00000498: DUP2
00000499: MSTORE
0000049a: PUSH1 0x20
0000049c: ADD
0000049d: PUSH1 0x40
0000049f: MLOAD
000004a0: DUP1
000004a1: SWAP2
000004a2: SUB
000004a3: SWAP1
000004a4: RETURN
000004a5: JUMPDEST
000004a6: CALLVALUE
000004a7: ISZERO
000004a8: PUSH2 0x04b0
000004ab: JUMPI
000004ac: PUSH1 0x00
000004ae: DUP1
000004af: REVERT
000004b0: JUMPDEST
000004b1: PUSH2 0x0493
000004b4: PUSH1 0x01
000004b6: PUSH1 0xa0
000004b8: PUSH1 0x02
000004ba: EXP
000004bb: SUB
000004bc: PUSH1 0x04
000004be: CALLDATALOAD
000004bf: DUP2
000004c0: AND
000004c1: SWAP1
000004c2: PUSH1 0x24
000004c4: CALLDATALOAD
000004c5: AND
000004c6: PUSH2 0x1032
000004c9: JUMP
000004ca: JUMPDEST
000004cb: CALLVALUE
000004cc: ISZERO
000004cd: PUSH2 0x04d5
000004d0: JUMPI
000004d1: PUSH1 0x00
000004d3: DUP1
000004d4: REVERT
000004d5: JUMPDEST
000004d6: PUSH2 0x0493
000004d9: PUSH1 0x01
000004db: PUSH1 0xa0
000004dd: PUSH1 0x02
000004df: EXP
000004e0: SUB
000004e1: PUSH1 0x04
000004e3: CALLDATALOAD
000004e4: DUP2
000004e5: AND
000004e6: SWAP1
000004e7: PUSH1 0x24
000004e9: CALLDATALOAD
000004ea: AND
000004eb: PUSH2 0x104f
000004ee: JUMP
000004ef: JUMPDEST
000004f0: CALLVALUE
000004f1: ISZERO
000004f2: PUSH2 0x04fa
000004f5: JUMPI
000004f6: PUSH1 0x00
000004f8: DUP1
000004f9: REVERT
000004fa: JUMPDEST
000004fb: PUSH2 0x0502
000004fe: PUSH2 0x108a
00000501: JUMP
00000502: JUMPDEST
00000503: STOP
00000504: JUMPDEST
00000505: CALLVALUE
00000506: ISZERO
00000507: PUSH2 0x050f
0000050a: JUMPI
0000050b: PUSH1 0x00
0000050d: DUP1
0000050e: REVERT
0000050f: JUMPDEST
00000510: PUSH2 0x0493
00000513: PUSH1 0x04
00000515: CALLDATALOAD
00000516: PUSH2 0x10ff
00000519: JUMP
0000051a: JUMPDEST
0000051b: CALLVALUE
0000051c: ISZERO
0000051d: PUSH2 0x0525
00000520: JUMPI
00000521: PUSH1 0x00
00000523: DUP1
00000524: REVERT
00000525: JUMPDEST
00000526: PUSH2 0x0493
00000529: PUSH1 0x01
0000052b: PUSH1 0xa0
0000052d: PUSH1 0x02
0000052f: EXP
00000530: SUB
00000531: PUSH1 0x04
00000533: CALLDATALOAD
00000534: DUP2
00000535: AND
00000536: SWAP1
00000537: PUSH1 0x24
00000539: CALLDATALOAD
0000053a: DUP2
0000053b: AND
0000053c: SWAP1
0000053d: PUSH1 0x44
0000053f: CALLDATALOAD
00000540: SWAP1
00000541: PUSH1 0x64
00000543: CALLDATALOAD
00000544: AND
00000545: PUSH2 0x1119
00000548: JUMP
00000549: JUMPDEST
0000054a: CALLVALUE
0000054b: ISZERO
0000054c: PUSH2 0x0554
0000054f: JUMPI
00000550: PUSH1 0x00
00000552: DUP1
00000553: REVERT
00000554: JUMPDEST
00000555: PUSH2 0x0502
00000558: PUSH1 0x01
0000055a: PUSH1 0xa0
0000055c: PUSH1 0x02
0000055e: EXP
0000055f: SUB
00000560: PUSH1 0x04
00000562: CALLDATALOAD
00000563: AND
00000564: PUSH2 0x1145
00000567: JUMP
00000568: JUMPDEST
00000569: CALLVALUE
0000056a: ISZERO
0000056b: PUSH2 0x0573
0000056e: JUMPI
0000056f: PUSH1 0x00
00000571: DUP1
00000572: REVERT
00000573: JUMPDEST
00000574: PUSH2 0x0493
00000577: PUSH1 0x01
00000579: PUSH1 0xa0
0000057b: PUSH1 0x02
0000057d: EXP
0000057e: SUB
0000057f: PUSH1 0x04
00000581: CALLDATALOAD
00000582: AND
00000583: PUSH1 0x24
00000585: CALLDATALOAD
00000586: PUSH2 0x11ed
00000589: JUMP
0000058a: JUMPDEST
0000058b: CALLVALUE
0000058c: ISZERO
0000058d: PUSH2 0x0595
00000590: JUMPI
00000591: PUSH1 0x00
00000593: DUP1
00000594: REVERT
00000595: JUMPDEST
00000596: PUSH2 0x05b2
00000599: PUSH1 0x01
0000059b: PUSH1 0xa0
0000059d: PUSH1 0x02
0000059f: EXP
000005a0: SUB
000005a1: PUSH1 0x04
000005a3: CALLDATALOAD
000005a4: DUP2
000005a5: AND
000005a6: SWAP1
000005a7: PUSH1 0x24
000005a9: CALLDATALOAD
000005aa: AND
000005ab: PUSH1 0x44
000005ad: CALLDATALOAD
000005ae: PUSH2 0x130c
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH1 0x40
000005b5: MLOAD
000005b6: SWAP2
000005b7: DUP3
000005b8: MSTORE
000005b9: PUSH1 0x20
000005bb: DUP3
000005bc: ADD
000005bd: MSTORE
000005be: PUSH1 0x40
000005c0: SWAP1
000005c1: DUP2
000005c2: ADD
000005c3: SWAP1
000005c4: MLOAD
000005c5: DUP1
000005c6: SWAP2
000005c7: SUB
000005c8: SWAP1
000005c9: RETURN
000005ca: JUMPDEST
000005cb: CALLVALUE
000005cc: ISZERO
000005cd: PUSH2 0x05d5
000005d0: JUMPI
000005d1: PUSH1 0x00
000005d3: DUP1
000005d4: REVERT
000005d5: JUMPDEST
000005d6: PUSH2 0x05e3
000005d9: PUSH1 0x04
000005db: CALLDATALOAD
000005dc: PUSH1 0x24
000005de: CALLDATALOAD
000005df: PUSH2 0x14c6
000005e2: JUMP
000005e3: JUMPDEST
000005e4: PUSH1 0x40
000005e6: MLOAD
000005e7: SWAP1
000005e8: ISZERO
000005e9: ISZERO
000005ea: DUP2
000005eb: MSTORE
000005ec: PUSH1 0x20
000005ee: ADD
000005ef: PUSH1 0x40
000005f1: MLOAD
000005f2: DUP1
000005f3: SWAP2
000005f4: SUB
000005f5: SWAP1
000005f6: RETURN
000005f7: JUMPDEST
000005f8: CALLVALUE
000005f9: ISZERO
000005fa: PUSH2 0x0602
000005fd: JUMPI
000005fe: PUSH1 0x00
00000600: DUP1
00000601: REVERT
00000602: JUMPDEST
00000603: PUSH2 0x05b2
00000606: PUSH1 0x01
00000608: PUSH1 0xa0
0000060a: PUSH1 0x02
0000060c: EXP
0000060d: SUB
0000060e: PUSH1 0x04
00000610: CALLDATALOAD
00000611: DUP2
00000612: AND
00000613: SWAP1
00000614: PUSH1 0x24
00000616: CALLDATALOAD
00000617: AND
00000618: PUSH1 0x44
0000061a: CALLDATALOAD
0000061b: PUSH1 0x64
0000061d: CALLDATALOAD
0000061e: PUSH2 0x14d4
00000621: JUMP
00000622: JUMPDEST
00000623: CALLVALUE
00000624: ISZERO
00000625: PUSH2 0x062d
00000628: JUMPI
00000629: PUSH1 0x00
0000062b: DUP1
0000062c: REVERT
0000062d: JUMPDEST
0000062e: PUSH2 0x0493
00000631: PUSH1 0x01
00000633: PUSH1 0xa0
00000635: PUSH1 0x02
00000637: EXP
00000638: SUB
00000639: PUSH1 0x04
0000063b: CALLDATALOAD
0000063c: DUP2
0000063d: AND
0000063e: SWAP1
0000063f: PUSH1 0x24
00000641: CALLDATALOAD
00000642: AND
00000643: PUSH1 0x44
00000645: CALLDATALOAD
00000646: PUSH1 0x64
00000648: CALLDATALOAD
00000649: PUSH2 0x1976
0000064c: JUMP
0000064d: JUMPDEST
0000064e: CALLVALUE
0000064f: ISZERO
00000650: PUSH2 0x0658
00000653: JUMPI
00000654: PUSH1 0x00
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: PUSH2 0x040f
0000065c: PUSH2 0x1e67
0000065f: JUMP
00000660: JUMPDEST
00000661: CALLVALUE
00000662: ISZERO
00000663: PUSH2 0x066b
00000666: JUMPI
00000667: PUSH1 0x00
00000669: DUP1
0000066a: REVERT
0000066b: JUMPDEST
0000066c: PUSH2 0x05b2
0000066f: PUSH1 0x01
00000671: PUSH1 0xa0
00000673: PUSH1 0x02
00000675: EXP
00000676: SUB
00000677: PUSH1 0x04
00000679: CALLDATALOAD
0000067a: DUP2
0000067b: AND
0000067c: SWAP1
0000067d: PUSH1 0x24
0000067f: CALLDATALOAD
00000680: DUP2
00000681: AND
00000682: SWAP1
00000683: PUSH1 0x44
00000685: CALLDATALOAD
00000686: AND
00000687: PUSH1 0x64
00000689: CALLDATALOAD
0000068a: PUSH2 0x1e76
0000068d: JUMP
0000068e: JUMPDEST
0000068f: CALLVALUE
00000690: ISZERO
00000691: PUSH2 0x0699
00000694: JUMPI
00000695: PUSH1 0x00
00000697: DUP1
00000698: REVERT
00000699: JUMPDEST
0000069a: PUSH2 0x045c
0000069d: PUSH1 0x01
0000069f: PUSH1 0xa0
000006a1: PUSH1 0x02
000006a3: EXP
000006a4: SUB
000006a5: PUSH1 0x04
000006a7: CALLDATALOAD
000006a8: DUP2
000006a9: AND
000006aa: SWAP1
000006ab: PUSH1 0x24
000006ad: CALLDATALOAD
000006ae: AND
000006af: PUSH1 0x44
000006b1: CALLDATALOAD
000006b2: PUSH2 0x206d
000006b5: JUMP
000006b6: JUMPDEST
000006b7: CALLVALUE
000006b8: ISZERO
000006b9: PUSH2 0x06c1
000006bc: JUMPI
000006bd: PUSH1 0x00
000006bf: DUP1
000006c0: REVERT
000006c1: JUMPDEST
000006c2: PUSH2 0x0502
000006c5: PUSH1 0x04
000006c7: PUSH1 0x24
000006c9: DUP2
000006ca: CALLDATALOAD
000006cb: DUP2
000006cc: DUP2
000006cd: ADD
000006ce: SWAP1
000006cf: DUP4
000006d0: ADD
000006d1: CALLDATALOAD
000006d2: DUP1
000006d3: PUSH1 0x20
000006d5: DUP2
000006d6: DUP2
000006d7: MUL
000006d8: ADD
000006d9: PUSH1 0x40
000006db: MLOAD
000006dc: SWAP1
000006dd: DUP2
000006de: ADD
000006df: PUSH1 0x40
000006e1: MSTORE
000006e2: DUP1
000006e3: SWAP4
000006e4: SWAP3
000006e5: SWAP2
000006e6: SWAP1
000006e7: DUP2
000006e8: DUP2
000006e9: MSTORE
000006ea: PUSH1 0x20
000006ec: ADD
000006ed: DUP4
000006ee: DUP4
000006ef: PUSH1 0x20
000006f1: MUL
000006f2: DUP1
000006f3: DUP3
000006f4: DUP5
000006f5: CALLDATACOPY
000006f6: POP
000006f7: SWAP5
000006f8: SWAP7
000006f9: POP
000006fa: POP
000006fb: POP
000006fc: POP
000006fd: SWAP2
000006fe: CALLDATALOAD
000006ff: ISZERO
00000700: ISZERO
00000701: SWAP2
00000702: POP
00000703: PUSH2 0x209a
00000706: SWAP1
00000707: POP
00000708: JUMP
00000709: JUMPDEST
0000070a: CALLVALUE
0000070b: ISZERO
0000070c: PUSH2 0x0714
0000070f: JUMPI
00000710: PUSH1 0x00
00000712: DUP1
00000713: REVERT
00000714: JUMPDEST
00000715: PUSH2 0x05e3
00000718: PUSH1 0x01
0000071a: PUSH1 0xa0
0000071c: PUSH1 0x02
0000071e: EXP
0000071f: SUB
00000720: PUSH1 0x04
00000722: CALLDATALOAD
00000723: AND
00000724: PUSH2 0x2169
00000727: JUMP
00000728: JUMPDEST
00000729: CALLVALUE
0000072a: ISZERO
0000072b: PUSH2 0x0733
0000072e: JUMPI
0000072f: PUSH1 0x00
00000731: DUP1
00000732: REVERT
00000733: JUMPDEST
00000734: PUSH2 0x0493
00000737: PUSH2 0x217e
0000073a: JUMP
0000073b: JUMPDEST
0000073c: CALLVALUE
0000073d: ISZERO
0000073e: PUSH2 0x0746
00000741: JUMPI
00000742: PUSH1 0x00
00000744: DUP1
00000745: REVERT
00000746: JUMPDEST
00000747: PUSH2 0x040f
0000074a: PUSH2 0x2184
0000074d: JUMP
0000074e: JUMPDEST
0000074f: CALLVALUE
00000750: ISZERO
00000751: PUSH2 0x0759
00000754: JUMPI
00000755: PUSH1 0x00
00000757: DUP1
00000758: REVERT
00000759: JUMPDEST
0000075a: PUSH2 0x040f
0000075d: PUSH2 0x2193
00000760: JUMP
00000761: JUMPDEST
00000762: CALLVALUE
00000763: ISZERO
00000764: PUSH2 0x076c
00000767: JUMPI
00000768: PUSH1 0x00
0000076a: DUP1
0000076b: REVERT
0000076c: JUMPDEST
0000076d: PUSH2 0x0493
00000770: PUSH1 0x04
00000772: CALLDATALOAD
00000773: PUSH1 0x24
00000775: CALLDATALOAD
00000776: PUSH2 0x21a2
00000779: JUMP
0000077a: JUMPDEST
0000077b: CALLVALUE
0000077c: ISZERO
0000077d: PUSH2 0x0785
00000780: JUMPI
00000781: PUSH1 0x00
00000783: DUP1
00000784: REVERT
00000785: JUMPDEST
00000786: PUSH2 0x0502
00000789: PUSH1 0x24
0000078b: PUSH1 0x04
0000078d: DUP1
0000078e: CALLDATALOAD
0000078f: DUP3
00000790: DUP2
00000791: ADD
00000792: SWAP3
00000793: SWAP1
00000794: DUP3
00000795: ADD
00000796: CALLDATALOAD
00000797: SWAP2
00000798: DUP2
00000799: CALLDATALOAD
0000079a: DUP1
0000079b: DUP4
0000079c: ADD
0000079d: SWAP3
0000079e: SWAP1
0000079f: DUP3
000007a0: ADD
000007a1: CALLDATALOAD
000007a2: SWAP2
000007a3: PUSH1 0x44
000007a5: CALLDATALOAD
000007a6: SWAP2
000007a7: DUP3
000007a8: ADD
000007a9: SWAP2
000007aa: ADD
000007ab: CALLDATALOAD
000007ac: PUSH1 0x01
000007ae: PUSH1 0xa0
000007b0: PUSH1 0x02
000007b2: EXP
000007b3: SUB
000007b4: PUSH1 0x64
000007b6: CALLDATALOAD
000007b7: AND
000007b8: PUSH2 0x21be
000007bb: JUMP
000007bc: JUMPDEST
000007bd: CALLVALUE
000007be: ISZERO
000007bf: PUSH2 0x07c7
000007c2: JUMPI
000007c3: PUSH1 0x00
000007c5: DUP1
000007c6: REVERT
000007c7: JUMPDEST
000007c8: PUSH2 0x0502
000007cb: PUSH1 0x01
000007cd: PUSH1 0xa0
000007cf: PUSH1 0x02
000007d1: EXP
000007d2: SUB
000007d3: PUSH1 0x04
000007d5: CALLDATALOAD
000007d6: AND
000007d7: PUSH2 0x2259
000007da: JUMP
000007db: JUMPDEST
000007dc: CALLVALUE
000007dd: ISZERO
000007de: PUSH2 0x07e6
000007e1: JUMPI
000007e2: PUSH1 0x00
000007e4: DUP1
000007e5: REVERT
000007e6: JUMPDEST
000007e7: PUSH2 0x0493
000007ea: PUSH1 0x04
000007ec: CALLDATALOAD
000007ed: PUSH1 0x24
000007ef: CALLDATALOAD
000007f0: PUSH2 0x22b8
000007f3: JUMP
000007f4: JUMPDEST
000007f5: CALLVALUE
000007f6: ISZERO
000007f7: PUSH2 0x07ff
000007fa: JUMPI
000007fb: PUSH1 0x00
000007fd: DUP1
000007fe: REVERT
000007ff: JUMPDEST
00000800: PUSH2 0x040f
00000803: PUSH2 0x22d0
00000806: JUMP
00000807: JUMPDEST
00000808: CALLVALUE
00000809: ISZERO
0000080a: PUSH2 0x0812
0000080d: JUMPI
0000080e: PUSH1 0x00
00000810: DUP1
00000811: REVERT
00000812: JUMPDEST
00000813: PUSH2 0x0502
00000816: PUSH1 0x01
00000818: PUSH1 0xa0
0000081a: PUSH1 0x02
0000081c: EXP
0000081d: SUB
0000081e: PUSH1 0x04
00000820: CALLDATALOAD
00000821: DUP2
00000822: AND
00000823: SWAP1
00000824: PUSH1 0x24
00000826: CALLDATALOAD
00000827: AND
00000828: PUSH1 0x44
0000082a: CALLDATALOAD
0000082b: PUSH2 0x22df
0000082e: JUMP
0000082f: JUMPDEST
00000830: CALLVALUE
00000831: ISZERO
00000832: PUSH2 0x083a
00000835: JUMPI
00000836: PUSH1 0x00
00000838: DUP1
00000839: REVERT
0000083a: JUMPDEST
0000083b: PUSH2 0x040f
0000083e: PUSH2 0x23b3
00000841: JUMP
00000842: JUMPDEST
00000843: CALLVALUE
00000844: ISZERO
00000845: PUSH2 0x084d
00000848: JUMPI
00000849: PUSH1 0x00
0000084b: DUP1
0000084c: REVERT
0000084d: JUMPDEST
0000084e: PUSH2 0x0860
00000851: PUSH1 0x04
00000853: DUP1
00000854: CALLDATALOAD
00000855: PUSH1 0x24
00000857: DUP2
00000858: ADD
00000859: SWAP2
0000085a: ADD
0000085b: CALLDATALOAD
0000085c: PUSH2 0x23c2
0000085f: JUMP
00000860: JUMPDEST
00000861: PUSH1 0x40
00000863: MLOAD
00000864: DUP1
00000865: DUP1
00000866: PUSH1 0x20
00000868: ADD
00000869: DUP1
0000086a: PUSH1 0x20
0000086c: ADD
0000086d: DUP4
0000086e: DUP2
0000086f: SUB
00000870: DUP4
00000871: MSTORE
00000872: DUP6
00000873: DUP2
00000874: DUP2
00000875: MLOAD
00000876: DUP2
00000877: MSTORE
00000878: PUSH1 0x20
0000087a: ADD
0000087b: SWAP2
0000087c: POP
0000087d: DUP1
0000087e: MLOAD
0000087f: SWAP1
00000880: PUSH1 0x20
00000882: ADD
00000883: SWAP1
00000884: PUSH1 0x20
00000886: MUL
00000887: DUP1
00000888: DUP4
00000889: DUP4
0000088a: PUSH1 0x00
0000088c: JUMPDEST
0000088d: DUP4
0000088e: DUP2
0000088f: LT
00000890: ISZERO
00000891: PUSH2 0x08a4
00000894: JUMPI
00000895: DUP1
00000896: DUP3
00000897: ADD
00000898: MLOAD
00000899: DUP4
0000089a: DUP3
0000089b: ADD
0000089c: MSTORE
0000089d: PUSH1 0x20
0000089f: ADD
000008a0: PUSH2 0x088c
000008a3: JUMP
000008a4: JUMPDEST
000008a5: POP
000008a6: POP
000008a7: POP
000008a8: POP
000008a9: SWAP1
000008aa: POP
000008ab: ADD
000008ac: DUP4
000008ad: DUP2
000008ae: SUB
000008af: DUP3
000008b0: MSTORE
000008b1: DUP5
000008b2: DUP2
000008b3: DUP2
000008b4: MLOAD
000008b5: DUP2
000008b6: MSTORE
000008b7: PUSH1 0x20
000008b9: ADD
000008ba: SWAP2
000008bb: POP
000008bc: DUP1
000008bd: MLOAD
000008be: SWAP1
000008bf: PUSH1 0x20
000008c1: ADD
000008c2: SWAP1
000008c3: PUSH1 0x20
000008c5: MUL
000008c6: DUP1
000008c7: DUP4
000008c8: DUP4
000008c9: PUSH1 0x00
000008cb: JUMPDEST
000008cc: DUP4
000008cd: DUP2
000008ce: LT
000008cf: ISZERO
000008d0: PUSH2 0x08e3
000008d3: JUMPI
000008d4: DUP1
000008d5: DUP3
000008d6: ADD
000008d7: MLOAD
000008d8: DUP4
000008d9: DUP3
000008da: ADD
000008db: MSTORE
000008dc: PUSH1 0x20
000008de: ADD
000008df: PUSH2 0x08cb
000008e2: JUMP
000008e3: JUMPDEST
000008e4: POP
000008e5: POP
000008e6: POP
000008e7: POP
000008e8: SWAP1
000008e9: POP
000008ea: ADD
000008eb: SWAP5
000008ec: POP
000008ed: POP
000008ee: POP
000008ef: POP
000008f0: POP
000008f1: PUSH1 0x40
000008f3: MLOAD
000008f4: DUP1
000008f5: SWAP2
000008f6: SUB
000008f7: SWAP1
000008f8: RETURN
000008f9: JUMPDEST
000008fa: CALLVALUE
000008fb: ISZERO
000008fc: PUSH2 0x0904
000008ff: JUMPI
00000900: PUSH1 0x00
00000902: DUP1
00000903: REVERT
00000904: JUMPDEST
00000905: PUSH2 0x0493
00000908: PUSH1 0x01
0000090a: PUSH1 0xa0
0000090c: PUSH1 0x02
0000090e: EXP
0000090f: SUB
00000910: PUSH1 0x04
00000912: CALLDATALOAD
00000913: DUP2
00000914: AND
00000915: SWAP1
00000916: PUSH1 0x24
00000918: CALLDATALOAD
00000919: DUP2
0000091a: AND
0000091b: SWAP1
0000091c: PUSH1 0x44
0000091e: CALLDATALOAD
0000091f: SWAP1
00000920: PUSH1 0x64
00000922: CALLDATALOAD
00000923: AND
00000924: PUSH2 0x2582
00000927: JUMP
00000928: JUMPDEST
00000929: CALLVALUE
0000092a: ISZERO
0000092b: PUSH2 0x0933
0000092e: JUMPI
0000092f: PUSH1 0x00
00000931: DUP1
00000932: REVERT
00000933: JUMPDEST
00000934: PUSH2 0x0493
00000937: PUSH2 0x25ae
0000093a: JUMP
0000093b: JUMPDEST
0000093c: CALLVALUE
0000093d: ISZERO
0000093e: PUSH2 0x0946
00000941: JUMPI
00000942: PUSH1 0x00
00000944: DUP1
00000945: REVERT
00000946: JUMPDEST
00000947: PUSH2 0x040f
0000094a: PUSH2 0x25b4
0000094d: JUMP
0000094e: JUMPDEST
0000094f: CALLVALUE
00000950: ISZERO
00000951: PUSH2 0x0959
00000954: JUMPI
00000955: PUSH1 0x00
00000957: DUP1
00000958: REVERT
00000959: JUMPDEST
0000095a: PUSH2 0x0502
0000095d: PUSH1 0x01
0000095f: PUSH1 0xa0
00000961: PUSH1 0x02
00000963: EXP
00000964: SUB
00000965: PUSH1 0x04
00000967: CALLDATALOAD
00000968: DUP2
00000969: AND
0000096a: SWAP1
0000096b: PUSH1 0x24
0000096d: CALLDATALOAD
0000096e: DUP2
0000096f: AND
00000970: SWAP1
00000971: PUSH1 0x44
00000973: CALLDATALOAD
00000974: DUP2
00000975: AND
00000976: SWAP1
00000977: PUSH1 0x64
00000979: CALLDATALOAD
0000097a: DUP2
0000097b: AND
0000097c: SWAP1
0000097d: PUSH1 0x84
0000097f: CALLDATALOAD
00000980: AND
00000981: PUSH1 0xa4
00000983: CALLDATALOAD
00000984: PUSH1 0xc4
00000986: CALLDATALOAD
00000987: PUSH2 0x25c3
0000098a: JUMP
0000098b: JUMPDEST
0000098c: CALLVALUE
0000098d: ISZERO
0000098e: PUSH2 0x0996
00000991: JUMPI
00000992: PUSH1 0x00
00000994: DUP1
00000995: REVERT
00000996: JUMPDEST
00000997: PUSH2 0x05b2
0000099a: PUSH1 0x01
0000099c: PUSH1 0xa0
0000099e: PUSH1 0x02
000009a0: EXP
000009a1: SUB
000009a2: PUSH1 0x04
000009a4: CALLDATALOAD
000009a5: DUP2
000009a6: AND
000009a7: SWAP1
000009a8: PUSH1 0x24
000009aa: CALLDATALOAD
000009ab: DUP2
000009ac: AND
000009ad: SWAP1
000009ae: PUSH1 0x44
000009b0: CALLDATALOAD
000009b1: AND
000009b2: PUSH1 0x64
000009b4: CALLDATALOAD
000009b5: PUSH2 0x26b9
000009b8: JUMP
000009b9: JUMPDEST
000009ba: CALLVALUE
000009bb: ISZERO
000009bc: PUSH2 0x09c4
000009bf: JUMPI
000009c0: PUSH1 0x00
000009c2: DUP1
000009c3: REVERT
000009c4: JUMPDEST
000009c5: PUSH2 0x0493
000009c8: PUSH1 0x01
000009ca: PUSH1 0xa0
000009cc: PUSH1 0x02
000009ce: EXP
000009cf: SUB
000009d0: PUSH1 0x04
000009d2: CALLDATALOAD
000009d3: DUP2
000009d4: AND
000009d5: SWAP1
000009d6: PUSH1 0x24
000009d8: CALLDATALOAD
000009d9: AND
000009da: PUSH2 0x2b21
000009dd: JUMP
000009de: JUMPDEST
000009df: CALLVALUE
000009e0: ISZERO
000009e1: PUSH2 0x09e9
000009e4: JUMPI
000009e5: PUSH1 0x00
000009e7: DUP1
000009e8: REVERT
000009e9: JUMPDEST
000009ea: PUSH2 0x0493
000009ed: PUSH1 0x01
000009ef: PUSH1 0xa0
000009f1: PUSH1 0x02
000009f3: EXP
000009f4: SUB
000009f5: PUSH1 0x04
000009f7: CALLDATALOAD
000009f8: DUP2
000009f9: AND
000009fa: SWAP1
000009fb: PUSH1 0x24
000009fd: CALLDATALOAD
000009fe: AND
000009ff: PUSH2 0x2b3e
00000a02: JUMP
00000a03: JUMPDEST
00000a04: CALLVALUE
00000a05: ISZERO
00000a06: PUSH2 0x0a0e
00000a09: JUMPI
00000a0a: PUSH1 0x00
00000a0c: DUP1
00000a0d: REVERT
00000a0e: JUMPDEST
00000a0f: PUSH2 0x0493
00000a12: PUSH1 0x04
00000a14: CALLDATALOAD
00000a15: PUSH1 0x24
00000a17: CALLDATALOAD
00000a18: PUSH2 0x2b5b
00000a1b: JUMP
00000a1c: JUMPDEST
00000a1d: CALLVALUE
00000a1e: ISZERO
00000a1f: PUSH2 0x0a27
00000a22: JUMPI
00000a23: PUSH1 0x00
00000a25: DUP1
00000a26: REVERT
00000a27: JUMPDEST
00000a28: PUSH2 0x0493
00000a2b: PUSH1 0x01
00000a2d: PUSH1 0xa0
00000a2f: PUSH1 0x02
00000a31: EXP
00000a32: SUB
00000a33: PUSH1 0x04
00000a35: CALLDATALOAD
00000a36: DUP2
00000a37: AND
00000a38: SWAP1
00000a39: PUSH1 0x24
00000a3b: CALLDATALOAD
00000a3c: AND
00000a3d: PUSH2 0x2b78
00000a40: JUMP
00000a41: JUMPDEST
00000a42: CALLVALUE
00000a43: ISZERO
00000a44: PUSH2 0x0a4c
00000a47: JUMPI
00000a48: PUSH1 0x00
00000a4a: DUP1
00000a4b: REVERT
00000a4c: JUMPDEST
00000a4d: PUSH2 0x038b
00000a50: PUSH1 0x24
00000a52: PUSH1 0x04
00000a54: DUP1
00000a55: CALLDATALOAD
00000a56: DUP3
00000a57: DUP2
00000a58: ADD
00000a59: SWAP3
00000a5a: SWAP1
00000a5b: DUP3
00000a5c: ADD
00000a5d: CALLDATALOAD
00000a5e: SWAP2
00000a5f: DUP2
00000a60: CALLDATALOAD
00000a61: SWAP2
00000a62: DUP3
00000a63: ADD
00000a64: SWAP2
00000a65: ADD
00000a66: CALLDATALOAD
00000a67: PUSH1 0x01
00000a69: PUSH1 0xa0
00000a6b: PUSH1 0x02
00000a6d: EXP
00000a6e: SUB
00000a6f: PUSH1 0x44
00000a71: CALLDATALOAD
00000a72: AND
00000a73: PUSH2 0x2b95
00000a76: JUMP
00000a77: JUMPDEST
00000a78: CALLVALUE
00000a79: ISZERO
00000a7a: PUSH2 0x0a82
00000a7d: JUMPI
00000a7e: PUSH1 0x00
00000a80: DUP1
00000a81: REVERT
00000a82: JUMPDEST
00000a83: PUSH2 0x0493
00000a86: PUSH1 0x01
00000a88: PUSH1 0xa0
00000a8a: PUSH1 0x02
00000a8c: EXP
00000a8d: SUB
00000a8e: PUSH1 0x04
00000a90: CALLDATALOAD
00000a91: DUP2
00000a92: AND
00000a93: SWAP1
00000a94: PUSH1 0x24
00000a96: CALLDATALOAD
00000a97: DUP2
00000a98: AND
00000a99: SWAP1
00000a9a: PUSH1 0x44
00000a9c: CALLDATALOAD
00000a9d: SWAP1
00000a9e: PUSH1 0x64
00000aa0: CALLDATALOAD
00000aa1: AND
00000aa2: PUSH2 0x2ca7
00000aa5: JUMP
00000aa6: JUMPDEST
00000aa7: CALLVALUE
00000aa8: ISZERO
00000aa9: PUSH2 0x0ab1
00000aac: JUMPI
00000aad: PUSH1 0x00
00000aaf: DUP1
00000ab0: REVERT
00000ab1: JUMPDEST
00000ab2: PUSH2 0x0493
00000ab5: PUSH1 0x01
00000ab7: PUSH1 0xa0
00000ab9: PUSH1 0x02
00000abb: EXP
00000abc: SUB
00000abd: PUSH1 0x04
00000abf: CALLDATALOAD
00000ac0: DUP2
00000ac1: AND
00000ac2: SWAP1
00000ac3: PUSH1 0x24
00000ac5: CALLDATALOAD
00000ac6: AND
00000ac7: PUSH2 0x2cd3
00000aca: JUMP
00000acb: JUMPDEST
00000acc: CALLVALUE
00000acd: ISZERO
00000ace: PUSH2 0x0ad6
00000ad1: JUMPI
00000ad2: PUSH1 0x00
00000ad4: DUP1
00000ad5: REVERT
00000ad6: JUMPDEST
00000ad7: PUSH2 0x0502
00000ada: PUSH1 0x04
00000adc: CALLDATALOAD
00000add: PUSH2 0x2cf0
00000ae0: JUMP
00000ae1: JUMPDEST
00000ae2: CALLVALUE
00000ae3: ISZERO
00000ae4: PUSH2 0x0aec
00000ae7: JUMPI
00000ae8: PUSH1 0x00
00000aea: DUP1
00000aeb: REVERT
00000aec: JUMPDEST
00000aed: PUSH2 0x0493
00000af0: PUSH1 0x04
00000af2: CALLDATALOAD
00000af3: PUSH1 0x24
00000af5: CALLDATALOAD
00000af6: PUSH2 0x2d10
00000af9: JUMP
00000afa: JUMPDEST
00000afb: CALLVALUE
00000afc: ISZERO
00000afd: PUSH2 0x0b05
00000b00: JUMPI
00000b01: PUSH1 0x00
00000b03: DUP1
00000b04: REVERT
00000b05: JUMPDEST
00000b06: PUSH2 0x05e3
00000b09: PUSH1 0x04
00000b0b: CALLDATALOAD
00000b0c: PUSH1 0x24
00000b0e: CALLDATALOAD
00000b0f: PUSH2 0x2d2c
00000b12: JUMP
00000b13: JUMPDEST
00000b14: CALLVALUE
00000b15: ISZERO
00000b16: PUSH2 0x0b1e
00000b19: JUMPI
00000b1a: PUSH1 0x00
00000b1c: DUP1
00000b1d: REVERT
00000b1e: JUMPDEST
00000b1f: PUSH2 0x040f
00000b22: PUSH2 0x2d4e
00000b25: JUMP
00000b26: JUMPDEST
00000b27: CALLVALUE
00000b28: ISZERO
00000b29: PUSH2 0x0b31
00000b2c: JUMPI
00000b2d: PUSH1 0x00
00000b2f: DUP1
00000b30: REVERT
00000b31: JUMPDEST
00000b32: PUSH2 0x040f
00000b35: PUSH2 0x2d5d
00000b38: JUMP
00000b39: JUMPDEST
00000b3a: CALLVALUE
00000b3b: ISZERO
00000b3c: PUSH2 0x0b44
00000b3f: JUMPI
00000b40: PUSH1 0x00
00000b42: DUP1
00000b43: REVERT
00000b44: JUMPDEST
00000b45: PUSH2 0x0860
00000b48: PUSH1 0x01
00000b4a: PUSH1 0xa0
00000b4c: PUSH1 0x02
00000b4e: EXP
00000b4f: SUB
00000b50: PUSH1 0x04
00000b52: CALLDATALOAD
00000b53: DUP2
00000b54: AND
00000b55: SWAP1
00000b56: PUSH1 0x24
00000b58: CALLDATALOAD
00000b59: DUP2
00000b5a: AND
00000b5b: SWAP1
00000b5c: PUSH1 0x44
00000b5e: CALLDATALOAD
00000b5f: AND
00000b60: PUSH1 0x64
00000b62: CALLDATALOAD
00000b63: PUSH2 0x2d6c
00000b66: JUMP
00000b67: JUMPDEST
00000b68: CALLVALUE
00000b69: ISZERO
00000b6a: PUSH2 0x0b72
00000b6d: JUMPI
00000b6e: PUSH1 0x00
00000b70: DUP1
00000b71: REVERT
00000b72: JUMPDEST
00000b73: PUSH2 0x0502
00000b76: PUSH1 0x24
00000b78: PUSH1 0x04
00000b7a: DUP1
00000b7b: CALLDATALOAD
00000b7c: DUP3
00000b7d: DUP2
00000b7e: ADD
00000b7f: SWAP3
00000b80: SWAP1
00000b81: DUP3
00000b82: ADD
00000b83: CALLDATALOAD
00000b84: SWAP2
00000b85: DUP2
00000b86: CALLDATALOAD
00000b87: DUP1
00000b88: DUP4
00000b89: ADD
00000b8a: SWAP3
00000b8b: SWAP1
00000b8c: DUP3
00000b8d: ADD
00000b8e: CALLDATALOAD
00000b8f: SWAP2
00000b90: PUSH1 0x44
00000b92: CALLDATALOAD
00000b93: SWAP2
00000b94: DUP3
00000b95: ADD
00000b96: SWAP2
00000b97: ADD
00000b98: CALLDATALOAD
00000b99: PUSH1 0x01
00000b9b: PUSH1 0xa0
00000b9d: PUSH1 0x02
00000b9f: EXP
00000ba0: SUB
00000ba1: PUSH1 0x64
00000ba3: CALLDATALOAD
00000ba4: AND
00000ba5: PUSH2 0x2f08
00000ba8: JUMP
00000ba9: JUMPDEST
00000baa: CALLVALUE
00000bab: ISZERO
00000bac: PUSH2 0x0bb4
00000baf: JUMPI
00000bb0: PUSH1 0x00
00000bb2: DUP1
00000bb3: REVERT
00000bb4: JUMPDEST
00000bb5: PUSH2 0x0493
00000bb8: PUSH1 0x01
00000bba: PUSH1 0xa0
00000bbc: PUSH1 0x02
00000bbe: EXP
00000bbf: SUB
00000bc0: PUSH1 0x04
00000bc2: CALLDATALOAD
00000bc3: DUP2
00000bc4: AND
00000bc5: SWAP1
00000bc6: PUSH1 0x24
00000bc8: CALLDATALOAD
00000bc9: AND
00000bca: PUSH2 0x2f96
00000bcd: JUMP
00000bce: JUMPDEST
00000bcf: CALLVALUE
00000bd0: ISZERO
00000bd1: PUSH2 0x0bd9
00000bd4: JUMPI
00000bd5: PUSH1 0x00
00000bd7: DUP1
00000bd8: REVERT
00000bd9: JUMPDEST
00000bda: PUSH2 0x045c
00000bdd: PUSH1 0x01
00000bdf: PUSH1 0xa0
00000be1: PUSH1 0x02
00000be3: EXP
00000be4: SUB
00000be5: PUSH1 0x04
00000be7: CALLDATALOAD
00000be8: DUP2
00000be9: AND
00000bea: SWAP1
00000beb: PUSH1 0x24
00000bed: CALLDATALOAD
00000bee: DUP2
00000bef: AND
00000bf0: SWAP1
00000bf1: PUSH1 0x44
00000bf3: CALLDATALOAD
00000bf4: AND
00000bf5: PUSH1 0x64
00000bf7: CALLDATALOAD
00000bf8: PUSH2 0x2fd1
00000bfb: JUMP
00000bfc: JUMPDEST
00000bfd: CALLVALUE
00000bfe: ISZERO
00000bff: PUSH2 0x0c07
00000c02: JUMPI
00000c03: PUSH1 0x00
00000c05: DUP1
00000c06: REVERT
00000c07: JUMPDEST
00000c08: PUSH2 0x0502
00000c0b: PUSH1 0x04
00000c0d: CALLDATALOAD
00000c0e: PUSH2 0x308d
00000c11: JUMP
00000c12: JUMPDEST
00000c13: CALLVALUE
00000c14: ISZERO
00000c15: PUSH2 0x0c1d
00000c18: JUMPI
00000c19: PUSH1 0x00
00000c1b: DUP1
00000c1c: REVERT
00000c1d: JUMPDEST
00000c1e: PUSH2 0x05e3
00000c21: PUSH1 0x04
00000c23: CALLDATALOAD
00000c24: PUSH1 0x24
00000c26: CALLDATALOAD
00000c27: PUSH2 0x30ad
00000c2a: JUMP
00000c2b: JUMPDEST
00000c2c: CALLVALUE
00000c2d: ISZERO
00000c2e: PUSH2 0x0c36
00000c31: JUMPI
00000c32: PUSH1 0x00
00000c34: DUP1
00000c35: REVERT
00000c36: JUMPDEST
00000c37: PUSH2 0x0502
00000c3a: PUSH1 0x01
00000c3c: PUSH1 0xa0
00000c3e: PUSH1 0x02
00000c40: EXP
00000c41: SUB
00000c42: PUSH1 0x04
00000c44: CALLDATALOAD
00000c45: DUP2
00000c46: AND
00000c47: SWAP1
00000c48: PUSH1 0x24
00000c4a: CALLDATALOAD
00000c4b: AND
00000c4c: PUSH1 0x44
00000c4e: CALLDATALOAD
00000c4f: PUSH1 0x64
00000c51: CALLDATALOAD
00000c52: PUSH1 0x84
00000c54: CALLDATALOAD
00000c55: PUSH1 0xa4
00000c57: CALLDATALOAD
00000c58: PUSH2 0x30b3
00000c5b: JUMP
00000c5c: JUMPDEST
00000c5d: CALLVALUE
00000c5e: ISZERO
00000c5f: PUSH2 0x0c67
00000c62: JUMPI
00000c63: PUSH1 0x00
00000c65: DUP1
00000c66: REVERT
00000c67: JUMPDEST
00000c68: PUSH2 0x05b2
00000c6b: PUSH1 0x01
00000c6d: PUSH1 0xa0
00000c6f: PUSH1 0x02
00000c71: EXP
00000c72: SUB
00000c73: PUSH1 0x04
00000c75: CALLDATALOAD
00000c76: DUP2
00000c77: AND
00000c78: SWAP1
00000c79: PUSH1 0x24
00000c7b: CALLDATALOAD
00000c7c: AND
00000c7d: PUSH1 0x44
00000c7f: CALLDATALOAD
00000c80: PUSH2 0x333c
00000c83: JUMP
00000c84: JUMPDEST
00000c85: CALLVALUE
00000c86: ISZERO
00000c87: PUSH2 0x0c8f
00000c8a: JUMPI
00000c8b: PUSH1 0x00
00000c8d: DUP1
00000c8e: REVERT
00000c8f: JUMPDEST
00000c90: PUSH2 0x05b2
00000c93: PUSH1 0x01
00000c95: PUSH1 0xa0
00000c97: PUSH1 0x02
00000c99: EXP
00000c9a: SUB
00000c9b: PUSH1 0x04
00000c9d: CALLDATALOAD
00000c9e: AND
00000c9f: PUSH2 0x3366
00000ca2: JUMP
00000ca3: JUMPDEST
00000ca4: CALLVALUE
00000ca5: ISZERO
00000ca6: PUSH2 0x0cae
00000ca9: JUMPI
00000caa: PUSH1 0x00
00000cac: DUP1
00000cad: REVERT
00000cae: JUMPDEST
00000caf: PUSH2 0x0493
00000cb2: PUSH2 0x34c9
00000cb5: JUMP
00000cb6: JUMPDEST
00000cb7: CALLVALUE
00000cb8: ISZERO
00000cb9: PUSH2 0x0cc1
00000cbc: JUMPI
00000cbd: PUSH1 0x00
00000cbf: DUP1
00000cc0: REVERT
00000cc1: JUMPDEST
00000cc2: PUSH2 0x0493
00000cc5: PUSH1 0x01
00000cc7: PUSH1 0xa0
00000cc9: PUSH1 0x02
00000ccb: EXP
00000ccc: SUB
00000ccd: PUSH1 0x04
00000ccf: CALLDATALOAD
00000cd0: AND
00000cd1: PUSH1 0x24
00000cd3: CALLDATALOAD
00000cd4: PUSH2 0x34cf
00000cd7: JUMP
00000cd8: JUMPDEST
00000cd9: CALLVALUE
00000cda: ISZERO
00000cdb: PUSH2 0x0ce3
00000cde: JUMPI
00000cdf: PUSH1 0x00
00000ce1: DUP1
00000ce2: REVERT
00000ce3: JUMPDEST
00000ce4: PUSH2 0x05b2
00000ce7: PUSH1 0x01
00000ce9: PUSH1 0xa0
00000ceb: PUSH1 0x02
00000ced: EXP
00000cee: SUB
00000cef: PUSH1 0x04
00000cf1: CALLDATALOAD
00000cf2: AND
00000cf3: PUSH2 0x35fb
00000cf6: JUMP
00000cf7: JUMPDEST
00000cf8: CALLVALUE
00000cf9: ISZERO
00000cfa: PUSH2 0x0d02
00000cfd: JUMPI
00000cfe: PUSH1 0x00
00000d00: DUP1
00000d01: REVERT
00000d02: JUMPDEST
00000d03: PUSH2 0x0502
00000d06: PUSH2 0x3643
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: CALLVALUE
00000d0c: ISZERO
00000d0d: PUSH2 0x0d15
00000d10: JUMPI
00000d11: PUSH1 0x00
00000d13: DUP1
00000d14: REVERT
00000d15: JUMPDEST
00000d16: PUSH2 0x0502
00000d19: PUSH1 0x01
00000d1b: PUSH1 0xa0
00000d1d: PUSH1 0x02
00000d1f: EXP
00000d20: SUB
00000d21: PUSH1 0x04
00000d23: CALLDATALOAD
00000d24: AND
00000d25: PUSH2 0x36b8
00000d28: JUMP
00000d29: JUMPDEST
00000d2a: CALLVALUE
00000d2b: ISZERO
00000d2c: PUSH2 0x0d34
00000d2f: JUMPI
00000d30: PUSH1 0x00
00000d32: DUP1
00000d33: REVERT
00000d34: JUMPDEST
00000d35: PUSH2 0x0493
00000d38: PUSH1 0x01
00000d3a: PUSH1 0xa0
00000d3c: PUSH1 0x02
00000d3e: EXP
00000d3f: SUB
00000d40: PUSH1 0x04
00000d42: CALLDATALOAD
00000d43: DUP2
00000d44: AND
00000d45: SWAP1
00000d46: PUSH1 0x24
00000d48: CALLDATALOAD
00000d49: AND
00000d4a: PUSH1 0x44
00000d4c: CALLDATALOAD
00000d4d: PUSH2 0x3760
00000d50: JUMP
00000d51: JUMPDEST
00000d52: CALLVALUE
00000d53: ISZERO
00000d54: PUSH2 0x0d5c
00000d57: JUMPI
00000d58: PUSH1 0x00
00000d5a: DUP1
00000d5b: REVERT
00000d5c: JUMPDEST
00000d5d: PUSH2 0x0860
00000d60: PUSH1 0x01
00000d62: PUSH1 0xa0
00000d64: PUSH1 0x02
00000d66: EXP
00000d67: SUB
00000d68: PUSH1 0x04
00000d6a: CALLDATALOAD
00000d6b: DUP2
00000d6c: AND
00000d6d: SWAP1
00000d6e: PUSH1 0x24
00000d70: CALLDATALOAD
00000d71: DUP2
00000d72: AND
00000d73: SWAP1
00000d74: PUSH1 0x44
00000d76: CALLDATALOAD
00000d77: AND
00000d78: PUSH1 0x64
00000d7a: CALLDATALOAD
00000d7b: PUSH2 0x3783
00000d7e: JUMP
00000d7f: JUMPDEST
00000d80: CALLVALUE
00000d81: ISZERO
00000d82: PUSH2 0x0d8a
00000d85: JUMPI
00000d86: PUSH1 0x00
00000d88: DUP1
00000d89: REVERT
00000d8a: JUMPDEST
00000d8b: PUSH2 0x0493
00000d8e: PUSH1 0x01
00000d90: PUSH1 0xa0
00000d92: PUSH1 0x02
00000d94: EXP
00000d95: SUB
00000d96: PUSH1 0x04
00000d98: CALLDATALOAD
00000d99: DUP2
00000d9a: AND
00000d9b: SWAP1
00000d9c: PUSH1 0x24
00000d9e: CALLDATALOAD
00000d9f: AND
00000da0: PUSH2 0x391f
00000da3: JUMP
00000da4: JUMPDEST
00000da5: CALLVALUE
00000da6: ISZERO
00000da7: PUSH2 0x0daf
00000daa: JUMPI
00000dab: PUSH1 0x00
00000dad: DUP1
00000dae: REVERT
00000daf: JUMPDEST
00000db0: PUSH2 0x05b2
00000db3: PUSH1 0x01
00000db5: PUSH1 0xa0
00000db7: PUSH1 0x02
00000db9: EXP
00000dba: SUB
00000dbb: PUSH1 0x04
00000dbd: CALLDATALOAD
00000dbe: DUP2
00000dbf: AND
00000dc0: SWAP1
00000dc1: PUSH1 0x24
00000dc3: CALLDATALOAD
00000dc4: AND
00000dc5: PUSH1 0x44
00000dc7: CALLDATALOAD
00000dc8: PUSH2 0x393c
00000dcb: JUMP
00000dcc: JUMPDEST
00000dcd: PUSH1 0x00
00000dcf: DUP1
00000dd0: DUP4
00000dd1: PUSH1 0x01
00000dd3: PUSH1 0xa0
00000dd5: PUSH1 0x02
00000dd7: EXP
00000dd8: SUB
00000dd9: AND
00000dda: DUP4
00000ddb: PUSH1 0x01
00000ddd: PUSH1 0xa0
00000ddf: PUSH1 0x02
00000de1: EXP
00000de2: SUB
00000de3: AND
00000de4: LT
00000de5: ISZERO
00000de6: PUSH2 0x0ded
00000de9: JUMPI
00000dea: SWAP2
00000deb: SWAP3
00000dec: SWAP2
00000ded: JUMPDEST
00000dee: POP
00000def: SWAP2
00000df0: SWAP3
00000df1: SWAP1
00000df2: SWAP2
00000df3: POP
00000df4: JUMP
00000df5: JUMPDEST
00000df6: PUSH2 0x0dfd
00000df9: PUSH2 0x474c
00000dfc: JUMP
00000dfd: JUMPDEST
00000dfe: PUSH1 0x00
00000e00: DUP1
00000e01: PUSH2 0x0e08
00000e04: PUSH2 0x474c
00000e07: JUMP
00000e08: JUMPDEST
00000e09: DUP8
00000e0a: SWAP3
00000e0b: POP
00000e0c: DUP6
00000e0d: SWAP2
00000e0e: POP
00000e0f: PUSH1 0x00
00000e11: DUP1
00000e12: DUP4
00000e13: DUP6
00000e14: EQ
00000e15: PUSH2 0x0e1d
00000e18: JUMPI
00000e19: PUSH1 0x00
00000e1b: DUP1
00000e1c: REVERT
00000e1d: JUMPDEST
00000e1e: DUP5
00000e1f: PUSH1 0x40
00000e21: MLOAD
00000e22: DUP1
00000e23: MSIZE
00000e24: LT
00000e25: PUSH2 0x0e2b
00000e28: JUMPI
00000e29: POP
00000e2a: MSIZE
00000e2b: JUMPDEST
00000e2c: SWAP1
00000e2d: DUP1
00000e2e: DUP3
00000e2f: MSTORE
00000e30: DUP1
00000e31: PUSH1 0x20
00000e33: MUL
00000e34: PUSH1 0x20
00000e36: ADD
00000e37: DUP3
00000e38: ADD
00000e39: PUSH1 0x40
00000e3b: MSTORE
00000e3c: POP
00000e3d: SWAP3
00000e3e: POP
00000e3f: PUSH1 0x00
00000e41: SWAP2
00000e42: POP
00000e43: JUMPDEST
00000e44: DUP5
00000e45: DUP3
00000e46: LT
00000e47: ISZERO
00000e48: PUSH2 0x0f3a
00000e4b: JUMPI
00000e4c: PUSH2 0x0e8d
00000e4f: DUP12
00000e50: DUP12
00000e51: DUP5
00000e52: DUP2
00000e53: DUP2
00000e54: LT
00000e55: PUSH2 0x0e5a
00000e58: JUMPI
00000e59: INVALID
00000e5a: JUMPDEST
00000e5b: SWAP1
00000e5c: POP
00000e5d: PUSH1 0x20
00000e5f: MUL
00000e60: ADD
00000e61: CALLDATALOAD
00000e62: PUSH1 0x01
00000e64: PUSH1 0xa0
00000e66: PUSH1 0x02
00000e68: EXP
00000e69: SUB
00000e6a: AND
00000e6b: DUP11
00000e6c: DUP11
00000e6d: DUP6
00000e6e: DUP2
00000e6f: DUP2
00000e70: LT
00000e71: ISZERO
00000e72: ISZERO
00000e73: PUSH2 0x0e78
00000e76: JUMPI
00000e77: INVALID
00000e78: JUMPDEST
00000e79: SWAP1
00000e7a: POP
00000e7b: PUSH1 0x20
00000e7d: MUL
00000e7e: ADD
00000e7f: CALLDATALOAD
00000e80: PUSH1 0x01
00000e82: PUSH1 0xa0
00000e84: PUSH1 0x02
00000e86: EXP
00000e87: SUB
00000e88: AND
00000e89: PUSH2 0x104f
00000e8c: JUMP
00000e8d: JUMPDEST
00000e8e: SWAP1
00000e8f: POP
00000e90: PUSH1 0x15
00000e92: PUSH1 0x00
00000e94: DUP13
00000e95: DUP13
00000e96: DUP6
00000e97: DUP2
00000e98: DUP2
00000e99: LT
00000e9a: PUSH2 0x0e9f
00000e9d: JUMPI
00000e9e: INVALID
00000e9f: JUMPDEST
00000ea0: SWAP1
00000ea1: POP
00000ea2: PUSH1 0x20
00000ea4: MUL
00000ea5: ADD
00000ea6: CALLDATALOAD
00000ea7: PUSH1 0x01
00000ea9: PUSH1 0xa0
00000eab: PUSH1 0x02
00000ead: EXP
00000eae: SUB
00000eaf: AND
00000eb0: PUSH1 0x01
00000eb2: PUSH1 0xa0
00000eb4: PUSH1 0x02
00000eb6: EXP
00000eb7: SUB
00000eb8: AND
00000eb9: PUSH1 0x01
00000ebb: PUSH1 0xa0
00000ebd: PUSH1 0x02
00000ebf: EXP
00000ec0: SUB
00000ec1: AND
00000ec2: DUP2
00000ec3: MSTORE
00000ec4: PUSH1 0x20
00000ec6: ADD
00000ec7: SWAP1
00000ec8: DUP2
00000ec9: MSTORE
00000eca: PUSH1 0x20
00000ecc: ADD
00000ecd: PUSH1 0x00
00000ecf: KECCAK256
00000ed0: PUSH1 0x00
00000ed2: DUP11
00000ed3: DUP11
00000ed4: DUP6
00000ed5: DUP2
00000ed6: DUP2
00000ed7: LT
00000ed8: ISZERO
00000ed9: ISZERO
00000eda: PUSH2 0x0edf
00000edd: JUMPI
00000ede: INVALID
00000edf: JUMPDEST
00000ee0: PUSH1 0x01
00000ee2: PUSH1 0xa0
00000ee4: PUSH1 0x02
00000ee6: EXP
00000ee7: SUB
00000ee8: PUSH1 0x20
00000eea: SWAP2
00000eeb: DUP3
00000eec: MUL
00000eed: SWAP4
00000eee: SWAP1
00000eef: SWAP4
00000ef0: ADD
00000ef1: CALLDATALOAD
00000ef2: DUP4
00000ef3: AND
00000ef4: DUP5
00000ef5: MSTORE
00000ef6: DUP4
00000ef7: DUP2
00000ef8: ADD
00000ef9: SWAP5
00000efa: SWAP1
00000efb: SWAP5
00000efc: MSTORE
00000efd: POP
00000efe: PUSH1 0x40
00000f00: SWAP2
00000f01: DUP3
00000f02: ADD
00000f03: PUSH1 0x00
00000f05: SWAP1
00000f06: DUP2
00000f07: KECCAK256
00000f08: DUP6
00000f09: DUP3
00000f0a: MSTORE
00000f0b: DUP5
00000f0c: MSTORE
00000f0d: DUP3
00000f0e: DUP2
00000f0f: KECCAK256
00000f10: SWAP2
00000f11: DUP12
00000f12: AND
00000f13: DUP2
00000f14: MSTORE
00000f15: SWAP3
00000f16: MSTORE
00000f17: SWAP1
00000f18: KECCAK256
00000f19: SLOAD
00000f1a: DUP4
00000f1b: DUP4
00000f1c: DUP2
00000f1d: MLOAD
00000f1e: DUP2
00000f1f: LT
00000f20: PUSH2 0x0f25
00000f23: JUMPI
00000f24: INVALID
00000f25: JUMPDEST
00000f26: PUSH1 0x20
00000f28: SWAP1
00000f29: DUP2
00000f2a: MUL
00000f2b: SWAP1
00000f2c: SWAP2
00000f2d: ADD
00000f2e: ADD
00000f2f: MSTORE
00000f30: PUSH1 0x01
00000f32: SWAP1
00000f33: SWAP2
00000f34: ADD
00000f35: SWAP1
00000f36: PUSH2 0x0e43
00000f39: JUMP
00000f3a: JUMPDEST
00000f3b: POP
00000f3c: SWAP1
00000f3d: SWAP10
00000f3e: SWAP9
00000f3f: POP
00000f40: POP
00000f41: POP
00000f42: POP
00000f43: POP
00000f44: POP
00000f45: POP
00000f46: POP
00000f47: POP
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: PUSH2 0x0f51
00000f4d: PUSH2 0x474c
00000f50: JUMP
00000f51: JUMPDEST
00000f52: PUSH1 0x00
00000f54: PUSH2 0x0f5b
00000f57: PUSH2 0x474c
00000f5a: JUMP
00000f5b: JUMPDEST
00000f5c: DUP4
00000f5d: SWAP2
00000f5e: POP
00000f5f: PUSH1 0x00
00000f61: DUP3
00000f62: PUSH1 0x40
00000f64: MLOAD
00000f65: DUP1
00000f66: MSIZE
00000f67: LT
00000f68: PUSH2 0x0f6e
00000f6b: JUMPI
00000f6c: POP
00000f6d: MSIZE
00000f6e: JUMPDEST
00000f6f: SWAP1
00000f70: DUP1
00000f71: DUP3
00000f72: MSTORE
00000f73: DUP1
00000f74: PUSH1 0x20
00000f76: MUL
00000f77: PUSH1 0x20
00000f79: ADD
00000f7a: DUP3
00000f7b: ADD
00000f7c: PUSH1 0x40
00000f7e: MSTORE
00000f7f: POP
00000f80: SWAP2
00000f81: POP
00000f82: PUSH1 0x00
00000f84: SWAP1
00000f85: POP
00000f86: JUMPDEST
00000f87: DUP3
00000f88: DUP2
00000f89: LT
00000f8a: ISZERO
00000f8b: PUSH2 0x0fe7
00000f8e: JUMPI
00000f8f: PUSH1 0x0c
00000f91: PUSH1 0x00
00000f93: DUP8
00000f94: DUP8
00000f95: DUP5
00000f96: DUP2
00000f97: DUP2
00000f98: LT
00000f99: PUSH2 0x0f9e
00000f9c: JUMPI
00000f9d: INVALID
00000f9e: JUMPDEST
00000f9f: PUSH1 0x20
00000fa1: SWAP1
00000fa2: DUP2
00000fa3: MUL
00000fa4: SWAP3
00000fa5: SWAP1
00000fa6: SWAP3
00000fa7: ADD
00000fa8: CALLDATALOAD
00000fa9: PUSH1 0x01
00000fab: PUSH1 0xa0
00000fad: PUSH1 0x02
00000faf: EXP
00000fb0: SUB
00000fb1: AND
00000fb2: DUP4
00000fb3: MSTORE
00000fb4: POP
00000fb5: DUP2
00000fb6: ADD
00000fb7: SWAP2
00000fb8: SWAP1
00000fb9: SWAP2
00000fba: MSTORE
00000fbb: PUSH1 0x40
00000fbd: ADD
00000fbe: PUSH1 0x00
00000fc0: KECCAK256
00000fc1: SLOAD
00000fc2: PUSH1 0xff
00000fc4: AND
00000fc5: DUP3
00000fc6: DUP3
00000fc7: DUP2
00000fc8: MLOAD
00000fc9: DUP2
00000fca: LT
00000fcb: PUSH2 0x0fd0
00000fce: JUMPI
00000fcf: INVALID
00000fd0: JUMPDEST
00000fd1: SWAP2
00000fd2: ISZERO
00000fd3: ISZERO
00000fd4: PUSH1 0x20
00000fd6: SWAP3
00000fd7: DUP4
00000fd8: MUL
00000fd9: SWAP1
00000fda: SWAP2
00000fdb: ADD
00000fdc: SWAP1
00000fdd: SWAP2
00000fde: ADD
00000fdf: MSTORE
00000fe0: PUSH1 0x01
00000fe2: ADD
00000fe3: PUSH2 0x0f86
00000fe6: JUMP
00000fe7: JUMPDEST
00000fe8: POP
00000fe9: SWAP5
00000fea: SWAP4
00000feb: POP
00000fec: POP
00000fed: POP
00000fee: POP
00000fef: JUMP
00000ff0: JUMPDEST
00000ff1: PUSH1 0x00
00000ff3: SLOAD
00000ff4: PUSH1 0x01
00000ff6: PUSH1 0xa0
00000ff8: PUSH1 0x02
00000ffa: EXP
00000ffb: SUB
00000ffc: AND
00000ffd: SWAP1
00000ffe: JUMP
00000fff: JUMPDEST
00001000: PUSH1 0x00
00001002: DUP1
00001003: PUSH1 0x00
00001005: PUSH2 0x1010
00001008: DUP9
00001009: DUP9
0000100a: DUP9
0000100b: DUP9
0000100c: PUSH2 0x1e76
0000100f: JUMP
00001010: JUMPDEST
00001011: SWAP1
00001012: SWAP4
00001013: POP
00001014: SWAP2
00001015: POP
00001016: PUSH2 0x101f
00001019: DUP8
0000101a: DUP6
0000101b: PUSH2 0x34cf
0000101e: JUMP
0000101f: JUMPDEST
00001020: SWAP1
00001021: POP
00001022: SWAP6
00001023: POP
00001024: SWAP6
00001025: POP
00001026: SWAP6
00001027: SWAP3
00001028: POP
00001029: POP
0000102a: POP
0000102b: JUMP
0000102c: JUMPDEST
0000102d: PUSH1 0x02
0000102f: SLOAD
00001030: DUP2
00001031: JUMP
00001032: JUMPDEST
00001033: PUSH1 0x0e
00001035: PUSH1 0x20
00001037: SWAP1
00001038: DUP2
00001039: MSTORE
0000103a: PUSH1 0x00
0000103c: SWAP3
0000103d: DUP4
0000103e: MSTORE
0000103f: PUSH1 0x40
00001041: DUP1
00001042: DUP5
00001043: KECCAK256
00001044: SWAP1
00001045: SWAP2
00001046: MSTORE
00001047: SWAP1
00001048: DUP3
00001049: MSTORE
0000104a: SWAP1
0000104b: KECCAK256
0000104c: SLOAD
0000104d: DUP2
0000104e: JUMP
0000104f: JUMPDEST
00001050: PUSH1 0x00
00001052: PUSH2 0x105b
00001055: DUP4
00001056: DUP4
00001057: PUSH2 0x0dcc
0000105a: JUMP
0000105b: JUMPDEST
0000105c: PUSH1 0x01
0000105e: PUSH1 0xa0
00001060: PUSH1 0x02
00001062: EXP
00001063: SUB
00001064: SWAP2
00001065: DUP3
00001066: AND
00001067: PUSH1 0x00
00001069: SWAP1
0000106a: DUP2
0000106b: MSTORE
0000106c: PUSH1 0x0d
0000106e: PUSH1 0x20
00001070: SWAP1
00001071: DUP2
00001072: MSTORE
00001073: PUSH1 0x40
00001075: DUP1
00001076: DUP4
00001077: KECCAK256
00001078: SWAP4
00001079: SWAP1
0000107a: SWAP5
0000107b: AND
0000107c: DUP3
0000107d: MSTORE
0000107e: SWAP2
0000107f: SWAP1
00001080: SWAP2
00001081: MSTORE
00001082: KECCAK256
00001083: SLOAD
00001084: SWAP4
00001085: SWAP3
00001086: POP
00001087: POP
00001088: POP
00001089: JUMP
0000108a: JUMPDEST
0000108b: PUSH1 0x03
0000108d: SLOAD
0000108e: CALLER
0000108f: PUSH1 0x01
00001091: PUSH1 0xa0
00001093: PUSH1 0x02
00001095: EXP
00001096: SUB
00001097: SWAP1
00001098: DUP2
00001099: AND
0000109a: SWAP2
0000109b: AND
0000109c: EQ
0000109d: PUSH2 0x10a5
000010a0: JUMPI
000010a1: PUSH1 0x00
000010a3: DUP1
000010a4: REVERT
000010a5: JUMPDEST
000010a6: PUSH1 0x01
000010a8: SLOAD
000010a9: PUSH1 0x01
000010ab: PUSH1 0xa0
000010ad: PUSH1 0x02
000010af: EXP
000010b0: SUB
000010b1: AND
000010b2: ISZERO
000010b3: ISZERO
000010b4: PUSH2 0x10bc
000010b7: JUMPI
000010b8: PUSH1 0x00
000010ba: DUP1
000010bb: REVERT
000010bc: JUMPDEST
000010bd: PUSH1 0x02
000010bf: SLOAD
000010c0: TIMESTAMP
000010c1: LT
000010c2: ISZERO
000010c3: PUSH2 0x10cb
000010c6: JUMPI
000010c7: PUSH1 0x00
000010c9: DUP1
000010ca: REVERT
000010cb: JUMPDEST
000010cc: PUSH1 0x01
000010ce: DUP1
000010cf: SLOAD
000010d0: PUSH1 0x00
000010d2: DUP1
000010d3: SLOAD
000010d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e9: NOT
000010ea: SWAP1
000010eb: DUP2
000010ec: AND
000010ed: PUSH1 0x01
000010ef: PUSH1 0xa0
000010f1: PUSH1 0x02
000010f3: EXP
000010f4: SUB
000010f5: DUP5
000010f6: AND
000010f7: OR
000010f8: SWAP1
000010f9: SWAP2
000010fa: SSTORE
000010fb: AND
000010fc: SWAP1
000010fd: SSTORE
000010fe: JUMP
000010ff: JUMPDEST
00001100: PUSH1 0x00
00001102: DUP1
00001103: DUP3
00001104: SLT
00001105: ISZERO
00001106: PUSH2 0x1111
00001109: JUMPI
0000110a: POP
0000110b: PUSH1 0x00
0000110d: PUSH2 0x1114
00001110: JUMP
00001111: JUMPDEST
00001112: POP
00001113: DUP1
00001114: JUMPDEST
00001115: SWAP2
00001116: SWAP1
00001117: POP
00001118: JUMP
00001119: JUMPDEST
0000111a: PUSH1 0x16
0000111c: PUSH1 0x20
0000111e: SWAP1
0000111f: DUP2
00001120: MSTORE
00001121: PUSH1 0x00
00001123: SWAP5
00001124: DUP6
00001125: MSTORE
00001126: PUSH1 0x40
00001128: DUP1
00001129: DUP7
0000112a: KECCAK256
0000112b: DUP3
0000112c: MSTORE
0000112d: SWAP4
0000112e: DUP6
0000112f: MSTORE
00001130: DUP4
00001131: DUP6
00001132: KECCAK256
00001133: DUP2
00001134: MSTORE
00001135: SWAP2
00001136: DUP5
00001137: MSTORE
00001138: DUP3
00001139: DUP5
0000113a: KECCAK256
0000113b: SWAP1
0000113c: SWAP2
0000113d: MSTORE
0000113e: DUP3
0000113f: MSTORE
00001140: SWAP1
00001141: KECCAK256
00001142: SLOAD
00001143: DUP2
00001144: JUMP
00001145: JUMPDEST
00001146: PUSH1 0x03
00001148: SLOAD
00001149: CALLER
0000114a: PUSH1 0x01
0000114c: PUSH1 0xa0
0000114e: PUSH1 0x02
00001150: EXP
00001151: SUB
00001152: SWAP1
00001153: DUP2
00001154: AND
00001155: SWAP2
00001156: AND
00001157: EQ
00001158: PUSH2 0x1160
0000115b: JUMPI
0000115c: PUSH1 0x00
0000115e: DUP1
0000115f: REVERT
00001160: JUMPDEST
00001161: PUSH1 0x01
00001163: PUSH1 0xa0
00001165: PUSH1 0x02
00001167: EXP
00001168: SUB
00001169: DUP2
0000116a: AND
0000116b: ISZERO
0000116c: ISZERO
0000116d: PUSH2 0x1175
00001170: JUMPI
00001171: PUSH1 0x00
00001173: DUP1
00001174: REVERT
00001175: JUMPDEST
00001176: PUSH1 0x06
00001178: DUP1
00001179: SLOAD
0000117a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000118f: NOT
00001190: AND
00001191: PUSH1 0x01
00001193: PUSH1 0xa0
00001195: PUSH1 0x02
00001197: EXP
00001198: SUB
00001199: DUP4
0000119a: AND
0000119b: OR
0000119c: SWAP1
0000119d: SSTORE
0000119e: PUSH2 0x11aa
000011a1: TIMESTAMP
000011a2: PUSH3 0x278d00
000011a6: PUSH2 0x21a2
000011a9: JUMP
000011aa: JUMPDEST
000011ab: PUSH1 0x07
000011ad: SSTORE
000011ae: PUSH32 0x3f174cfd713408ca6e4620d1efcc241b23fc39aa7d4694bd98610d3384dc001c
000011cf: DUP2
000011d0: PUSH1 0x40
000011d2: MLOAD
000011d3: PUSH1 0x01
000011d5: PUSH1 0xa0
000011d7: PUSH1 0x02
000011d9: EXP
000011da: SUB
000011db: SWAP1
000011dc: SWAP2
000011dd: AND
000011de: DUP2
000011df: MSTORE
000011e0: PUSH1 0x20
000011e2: ADD
000011e3: PUSH1 0x40
000011e5: MLOAD
000011e6: DUP1
000011e7: SWAP2
000011e8: SUB
000011e9: SWAP1
000011ea: LOG1
000011eb: POP
000011ec: JUMP
000011ed: JUMPDEST
000011ee: PUSH1 0x00
000011f0: DUP1
000011f1: DUP4
000011f2: PUSH1 0x01
000011f4: PUSH1 0xa0
000011f6: PUSH1 0x02
000011f8: EXP
000011f9: SUB
000011fa: AND
000011fb: PUSH4 0x23b872dd
00001200: CALLER
00001201: ADDRESS
00001202: DUP7
00001203: PUSH1 0x40
00001205: MLOAD
00001206: PUSH1 0xe0
00001208: PUSH1 0x02
0000120a: EXP
0000120b: PUSH4 0xffffffff
00001210: DUP7
00001211: AND
00001212: MUL
00001213: DUP2
00001214: MSTORE
00001215: PUSH1 0x01
00001217: PUSH1 0xa0
00001219: PUSH1 0x02
0000121b: EXP
0000121c: SUB
0000121d: SWAP4
0000121e: DUP5
0000121f: AND
00001220: PUSH1 0x04
00001222: DUP3
00001223: ADD
00001224: MSTORE
00001225: SWAP2
00001226: SWAP1
00001227: SWAP3
00001228: AND
00001229: PUSH1 0x24
0000122b: DUP3
0000122c: ADD
0000122d: MSTORE
0000122e: PUSH1 0x44
00001230: DUP2
00001231: ADD
00001232: SWAP2
00001233: SWAP1
00001234: SWAP2
00001235: MSTORE
00001236: PUSH1 0x64
00001238: ADD
00001239: PUSH1 0x20
0000123b: PUSH1 0x40
0000123d: MLOAD
0000123e: DUP1
0000123f: DUP4
00001240: SUB
00001241: DUP2
00001242: PUSH1 0x00
00001244: DUP8
00001245: DUP1
00001246: EXTCODESIZE
00001247: ISZERO
00001248: ISZERO
00001249: PUSH2 0x1251
0000124c: JUMPI
0000124d: PUSH1 0x00
0000124f: DUP1
00001250: REVERT
00001251: JUMPDEST
00001252: GAS
00001253: CALL
00001254: ISZERO
00001255: ISZERO
00001256: PUSH2 0x125e
00001259: JUMPI
0000125a: PUSH1 0x00
0000125c: DUP1
0000125d: REVERT
0000125e: JUMPDEST
0000125f: POP
00001260: POP
00001261: POP
00001262: PUSH1 0x40
00001264: MLOAD
00001265: DUP1
00001266: MLOAD
00001267: SWAP1
00001268: POP
00001269: ISZERO
0000126a: ISZERO
0000126b: PUSH2 0x1273
0000126e: JUMPI
0000126f: PUSH1 0x00
00001271: DUP1
00001272: REVERT
00001273: JUMPDEST
00001274: PUSH1 0x01
00001276: PUSH1 0xa0
00001278: PUSH1 0x02
0000127a: EXP
0000127b: SUB
0000127c: DUP1
0000127d: DUP6
0000127e: AND
0000127f: PUSH1 0x00
00001281: SWAP1
00001282: DUP2
00001283: MSTORE
00001284: PUSH1 0x13
00001286: PUSH1 0x20
00001288: SWAP1
00001289: DUP2
0000128a: MSTORE
0000128b: PUSH1 0x40
0000128d: DUP1
0000128e: DUP4
0000128f: KECCAK256
00001290: CALLER
00001291: SWAP1
00001292: SWAP5
00001293: AND
00001294: DUP4
00001295: MSTORE
00001296: SWAP3
00001297: SWAP1
00001298: MSTORE
00001299: KECCAK256
0000129a: SLOAD
0000129b: PUSH2 0x12a4
0000129e: SWAP1
0000129f: DUP5
000012a0: PUSH2 0x21a2
000012a3: JUMP
000012a4: JUMPDEST
000012a5: PUSH1 0x01
000012a7: PUSH1 0xa0
000012a9: PUSH1 0x02
000012ab: EXP
000012ac: SUB
000012ad: DUP1
000012ae: DUP7
000012af: AND
000012b0: PUSH1 0x00
000012b2: DUP2
000012b3: DUP2
000012b4: MSTORE
000012b5: PUSH1 0x13
000012b7: PUSH1 0x20
000012b9: SWAP1
000012ba: DUP2
000012bb: MSTORE
000012bc: PUSH1 0x40
000012be: DUP1
000012bf: DUP4
000012c0: KECCAK256
000012c1: CALLER
000012c2: SWAP1
000012c3: SWAP6
000012c4: AND
000012c5: DUP4
000012c6: MSTORE
000012c7: SWAP4
000012c8: SWAP1
000012c9: MSTORE
000012ca: DUP3
000012cb: SWAP1
000012cc: KECCAK256
000012cd: DUP4
000012ce: SWAP1
000012cf: SSTORE
000012d0: SWAP2
000012d1: SWAP3
000012d2: POP
000012d3: PUSH32 0x2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de364
000012f4: SWAP1
000012f5: DUP6
000012f6: SWAP1
000012f7: MLOAD
000012f8: SWAP1
000012f9: DUP2
000012fa: MSTORE
000012fb: PUSH1 0x20
000012fd: ADD
000012fe: PUSH1 0x40
00001300: MLOAD
00001301: DUP1
00001302: SWAP2
00001303: SUB
00001304: SWAP1
00001305: LOG2
00001306: SWAP4
00001307: SWAP3
00001308: POP
00001309: POP
0000130a: POP
0000130b: JUMP
0000130c: JUMPDEST
0000130d: PUSH1 0x00
0000130f: DUP1
00001310: PUSH1 0x00
00001312: DUP1
00001313: PUSH2 0x131a
00001316: PUSH2 0x475e
00001319: JUMP
0000131a: JUMPDEST
0000131b: PUSH2 0x1322
0000131e: PUSH2 0x475e
00001321: JUMP
00001322: JUMPDEST
00001323: DUP8
00001324: PUSH1 0x01
00001326: PUSH1 0xa0
00001328: PUSH1 0x02
0000132a: EXP
0000132b: SUB
0000132c: AND
0000132d: DUP10
0000132e: PUSH1 0x01
00001330: PUSH1 0xa0
00001332: PUSH1 0x02
00001334: EXP
00001335: SUB
00001336: AND
00001337: EQ
00001338: ISZERO
00001339: PUSH2 0x1349
0000133c: JUMPI
0000133d: PUSH1 0x01
0000133f: SWAP6
00001340: POP
00001341: PUSH1 0x01
00001343: SWAP5
00001344: POP
00001345: PUSH2 0x14ba
00001348: JUMP
00001349: JUMPDEST
0000134a: PUSH1 0x00
0000134c: DUP8
0000134d: LT
0000134e: ISZERO
0000134f: PUSH2 0x1357
00001352: JUMPI
00001353: PUSH1 0x00
00001355: DUP1
00001356: REVERT
00001357: JUMPDEST
00001358: PUSH2 0x1361
0000135b: DUP10
0000135c: DUP10
0000135d: PUSH2 0x104f
00001360: JUMP
00001361: JUMPDEST
00001362: DUP8
00001363: GT
00001364: ISZERO
00001365: PUSH2 0x136d
00001368: JUMPI
00001369: PUSH1 0x00
0000136b: DUP1
0000136c: REVERT
0000136d: JUMPDEST
0000136e: PUSH1 0x00
00001370: SWAP4
00001371: POP
00001372: PUSH1 0x00
00001374: SWAP3
00001375: POP
00001376: JUMPDEST
00001377: DUP3
00001378: ISZERO
00001379: ISZERO
0000137a: PUSH2 0x145b
0000137d: JUMPI
0000137e: PUSH1 0x01
00001380: PUSH1 0xa0
00001382: PUSH1 0x02
00001384: EXP
00001385: SUB
00001386: DUP1
00001387: DUP10
00001388: AND
00001389: PUSH1 0x00
0000138b: SWAP1
0000138c: DUP2
0000138d: MSTORE
0000138e: PUSH1 0x0f
00001390: PUSH1 0x20
00001392: SWAP1
00001393: DUP2
00001394: MSTORE
00001395: PUSH1 0x40
00001397: DUP1
00001398: DUP4
00001399: KECCAK256
0000139a: SWAP4
0000139b: DUP14
0000139c: AND
0000139d: DUP4
0000139e: MSTORE
0000139f: SWAP3
000013a0: DUP2
000013a1: MSTORE
000013a2: DUP3
000013a3: DUP3
000013a4: KECCAK256
000013a5: DUP8
000013a6: DUP12
000013a7: SUB
000013a8: DUP4
000013a9: MSTORE
000013aa: SWAP1
000013ab: MSTORE
000013ac: DUP2
000013ad: SWAP1
000013ae: KECCAK256
000013af: SWAP1
000013b0: DUP1
000013b1: MLOAD
000013b2: SWAP1
000013b3: DUP2
000013b4: ADD
000013b5: PUSH1 0x40
000013b7: SWAP1
000013b8: DUP2
000013b9: MSTORE
000013ba: DUP3
000013bb: SLOAD
000013bc: DUP3
000013bd: MSTORE
000013be: PUSH1 0x01
000013c0: SWAP1
000013c1: SWAP3
000013c2: ADD
000013c3: SLOAD
000013c4: PUSH1 0x20
000013c6: DUP1
000013c7: DUP4
000013c8: ADD
000013c9: SWAP2
000013ca: SWAP1
000013cb: SWAP2
000013cc: MSTORE
000013cd: PUSH1 0x01
000013cf: PUSH1 0xa0
000013d1: PUSH1 0x02
000013d3: EXP
000013d4: SUB
000013d5: DUP1
000013d6: DUP14
000013d7: AND
000013d8: PUSH1 0x00
000013da: SWAP1
000013db: DUP2
000013dc: MSTORE
000013dd: PUSH1 0x0f
000013df: DUP4
000013e0: MSTORE
000013e1: DUP5
000013e2: DUP2
000013e3: KECCAK256
000013e4: SWAP2
000013e5: DUP14
000013e6: AND
000013e7: DUP2
000013e8: MSTORE
000013e9: SWAP1
000013ea: DUP3
000013eb: MSTORE
000013ec: DUP4
000013ed: DUP2
000013ee: KECCAK256
000013ef: DUP9
000013f0: DUP13
000013f1: SUB
000013f2: DUP3
000013f3: MSTORE
000013f4: SWAP1
000013f5: SWAP2
000013f6: MSTORE
000013f7: DUP3
000013f8: SWAP1
000013f9: KECCAK256
000013fa: SWAP1
000013fb: SWAP3
000013fc: POP
000013fd: SWAP1
000013fe: DUP1
000013ff: MLOAD
00001400: SWAP1
00001401: DUP2
00001402: ADD
00001403: PUSH1 0x40
00001405: MSTORE
00001406: DUP2
00001407: SLOAD
00001408: DUP2
00001409: MSTORE
0000140a: PUSH1 0x01
0000140c: SWAP1
0000140d: SWAP2
0000140e: ADD
0000140f: SLOAD
00001410: PUSH1 0x20
00001412: DUP3
00001413: ADD
00001414: MSTORE
00001415: SWAP2
00001416: POP
00001417: PUSH1 0x00
00001419: DUP3
0000141a: MLOAD
0000141b: GT
0000141c: DUP1
0000141d: ISZERO
0000141e: PUSH2 0x142b
00001421: JUMPI
00001422: POP
00001423: PUSH1 0x00
00001425: DUP3
00001426: PUSH1 0x20
00001428: ADD
00001429: MLOAD
0000142a: GT
0000142b: JUMPDEST
0000142c: DUP1
0000142d: PUSH2 0x1446
00001430: JUMPI
00001431: POP
00001432: PUSH1 0x00
00001434: DUP2
00001435: MLOAD
00001436: GT
00001437: DUP1
00001438: ISZERO
00001439: PUSH2 0x1446
0000143c: JUMPI
0000143d: POP
0000143e: PUSH1 0x00
00001440: DUP2
00001441: PUSH1 0x20
00001443: ADD
00001444: MLOAD
00001445: GT
00001446: JUMPDEST
00001447: ISZERO
00001448: PUSH2 0x1450
0000144b: JUMPI
0000144c: PUSH1 0x01
0000144e: SWAP3
0000144f: POP
00001450: JUMPDEST
00001451: PUSH1 0x01
00001453: SWAP1
00001454: SWAP4
00001455: ADD
00001456: SWAP3
00001457: PUSH2 0x1376
0000145a: JUMP
0000145b: JUMPDEST
0000145c: DUP2
0000145d: MLOAD
0000145e: ISZERO
0000145f: DUP1
00001460: PUSH2 0x146b
00001463: JUMPI
00001464: POP
00001465: DUP2
00001466: PUSH1 0x20
00001468: ADD
00001469: MLOAD
0000146a: ISZERO
0000146b: JUMPDEST
0000146c: ISZERO
0000146d: PUSH2 0x1480
00001470: JUMPI
00001471: DUP1
00001472: PUSH1 0x20
00001474: ADD
00001475: MLOAD
00001476: SWAP6
00001477: POP
00001478: DUP1
00001479: MLOAD
0000147a: SWAP5
0000147b: POP
0000147c: PUSH2 0x14ba
0000147f: JUMP
00001480: JUMPDEST
00001481: DUP1
00001482: MLOAD
00001483: ISZERO
00001484: DUP1
00001485: PUSH2 0x1490
00001488: JUMPI
00001489: POP
0000148a: DUP1
0000148b: PUSH1 0x20
0000148d: ADD
0000148e: MLOAD
0000148f: ISZERO
00001490: JUMPDEST
00001491: ISZERO
00001492: PUSH2 0x14a5
00001495: JUMPI
00001496: DUP2
00001497: MLOAD
00001498: SWAP6
00001499: POP
0000149a: DUP2
0000149b: PUSH1 0x20
0000149d: ADD
0000149e: MLOAD
0000149f: SWAP5
000014a0: POP
000014a1: PUSH2 0x14ba
000014a4: JUMP
000014a5: JUMPDEST
000014a6: DUP2
000014a7: MLOAD
000014a8: DUP2
000014a9: PUSH1 0x20
000014ab: ADD
000014ac: MLOAD
000014ad: ADD
000014ae: SWAP6
000014af: POP
000014b0: DUP2
000014b1: PUSH1 0x20
000014b3: ADD
000014b4: MLOAD
000014b5: DUP2
000014b6: MLOAD
000014b7: ADD
000014b8: SWAP5
000014b9: POP
000014ba: JUMPDEST
000014bb: POP
000014bc: POP
000014bd: POP
000014be: POP
000014bf: SWAP4
000014c0: POP
000014c1: SWAP4
000014c2: SWAP2
000014c3: POP
000014c4: POP
000014c5: JUMP
000014c6: JUMPDEST
000014c7: DUP1
000014c8: DUP3
000014c9: ADD
000014ca: DUP3
000014cb: SWAP1
000014cc: LT
000014cd: ISZERO
000014ce: JUMPDEST
000014cf: SWAP3
000014d0: SWAP2
000014d1: POP
000014d2: POP
000014d3: JUMP
000014d4: JUMPDEST
000014d5: PUSH1 0x00
000014d7: DUP1
000014d8: PUSH1 0x00
000014da: DUP1
000014db: PUSH1 0x00
000014dd: DUP1
000014de: PUSH1 0x00
000014e0: DUP1
000014e1: PUSH2 0x1532
000014e4: DUP10
000014e5: PUSH1 0x13
000014e7: PUSH1 0x00
000014e9: DUP16
000014ea: PUSH1 0x01
000014ec: PUSH1 0xa0
000014ee: PUSH1 0x02
000014f0: EXP
000014f1: SUB
000014f2: AND
000014f3: PUSH1 0x01
000014f5: PUSH1 0xa0
000014f7: PUSH1 0x02
000014f9: EXP
000014fa: SUB
000014fb: AND
000014fc: DUP2
000014fd: MSTORE
000014fe: PUSH1 0x20
00001500: ADD
00001501: SWAP1
00001502: DUP2
00001503: MSTORE
00001504: PUSH1 0x20
00001506: ADD
00001507: PUSH1 0x00
00001509: KECCAK256
0000150a: PUSH1 0x00
0000150c: CALLER
0000150d: PUSH1 0x01
0000150f: PUSH1 0xa0
00001511: PUSH1 0x02
00001513: EXP
00001514: SUB
00001515: AND
00001516: PUSH1 0x01
00001518: PUSH1 0xa0
0000151a: PUSH1 0x02
0000151c: EXP
0000151d: SUB
0000151e: AND
0000151f: DUP2
00001520: MSTORE
00001521: PUSH1 0x20
00001523: ADD
00001524: SWAP1
00001525: DUP2
00001526: MSTORE
00001527: PUSH1 0x20
00001529: ADD
0000152a: PUSH1 0x00
0000152c: KECCAK256
0000152d: SLOAD
0000152e: PUSH2 0x22b8
00001531: JUMP
00001532: JUMPDEST
00001533: SWAP9
00001534: POP
00001535: PUSH1 0x00
00001537: DUP10
00001538: GT
00001539: PUSH2 0x1541
0000153c: JUMPI
0000153d: PUSH1 0x00
0000153f: DUP1
00001540: REVERT
00001541: JUMPDEST
00001542: PUSH2 0x154b
00001545: DUP13
00001546: DUP13
00001547: PUSH2 0x104f
0000154a: JUMP
0000154b: JUMPDEST
0000154c: SWAP6
0000154d: POP
0000154e: PUSH1 0x00
00001550: DUP7
00001551: GT
00001552: PUSH2 0x155a
00001555: JUMPI
00001556: PUSH1 0x00
00001558: DUP1
00001559: REVERT
0000155a: JUMPDEST
0000155b: PUSH2 0x1564
0000155e: DUP13
0000155f: DUP13
00001560: PUSH2 0x2f96
00001563: JUMP
00001564: JUMPDEST
00001565: SWAP5
00001566: POP
00001567: PUSH1 0x01
00001569: DUP6
0000156a: EQ
0000156b: DUP1
0000156c: PUSH2 0x1574
0000156f: JUMPI
00001570: POP
00001571: TIMESTAMP
00001572: DUP6
00001573: GT
00001574: JUMPDEST
00001575: ISZERO
00001576: PUSH2 0x15e2
00001579: JUMPI
0000157a: DUP10
0000157b: ISZERO
0000157c: ISZERO
0000157d: PUSH2 0x1588
00001580: JUMPI
00001581: DUP6
00001582: SWAP10
00001583: POP
00001584: PUSH2 0x1594
00001587: JUMP
00001588: JUMPDEST
00001589: DUP10
0000158a: DUP7
0000158b: EQ
0000158c: PUSH2 0x1594
0000158f: JUMPI
00001590: PUSH1 0x00
00001592: DUP1
00001593: REVERT
00001594: JUMPDEST
00001595: PUSH1 0x01
00001597: PUSH1 0xa0
00001599: PUSH1 0x02
0000159b: EXP
0000159c: SUB
0000159d: DUP1
0000159e: DUP14
0000159f: AND
000015a0: PUSH1 0x00
000015a2: SWAP1
000015a3: DUP2
000015a4: MSTORE
000015a5: PUSH1 0x10
000015a7: PUSH1 0x20
000015a9: SWAP1
000015aa: DUP2
000015ab: MSTORE
000015ac: PUSH1 0x40
000015ae: DUP1
000015af: DUP4
000015b0: KECCAK256
000015b1: SWAP4
000015b2: DUP16
000015b3: AND
000015b4: DUP4
000015b5: MSTORE
000015b6: SWAP3
000015b7: SWAP1
000015b8: MSTORE
000015b9: KECCAK256
000015ba: SLOAD
000015bb: PUSH13 0x0c9f2c9cd04674edea40000000
000015c9: SWAP1
000015ca: PUSH2 0x15d3
000015cd: SWAP1
000015ce: DUP12
000015cf: PUSH2 0x21a2
000015d2: JUMP
000015d3: JUMPDEST
000015d4: LT
000015d5: PUSH2 0x15dd
000015d8: JUMPI
000015d9: PUSH1 0x00
000015db: DUP1
000015dc: REVERT
000015dd: JUMPDEST
000015de: PUSH2 0x164c
000015e1: JUMP
000015e2: JUMPDEST
000015e3: DUP10
000015e4: ISZERO
000015e5: ISZERO
000015e6: PUSH2 0x15f4
000015e9: JUMPI
000015ea: DUP6
000015eb: PUSH1 0x01
000015ed: ADD
000015ee: SWAP10
000015ef: POP
000015f0: PUSH2 0x1603
000015f3: JUMP
000015f4: JUMPDEST
000015f5: PUSH1 0x01
000015f7: DUP7
000015f8: ADD
000015f9: DUP11
000015fa: EQ
000015fb: PUSH2 0x1603
000015fe: JUMPI
000015ff: PUSH1 0x00
00001601: DUP1
00001602: REVERT
00001603: JUMPDEST
00001604: PUSH1 0x01
00001606: PUSH1 0xa0
00001608: PUSH1 0x02
0000160a: EXP
0000160b: SUB
0000160c: DUP1
0000160d: DUP14
0000160e: AND
0000160f: PUSH1 0x00
00001611: SWAP1
00001612: DUP2
00001613: MSTORE
00001614: PUSH1 0x11
00001616: PUSH1 0x20
00001618: SWAP1
00001619: DUP2
0000161a: MSTORE
0000161b: PUSH1 0x40
0000161d: DUP1
0000161e: DUP4
0000161f: KECCAK256
00001620: SWAP4
00001621: DUP16
00001622: AND
00001623: DUP4
00001624: MSTORE
00001625: SWAP3
00001626: SWAP1
00001627: MSTORE
00001628: KECCAK256
00001629: SLOAD
0000162a: PUSH13 0x0c9f2c9cd04674edea40000000
00001638: SWAP1
00001639: PUSH2 0x1642
0000163c: SWAP1
0000163d: DUP12
0000163e: PUSH2 0x21a2
00001641: JUMP
00001642: JUMPDEST
00001643: LT
00001644: PUSH2 0x164c
00001647: JUMPI
00001648: PUSH1 0x00
0000164a: DUP1
0000164b: REVERT
0000164c: JUMPDEST
0000164d: PUSH2 0x1658
00001650: DUP13
00001651: DUP13
00001652: DUP13
00001653: DUP13
00001654: PUSH2 0x3acb
00001657: JUMP
00001658: JUMPDEST
00001659: PUSH1 0x01
0000165b: PUSH1 0xa0
0000165d: PUSH1 0x02
0000165f: EXP
00001660: SUB
00001661: DUP1
00001662: DUP15
00001663: AND
00001664: PUSH1 0x00
00001666: SWAP1
00001667: DUP2
00001668: MSTORE
00001669: PUSH1 0x13
0000166b: PUSH1 0x20
0000166d: SWAP1
0000166e: DUP2
0000166f: MSTORE
00001670: PUSH1 0x40
00001672: DUP1
00001673: DUP4
00001674: KECCAK256
00001675: CALLER
00001676: SWAP1
00001677: SWAP5
00001678: AND
00001679: DUP4
0000167a: MSTORE
0000167b: SWAP3
0000167c: SWAP1
0000167d: MSTORE
0000167e: KECCAK256
0000167f: SLOAD
00001680: SWAP1
00001681: SWAP5
00001682: POP
00001683: PUSH2 0x168c
00001686: SWAP1
00001687: DUP11
00001688: PUSH2 0x2b5b
0000168b: JUMP
0000168c: JUMPDEST
0000168d: PUSH1 0x13
0000168f: PUSH1 0x00
00001691: DUP15
00001692: PUSH1 0x01
00001694: PUSH1 0xa0
00001696: PUSH1 0x02
00001698: EXP
00001699: SUB
0000169a: AND
0000169b: PUSH1 0x01
0000169d: PUSH1 0xa0
0000169f: PUSH1 0x02
000016a1: EXP
000016a2: SUB
000016a3: AND
000016a4: DUP2
000016a5: MSTORE
000016a6: PUSH1 0x20
000016a8: ADD
000016a9: SWAP1
000016aa: DUP2
000016ab: MSTORE
000016ac: PUSH1 0x20
000016ae: ADD
000016af: PUSH1 0x00
000016b1: KECCAK256
000016b2: PUSH1 0x00
000016b4: CALLER
000016b5: PUSH1 0x01
000016b7: PUSH1 0xa0
000016b9: PUSH1 0x02
000016bb: EXP
000016bc: SUB
000016bd: AND
000016be: PUSH1 0x01
000016c0: PUSH1 0xa0
000016c2: PUSH1 0x02
000016c4: EXP
000016c5: SUB
000016c6: AND
000016c7: DUP2
000016c8: MSTORE
000016c9: PUSH1 0x20
000016cb: ADD
000016cc: SWAP1
000016cd: DUP2
000016ce: MSTORE
000016cf: PUSH1 0x20
000016d1: ADD
000016d2: PUSH1 0x00
000016d4: KECCAK256
000016d5: DUP2
000016d6: SWAP1
000016d7: SSTORE
000016d8: POP
000016d9: PUSH2 0x175e
000016dc: PUSH1 0x15
000016de: PUSH1 0x00
000016e0: DUP15
000016e1: PUSH1 0x01
000016e3: PUSH1 0xa0
000016e5: PUSH1 0x02
000016e7: EXP
000016e8: SUB
000016e9: AND
000016ea: PUSH1 0x01
000016ec: PUSH1 0xa0
000016ee: PUSH1 0x02
000016f0: EXP
000016f1: SUB
000016f2: AND
000016f3: DUP2
000016f4: MSTORE
000016f5: PUSH1 0x20
000016f7: ADD
000016f8: SWAP1
000016f9: DUP2
000016fa: MSTORE
000016fb: PUSH1 0x20
000016fd: ADD
000016fe: PUSH1 0x00
00001700: KECCAK256
00001701: PUSH1 0x00
00001703: DUP14
00001704: PUSH1 0x01
00001706: PUSH1 0xa0
00001708: PUSH1 0x02
0000170a: EXP
0000170b: SUB
0000170c: AND
0000170d: PUSH1 0x01
0000170f: PUSH1 0xa0
00001711: PUSH1 0x02
00001713: EXP
00001714: SUB
00001715: AND
00001716: DUP2
00001717: MSTORE
00001718: PUSH1 0x20
0000171a: ADD
0000171b: SWAP1
0000171c: DUP2
0000171d: MSTORE
0000171e: PUSH1 0x20
00001720: ADD
00001721: PUSH1 0x00
00001723: KECCAK256
00001724: PUSH1 0x00
00001726: DUP13
00001727: DUP2
00001728: MSTORE
00001729: PUSH1 0x20
0000172b: ADD
0000172c: SWAP1
0000172d: DUP2
0000172e: MSTORE
0000172f: PUSH1 0x20
00001731: ADD
00001732: PUSH1 0x00
00001734: KECCAK256
00001735: PUSH1 0x00
00001737: CALLER
00001738: PUSH1 0x01
0000173a: PUSH1 0xa0
0000173c: PUSH1 0x02
0000173e: EXP
0000173f: SUB
00001740: AND
00001741: PUSH1 0x01
00001743: PUSH1 0xa0
00001745: PUSH1 0x02
00001747: EXP
00001748: SUB
00001749: AND
0000174a: DUP2
0000174b: MSTORE
0000174c: PUSH1 0x20
0000174e: ADD
0000174f: SWAP1
00001750: DUP2
00001751: MSTORE
00001752: PUSH1 0x20
00001754: ADD
00001755: PUSH1 0x00
00001757: KECCAK256
00001758: SLOAD
00001759: DUP6
0000175a: PUSH2 0x21a2
0000175d: JUMP
0000175e: JUMPDEST
0000175f: SWAP3
00001760: POP
00001761: DUP3
00001762: PUSH1 0x15
00001764: PUSH1 0x00
00001766: DUP15
00001767: PUSH1 0x01
00001769: PUSH1 0xa0
0000176b: PUSH1 0x02
0000176d: EXP
0000176e: SUB
0000176f: AND
00001770: PUSH1 0x01
00001772: PUSH1 0xa0
00001774: PUSH1 0x02
00001776: EXP
00001777: SUB
00001778: AND
00001779: DUP2
0000177a: MSTORE
0000177b: PUSH1 0x20
0000177d: ADD
0000177e: SWAP1
0000177f: DUP2
00001780: MSTORE
00001781: PUSH1 0x20
00001783: ADD
00001784: PUSH1 0x00
00001786: KECCAK256
00001787: PUSH1 0x00
00001789: DUP14
0000178a: PUSH1 0x01
0000178c: PUSH1 0xa0
0000178e: PUSH1 0x02
00001790: EXP
00001791: SUB
00001792: AND
00001793: PUSH1 0x01
00001795: PUSH1 0xa0
00001797: PUSH1 0x02
00001799: EXP
0000179a: SUB
0000179b: AND
0000179c: DUP2
0000179d: MSTORE
0000179e: PUSH1 0x20
000017a0: ADD
000017a1: SWAP1
000017a2: DUP2
000017a3: MSTORE
000017a4: PUSH1 0x20
000017a6: ADD
000017a7: PUSH1 0x00
000017a9: KECCAK256
000017aa: PUSH1 0x00
000017ac: DUP13
000017ad: DUP2
000017ae: MSTORE
000017af: PUSH1 0x20
000017b1: ADD
000017b2: SWAP1
000017b3: DUP2
000017b4: MSTORE
000017b5: PUSH1 0x20
000017b7: ADD
000017b8: PUSH1 0x00
000017ba: KECCAK256
000017bb: PUSH1 0x00
000017bd: CALLER
000017be: PUSH1 0x01
000017c0: PUSH1 0xa0
000017c2: PUSH1 0x02
000017c4: EXP
000017c5: SUB
000017c6: AND
000017c7: PUSH1 0x01
000017c9: PUSH1 0xa0
000017cb: PUSH1 0x02
000017cd: EXP
000017ce: SUB
000017cf: AND
000017d0: DUP2
000017d1: MSTORE
000017d2: PUSH1 0x20
000017d4: ADD
000017d5: SWAP1
000017d6: DUP2
000017d7: MSTORE
000017d8: PUSH1 0x20
000017da: ADD
000017db: PUSH1 0x00
000017dd: KECCAK256
000017de: DUP2
000017df: SWAP1
000017e0: SSTORE
000017e1: POP
000017e2: PUSH1 0x01
000017e4: DUP6
000017e5: EQ
000017e6: DUP1
000017e7: PUSH2 0x17ef
000017ea: JUMPI
000017eb: POP
000017ec: TIMESTAMP
000017ed: DUP6
000017ee: GT
000017ef: JUMPDEST
000017f0: ISZERO
000017f1: PUSH2 0x1877
000017f4: JUMPI
000017f5: PUSH1 0x01
000017f7: PUSH1 0xa0
000017f9: PUSH1 0x02
000017fb: EXP
000017fc: SUB
000017fd: DUP1
000017fe: DUP14
000017ff: AND
00001800: PUSH1 0x00
00001802: SWAP1
00001803: DUP2
00001804: MSTORE
00001805: PUSH1 0x10
00001807: PUSH1 0x20
00001809: SWAP1
0000180a: DUP2
0000180b: MSTORE
0000180c: PUSH1 0x40
0000180e: DUP1
0000180f: DUP4
00001810: KECCAK256
00001811: SWAP4
00001812: DUP16
00001813: AND
00001814: DUP4
00001815: MSTORE
00001816: SWAP3
00001817: SWAP1
00001818: MSTORE
00001819: KECCAK256
0000181a: SLOAD
0000181b: SWAP2
0000181c: POP
0000181d: PUSH2 0x1826
00001820: DUP3
00001821: DUP6
00001822: PUSH2 0x21a2
00001825: JUMP
00001826: JUMPDEST
00001827: PUSH1 0x10
00001829: PUSH1 0x00
0000182b: DUP15
0000182c: PUSH1 0x01
0000182e: PUSH1 0xa0
00001830: PUSH1 0x02
00001832: EXP
00001833: SUB
00001834: AND
00001835: PUSH1 0x01
00001837: PUSH1 0xa0
00001839: PUSH1 0x02
0000183b: EXP
0000183c: SUB
0000183d: AND
0000183e: DUP2
0000183f: MSTORE
00001840: PUSH1 0x20
00001842: ADD
00001843: SWAP1
00001844: DUP2
00001845: MSTORE
00001846: PUSH1 0x20
00001848: ADD
00001849: PUSH1 0x00
0000184b: KECCAK256
0000184c: PUSH1 0x00
0000184e: DUP14
0000184f: PUSH1 0x01
00001851: PUSH1 0xa0
00001853: PUSH1 0x02
00001855: EXP
00001856: SUB
00001857: AND
00001858: PUSH1 0x01
0000185a: PUSH1 0xa0
0000185c: PUSH1 0x02
0000185e: EXP
0000185f: SUB
00001860: AND
00001861: DUP2
00001862: MSTORE
00001863: PUSH1 0x20
00001865: ADD
00001866: SWAP1
00001867: DUP2
00001868: MSTORE
00001869: PUSH1 0x20
0000186b: ADD
0000186c: PUSH1 0x00
0000186e: KECCAK256
0000186f: DUP2
00001870: SWAP1
00001871: SSTORE
00001872: POP
00001873: PUSH2 0x18f5
00001876: JUMP
00001877: JUMPDEST
00001878: POP
00001879: PUSH1 0x01
0000187b: PUSH1 0xa0
0000187d: PUSH1 0x02
0000187f: EXP
00001880: SUB
00001881: DUP1
00001882: DUP13
00001883: AND
00001884: PUSH1 0x00
00001886: SWAP1
00001887: DUP2
00001888: MSTORE
00001889: PUSH1 0x11
0000188b: PUSH1 0x20
0000188d: SWAP1
0000188e: DUP2
0000188f: MSTORE
00001890: PUSH1 0x40
00001892: DUP1
00001893: DUP4
00001894: KECCAK256
00001895: SWAP4
00001896: DUP15
00001897: AND
00001898: DUP4
00001899: MSTORE
0000189a: SWAP3
0000189b: SWAP1
0000189c: MSTORE
0000189d: KECCAK256
0000189e: SLOAD
0000189f: PUSH2 0x18a8
000018a2: DUP2
000018a3: DUP6
000018a4: PUSH2 0x21a2
000018a7: JUMP
000018a8: JUMPDEST
000018a9: PUSH1 0x11
000018ab: PUSH1 0x00
000018ad: DUP15
000018ae: PUSH1 0x01
000018b0: PUSH1 0xa0
000018b2: PUSH1 0x02
000018b4: EXP
000018b5: SUB
000018b6: AND
000018b7: PUSH1 0x01
000018b9: PUSH1 0xa0
000018bb: PUSH1 0x02
000018bd: EXP
000018be: SUB
000018bf: AND
000018c0: DUP2
000018c1: MSTORE
000018c2: PUSH1 0x20
000018c4: ADD
000018c5: SWAP1
000018c6: DUP2
000018c7: MSTORE
000018c8: PUSH1 0x20
000018ca: ADD
000018cb: PUSH1 0x00
000018cd: KECCAK256
000018ce: PUSH1 0x00
000018d0: DUP14
000018d1: PUSH1 0x01
000018d3: PUSH1 0xa0
000018d5: PUSH1 0x02
000018d7: EXP
000018d8: SUB
000018d9: AND
000018da: PUSH1 0x01
000018dc: PUSH1 0xa0
000018de: PUSH1 0x02
000018e0: EXP
000018e1: SUB
000018e2: AND
000018e3: DUP2
000018e4: MSTORE
000018e5: PUSH1 0x20
000018e7: ADD
000018e8: SWAP1
000018e9: DUP2
000018ea: MSTORE
000018eb: PUSH1 0x20
000018ed: ADD
000018ee: PUSH1 0x00
000018f0: KECCAK256
000018f1: DUP2
000018f2: SWAP1
000018f3: SSTORE
000018f4: POP
000018f5: JUMPDEST
000018f6: PUSH1 0x01
000018f8: DUP6
000018f9: EQ
000018fa: ISZERO
000018fb: PUSH2 0x1908
000018fe: JUMPI
000018ff: PUSH2 0x1908
00001902: DUP13
00001903: DUP13
00001904: PUSH2 0x3bdd
00001907: JUMP
00001908: JUMPDEST
00001909: CALLER
0000190a: PUSH1 0x01
0000190c: PUSH1 0xa0
0000190e: PUSH1 0x02
00001910: EXP
00001911: SUB
00001912: AND
00001913: DUP12
00001914: PUSH1 0x01
00001916: PUSH1 0xa0
00001918: PUSH1 0x02
0000191a: EXP
0000191b: SUB
0000191c: AND
0000191d: DUP14
0000191e: PUSH1 0x01
00001920: PUSH1 0xa0
00001922: PUSH1 0x02
00001924: EXP
00001925: SUB
00001926: AND
00001927: PUSH32 0x3681d6f6ad159bac260c32828859f6df545bbf841c6e70787bcf0acbc390512a
00001948: DUP14
00001949: DUP9
0000194a: PUSH1 0x40
0000194c: MLOAD
0000194d: SWAP2
0000194e: DUP3
0000194f: MSTORE
00001950: PUSH1 0x20
00001952: DUP3
00001953: ADD
00001954: MSTORE
00001955: PUSH1 0x40
00001957: SWAP1
00001958: DUP2
00001959: ADD
0000195a: SWAP1
0000195b: MLOAD
0000195c: DUP1
0000195d: SWAP2
0000195e: SUB
0000195f: SWAP1
00001960: LOG4
00001961: DUP10
00001962: DUP4
00001963: SWAP8
00001964: POP
00001965: SWAP8
00001966: POP
00001967: JUMPDEST
00001968: POP
00001969: POP
0000196a: POP
0000196b: POP
0000196c: POP
0000196d: POP
0000196e: SWAP5
0000196f: POP
00001970: SWAP5
00001971: SWAP3
00001972: POP
00001973: POP
00001974: POP
00001975: JUMP
00001976: JUMPDEST
00001977: PUSH1 0x01
00001979: PUSH1 0xa0
0000197b: PUSH1 0x02
0000197d: EXP
0000197e: SUB
0000197f: DUP1
00001980: DUP6
00001981: AND
00001982: PUSH1 0x00
00001984: SWAP1
00001985: DUP2
00001986: MSTORE
00001987: PUSH1 0x0f
00001989: PUSH1 0x20
0000198b: SWAP1
0000198c: DUP2
0000198d: MSTORE
0000198e: PUSH1 0x40
00001990: DUP1
00001991: DUP4
00001992: KECCAK256
00001993: SWAP4
00001994: DUP8
00001995: AND
00001996: DUP4
00001997: MSTORE
00001998: SWAP3
00001999: DUP2
0000199a: MSTORE
0000199b: DUP3
0000199c: DUP3
0000199d: KECCAK256
0000199e: DUP6
0000199f: DUP4
000019a0: MSTORE
000019a1: SWAP1
000019a2: MSTORE
000019a3: SWAP1
000019a4: DUP2
000019a5: KECCAK256
000019a6: PUSH1 0x01
000019a8: ADD
000019a9: SLOAD
000019aa: DUP2
000019ab: SWAP1
000019ac: DUP2
000019ad: SWAP1
000019ae: DUP2
000019af: SWAP1
000019b0: DUP2
000019b1: SWAP1
000019b2: DUP2
000019b3: SWAP1
000019b4: DUP2
000019b5: SWAP1
000019b6: DUP2
000019b7: SWAP1
000019b8: DUP2
000019b9: SWAP1
000019ba: ISZERO
000019bb: PUSH2 0x19c3
000019be: JUMPI
000019bf: PUSH1 0x00
000019c1: DUP1
000019c2: REVERT
000019c3: JUMPDEST
000019c4: PUSH2 0x19cd
000019c7: DUP14
000019c8: DUP14
000019c9: PUSH2 0x2f96
000019cc: JUMP
000019cd: JUMPDEST
000019ce: SWAP8
000019cf: POP
000019d0: TIMESTAMP
000019d1: DUP9
000019d2: GT
000019d3: ISZERO
000019d4: PUSH2 0x19dc
000019d7: JUMPI
000019d8: PUSH1 0x00
000019da: DUP1
000019db: REVERT
000019dc: JUMPDEST
000019dd: PUSH2 0x19e6
000019e0: DUP14
000019e1: DUP14
000019e2: PUSH2 0x104f
000019e5: JUMP
000019e6: JUMPDEST
000019e7: DUP12
000019e8: EQ
000019e9: PUSH2 0x19f1
000019ec: JUMPI
000019ed: PUSH1 0x00
000019ef: DUP1
000019f0: REVERT
000019f1: JUMPDEST
000019f2: PUSH1 0x01
000019f4: DUP9
000019f5: GT
000019f6: PUSH2 0x19fe
000019f9: JUMPI
000019fa: PUSH1 0x00
000019fc: DUP1
000019fd: REVERT
000019fe: JUMPDEST
000019ff: PUSH1 0x00
00001a01: PUSH1 0x10
00001a03: PUSH1 0x00
00001a05: DUP16
00001a06: PUSH1 0x01
00001a08: PUSH1 0xa0
00001a0a: PUSH1 0x02
00001a0c: EXP
00001a0d: SUB
00001a0e: AND
00001a0f: PUSH1 0x01
00001a11: PUSH1 0xa0
00001a13: PUSH1 0x02
00001a15: EXP
00001a16: SUB
00001a17: AND
00001a18: DUP2
00001a19: MSTORE
00001a1a: PUSH1 0x20
00001a1c: ADD
00001a1d: SWAP1
00001a1e: DUP2
00001a1f: MSTORE
00001a20: PUSH1 0x20
00001a22: ADD
00001a23: PUSH1 0x00
00001a25: KECCAK256
00001a26: PUSH1 0x00
00001a28: DUP15
00001a29: PUSH1 0x01
00001a2b: PUSH1 0xa0
00001a2d: PUSH1 0x02
00001a2f: EXP
00001a30: SUB
00001a31: AND
00001a32: PUSH1 0x01
00001a34: PUSH1 0xa0
00001a36: PUSH1 0x02
00001a38: EXP
00001a39: SUB
00001a3a: AND
00001a3b: DUP2
00001a3c: MSTORE
00001a3d: PUSH1 0x20
00001a3f: ADD
00001a40: SWAP1
00001a41: DUP2
00001a42: MSTORE
00001a43: PUSH1 0x20
00001a45: ADD
00001a46: PUSH1 0x00
00001a48: KECCAK256
00001a49: SLOAD
00001a4a: GT
00001a4b: ISZERO
00001a4c: ISZERO
00001a4d: PUSH2 0x1a55
00001a50: JUMPI
00001a51: PUSH1 0x00
00001a53: DUP1
00001a54: REVERT
00001a55: JUMPDEST
00001a56: PUSH1 0x12
00001a58: PUSH1 0x00
00001a5a: DUP15
00001a5b: PUSH1 0x01
00001a5d: PUSH1 0xa0
00001a5f: PUSH1 0x02
00001a61: EXP
00001a62: SUB
00001a63: AND
00001a64: PUSH1 0x01
00001a66: PUSH1 0xa0
00001a68: PUSH1 0x02
00001a6a: EXP
00001a6b: SUB
00001a6c: AND
00001a6d: DUP2
00001a6e: MSTORE
00001a6f: PUSH1 0x20
00001a71: ADD
00001a72: SWAP1
00001a73: DUP2
00001a74: MSTORE
00001a75: PUSH1 0x20
00001a77: ADD
00001a78: PUSH1 0x00
00001a7a: KECCAK256
00001a7b: PUSH1 0x00
00001a7d: DUP14
00001a7e: PUSH1 0x01
00001a80: PUSH1 0xa0
00001a82: PUSH1 0x02
00001a84: EXP
00001a85: SUB
00001a86: AND
00001a87: PUSH1 0x01
00001a89: PUSH1 0xa0
00001a8b: PUSH1 0x02
00001a8d: EXP
00001a8e: SUB
00001a8f: AND
00001a90: DUP2
00001a91: MSTORE
00001a92: PUSH1 0x20
00001a94: ADD
00001a95: SWAP1
00001a96: DUP2
00001a97: MSTORE
00001a98: PUSH1 0x20
00001a9a: ADD
00001a9b: PUSH1 0x00
00001a9d: KECCAK256
00001a9e: SLOAD
00001a9f: SWAP7
00001aa0: POP
00001aa1: PUSH2 0x1af2
00001aa4: DUP11
00001aa5: PUSH1 0x13
00001aa7: PUSH1 0x00
00001aa9: DUP16
00001aaa: PUSH1 0x01
00001aac: PUSH1 0xa0
00001aae: PUSH1 0x02
00001ab0: EXP
00001ab1: SUB
00001ab2: AND
00001ab3: PUSH1 0x01
00001ab5: PUSH1 0xa0
00001ab7: PUSH1 0x02
00001ab9: EXP
00001aba: SUB
00001abb: AND
00001abc: DUP2
00001abd: MSTORE
00001abe: PUSH1 0x20
00001ac0: ADD
00001ac1: SWAP1
00001ac2: DUP2
00001ac3: MSTORE
00001ac4: PUSH1 0x20
00001ac6: ADD
00001ac7: PUSH1 0x00
00001ac9: KECCAK256
00001aca: PUSH1 0x00
00001acc: CALLER
00001acd: PUSH1 0x01
00001acf: PUSH1 0xa0
00001ad1: PUSH1 0x02
00001ad3: EXP
00001ad4: SUB
00001ad5: AND
00001ad6: PUSH1 0x01
00001ad8: PUSH1 0xa0
00001ada: PUSH1 0x02
00001adc: EXP
00001add: SUB
00001ade: AND
00001adf: DUP2
00001ae0: MSTORE
00001ae1: PUSH1 0x20
00001ae3: ADD
00001ae4: SWAP1
00001ae5: DUP2
00001ae6: MSTORE
00001ae7: PUSH1 0x20
00001ae9: ADD
00001aea: PUSH1 0x00
00001aec: KECCAK256
00001aed: SLOAD
00001aee: PUSH2 0x22b8
00001af1: JUMP
00001af2: JUMPDEST
00001af3: SWAP10
00001af4: POP
00001af5: PUSH13 0x0c9f2c9cd04674edea40000000
00001b03: PUSH2 0x1b0c
00001b06: DUP9
00001b07: DUP13
00001b08: PUSH2 0x21a2
00001b0b: JUMP
00001b0c: JUMPDEST
00001b0d: LT
00001b0e: PUSH2 0x1b16
00001b11: JUMPI
00001b12: PUSH1 0x00
00001b14: DUP1
00001b15: REVERT
00001b16: JUMPDEST
00001b17: PUSH1 0x10
00001b19: PUSH1 0x00
00001b1b: DUP15
00001b1c: PUSH1 0x01
00001b1e: PUSH1 0xa0
00001b20: PUSH1 0x02
00001b22: EXP
00001b23: SUB
00001b24: AND
00001b25: PUSH1 0x01
00001b27: PUSH1 0xa0
00001b29: PUSH1 0x02
00001b2b: EXP
00001b2c: SUB
00001b2d: AND
00001b2e: DUP2
00001b2f: MSTORE
00001b30: PUSH1 0x20
00001b32: ADD
00001b33: SWAP1
00001b34: DUP2
00001b35: MSTORE
00001b36: PUSH1 0x20
00001b38: ADD
00001b39: PUSH1 0x00
00001b3b: KECCAK256
00001b3c: PUSH1 0x00
00001b3e: DUP14
00001b3f: PUSH1 0x01
00001b41: PUSH1 0xa0
00001b43: PUSH1 0x02
00001b45: EXP
00001b46: SUB
00001b47: AND
00001b48: PUSH1 0x01
00001b4a: PUSH1 0xa0
00001b4c: PUSH1 0x02
00001b4e: EXP
00001b4f: SUB
00001b50: AND
00001b51: DUP2
00001b52: MSTORE
00001b53: PUSH1 0x20
00001b55: ADD
00001b56: SWAP1
00001b57: DUP2
00001b58: MSTORE
00001b59: PUSH1 0x20
00001b5b: ADD
00001b5c: PUSH1 0x00
00001b5e: KECCAK256
00001b5f: SLOAD
00001b60: SWAP6
00001b61: POP
00001b62: PUSH2 0x1b6c
00001b65: DUP14
00001b66: DUP14
00001b67: DUP14
00001b68: PUSH2 0x393c
00001b6b: JUMP
00001b6c: JUMPDEST
00001b6d: SWAP1
00001b6e: SWAP6
00001b6f: POP
00001b70: SWAP4
00001b71: POP
00001b72: PUSH2 0x1b90
00001b75: DUP8
00001b76: DUP6
00001b77: PUSH2 0x1b80
00001b7a: DUP10
00001b7b: DUP10
00001b7c: PUSH2 0x2d10
00001b7f: JUMP
00001b80: JUMPDEST
00001b81: DUP2
00001b82: ISZERO
00001b83: ISZERO
00001b84: PUSH2 0x1b89
00001b87: JUMPI
00001b88: INVALID
00001b89: JUMPDEST
00001b8a: DIV
00001b8b: SUB
00001b8c: PUSH2 0x10ff
00001b8f: JUMP
00001b90: JUMPDEST
00001b91: SWAP3
00001b92: POP
00001b93: DUP3
00001b94: DUP11
00001b95: LT
00001b96: ISZERO
00001b97: PUSH2 0x1bb7
00001b9a: JUMPI
00001b9b: PUSH1 0x00
00001b9d: DUP11
00001b9e: GT
00001b9f: ISZERO
00001ba0: PUSH2 0x1bb2
00001ba3: JUMPI
00001ba4: PUSH2 0x1baf
00001ba7: DUP13
00001ba8: DUP15
00001ba9: DUP14
00001baa: DUP14
00001bab: PUSH2 0x3acb
00001bae: JUMP
00001baf: JUMPDEST
00001bb0: SWAP2
00001bb1: POP
00001bb2: JUMPDEST
00001bb3: PUSH2 0x1bbe
00001bb6: JUMP
00001bb7: JUMPDEST
00001bb8: DUP3
00001bb9: SWAP10
00001bba: POP
00001bbb: DUP3
00001bbc: SWAP2
00001bbd: POP
00001bbe: JUMPDEST
00001bbf: PUSH1 0x00
00001bc1: DUP11
00001bc2: GT
00001bc3: ISZERO
00001bc4: PUSH2 0x1e44
00001bc7: JUMPI
00001bc8: PUSH1 0x01
00001bca: PUSH1 0xa0
00001bcc: PUSH1 0x02
00001bce: EXP
00001bcf: SUB
00001bd0: DUP1
00001bd1: DUP14
00001bd2: AND
00001bd3: PUSH1 0x00
00001bd5: SWAP1
00001bd6: DUP2
00001bd7: MSTORE
00001bd8: PUSH1 0x13
00001bda: PUSH1 0x20
00001bdc: SWAP1
00001bdd: DUP2
00001bde: MSTORE
00001bdf: PUSH1 0x40
00001be1: DUP1
00001be2: DUP4
00001be3: KECCAK256
00001be4: CALLER
00001be5: SWAP1
00001be6: SWAP5
00001be7: AND
00001be8: DUP4
00001be9: MSTORE
00001bea: SWAP3
00001beb: SWAP1
00001bec: MSTORE
00001bed: KECCAK256
00001bee: SLOAD
00001bef: PUSH2 0x1bf8
00001bf2: SWAP1
00001bf3: DUP12
00001bf4: PUSH2 0x2b5b
00001bf7: JUMP
00001bf8: JUMPDEST
00001bf9: PUSH1 0x13
00001bfb: PUSH1 0x00
00001bfd: DUP15
00001bfe: PUSH1 0x01
00001c00: PUSH1 0xa0
00001c02: PUSH1 0x02
00001c04: EXP
00001c05: SUB
00001c06: AND
00001c07: PUSH1 0x01
00001c09: PUSH1 0xa0
00001c0b: PUSH1 0x02
00001c0d: EXP
00001c0e: SUB
00001c0f: AND
00001c10: DUP2
00001c11: MSTORE
00001c12: PUSH1 0x20
00001c14: ADD
00001c15: SWAP1
00001c16: DUP2
00001c17: MSTORE
00001c18: PUSH1 0x20
00001c1a: ADD
00001c1b: PUSH1 0x00
00001c1d: KECCAK256
00001c1e: PUSH1 0x00
00001c20: CALLER
00001c21: PUSH1 0x01
00001c23: PUSH1 0xa0
00001c25: PUSH1 0x02
00001c27: EXP
00001c28: SUB
00001c29: AND
00001c2a: PUSH1 0x01
00001c2c: PUSH1 0xa0
00001c2e: PUSH1 0x02
00001c30: EXP
00001c31: SUB
00001c32: AND
00001c33: DUP2
00001c34: MSTORE
00001c35: PUSH1 0x20
00001c37: ADD
00001c38: SWAP1
00001c39: DUP2
00001c3a: MSTORE
00001c3b: PUSH1 0x20
00001c3d: ADD
00001c3e: PUSH1 0x00
00001c40: KECCAK256
00001c41: DUP2
00001c42: SWAP1
00001c43: SSTORE
00001c44: POP
00001c45: PUSH2 0x1cca
00001c48: PUSH1 0x16
00001c4a: PUSH1 0x00
00001c4c: DUP16
00001c4d: PUSH1 0x01
00001c4f: PUSH1 0xa0
00001c51: PUSH1 0x02
00001c53: EXP
00001c54: SUB
00001c55: AND
00001c56: PUSH1 0x01
00001c58: PUSH1 0xa0
00001c5a: PUSH1 0x02
00001c5c: EXP
00001c5d: SUB
00001c5e: AND
00001c5f: DUP2
00001c60: MSTORE
00001c61: PUSH1 0x20
00001c63: ADD
00001c64: SWAP1
00001c65: DUP2
00001c66: MSTORE
00001c67: PUSH1 0x20
00001c69: ADD
00001c6a: PUSH1 0x00
00001c6c: KECCAK256
00001c6d: PUSH1 0x00
00001c6f: DUP15
00001c70: PUSH1 0x01
00001c72: PUSH1 0xa0
00001c74: PUSH1 0x02
00001c76: EXP
00001c77: SUB
00001c78: AND
00001c79: PUSH1 0x01
00001c7b: PUSH1 0xa0
00001c7d: PUSH1 0x02
00001c7f: EXP
00001c80: SUB
00001c81: AND
00001c82: DUP2
00001c83: MSTORE
00001c84: PUSH1 0x20
00001c86: ADD
00001c87: SWAP1
00001c88: DUP2
00001c89: MSTORE
00001c8a: PUSH1 0x20
00001c8c: ADD
00001c8d: PUSH1 0x00
00001c8f: KECCAK256
00001c90: PUSH1 0x00
00001c92: DUP14
00001c93: DUP2
00001c94: MSTORE
00001c95: PUSH1 0x20
00001c97: ADD
00001c98: SWAP1
00001c99: DUP2
00001c9a: MSTORE
00001c9b: PUSH1 0x20
00001c9d: ADD
00001c9e: PUSH1 0x00
00001ca0: KECCAK256
00001ca1: PUSH1 0x00
00001ca3: CALLER
00001ca4: PUSH1 0x01
00001ca6: PUSH1 0xa0
00001ca8: PUSH1 0x02
00001caa: EXP
00001cab: SUB
00001cac: AND
00001cad: PUSH1 0x01
00001caf: PUSH1 0xa0
00001cb1: PUSH1 0x02
00001cb3: EXP
00001cb4: SUB
00001cb5: AND
00001cb6: DUP2
00001cb7: MSTORE
00001cb8: PUSH1 0x20
00001cba: ADD
00001cbb: SWAP1
00001cbc: DUP2
00001cbd: MSTORE
00001cbe: PUSH1 0x20
00001cc0: ADD
00001cc1: PUSH1 0x00
00001cc3: KECCAK256
00001cc4: SLOAD
00001cc5: DUP4
00001cc6: PUSH2 0x21a2
00001cc9: JUMP
00001cca: JUMPDEST
00001ccb: SWAP1
00001ccc: POP
00001ccd: DUP1
00001cce: PUSH1 0x16
00001cd0: PUSH1 0x00
00001cd2: DUP16
00001cd3: PUSH1 0x01
00001cd5: PUSH1 0xa0
00001cd7: PUSH1 0x02
00001cd9: EXP
00001cda: SUB
00001cdb: AND
00001cdc: PUSH1 0x01
00001cde: PUSH1 0xa0
00001ce0: PUSH1 0x02
00001ce2: EXP
00001ce3: SUB
00001ce4: AND
00001ce5: DUP2
00001ce6: MSTORE
00001ce7: PUSH1 0x20
00001ce9: ADD
00001cea: SWAP1
00001ceb: DUP2
00001cec: MSTORE
00001ced: PUSH1 0x20
00001cef: ADD
00001cf0: PUSH1 0x00
00001cf2: KECCAK256
00001cf3: PUSH1 0x00
00001cf5: DUP15
00001cf6: PUSH1 0x01
00001cf8: PUSH1 0xa0
00001cfa: PUSH1 0x02
00001cfc: EXP
00001cfd: SUB
00001cfe: AND
00001cff: PUSH1 0x01
00001d01: PUSH1 0xa0
00001d03: PUSH1 0x02
00001d05: EXP
00001d06: SUB
00001d07: AND
00001d08: DUP2
00001d09: MSTORE
00001d0a: PUSH1 0x20
00001d0c: ADD
00001d0d: SWAP1
00001d0e: DUP2
00001d0f: MSTORE
00001d10: PUSH1 0x20
00001d12: ADD
00001d13: PUSH1 0x00
00001d15: KECCAK256
00001d16: PUSH1 0x00
00001d18: DUP14
00001d19: DUP2
00001d1a: MSTORE
00001d1b: PUSH1 0x20
00001d1d: ADD
00001d1e: SWAP1
00001d1f: DUP2
00001d20: MSTORE
00001d21: PUSH1 0x20
00001d23: ADD
00001d24: PUSH1 0x00
00001d26: KECCAK256
00001d27: PUSH1 0x00
00001d29: CALLER
00001d2a: PUSH1 0x01
00001d2c: PUSH1 0xa0
00001d2e: PUSH1 0x02
00001d30: EXP
00001d31: SUB
00001d32: AND
00001d33: PUSH1 0x01
00001d35: PUSH1 0xa0
00001d37: PUSH1 0x02
00001d39: EXP
00001d3a: SUB
00001d3b: AND
00001d3c: DUP2
00001d3d: MSTORE
00001d3e: PUSH1 0x20
00001d40: ADD
00001d41: SWAP1
00001d42: DUP2
00001d43: MSTORE
00001d44: PUSH1 0x20
00001d46: ADD
00001d47: PUSH1 0x00
00001d49: KECCAK256
00001d4a: DUP2
00001d4b: SWAP1
00001d4c: SSTORE
00001d4d: POP
00001d4e: PUSH2 0x1d9f
00001d51: PUSH1 0x12
00001d53: PUSH1 0x00
00001d55: DUP16
00001d56: PUSH1 0x01
00001d58: PUSH1 0xa0
00001d5a: PUSH1 0x02
00001d5c: EXP
00001d5d: SUB
00001d5e: AND
00001d5f: PUSH1 0x01
00001d61: PUSH1 0xa0
00001d63: PUSH1 0x02
00001d65: EXP
00001d66: SUB
00001d67: AND
00001d68: DUP2
00001d69: MSTORE
00001d6a: PUSH1 0x20
00001d6c: ADD
00001d6d: SWAP1
00001d6e: DUP2
00001d6f: MSTORE
00001d70: PUSH1 0x20
00001d72: ADD
00001d73: PUSH1 0x00
00001d75: KECCAK256
00001d76: PUSH1 0x00
00001d78: DUP15
00001d79: PUSH1 0x01
00001d7b: PUSH1 0xa0
00001d7d: PUSH1 0x02
00001d7f: EXP
00001d80: SUB
00001d81: AND
00001d82: PUSH1 0x01
00001d84: PUSH1 0xa0
00001d86: PUSH1 0x02
00001d88: EXP
00001d89: SUB
00001d8a: AND
00001d8b: DUP2
00001d8c: MSTORE
00001d8d: PUSH1 0x20
00001d8f: ADD
00001d90: SWAP1
00001d91: DUP2
00001d92: MSTORE
00001d93: PUSH1 0x20
00001d95: ADD
00001d96: PUSH1 0x00
00001d98: KECCAK256
00001d99: SLOAD
00001d9a: DUP4
00001d9b: PUSH2 0x21a2
00001d9e: JUMP
00001d9f: JUMPDEST
00001da0: PUSH1 0x12
00001da2: PUSH1 0x00
00001da4: DUP16
00001da5: PUSH1 0x01
00001da7: PUSH1 0xa0
00001da9: PUSH1 0x02
00001dab: EXP
00001dac: SUB
00001dad: AND
00001dae: PUSH1 0x01
00001db0: PUSH1 0xa0
00001db2: PUSH1 0x02
00001db4: EXP
00001db5: SUB
00001db6: AND
00001db7: DUP2
00001db8: MSTORE
00001db9: PUSH1 0x20
00001dbb: ADD
00001dbc: SWAP1
00001dbd: DUP2
00001dbe: MSTORE
00001dbf: PUSH1 0x20
00001dc1: ADD
00001dc2: PUSH1 0x00
00001dc4: KECCAK256
00001dc5: PUSH1 0x00
00001dc7: DUP15
00001dc8: PUSH1 0x01
00001dca: PUSH1 0xa0
00001dcc: PUSH1 0x02
00001dce: EXP
00001dcf: SUB
00001dd0: AND
00001dd1: PUSH1 0x01
00001dd3: PUSH1 0xa0
00001dd5: PUSH1 0x02
00001dd7: EXP
00001dd8: SUB
00001dd9: AND
00001dda: DUP2
00001ddb: MSTORE
00001ddc: PUSH1 0x20
00001dde: ADD
00001ddf: SWAP1
00001de0: DUP2
00001de1: MSTORE
00001de2: PUSH1 0x20
00001de4: ADD
00001de5: PUSH1 0x00
00001de7: KECCAK256
00001de8: DUP2
00001de9: SWAP1
00001dea: SSTORE
00001deb: POP
00001dec: CALLER
00001ded: PUSH1 0x01
00001def: PUSH1 0xa0
00001df1: PUSH1 0x02
00001df3: EXP
00001df4: SUB
00001df5: AND
00001df6: DUP13
00001df7: PUSH1 0x01
00001df9: PUSH1 0xa0
00001dfb: PUSH1 0x02
00001dfd: EXP
00001dfe: SUB
00001dff: AND
00001e00: DUP15
00001e01: PUSH1 0x01
00001e03: PUSH1 0xa0
00001e05: PUSH1 0x02
00001e07: EXP
00001e08: SUB
00001e09: AND
00001e0a: PUSH32 0xf1751a362067564d5feb9ed26f1898bb14c17e1254e3724d454bc2ae80195c25
00001e2b: DUP15
00001e2c: DUP7
00001e2d: PUSH1 0x40
00001e2f: MLOAD
00001e30: SWAP2
00001e31: DUP3
00001e32: MSTORE
00001e33: PUSH1 0x20
00001e35: DUP3
00001e36: ADD
00001e37: MSTORE
00001e38: PUSH1 0x40
00001e3a: SWAP1
00001e3b: DUP2
00001e3c: ADD
00001e3d: SWAP1
00001e3e: MLOAD
00001e3f: DUP1
00001e40: SWAP2
00001e41: SUB
00001e42: SWAP1
00001e43: LOG4
00001e44: JUMPDEST
00001e45: DUP3
00001e46: DUP11
00001e47: LT
00001e48: PUSH2 0x1e57
00001e4b: JUMPI
00001e4c: PUSH2 0x1e57
00001e4f: DUP14
00001e50: DUP14
00001e51: DUP14
00001e52: DUP10
00001e53: PUSH2 0x3d20
00001e56: JUMP
00001e57: JUMPDEST
00001e58: SWAP13
00001e59: SWAP12
00001e5a: POP
00001e5b: POP
00001e5c: POP
00001e5d: POP
00001e5e: POP
00001e5f: POP
00001e60: POP
00001e61: POP
00001e62: POP
00001e63: POP
00001e64: POP
00001e65: POP
00001e66: JUMP
00001e67: JUMPDEST
00001e68: PUSH1 0x03
00001e6a: SLOAD
00001e6b: PUSH1 0x01
00001e6d: PUSH1 0xa0
00001e6f: PUSH1 0x02
00001e71: EXP
00001e72: SUB
00001e73: AND
00001e74: DUP2
00001e75: JUMP
00001e76: JUMPDEST
00001e77: PUSH1 0x00
00001e79: DUP1
00001e7a: PUSH1 0x00
00001e7c: PUSH2 0x1e83
00001e7f: PUSH2 0x475e
00001e82: JUMP
00001e83: JUMPDEST
00001e84: PUSH1 0x00
00001e86: DUP1
00001e87: PUSH2 0x1e91
00001e8a: DUP11
00001e8b: DUP11
00001e8c: DUP10
00001e8d: PUSH2 0x22df
00001e90: JUMP
00001e91: JUMPDEST
00001e92: PUSH1 0x01
00001e94: PUSH1 0xa0
00001e96: PUSH1 0x02
00001e98: EXP
00001e99: SUB
00001e9a: DUP1
00001e9b: DUP12
00001e9c: AND
00001e9d: PUSH1 0x00
00001e9f: SWAP1
00001ea0: DUP2
00001ea1: MSTORE
00001ea2: PUSH1 0x15
00001ea4: PUSH1 0x20
00001ea6: SWAP1
00001ea7: DUP2
00001ea8: MSTORE
00001ea9: PUSH1 0x40
00001eab: DUP1
00001eac: DUP4
00001ead: KECCAK256
00001eae: DUP14
00001eaf: DUP6
00001eb0: AND
00001eb1: DUP5
00001eb2: MSTORE
00001eb3: DUP3
00001eb4: MSTORE
00001eb5: DUP1
00001eb6: DUP4
00001eb7: KECCAK256
00001eb8: DUP12
00001eb9: DUP5
00001eba: MSTORE
00001ebb: DUP3
00001ebc: MSTORE
00001ebd: DUP1
00001ebe: DUP4
00001ebf: KECCAK256
00001ec0: SWAP4
00001ec1: DUP13
00001ec2: AND
00001ec3: DUP4
00001ec4: MSTORE
00001ec5: SWAP3
00001ec6: SWAP1
00001ec7: MSTORE
00001ec8: SWAP1
00001ec9: DUP2
00001eca: KECCAK256
00001ecb: SLOAD
00001ecc: SWAP5
00001ecd: POP
00001ece: DUP5
00001ecf: GT
00001ed0: PUSH2 0x1ed8
00001ed3: JUMPI
00001ed4: PUSH1 0x00
00001ed6: DUP1
00001ed7: REVERT
00001ed8: JUMPDEST
00001ed9: PUSH1 0x01
00001edb: PUSH1 0xa0
00001edd: PUSH1 0x02
00001edf: EXP
00001ee0: SUB
00001ee1: DUP1
00001ee2: DUP12
00001ee3: AND
00001ee4: PUSH1 0x00
00001ee6: SWAP1
00001ee7: DUP2
00001ee8: MSTORE
00001ee9: PUSH1 0x0f
00001eeb: PUSH1 0x20
00001eed: SWAP1
00001eee: DUP2
00001eef: MSTORE
00001ef0: PUSH1 0x40
00001ef2: DUP1
00001ef3: DUP4
00001ef4: KECCAK256
00001ef5: SWAP4
00001ef6: DUP14
00001ef7: AND
00001ef8: DUP4
00001ef9: MSTORE
00001efa: SWAP3
00001efb: DUP2
00001efc: MSTORE
00001efd: DUP3
00001efe: DUP3
00001eff: KECCAK256
00001f00: DUP11
00001f01: DUP4
00001f02: MSTORE
00001f03: SWAP1
00001f04: MSTORE
00001f05: DUP2
00001f06: SWAP1
00001f07: KECCAK256
00001f08: SWAP1
00001f09: DUP1
00001f0a: MLOAD
00001f0b: SWAP1
00001f0c: DUP2
00001f0d: ADD
00001f0e: PUSH1 0x40
00001f10: MSTORE
00001f11: DUP2
00001f12: SLOAD
00001f13: DUP2
00001f14: MSTORE
00001f15: PUSH1 0x01
00001f17: SWAP1
00001f18: SWAP2
00001f19: ADD
00001f1a: SLOAD
00001f1b: PUSH1 0x20
00001f1d: DUP3
00001f1e: ADD
00001f1f: MSTORE
00001f20: SWAP3
00001f21: POP
00001f22: DUP3
00001f23: MLOAD
00001f24: SWAP2
00001f25: POP
00001f26: DUP3
00001f27: PUSH1 0x20
00001f29: ADD
00001f2a: MLOAD
00001f2b: SWAP1
00001f2c: POP
00001f2d: PUSH1 0x00
00001f2f: DUP2
00001f30: GT
00001f31: PUSH2 0x1f39
00001f34: JUMPI
00001f35: PUSH1 0x00
00001f37: DUP1
00001f38: REVERT
00001f39: JUMPDEST
00001f3a: DUP1
00001f3b: PUSH2 0x1f44
00001f3e: DUP6
00001f3f: DUP5
00001f40: PUSH2 0x2d10
00001f43: JUMP
00001f44: JUMPDEST
00001f45: DUP2
00001f46: ISZERO
00001f47: ISZERO
00001f48: PUSH2 0x1f4d
00001f4b: JUMPI
00001f4c: INVALID
00001f4d: JUMPDEST
00001f4e: DIV
00001f4f: SWAP6
00001f50: POP
00001f51: PUSH2 0x1f5e
00001f54: DUP11
00001f55: DUP11
00001f56: DUP9
00001f57: DUP11
00001f58: DUP9
00001f59: DUP14
00001f5a: PUSH2 0x4073
00001f5d: JUMP
00001f5e: JUMPDEST
00001f5f: PUSH1 0x01
00001f61: PUSH1 0xa0
00001f63: PUSH1 0x02
00001f65: EXP
00001f66: SUB
00001f67: DUP1
00001f68: DUP13
00001f69: AND
00001f6a: PUSH1 0x00
00001f6c: SWAP1
00001f6d: DUP2
00001f6e: MSTORE
00001f6f: PUSH1 0x15
00001f71: PUSH1 0x20
00001f73: SWAP1
00001f74: DUP2
00001f75: MSTORE
00001f76: PUSH1 0x40
00001f78: DUP1
00001f79: DUP4
00001f7a: KECCAK256
00001f7b: DUP15
00001f7c: DUP6
00001f7d: AND
00001f7e: DUP5
00001f7f: MSTORE
00001f80: DUP3
00001f81: MSTORE
00001f82: DUP1
00001f83: DUP4
00001f84: KECCAK256
00001f85: DUP13
00001f86: DUP5
00001f87: MSTORE
00001f88: DUP3
00001f89: MSTORE
00001f8a: DUP1
00001f8b: DUP4
00001f8c: KECCAK256
00001f8d: SWAP4
00001f8e: DUP14
00001f8f: AND
00001f90: DUP4
00001f91: MSTORE
00001f92: SWAP3
00001f93: SWAP1
00001f94: MSTORE
00001f95: SWAP1
00001f96: DUP2
00001f97: KECCAK256
00001f98: DUP2
00001f99: SWAP1
00001f9a: SSTORE
00001f9b: SWAP1
00001f9c: SWAP6
00001f9d: POP
00001f9e: DUP7
00001f9f: GT
00001fa0: ISZERO
00001fa1: PUSH2 0x1ffb
00001fa4: JUMPI
00001fa5: PUSH1 0x01
00001fa7: PUSH1 0xa0
00001fa9: PUSH1 0x02
00001fab: EXP
00001fac: SUB
00001fad: DUP1
00001fae: DUP11
00001faf: AND
00001fb0: PUSH1 0x00
00001fb2: SWAP1
00001fb3: DUP2
00001fb4: MSTORE
00001fb5: PUSH1 0x13
00001fb7: PUSH1 0x20
00001fb9: SWAP1
00001fba: DUP2
00001fbb: MSTORE
00001fbc: PUSH1 0x40
00001fbe: DUP1
00001fbf: DUP4
00001fc0: KECCAK256
00001fc1: SWAP4
00001fc2: DUP13
00001fc3: AND
00001fc4: DUP4
00001fc5: MSTORE
00001fc6: SWAP3
00001fc7: SWAP1
00001fc8: MSTORE
00001fc9: KECCAK256
00001fca: SLOAD
00001fcb: PUSH2 0x1fd4
00001fce: SWAP1
00001fcf: DUP8
00001fd0: PUSH2 0x21a2
00001fd3: JUMP
00001fd4: JUMPDEST
00001fd5: PUSH1 0x01
00001fd7: PUSH1 0xa0
00001fd9: PUSH1 0x02
00001fdb: EXP
00001fdc: SUB
00001fdd: DUP1
00001fde: DUP12
00001fdf: AND
00001fe0: PUSH1 0x00
00001fe2: SWAP1
00001fe3: DUP2
00001fe4: MSTORE
00001fe5: PUSH1 0x13
00001fe7: PUSH1 0x20
00001fe9: SWAP1
00001fea: DUP2
00001feb: MSTORE
00001fec: PUSH1 0x40
00001fee: DUP1
00001fef: DUP4
00001ff0: KECCAK256
00001ff1: SWAP4
00001ff2: DUP14
00001ff3: AND
00001ff4: DUP4
00001ff5: MSTORE
00001ff6: SWAP3
00001ff7: SWAP1
00001ff8: MSTORE
00001ff9: KECCAK256
00001ffa: SSTORE
00001ffb: JUMPDEST
00001ffc: DUP8
00001ffd: PUSH1 0x01
00001fff: PUSH1 0xa0
00002001: PUSH1 0x02
00002003: EXP
00002004: SUB
00002005: AND
00002006: DUP10
00002007: PUSH1 0x01
00002009: PUSH1 0xa0
0000200b: PUSH1 0x02
0000200d: EXP
0000200e: SUB
0000200f: AND
00002010: DUP12
00002011: PUSH1 0x01
00002013: PUSH1 0xa0
00002015: PUSH1 0x02
00002017: EXP
00002018: SUB
00002019: AND
0000201a: PUSH32 0xa3ac9b53d029621ef95693b5f9b1d0b0da75029fe8530389271be02715e24c13
0000203b: DUP11
0000203c: DUP11
0000203d: DUP11
0000203e: PUSH1 0x40
00002040: MLOAD
00002041: DUP1
00002042: DUP5
00002043: DUP2
00002044: MSTORE
00002045: PUSH1 0x20
00002047: ADD
00002048: DUP4
00002049: DUP2
0000204a: MSTORE
0000204b: PUSH1 0x20
0000204d: ADD
0000204e: DUP3
0000204f: DUP2
00002050: MSTORE
00002051: PUSH1 0x20
00002053: ADD
00002054: SWAP4
00002055: POP
00002056: POP
00002057: POP
00002058: POP
00002059: PUSH1 0x40
0000205b: MLOAD
0000205c: DUP1
0000205d: SWAP2
0000205e: SUB
0000205f: SWAP1
00002060: LOG4
00002061: POP
00002062: POP
00002063: POP
00002064: POP
00002065: SWAP5
00002066: POP
00002067: SWAP5
00002068: SWAP3
00002069: POP
0000206a: POP
0000206b: POP
0000206c: JUMP
0000206d: JUMPDEST
0000206e: PUSH1 0x00
00002070: DUP1
00002071: PUSH1 0x00
00002073: PUSH2 0x207c
00002076: DUP7
00002077: DUP6
00002078: PUSH2 0x11ed
0000207b: JUMP
0000207c: JUMPDEST
0000207d: SWAP3
0000207e: POP
0000207f: PUSH2 0x208b
00002082: DUP7
00002083: DUP7
00002084: PUSH1 0x00
00002086: DUP8
00002087: PUSH2 0x14d4
0000208a: JUMP
0000208b: JUMPDEST
0000208c: SWAP4
0000208d: SWAP8
0000208e: SWAP1
0000208f: SWAP7
00002090: POP
00002091: SWAP3
00002092: SWAP5
00002093: POP
00002094: SWAP2
00002095: SWAP3
00002096: POP
00002097: POP
00002098: POP
00002099: JUMP
0000209a: JUMPDEST
0000209b: PUSH1 0x03
0000209d: SLOAD
0000209e: PUSH1 0x00
000020a0: SWAP1
000020a1: CALLER
000020a2: PUSH1 0x01
000020a4: PUSH1 0xa0
000020a6: PUSH1 0x02
000020a8: EXP
000020a9: SUB
000020aa: SWAP1
000020ab: DUP2
000020ac: AND
000020ad: SWAP2
000020ae: AND
000020af: EQ
000020b0: PUSH2 0x20b8
000020b3: JUMPI
000020b4: PUSH1 0x00
000020b6: DUP1
000020b7: REVERT
000020b8: JUMPDEST
000020b9: POP
000020ba: PUSH1 0x00
000020bc: JUMPDEST
000020bd: DUP3
000020be: MLOAD
000020bf: DUP2
000020c0: LT
000020c1: ISZERO
000020c2: PUSH2 0x2164
000020c5: JUMPI
000020c6: DUP2
000020c7: PUSH1 0x0c
000020c9: PUSH1 0x00
000020cb: DUP6
000020cc: DUP5
000020cd: DUP2
000020ce: MLOAD
000020cf: DUP2
000020d0: LT
000020d1: PUSH2 0x20d6
000020d4: JUMPI
000020d5: INVALID
000020d6: JUMPDEST
000020d7: SWAP1
000020d8: PUSH1 0x20
000020da: ADD
000020db: SWAP1
000020dc: PUSH1 0x20
000020de: MUL
000020df: ADD
000020e0: MLOAD
000020e1: PUSH1 0x01
000020e3: PUSH1 0xa0
000020e5: PUSH1 0x02
000020e7: EXP
000020e8: SUB
000020e9: AND
000020ea: DUP2
000020eb: MSTORE
000020ec: PUSH1 0x20
000020ee: DUP2
000020ef: ADD
000020f0: SWAP2
000020f1: SWAP1
000020f2: SWAP2
000020f3: MSTORE
000020f4: PUSH1 0x40
000020f6: ADD
000020f7: PUSH1 0x00
000020f9: KECCAK256
000020fa: DUP1
000020fb: SLOAD
000020fc: PUSH1 0xff
000020fe: NOT
000020ff: AND
00002100: SWAP2
00002101: ISZERO
00002102: ISZERO
00002103: SWAP2
00002104: SWAP1
00002105: SWAP2
00002106: OR
00002107: SWAP1
00002108: SSTORE
00002109: DUP3
0000210a: DUP2
0000210b: DUP2
0000210c: MLOAD
0000210d: DUP2
0000210e: LT
0000210f: PUSH2 0x2114
00002112: JUMPI
00002113: INVALID
00002114: JUMPDEST
00002115: SWAP1
00002116: PUSH1 0x20
00002118: ADD
00002119: SWAP1
0000211a: PUSH1 0x20
0000211c: MUL
0000211d: ADD
0000211e: MLOAD
0000211f: PUSH1 0x01
00002121: PUSH1 0xa0
00002123: PUSH1 0x02
00002125: EXP
00002126: SUB
00002127: AND
00002128: PUSH32 0xc091bf3abd3a42f670f8ad1a6ad5b849311210403e1d85d6ac31f43114d5ca6e
00002149: DUP4
0000214a: PUSH1 0x40
0000214c: MLOAD
0000214d: SWAP1
0000214e: ISZERO
0000214f: ISZERO
00002150: DUP2
00002151: MSTORE
00002152: PUSH1 0x20
00002154: ADD
00002155: PUSH1 0x40
00002157: MLOAD
00002158: DUP1
00002159: SWAP2
0000215a: SUB
0000215b: SWAP1
0000215c: LOG2
0000215d: PUSH1 0x01
0000215f: ADD
00002160: PUSH2 0x20bc
00002163: JUMP
00002164: JUMPDEST
00002165: POP
00002166: POP
00002167: POP
00002168: JUMP
00002169: JUMPDEST
0000216a: PUSH1 0x0c
0000216c: PUSH1 0x20
0000216e: MSTORE
0000216f: PUSH1 0x00
00002171: SWAP1
00002172: DUP2
00002173: MSTORE
00002174: PUSH1 0x40
00002176: SWAP1
00002177: KECCAK256
00002178: SLOAD
00002179: PUSH1 0xff
0000217b: AND
0000217c: DUP2
0000217d: JUMP
0000217e: JUMPDEST
0000217f: PUSH1 0x08
00002181: SLOAD
00002182: DUP2
00002183: JUMP
00002184: JUMPDEST
00002185: PUSH1 0x01
00002187: SLOAD
00002188: PUSH1 0x01
0000218a: PUSH1 0xa0
0000218c: PUSH1 0x02
0000218e: EXP
0000218f: SUB
00002190: AND
00002191: DUP2
00002192: JUMP
00002193: JUMPDEST
00002194: PUSH1 0x05
00002196: SLOAD
00002197: PUSH1 0x01
00002199: PUSH1 0xa0
0000219b: PUSH1 0x02
0000219d: EXP
0000219e: SUB
0000219f: AND
000021a0: DUP2
000021a1: JUMP
000021a2: JUMPDEST
000021a3: PUSH1 0x00
000021a5: PUSH2 0x21ae
000021a8: DUP4
000021a9: DUP4
000021aa: PUSH2 0x14c6
000021ad: JUMP
000021ae: JUMPDEST
000021af: ISZERO
000021b0: ISZERO
000021b1: PUSH2 0x21b9
000021b4: JUMPI
000021b5: PUSH1 0x00
000021b7: DUP1
000021b8: REVERT
000021b9: JUMPDEST
000021ba: POP
000021bb: ADD
000021bc: SWAP1
000021bd: JUMP
000021be: JUMPDEST
000021bf: DUP6
000021c0: DUP5
000021c1: PUSH1 0x00
000021c3: DUP1
000021c4: DUP3
000021c5: DUP5
000021c6: EQ
000021c7: PUSH2 0x21cf
000021ca: JUMPI
000021cb: PUSH1 0x00
000021cd: DUP1
000021ce: REVERT
000021cf: JUMPDEST
000021d0: DUP6
000021d1: SWAP2
000021d2: POP
000021d3: DUP3
000021d4: DUP3
000021d5: EQ
000021d6: PUSH2 0x21de
000021d9: JUMPI
000021da: PUSH1 0x00
000021dc: DUP1
000021dd: REVERT
000021de: JUMPDEST
000021df: POP
000021e0: PUSH1 0x00
000021e2: JUMPDEST
000021e3: DUP4
000021e4: DUP2
000021e5: LT
000021e6: ISZERO
000021e7: PUSH2 0x224c
000021ea: JUMPI
000021eb: PUSH2 0x2242
000021ee: DUP12
000021ef: DUP12
000021f0: DUP4
000021f1: DUP2
000021f2: DUP2
000021f3: LT
000021f4: PUSH2 0x21f9
000021f7: JUMPI
000021f8: INVALID
000021f9: JUMPDEST
000021fa: SWAP1
000021fb: POP
000021fc: PUSH1 0x20
000021fe: MUL
000021ff: ADD
00002200: CALLDATALOAD
00002201: PUSH1 0x01
00002203: PUSH1 0xa0
00002205: PUSH1 0x02
00002207: EXP
00002208: SUB
00002209: AND
0000220a: DUP11
0000220b: DUP11
0000220c: DUP5
0000220d: DUP2
0000220e: DUP2
0000220f: LT
00002210: ISZERO
00002211: ISZERO
00002212: PUSH2 0x2217
00002215: JUMPI
00002216: INVALID
00002217: JUMPDEST
00002218: SWAP1
00002219: POP
0000221a: PUSH1 0x20
0000221c: MUL
0000221d: ADD
0000221e: CALLDATALOAD
0000221f: PUSH1 0x01
00002221: PUSH1 0xa0
00002223: PUSH1 0x02
00002225: EXP
00002226: SUB
00002227: AND
00002228: DUP8
00002229: DUP11
0000222a: DUP11
0000222b: DUP7
0000222c: DUP2
0000222d: DUP2
0000222e: LT
0000222f: ISZERO
00002230: ISZERO
00002231: PUSH2 0x2236
00002234: JUMPI
00002235: INVALID
00002236: JUMPDEST
00002237: SWAP1
00002238: POP
00002239: PUSH1 0x20
0000223b: MUL
0000223c: ADD
0000223d: CALLDATALOAD
0000223e: PUSH2 0x1e76
00002241: JUMP
00002242: JUMPDEST
00002243: POP
00002244: POP
00002245: PUSH1 0x01
00002247: ADD
00002248: PUSH2 0x21e2
0000224b: JUMP
0000224c: JUMPDEST
0000224d: POP
0000224e: POP
0000224f: POP
00002250: POP
00002251: POP
00002252: POP
00002253: POP
00002254: POP
00002255: POP
00002256: POP
00002257: POP
00002258: JUMP
00002259: JUMPDEST
0000225a: PUSH1 0x03
0000225c: SLOAD
0000225d: CALLER
0000225e: PUSH1 0x01
00002260: PUSH1 0xa0
00002262: PUSH1 0x02
00002264: EXP
00002265: SUB
00002266: SWAP1
00002267: DUP2
00002268: AND
00002269: SWAP2
0000226a: AND
0000226b: EQ
0000226c: PUSH2 0x2274
0000226f: JUMPI
00002270: PUSH1 0x00
00002272: DUP1
00002273: REVERT
00002274: JUMPDEST
00002275: PUSH1 0x01
00002277: PUSH1 0xa0
00002279: PUSH1 0x02
0000227b: EXP
0000227c: SUB
0000227d: DUP2
0000227e: AND
0000227f: ISZERO
00002280: ISZERO
00002281: PUSH2 0x2289
00002284: JUMPI
00002285: PUSH1 0x00
00002287: DUP1
00002288: REVERT
00002289: JUMPDEST
0000228a: PUSH1 0x03
0000228c: DUP1
0000228d: SLOAD
0000228e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022a3: NOT
000022a4: AND
000022a5: PUSH1 0x01
000022a7: PUSH1 0xa0
000022a9: PUSH1 0x02
000022ab: EXP
000022ac: SUB
000022ad: SWAP3
000022ae: SWAP1
000022af: SWAP3
000022b0: AND
000022b1: SWAP2
000022b2: SWAP1
000022b3: SWAP2
000022b4: OR
000022b5: SWAP1
000022b6: SSTORE
000022b7: JUMP
000022b8: JUMPDEST
000022b9: PUSH1 0x00
000022bb: DUP2
000022bc: DUP4
000022bd: LT
000022be: ISZERO
000022bf: PUSH2 0x22c9
000022c2: JUMPI
000022c3: POP
000022c4: DUP2
000022c5: PUSH2 0x14ce
000022c8: JUMP
000022c9: JUMPDEST
000022ca: POP
000022cb: DUP1
000022cc: PUSH2 0x14ce
000022cf: JUMP
000022d0: JUMPDEST
000022d1: PUSH1 0x04
000022d3: SLOAD
000022d4: PUSH1 0x01
000022d6: PUSH1 0xa0
000022d8: PUSH1 0x02
000022da: EXP
000022db: SUB
000022dc: AND
000022dd: DUP2
000022de: JUMP
000022df: JUMPDEST
000022e0: PUSH1 0x00
000022e2: DUP1
000022e3: PUSH1 0x00
000022e5: DUP1
000022e6: PUSH1 0x00
000022e8: PUSH2 0x22f1
000022eb: DUP8
000022ec: DUP10
000022ed: PUSH2 0x104f
000022f0: JUMP
000022f1: JUMPDEST
000022f2: DUP7
000022f3: EQ
000022f4: DUP1
000022f5: ISZERO
000022f6: PUSH2 0x232a
000022f9: JUMPI
000022fa: POP
000022fb: PUSH1 0x01
000022fd: PUSH1 0xa0
000022ff: PUSH1 0x02
00002301: EXP
00002302: SUB
00002303: DUP1
00002304: DUP10
00002305: AND
00002306: PUSH1 0x00
00002308: SWAP1
00002309: DUP2
0000230a: MSTORE
0000230b: PUSH1 0x0f
0000230d: PUSH1 0x20
0000230f: SWAP1
00002310: DUP2
00002311: MSTORE
00002312: PUSH1 0x40
00002314: DUP1
00002315: DUP4
00002316: KECCAK256
00002317: SWAP4
00002318: DUP12
00002319: AND
0000231a: DUP4
0000231b: MSTORE
0000231c: SWAP3
0000231d: DUP2
0000231e: MSTORE
0000231f: DUP3
00002320: DUP3
00002321: KECCAK256
00002322: DUP10
00002323: DUP4
00002324: MSTORE
00002325: SWAP1
00002326: MSTORE
00002327: KECCAK256
00002328: SLOAD
00002329: ISZERO
0000232a: JUMPDEST
0000232b: ISZERO
0000232c: PUSH2 0x23a9
0000232f: JUMPI
00002330: PUSH1 0x01
00002332: PUSH1 0xa0
00002334: PUSH1 0x02
00002336: EXP
00002337: SUB
00002338: DUP1
00002339: DUP10
0000233a: AND
0000233b: PUSH1 0x00
0000233d: DUP2
0000233e: DUP2
0000233f: MSTORE
00002340: PUSH1 0x12
00002342: PUSH1 0x20
00002344: SWAP1
00002345: DUP2
00002346: MSTORE
00002347: PUSH1 0x40
00002349: DUP1
0000234a: DUP4
0000234b: KECCAK256
0000234c: SWAP5
0000234d: DUP13
0000234e: AND
0000234f: DUP1
00002350: DUP5
00002351: MSTORE
00002352: SWAP5
00002353: DUP3
00002354: MSTORE
00002355: DUP1
00002356: DUP4
00002357: KECCAK256
00002358: SLOAD
00002359: SWAP4
0000235a: DUP4
0000235b: MSTORE
0000235c: PUSH1 0x10
0000235e: DUP3
0000235f: MSTORE
00002360: DUP1
00002361: DUP4
00002362: KECCAK256
00002363: SWAP5
00002364: DUP4
00002365: MSTORE
00002366: SWAP4
00002367: SWAP1
00002368: MSTORE
00002369: SWAP2
0000236a: SWAP1
0000236b: SWAP2
0000236c: KECCAK256
0000236d: SLOAD
0000236e: SWAP1
0000236f: SWAP6
00002370: POP
00002371: SWAP4
00002372: POP
00002373: PUSH2 0x237d
00002376: DUP9
00002377: DUP9
00002378: DUP9
00002379: PUSH2 0x393c
0000237c: JUMP
0000237d: JUMPDEST
0000237e: SWAP1
0000237f: SWAP4
00002380: POP
00002381: SWAP2
00002382: POP
00002383: PUSH2 0x2391
00002386: DUP6
00002387: DUP4
00002388: PUSH2 0x1b80
0000238b: DUP8
0000238c: DUP8
0000238d: PUSH2 0x2d10
00002390: JUMP
00002391: JUMPDEST
00002392: SWAP1
00002393: POP
00002394: DUP1
00002395: ISZERO
00002396: ISZERO
00002397: PUSH2 0x23a9
0000239a: JUMPI
0000239b: PUSH2 0x23a7
0000239e: DUP9
0000239f: DUP9
000023a0: DUP9
000023a1: PUSH1 0x00
000023a3: PUSH2 0x1976
000023a6: JUMP
000023a7: JUMPDEST
000023a8: POP
000023a9: JUMPDEST
000023aa: POP
000023ab: POP
000023ac: POP
000023ad: POP
000023ae: POP
000023af: POP
000023b0: POP
000023b1: POP
000023b2: JUMP
000023b3: JUMPDEST
000023b4: PUSH1 0x0a
000023b6: SLOAD
000023b7: PUSH1 0x01
000023b9: PUSH1 0xa0
000023bb: PUSH1 0x02
000023bd: EXP
000023be: SUB
000023bf: AND
000023c0: DUP2
000023c1: JUMP
000023c2: JUMPDEST
000023c3: PUSH2 0x23ca
000023c6: PUSH2 0x474c
000023c9: JUMP
000023ca: JUMPDEST
000023cb: PUSH2 0x23d2
000023ce: PUSH2 0x474c
000023d1: JUMP
000023d2: JUMPDEST
000023d3: PUSH1 0x00
000023d5: DUP1
000023d6: DUP1
000023d7: DUP1
000023d8: DUP1
000023d9: DUP1
000023da: JUMPDEST
000023db: PUSH1 0x00
000023dd: NOT
000023de: DUP10
000023df: ADD
000023e0: DUP6
000023e1: LT
000023e2: ISZERO
000023e3: PUSH2 0x2447
000023e6: JUMPI
000023e7: DUP5
000023e8: PUSH1 0x01
000023ea: ADD
000023eb: SWAP4
000023ec: POP
000023ed: JUMPDEST
000023ee: DUP9
000023ef: DUP5
000023f0: LT
000023f1: ISZERO
000023f2: PUSH2 0x243c
000023f5: JUMPI
000023f6: PUSH1 0x00
000023f8: PUSH2 0x2424
000023fb: DUP12
000023fc: DUP12
000023fd: DUP9
000023fe: DUP2
000023ff: DUP2
00002400: LT
00002401: PUSH2 0x2406
00002404: JUMPI
00002405: INVALID
00002406: JUMPDEST
00002407: SWAP1
00002408: POP
00002409: PUSH1 0x20
0000240b: MUL
0000240c: ADD
0000240d: CALLDATALOAD
0000240e: PUSH1 0x01
00002410: PUSH1 0xa0
00002412: PUSH1 0x02
00002414: EXP
00002415: SUB
00002416: AND
00002417: DUP13
00002418: DUP13
00002419: DUP9
0000241a: DUP2
0000241b: DUP2
0000241c: LT
0000241d: ISZERO
0000241e: ISZERO
0000241f: PUSH2 0x0e78
00002422: JUMPI
00002423: INVALID
00002424: JUMPDEST
00002425: GT
00002426: ISZERO
00002427: PUSH2 0x2431
0000242a: JUMPI
0000242b: PUSH1 0x01
0000242d: SWAP1
0000242e: SWAP6
0000242f: ADD
00002430: SWAP5
00002431: JUMPDEST
00002432: PUSH1 0x01
00002434: SWAP1
00002435: SWAP4
00002436: ADD
00002437: SWAP3
00002438: PUSH2 0x23ed
0000243b: JUMP
0000243c: JUMPDEST
0000243d: PUSH1 0x01
0000243f: SWAP1
00002440: SWAP5
00002441: ADD
00002442: SWAP4
00002443: PUSH2 0x23da
00002446: JUMP
00002447: JUMPDEST
00002448: DUP6
00002449: PUSH1 0x40
0000244b: MLOAD
0000244c: DUP1
0000244d: MSIZE
0000244e: LT
0000244f: PUSH2 0x2455
00002452: JUMPI
00002453: POP
00002454: MSIZE
00002455: JUMPDEST
00002456: SWAP1
00002457: DUP1
00002458: DUP3
00002459: MSTORE
0000245a: DUP1
0000245b: PUSH1 0x20
0000245d: MUL
0000245e: PUSH1 0x20
00002460: ADD
00002461: DUP3
00002462: ADD
00002463: PUSH1 0x40
00002465: MSTORE
00002466: POP
00002467: SWAP8
00002468: POP
00002469: DUP6
0000246a: PUSH1 0x40
0000246c: MLOAD
0000246d: DUP1
0000246e: MSIZE
0000246f: LT
00002470: PUSH2 0x2476
00002473: JUMPI
00002474: POP
00002475: MSIZE
00002476: JUMPDEST
00002477: SWAP1
00002478: DUP1
00002479: DUP3
0000247a: MSTORE
0000247b: DUP1
0000247c: PUSH1 0x20
0000247e: MUL
0000247f: PUSH1 0x20
00002481: ADD
00002482: DUP3
00002483: ADD
00002484: PUSH1 0x40
00002486: MSTORE
00002487: POP
00002488: SWAP7
00002489: POP
0000248a: PUSH1 0x00
0000248c: SWAP2
0000248d: POP
0000248e: JUMPDEST
0000248f: PUSH1 0x00
00002491: NOT
00002492: DUP10
00002493: ADD
00002494: DUP3
00002495: LT
00002496: ISZERO
00002497: PUSH2 0x2575
0000249a: JUMPI
0000249b: POP
0000249c: PUSH1 0x01
0000249e: DUP2
0000249f: ADD
000024a0: JUMPDEST
000024a1: DUP9
000024a2: DUP2
000024a3: LT
000024a4: ISZERO
000024a5: PUSH2 0x256a
000024a8: JUMPI
000024a9: PUSH1 0x00
000024ab: PUSH2 0x24d7
000024ae: DUP12
000024af: DUP12
000024b0: DUP6
000024b1: DUP2
000024b2: DUP2
000024b3: LT
000024b4: PUSH2 0x24b9
000024b7: JUMPI
000024b8: INVALID
000024b9: JUMPDEST
000024ba: SWAP1
000024bb: POP
000024bc: PUSH1 0x20
000024be: MUL
000024bf: ADD
000024c0: CALLDATALOAD
000024c1: PUSH1 0x01
000024c3: PUSH1 0xa0
000024c5: PUSH1 0x02
000024c7: EXP
000024c8: SUB
000024c9: AND
000024ca: DUP13
000024cb: DUP13
000024cc: DUP6
000024cd: DUP2
000024ce: DUP2
000024cf: LT
000024d0: ISZERO
000024d1: ISZERO
000024d2: PUSH2 0x0e78
000024d5: JUMPI
000024d6: INVALID
000024d7: JUMPDEST
000024d8: GT
000024d9: ISZERO
000024da: PUSH2 0x2562
000024dd: JUMPI
000024de: DUP10
000024df: DUP10
000024e0: DUP4
000024e1: DUP2
000024e2: DUP2
000024e3: LT
000024e4: PUSH2 0x24e9
000024e7: JUMPI
000024e8: INVALID
000024e9: JUMPDEST
000024ea: SWAP1
000024eb: POP
000024ec: PUSH1 0x20
000024ee: MUL
000024ef: ADD
000024f0: CALLDATALOAD
000024f1: PUSH1 0x01
000024f3: PUSH1 0xa0
000024f5: PUSH1 0x02
000024f7: EXP
000024f8: SUB
000024f9: AND
000024fa: DUP9
000024fb: DUP5
000024fc: DUP2
000024fd: MLOAD
000024fe: DUP2
000024ff: LT
00002500: PUSH2 0x2505
00002503: JUMPI
00002504: INVALID
00002505: JUMPDEST
00002506: PUSH1 0x01
00002508: PUSH1 0xa0
0000250a: PUSH1 0x02
0000250c: EXP
0000250d: SUB
0000250e: SWAP1
0000250f: SWAP3
00002510: AND
00002511: PUSH1 0x20
00002513: SWAP3
00002514: DUP4
00002515: MUL
00002516: SWAP1
00002517: SWAP2
00002518: ADD
00002519: SWAP1
0000251a: SWAP2
0000251b: ADD
0000251c: MSTORE
0000251d: DUP10
0000251e: DUP10
0000251f: DUP3
00002520: DUP2
00002521: DUP2
00002522: LT
00002523: PUSH2 0x2528
00002526: JUMPI
00002527: INVALID
00002528: JUMPDEST
00002529: SWAP1
0000252a: POP
0000252b: PUSH1 0x20
0000252d: MUL
0000252e: ADD
0000252f: CALLDATALOAD
00002530: PUSH1 0x01
00002532: PUSH1 0xa0
00002534: PUSH1 0x02
00002536: EXP
00002537: SUB
00002538: AND
00002539: DUP8
0000253a: DUP5
0000253b: DUP2
0000253c: MLOAD
0000253d: DUP2
0000253e: LT
0000253f: PUSH2 0x2544
00002542: JUMPI
00002543: INVALID
00002544: JUMPDEST
00002545: PUSH1 0x01
00002547: PUSH1 0xa0
00002549: PUSH1 0x02
0000254b: EXP
0000254c: SUB
0000254d: SWAP1
0000254e: SWAP3
0000254f: AND
00002550: PUSH1 0x20
00002552: SWAP3
00002553: DUP4
00002554: MUL
00002555: SWAP1
00002556: SWAP2
00002557: ADD
00002558: SWAP1
00002559: SWAP2
0000255a: ADD
0000255b: MSTORE
0000255c: PUSH1 0x01
0000255e: SWAP1
0000255f: SWAP3
00002560: ADD
00002561: SWAP2
00002562: JUMPDEST
00002563: PUSH1 0x01
00002565: ADD
00002566: PUSH2 0x24a0
00002569: JUMP
0000256a: JUMPDEST
0000256b: PUSH1 0x01
0000256d: SWAP1
0000256e: SWAP2
0000256f: ADD
00002570: SWAP1
00002571: PUSH2 0x248e
00002574: JUMP
00002575: JUMPDEST
00002576: POP
00002577: POP
00002578: POP
00002579: POP
0000257a: POP
0000257b: POP
0000257c: SWAP3
0000257d: POP
0000257e: SWAP3
0000257f: SWAP1
00002580: POP
00002581: JUMP
00002582: JUMPDEST
00002583: PUSH1 0x17
00002585: PUSH1 0x20
00002587: SWAP1
00002588: DUP2
00002589: MSTORE
0000258a: PUSH1 0x00
0000258c: SWAP5
0000258d: DUP6
0000258e: MSTORE
0000258f: PUSH1 0x40
00002591: DUP1
00002592: DUP7
00002593: KECCAK256
00002594: DUP3
00002595: MSTORE
00002596: SWAP4
00002597: DUP6
00002598: MSTORE
00002599: DUP4
0000259a: DUP6
0000259b: KECCAK256
0000259c: DUP2
0000259d: MSTORE
0000259e: SWAP2
0000259f: DUP5
000025a0: MSTORE
000025a1: DUP3
000025a2: DUP5
000025a3: KECCAK256
000025a4: SWAP1
000025a5: SWAP2
000025a6: MSTORE
000025a7: DUP3
000025a8: MSTORE
000025a9: SWAP1
000025aa: KECCAK256
000025ab: SLOAD
000025ac: DUP2
000025ad: JUMP
000025ae: JUMPDEST
000025af: PUSH1 0x07
000025b1: SLOAD
000025b2: DUP2
000025b3: JUMP
000025b4: JUMPDEST
000025b5: PUSH1 0x00
000025b7: SLOAD
000025b8: PUSH1 0x01
000025ba: PUSH1 0xa0
000025bc: PUSH1 0x02
000025be: EXP
000025bf: SUB
000025c0: AND
000025c1: DUP2
000025c2: JUMP
000025c3: JUMPDEST
000025c4: PUSH1 0x04
000025c6: SLOAD
000025c7: PUSH1 0x01
000025c9: PUSH1 0xa0
000025cb: PUSH1 0x02
000025cd: EXP
000025ce: SUB
000025cf: AND
000025d0: ISZERO
000025d1: PUSH2 0x25d9
000025d4: JUMPI
000025d5: PUSH1 0x00
000025d7: DUP1
000025d8: REVERT
000025d9: JUMPDEST
000025da: PUSH1 0x01
000025dc: PUSH1 0xa0
000025de: PUSH1 0x02
000025e0: EXP
000025e1: SUB
000025e2: DUP7
000025e3: AND
000025e4: ISZERO
000025e5: ISZERO
000025e6: PUSH2 0x25ee
000025e9: JUMPI
000025ea: PUSH1 0x00
000025ec: DUP1
000025ed: REVERT
000025ee: JUMPDEST
000025ef: PUSH1 0x01
000025f1: PUSH1 0xa0
000025f3: PUSH1 0x02
000025f5: EXP
000025f6: SUB
000025f7: DUP8
000025f8: AND
000025f9: ISZERO
000025fa: ISZERO
000025fb: PUSH2 0x2603
000025fe: JUMPI
000025ff: PUSH1 0x00
00002601: DUP1
00002602: REVERT
00002603: JUMPDEST
00002604: PUSH1 0x01
00002606: PUSH1 0xa0
00002608: PUSH1 0x02
0000260a: EXP
0000260b: SUB
0000260c: DUP6
0000260d: AND
0000260e: ISZERO
0000260f: ISZERO
00002610: PUSH2 0x2618
00002613: JUMPI
00002614: PUSH1 0x00
00002616: DUP1
00002617: REVERT
00002618: JUMPDEST
00002619: PUSH1 0x01
0000261b: PUSH1 0xa0
0000261d: PUSH1 0x02
0000261f: EXP
00002620: SUB
00002621: DUP5
00002622: AND
00002623: ISZERO
00002624: ISZERO
00002625: PUSH2 0x262d
00002628: JUMPI
00002629: PUSH1 0x00
0000262b: DUP1
0000262c: REVERT
0000262d: JUMPDEST
0000262e: PUSH1 0x01
00002630: PUSH1 0xa0
00002632: PUSH1 0x02
00002634: EXP
00002635: SUB
00002636: DUP4
00002637: AND
00002638: ISZERO
00002639: ISZERO
0000263a: PUSH2 0x2642
0000263d: JUMPI
0000263e: PUSH1 0x00
00002640: DUP1
00002641: REVERT
00002642: JUMPDEST
00002643: PUSH1 0x0a
00002645: DUP1
00002646: SLOAD
00002647: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000265c: NOT
0000265d: SWAP1
0000265e: DUP2
0000265f: AND
00002660: PUSH1 0x01
00002662: PUSH1 0xa0
00002664: PUSH1 0x02
00002666: EXP
00002667: SUB
00002668: SWAP10
00002669: DUP11
0000266a: AND
0000266b: OR
0000266c: SWAP1
0000266d: SWAP2
0000266e: SSTORE
0000266f: PUSH1 0x0b
00002671: DUP1
00002672: SLOAD
00002673: DUP3
00002674: AND
00002675: SWAP8
00002676: DUP10
00002677: AND
00002678: SWAP8
00002679: SWAP1
0000267a: SWAP8
0000267b: OR
0000267c: SWAP1
0000267d: SWAP7
0000267e: SSTORE
0000267f: PUSH1 0x03
00002681: DUP1
00002682: SLOAD
00002683: DUP8
00002684: AND
00002685: SWAP6
00002686: DUP9
00002687: AND
00002688: SWAP6
00002689: SWAP1
0000268a: SWAP6
0000268b: OR
0000268c: SWAP1
0000268d: SWAP5
0000268e: SSTORE
0000268f: PUSH1 0x04
00002691: DUP1
00002692: SLOAD
00002693: DUP7
00002694: AND
00002695: SWAP4
00002696: DUP8
00002697: AND
00002698: SWAP4
00002699: SWAP1
0000269a: SWAP4
0000269b: OR
0000269c: SWAP1
0000269d: SWAP3
0000269e: SSTORE
0000269f: PUSH1 0x05
000026a1: DUP1
000026a2: SLOAD
000026a3: SWAP1
000026a4: SWAP5
000026a5: AND
000026a6: SWAP5
000026a7: AND
000026a8: SWAP4
000026a9: SWAP1
000026aa: SWAP4
000026ab: OR
000026ac: SWAP1
000026ad: SWAP2
000026ae: SSTORE
000026af: PUSH1 0x08
000026b1: SWAP2
000026b2: SWAP1
000026b3: SWAP2
000026b4: SSTORE
000026b5: PUSH1 0x09
000026b7: SSTORE
000026b8: JUMP
000026b9: JUMPDEST
000026ba: PUSH1 0x00
000026bc: DUP1
000026bd: PUSH1 0x00
000026bf: DUP1
000026c0: PUSH1 0x00
000026c2: DUP1
000026c3: PUSH1 0x00
000026c5: PUSH2 0x26cf
000026c8: DUP12
000026c9: DUP12
000026ca: DUP11
000026cb: PUSH2 0x22df
000026ce: JUMP
000026cf: JUMPDEST
000026d0: PUSH2 0x26db
000026d3: DUP12
000026d4: DUP12
000026d5: DUP12
000026d6: DUP12
000026d7: PUSH2 0x2fd1
000026da: JUMP
000026db: JUMPDEST
000026dc: DUP1
000026dd: SWAP7
000026de: POP
000026df: DUP2
000026e0: SWAP8
000026e1: POP
000026e2: DUP3
000026e3: SWAP10
000026e4: POP
000026e5: POP
000026e6: POP
000026e7: POP
000026e8: PUSH1 0x0f
000026ea: PUSH1 0x00
000026ec: DUP13
000026ed: PUSH1 0x01
000026ef: PUSH1 0xa0
000026f1: PUSH1 0x02
000026f3: EXP
000026f4: SUB
000026f5: AND
000026f6: PUSH1 0x01
000026f8: PUSH1 0xa0
000026fa: PUSH1 0x02
000026fc: EXP
000026fd: SUB
000026fe: AND
000026ff: DUP2
00002700: MSTORE
00002701: PUSH1 0x20
00002703: ADD
00002704: SWAP1
00002705: DUP2
00002706: MSTORE
00002707: PUSH1 0x20
00002709: ADD
0000270a: PUSH1 0x00
0000270c: KECCAK256
0000270d: PUSH1 0x00
0000270f: DUP12
00002710: PUSH1 0x01
00002712: PUSH1 0xa0
00002714: PUSH1 0x02
00002716: EXP
00002717: SUB
00002718: AND
00002719: PUSH1 0x01
0000271b: PUSH1 0xa0
0000271d: PUSH1 0x02
0000271f: EXP
00002720: SUB
00002721: AND
00002722: DUP2
00002723: MSTORE
00002724: PUSH1 0x20
00002726: ADD
00002727: SWAP1
00002728: DUP2
00002729: MSTORE
0000272a: PUSH1 0x20
0000272c: ADD
0000272d: PUSH1 0x00
0000272f: KECCAK256
00002730: PUSH1 0x00
00002732: DUP10
00002733: DUP2
00002734: MSTORE
00002735: PUSH1 0x20
00002737: ADD
00002738: SWAP1
00002739: DUP2
0000273a: MSTORE
0000273b: PUSH1 0x20
0000273d: ADD
0000273e: PUSH1 0x00
00002740: KECCAK256
00002741: PUSH1 0x01
00002743: ADD
00002744: SLOAD
00002745: PUSH1 0x00
00002747: EQ
00002748: ISZERO
00002749: PUSH2 0x27cb
0000274c: JUMPI
0000274d: PUSH1 0x01
0000274f: PUSH1 0xa0
00002751: PUSH1 0x02
00002753: EXP
00002754: SUB
00002755: DUP1
00002756: DUP13
00002757: AND
00002758: PUSH1 0x00
0000275a: SWAP1
0000275b: DUP2
0000275c: MSTORE
0000275d: PUSH1 0x17
0000275f: PUSH1 0x20
00002761: SWAP1
00002762: DUP2
00002763: MSTORE
00002764: PUSH1 0x40
00002766: DUP1
00002767: DUP4
00002768: KECCAK256
00002769: DUP15
0000276a: DUP6
0000276b: AND
0000276c: DUP5
0000276d: MSTORE
0000276e: DUP3
0000276f: MSTORE
00002770: DUP1
00002771: DUP4
00002772: KECCAK256
00002773: DUP13
00002774: DUP5
00002775: MSTORE
00002776: DUP3
00002777: MSTORE
00002778: DUP1
00002779: DUP4
0000277a: KECCAK256
0000277b: SWAP4
0000277c: DUP14
0000277d: AND
0000277e: DUP4
0000277f: MSTORE
00002780: SWAP3
00002781: SWAP1
00002782: MSTORE
00002783: KECCAK256
00002784: SLOAD
00002785: PUSH2 0x278e
00002788: SWAP1
00002789: DUP9
0000278a: PUSH2 0x21a2
0000278d: JUMP
0000278e: JUMPDEST
0000278f: PUSH1 0x01
00002791: PUSH1 0xa0
00002793: PUSH1 0x02
00002795: EXP
00002796: SUB
00002797: DUP1
00002798: DUP14
00002799: AND
0000279a: PUSH1 0x00
0000279c: SWAP1
0000279d: DUP2
0000279e: MSTORE
0000279f: PUSH1 0x17
000027a1: PUSH1 0x20
000027a3: SWAP1
000027a4: DUP2
000027a5: MSTORE
000027a6: PUSH1 0x40
000027a8: DUP1
000027a9: DUP4
000027aa: KECCAK256
000027ab: DUP16
000027ac: DUP6
000027ad: AND
000027ae: DUP5
000027af: MSTORE
000027b0: DUP3
000027b1: MSTORE
000027b2: DUP1
000027b3: DUP4
000027b4: KECCAK256
000027b5: DUP14
000027b6: DUP5
000027b7: MSTORE
000027b8: DUP3
000027b9: MSTORE
000027ba: DUP1
000027bb: DUP4
000027bc: KECCAK256
000027bd: SWAP4
000027be: DUP15
000027bf: AND
000027c0: DUP4
000027c1: MSTORE
000027c2: SWAP3
000027c3: SWAP1
000027c4: MSTORE
000027c5: KECCAK256
000027c6: SSTORE
000027c7: PUSH2 0x2a4e
000027ca: JUMP
000027cb: JUMPDEST
000027cc: PUSH1 0x14
000027ce: PUSH1 0x00
000027d0: DUP13
000027d1: PUSH1 0x01
000027d3: PUSH1 0xa0
000027d5: PUSH1 0x02
000027d7: EXP
000027d8: SUB
000027d9: AND
000027da: PUSH1 0x01
000027dc: PUSH1 0xa0
000027de: PUSH1 0x02
000027e0: EXP
000027e1: SUB
000027e2: AND
000027e3: DUP2
000027e4: MSTORE
000027e5: PUSH1 0x20
000027e7: ADD
000027e8: SWAP1
000027e9: DUP2
000027ea: MSTORE
000027eb: PUSH1 0x20
000027ed: ADD
000027ee: PUSH1 0x00
000027f0: KECCAK256
000027f1: PUSH1 0x00
000027f3: DUP12
000027f4: PUSH1 0x01
000027f6: PUSH1 0xa0
000027f8: PUSH1 0x02
000027fa: EXP
000027fb: SUB
000027fc: AND
000027fd: PUSH1 0x01
000027ff: PUSH1 0xa0
00002801: PUSH1 0x02
00002803: EXP
00002804: SUB
00002805: AND
00002806: DUP2
00002807: MSTORE
00002808: PUSH1 0x20
0000280a: ADD
0000280b: SWAP1
0000280c: DUP2
0000280d: MSTORE
0000280e: PUSH1 0x20
00002810: ADD
00002811: PUSH1 0x00
00002813: KECCAK256
00002814: PUSH1 0x00
00002816: DUP10
00002817: DUP2
00002818: MSTORE
00002819: PUSH1 0x20
0000281b: ADD
0000281c: SWAP1
0000281d: DUP2
0000281e: MSTORE
0000281f: PUSH1 0x20
00002821: ADD
00002822: PUSH1 0x00
00002824: KECCAK256
00002825: SLOAD
00002826: SWAP3
00002827: POP
00002828: PUSH1 0x16
0000282a: PUSH1 0x00
0000282c: DUP13
0000282d: PUSH1 0x01
0000282f: PUSH1 0xa0
00002831: PUSH1 0x02
00002833: EXP
00002834: SUB
00002835: AND
00002836: PUSH1 0x01
00002838: PUSH1 0xa0
0000283a: PUSH1 0x02
0000283c: EXP
0000283d: SUB
0000283e: AND
0000283f: DUP2
00002840: MSTORE
00002841: PUSH1 0x20
00002843: ADD
00002844: SWAP1
00002845: DUP2
00002846: MSTORE
00002847: PUSH1 0x20
00002849: ADD
0000284a: PUSH1 0x00
0000284c: KECCAK256
0000284d: PUSH1 0x00
0000284f: DUP12
00002850: PUSH1 0x01
00002852: PUSH1 0xa0
00002854: PUSH1 0x02
00002856: EXP
00002857: SUB
00002858: AND
00002859: PUSH1 0x01
0000285b: PUSH1 0xa0
0000285d: PUSH1 0x02
0000285f: EXP
00002860: SUB
00002861: AND
00002862: DUP2
00002863: MSTORE
00002864: PUSH1 0x20
00002866: ADD
00002867: SWAP1
00002868: DUP2
00002869: MSTORE
0000286a: PUSH1 0x20
0000286c: ADD
0000286d: PUSH1 0x00
0000286f: KECCAK256
00002870: PUSH1 0x00
00002872: DUP10
00002873: DUP2
00002874: MSTORE
00002875: PUSH1 0x20
00002877: ADD
00002878: SWAP1
00002879: DUP2
0000287a: MSTORE
0000287b: PUSH1 0x20
0000287d: ADD
0000287e: PUSH1 0x00
00002880: KECCAK256
00002881: PUSH1 0x00
00002883: DUP11
00002884: PUSH1 0x01
00002886: PUSH1 0xa0
00002888: PUSH1 0x02
0000288a: EXP
0000288b: SUB
0000288c: AND
0000288d: PUSH1 0x01
0000288f: PUSH1 0xa0
00002891: PUSH1 0x02
00002893: EXP
00002894: SUB
00002895: AND
00002896: DUP2
00002897: MSTORE
00002898: PUSH1 0x20
0000289a: ADD
0000289b: SWAP1
0000289c: DUP2
0000289d: MSTORE
0000289e: PUSH1 0x20
000028a0: ADD
000028a1: PUSH1 0x00
000028a3: KECCAK256
000028a4: SLOAD
000028a5: SWAP2
000028a6: POP
000028a7: PUSH1 0x0f
000028a9: PUSH1 0x00
000028ab: DUP13
000028ac: PUSH1 0x01
000028ae: PUSH1 0xa0
000028b0: PUSH1 0x02
000028b2: EXP
000028b3: SUB
000028b4: AND
000028b5: PUSH1 0x01
000028b7: PUSH1 0xa0
000028b9: PUSH1 0x02
000028bb: EXP
000028bc: SUB
000028bd: AND
000028be: DUP2
000028bf: MSTORE
000028c0: PUSH1 0x20
000028c2: ADD
000028c3: SWAP1
000028c4: DUP2
000028c5: MSTORE
000028c6: PUSH1 0x20
000028c8: ADD
000028c9: PUSH1 0x00
000028cb: KECCAK256
000028cc: PUSH1 0x00
000028ce: DUP12
000028cf: PUSH1 0x01
000028d1: PUSH1 0xa0
000028d3: PUSH1 0x02
000028d5: EXP
000028d6: SUB
000028d7: AND
000028d8: PUSH1 0x01
000028da: PUSH1 0xa0
000028dc: PUSH1 0x02
000028de: EXP
000028df: SUB
000028e0: AND
000028e1: DUP2
000028e2: MSTORE
000028e3: PUSH1 0x20
000028e5: ADD
000028e6: SWAP1
000028e7: DUP2
000028e8: MSTORE
000028e9: PUSH1 0x20
000028eb: ADD
000028ec: PUSH1 0x00
000028ee: KECCAK256
000028ef: PUSH1 0x00
000028f1: DUP10
000028f2: DUP2
000028f3: MSTORE
000028f4: PUSH1 0x20
000028f6: ADD
000028f7: SWAP1
000028f8: DUP2
000028f9: MSTORE
000028fa: PUSH1 0x20
000028fc: ADD
000028fd: PUSH1 0x00
000028ff: KECCAK256
00002900: PUSH1 0x00
00002902: ADD
00002903: SLOAD
00002904: PUSH2 0x290d
00002907: DUP4
00002908: DUP6
00002909: PUSH2 0x2d10
0000290c: JUMP
0000290d: JUMPDEST
0000290e: DUP2
0000290f: ISZERO
00002910: ISZERO
00002911: PUSH2 0x2916
00002914: JUMPI
00002915: INVALID
00002916: JUMPDEST
00002917: DIV
00002918: SWAP1
00002919: POP
0000291a: PUSH2 0x2923
0000291d: DUP8
0000291e: DUP3
0000291f: PUSH2 0x21a2
00002922: JUMP
00002923: JUMPDEST
00002924: SWAP7
00002925: POP
00002926: PUSH2 0x2947
00002929: DUP11
0000292a: DUP13
0000292b: DUP8
0000292c: PUSH2 0x2935
0000292f: DUP7
00002930: DUP10
00002931: PUSH2 0x2d10
00002934: JUMP
00002935: JUMPDEST
00002936: DUP2
00002937: ISZERO
00002938: ISZERO
00002939: PUSH2 0x293e
0000293c: JUMPI
0000293d: INVALID
0000293e: JUMPDEST
0000293f: DIV
00002940: DUP12
00002941: DUP7
00002942: DUP15
00002943: PUSH2 0x4073
00002946: JUMP
00002947: JUMPDEST
00002948: SWAP6
00002949: POP
0000294a: PUSH1 0x00
0000294c: PUSH1 0x16
0000294e: PUSH1 0x00
00002950: DUP14
00002951: PUSH1 0x01
00002953: PUSH1 0xa0
00002955: PUSH1 0x02
00002957: EXP
00002958: SUB
00002959: AND
0000295a: PUSH1 0x01
0000295c: PUSH1 0xa0
0000295e: PUSH1 0x02
00002960: EXP
00002961: SUB
00002962: AND
00002963: DUP2
00002964: MSTORE
00002965: PUSH1 0x20
00002967: ADD
00002968: SWAP1
00002969: DUP2
0000296a: MSTORE
0000296b: PUSH1 0x20
0000296d: ADD
0000296e: PUSH1 0x00
00002970: KECCAK256
00002971: PUSH1 0x00
00002973: DUP13
00002974: PUSH1 0x01
00002976: PUSH1 0xa0
00002978: PUSH1 0x02
0000297a: EXP
0000297b: SUB
0000297c: AND
0000297d: PUSH1 0x01
0000297f: PUSH1 0xa0
00002981: PUSH1 0x02
00002983: EXP
00002984: SUB
00002985: AND
00002986: DUP2
00002987: MSTORE
00002988: PUSH1 0x20
0000298a: ADD
0000298b: SWAP1
0000298c: DUP2
0000298d: MSTORE
0000298e: PUSH1 0x20
00002990: ADD
00002991: PUSH1 0x00
00002993: KECCAK256
00002994: PUSH1 0x00
00002996: DUP11
00002997: DUP2
00002998: MSTORE
00002999: PUSH1 0x20
0000299b: ADD
0000299c: SWAP1
0000299d: DUP2
0000299e: MSTORE
0000299f: PUSH1 0x20
000029a1: ADD
000029a2: PUSH1 0x00
000029a4: KECCAK256
000029a5: PUSH1 0x00
000029a7: DUP12
000029a8: PUSH1 0x01
000029aa: PUSH1 0xa0
000029ac: PUSH1 0x02
000029ae: EXP
000029af: SUB
000029b0: AND
000029b1: PUSH1 0x01
000029b3: PUSH1 0xa0
000029b5: PUSH1 0x02
000029b7: EXP
000029b8: SUB
000029b9: AND
000029ba: DUP2
000029bb: MSTORE
000029bc: PUSH1 0x20
000029be: ADD
000029bf: SWAP1
000029c0: DUP2
000029c1: MSTORE
000029c2: PUSH1 0x20
000029c4: ADD
000029c5: PUSH1 0x00
000029c7: KECCAK256
000029c8: DUP2
000029c9: SWAP1
000029ca: SSTORE
000029cb: POP
000029cc: PUSH1 0x00
000029ce: PUSH1 0x17
000029d0: PUSH1 0x00
000029d2: DUP14
000029d3: PUSH1 0x01
000029d5: PUSH1 0xa0
000029d7: PUSH1 0x02
000029d9: EXP
000029da: SUB
000029db: AND
000029dc: PUSH1 0x01
000029de: PUSH1 0xa0
000029e0: PUSH1 0x02
000029e2: EXP
000029e3: SUB
000029e4: AND
000029e5: DUP2
000029e6: MSTORE
000029e7: PUSH1 0x20
000029e9: ADD
000029ea: SWAP1
000029eb: DUP2
000029ec: MSTORE
000029ed: PUSH1 0x20
000029ef: ADD
000029f0: PUSH1 0x00
000029f2: KECCAK256
000029f3: PUSH1 0x00
000029f5: DUP13
000029f6: PUSH1 0x01
000029f8: PUSH1 0xa0
000029fa: PUSH1 0x02
000029fc: EXP
000029fd: SUB
000029fe: AND
000029ff: PUSH1 0x01
00002a01: PUSH1 0xa0
00002a03: PUSH1 0x02
00002a05: EXP
00002a06: SUB
00002a07: AND
00002a08: DUP2
00002a09: MSTORE
00002a0a: PUSH1 0x20
00002a0c: ADD
00002a0d: SWAP1
00002a0e: DUP2
00002a0f: MSTORE
00002a10: PUSH1 0x20
00002a12: ADD
00002a13: PUSH1 0x00
00002a15: KECCAK256
00002a16: PUSH1 0x00
00002a18: DUP11
00002a19: DUP2
00002a1a: MSTORE
00002a1b: PUSH1 0x20
00002a1d: ADD
00002a1e: SWAP1
00002a1f: DUP2
00002a20: MSTORE
00002a21: PUSH1 0x20
00002a23: ADD
00002a24: PUSH1 0x00
00002a26: KECCAK256
00002a27: PUSH1 0x00
00002a29: DUP12
00002a2a: PUSH1 0x01
00002a2c: PUSH1 0xa0
00002a2e: PUSH1 0x02
00002a30: EXP
00002a31: SUB
00002a32: AND
00002a33: PUSH1 0x01
00002a35: PUSH1 0xa0
00002a37: PUSH1 0x02
00002a39: EXP
00002a3a: SUB
00002a3b: AND
00002a3c: DUP2
00002a3d: MSTORE
00002a3e: PUSH1 0x20
00002a40: ADD
00002a41: SWAP1
00002a42: DUP2
00002a43: MSTORE
00002a44: PUSH1 0x20
00002a46: ADD
00002a47: PUSH1 0x00
00002a49: KECCAK256
00002a4a: DUP2
00002a4b: SWAP1
00002a4c: SSTORE
00002a4d: POP
00002a4e: JUMPDEST
00002a4f: PUSH1 0x00
00002a51: DUP8
00002a52: GT
00002a53: ISZERO
00002a54: PUSH2 0x2aae
00002a57: JUMPI
00002a58: PUSH1 0x01
00002a5a: PUSH1 0xa0
00002a5c: PUSH1 0x02
00002a5e: EXP
00002a5f: SUB
00002a60: DUP1
00002a61: DUP13
00002a62: AND
00002a63: PUSH1 0x00
00002a65: SWAP1
00002a66: DUP2
00002a67: MSTORE
00002a68: PUSH1 0x13
00002a6a: PUSH1 0x20
00002a6c: SWAP1
00002a6d: DUP2
00002a6e: MSTORE
00002a6f: PUSH1 0x40
00002a71: DUP1
00002a72: DUP4
00002a73: KECCAK256
00002a74: SWAP4
00002a75: DUP14
00002a76: AND
00002a77: DUP4
00002a78: MSTORE
00002a79: SWAP3
00002a7a: SWAP1
00002a7b: MSTORE
00002a7c: KECCAK256
00002a7d: SLOAD
00002a7e: PUSH2 0x2a87
00002a81: SWAP1
00002a82: DUP9
00002a83: PUSH2 0x21a2
00002a86: JUMP
00002a87: JUMPDEST
00002a88: PUSH1 0x01
00002a8a: PUSH1 0xa0
00002a8c: PUSH1 0x02
00002a8e: EXP
00002a8f: SUB
00002a90: DUP1
00002a91: DUP14
00002a92: AND
00002a93: PUSH1 0x00
00002a95: SWAP1
00002a96: DUP2
00002a97: MSTORE
00002a98: PUSH1 0x13
00002a9a: PUSH1 0x20
00002a9c: SWAP1
00002a9d: DUP2
00002a9e: MSTORE
00002a9f: PUSH1 0x40
00002aa1: DUP1
00002aa2: DUP4
00002aa3: KECCAK256
00002aa4: SWAP4
00002aa5: DUP15
00002aa6: AND
00002aa7: DUP4
00002aa8: MSTORE
00002aa9: SWAP3
00002aaa: SWAP1
00002aab: MSTORE
00002aac: KECCAK256
00002aad: SSTORE
00002aae: JUMPDEST
00002aaf: DUP9
00002ab0: PUSH1 0x01
00002ab2: PUSH1 0xa0
00002ab4: PUSH1 0x02
00002ab6: EXP
00002ab7: SUB
00002ab8: AND
00002ab9: DUP11
00002aba: PUSH1 0x01
00002abc: PUSH1 0xa0
00002abe: PUSH1 0x02
00002ac0: EXP
00002ac1: SUB
00002ac2: AND
00002ac3: DUP13
00002ac4: PUSH1 0x01
00002ac6: PUSH1 0xa0
00002ac8: PUSH1 0x02
00002aca: EXP
00002acb: SUB
00002acc: AND
00002acd: PUSH32 0x4d1c39fd1a9c74f88b9f90c7b439b7e5dc6f26b6ff280fd497fdec5c538aaf52
00002aee: DUP12
00002aef: DUP12
00002af0: DUP12
00002af1: PUSH1 0x40
00002af3: MLOAD
00002af4: DUP1
00002af5: DUP5
00002af6: DUP2
00002af7: MSTORE
00002af8: PUSH1 0x20
00002afa: ADD
00002afb: DUP4
00002afc: DUP2
00002afd: MSTORE
00002afe: PUSH1 0x20
00002b00: ADD
00002b01: DUP3
00002b02: DUP2
00002b03: MSTORE
00002b04: PUSH1 0x20
00002b06: ADD
00002b07: SWAP4
00002b08: POP
00002b09: POP
00002b0a: POP
00002b0b: POP
00002b0c: PUSH1 0x40
00002b0e: MLOAD
00002b0f: DUP1
00002b10: SWAP2
00002b11: SUB
00002b12: SWAP1
00002b13: LOG4
00002b14: POP
00002b15: POP
00002b16: POP
00002b17: POP
00002b18: POP
00002b19: SWAP5
00002b1a: POP
00002b1b: SWAP5
00002b1c: SWAP3
00002b1d: POP
00002b1e: POP
00002b1f: POP
00002b20: JUMP
00002b21: JUMPDEST
00002b22: PUSH1 0x11
00002b24: PUSH1 0x20
00002b26: SWAP1
00002b27: DUP2
00002b28: MSTORE
00002b29: PUSH1 0x00
00002b2b: SWAP3
00002b2c: DUP4
00002b2d: MSTORE
00002b2e: PUSH1 0x40
00002b30: DUP1
00002b31: DUP5
00002b32: KECCAK256
00002b33: SWAP1
00002b34: SWAP2
00002b35: MSTORE
00002b36: SWAP1
00002b37: DUP3
00002b38: MSTORE
00002b39: SWAP1
00002b3a: KECCAK256
00002b3b: SLOAD
00002b3c: DUP2
00002b3d: JUMP
00002b3e: JUMPDEST
00002b3f: PUSH1 0x10
00002b41: PUSH1 0x20
00002b43: SWAP1
00002b44: DUP2
00002b45: MSTORE
00002b46: PUSH1 0x00
00002b48: SWAP3
00002b49: DUP4
00002b4a: MSTORE
00002b4b: PUSH1 0x40
00002b4d: DUP1
00002b4e: DUP5
00002b4f: KECCAK256
00002b50: SWAP1
00002b51: SWAP2
00002b52: MSTORE
00002b53: SWAP1
00002b54: DUP3
00002b55: MSTORE
00002b56: SWAP1
00002b57: KECCAK256
00002b58: SLOAD
00002b59: DUP2
00002b5a: JUMP
00002b5b: JUMPDEST
00002b5c: PUSH1 0x00
00002b5e: PUSH2 0x2b67
00002b61: DUP4
00002b62: DUP4
00002b63: PUSH2 0x30ad
00002b66: JUMP
00002b67: JUMPDEST
00002b68: ISZERO
00002b69: ISZERO
00002b6a: PUSH2 0x2b72
00002b6d: JUMPI
00002b6e: PUSH1 0x00
00002b70: DUP1
00002b71: REVERT
00002b72: JUMPDEST
00002b73: POP
00002b74: SWAP1
00002b75: SUB
00002b76: SWAP1
00002b77: JUMP
00002b78: JUMPDEST
00002b79: PUSH1 0x12
00002b7b: PUSH1 0x20
00002b7d: SWAP1
00002b7e: DUP2
00002b7f: MSTORE
00002b80: PUSH1 0x00
00002b82: SWAP3
00002b83: DUP4
00002b84: MSTORE
00002b85: PUSH1 0x40
00002b87: DUP1
00002b88: DUP5
00002b89: KECCAK256
00002b8a: SWAP1
00002b8b: SWAP2
00002b8c: MSTORE
00002b8d: SWAP1
00002b8e: DUP3
00002b8f: MSTORE
00002b90: SWAP1
00002b91: KECCAK256
00002b92: SLOAD
00002b93: DUP2
00002b94: JUMP
00002b95: JUMPDEST
00002b96: PUSH2 0x2b9d
00002b99: PUSH2 0x474c
00002b9c: JUMP
00002b9d: JUMPDEST
00002b9e: PUSH1 0x00
00002ba0: DUP1
00002ba1: PUSH2 0x2ba8
00002ba4: PUSH2 0x474c
00002ba7: JUMP
00002ba8: JUMPDEST
00002ba9: DUP8
00002baa: SWAP3
00002bab: POP
00002bac: DUP6
00002bad: SWAP2
00002bae: POP
00002baf: PUSH1 0x00
00002bb1: DUP1
00002bb2: DUP4
00002bb3: DUP6
00002bb4: EQ
00002bb5: PUSH2 0x2bbd
00002bb8: JUMPI
00002bb9: PUSH1 0x00
00002bbb: DUP1
00002bbc: REVERT
00002bbd: JUMPDEST
00002bbe: DUP5
00002bbf: PUSH1 0x40
00002bc1: MLOAD
00002bc2: DUP1
00002bc3: MSIZE
00002bc4: LT
00002bc5: PUSH2 0x2bcb
00002bc8: JUMPI
00002bc9: POP
00002bca: MSIZE
00002bcb: JUMPDEST
00002bcc: SWAP1
00002bcd: DUP1
00002bce: DUP3
00002bcf: MSTORE
00002bd0: DUP1
00002bd1: PUSH1 0x20
00002bd3: MUL
00002bd4: PUSH1 0x20
00002bd6: ADD
00002bd7: DUP3
00002bd8: ADD
00002bd9: PUSH1 0x40
00002bdb: MSTORE
00002bdc: POP
00002bdd: SWAP3
00002bde: POP
00002bdf: PUSH1 0x00
00002be1: SWAP2
00002be2: POP
00002be3: JUMPDEST
00002be4: DUP5
00002be5: DUP3
00002be6: LT
00002be7: ISZERO
00002be8: PUSH2 0x0f3a
00002beb: JUMPI
00002bec: PUSH2 0x2bfa
00002bef: DUP12
00002bf0: DUP12
00002bf1: DUP5
00002bf2: DUP2
00002bf3: DUP2
00002bf4: LT
00002bf5: PUSH2 0x0e5a
00002bf8: JUMPI
00002bf9: INVALID
00002bfa: JUMPDEST
00002bfb: SWAP1
00002bfc: POP
00002bfd: PUSH1 0x16
00002bff: PUSH1 0x00
00002c01: DUP13
00002c02: DUP13
00002c03: DUP6
00002c04: DUP2
00002c05: DUP2
00002c06: LT
00002c07: PUSH2 0x2c0c
00002c0a: JUMPI
00002c0b: INVALID
00002c0c: JUMPDEST
00002c0d: SWAP1
00002c0e: POP
00002c0f: PUSH1 0x20
00002c11: MUL
00002c12: ADD
00002c13: CALLDATALOAD
00002c14: PUSH1 0x01
00002c16: PUSH1 0xa0
00002c18: PUSH1 0x02
00002c1a: EXP
00002c1b: SUB
00002c1c: AND
00002c1d: PUSH1 0x01
00002c1f: PUSH1 0xa0
00002c21: PUSH1 0x02
00002c23: EXP
00002c24: SUB
00002c25: AND
00002c26: PUSH1 0x01
00002c28: PUSH1 0xa0
00002c2a: PUSH1 0x02
00002c2c: EXP
00002c2d: SUB
00002c2e: AND
00002c2f: DUP2
00002c30: MSTORE
00002c31: PUSH1 0x20
00002c33: ADD
00002c34: SWAP1
00002c35: DUP2
00002c36: MSTORE
00002c37: PUSH1 0x20
00002c39: ADD
00002c3a: PUSH1 0x00
00002c3c: KECCAK256
00002c3d: PUSH1 0x00
00002c3f: DUP11
00002c40: DUP11
00002c41: DUP6
00002c42: DUP2
00002c43: DUP2
00002c44: LT
00002c45: ISZERO
00002c46: ISZERO
00002c47: PUSH2 0x2c4c
00002c4a: JUMPI
00002c4b: INVALID
00002c4c: JUMPDEST
00002c4d: PUSH1 0x01
00002c4f: PUSH1 0xa0
00002c51: PUSH1 0x02
00002c53: EXP
00002c54: SUB
00002c55: PUSH1 0x20
00002c57: SWAP2
00002c58: DUP3
00002c59: MUL
00002c5a: SWAP4
00002c5b: SWAP1
00002c5c: SWAP4
00002c5d: ADD
00002c5e: CALLDATALOAD
00002c5f: DUP4
00002c60: AND
00002c61: DUP5
00002c62: MSTORE
00002c63: DUP4
00002c64: DUP2
00002c65: ADD
00002c66: SWAP5
00002c67: SWAP1
00002c68: SWAP5
00002c69: MSTORE
00002c6a: POP
00002c6b: PUSH1 0x40
00002c6d: SWAP2
00002c6e: DUP3
00002c6f: ADD
00002c70: PUSH1 0x00
00002c72: SWAP1
00002c73: DUP2
00002c74: KECCAK256
00002c75: DUP6
00002c76: DUP3
00002c77: MSTORE
00002c78: DUP5
00002c79: MSTORE
00002c7a: DUP3
00002c7b: DUP2
00002c7c: KECCAK256
00002c7d: SWAP2
00002c7e: DUP12
00002c7f: AND
00002c80: DUP2
00002c81: MSTORE
00002c82: SWAP3
00002c83: MSTORE
00002c84: SWAP1
00002c85: KECCAK256
00002c86: SLOAD
00002c87: DUP4
00002c88: DUP4
00002c89: DUP2
00002c8a: MLOAD
00002c8b: DUP2
00002c8c: LT
00002c8d: PUSH2 0x2c92
00002c90: JUMPI
00002c91: INVALID
00002c92: JUMPDEST
00002c93: PUSH1 0x20
00002c95: SWAP1
00002c96: DUP2
00002c97: MUL
00002c98: SWAP1
00002c99: SWAP2
00002c9a: ADD
00002c9b: ADD
00002c9c: MSTORE
00002c9d: PUSH1 0x01
00002c9f: SWAP1
00002ca0: SWAP2
00002ca1: ADD
00002ca2: SWAP1
00002ca3: PUSH2 0x2be3
00002ca6: JUMP
00002ca7: JUMPDEST
00002ca8: PUSH1 0x15
00002caa: PUSH1 0x20
00002cac: SWAP1
00002cad: DUP2
00002cae: MSTORE
00002caf: PUSH1 0x00
00002cb1: SWAP5
00002cb2: DUP6
00002cb3: MSTORE
00002cb4: PUSH1 0x40
00002cb6: DUP1
00002cb7: DUP7
00002cb8: KECCAK256
00002cb9: DUP3
00002cba: MSTORE
00002cbb: SWAP4
00002cbc: DUP6
00002cbd: MSTORE
00002cbe: DUP4
00002cbf: DUP6
00002cc0: KECCAK256
00002cc1: DUP2
00002cc2: MSTORE
00002cc3: SWAP2
00002cc4: DUP5
00002cc5: MSTORE
00002cc6: DUP3
00002cc7: DUP5
00002cc8: KECCAK256
00002cc9: SWAP1
00002cca: SWAP2
00002ccb: MSTORE
00002ccc: DUP3
00002ccd: MSTORE
00002cce: SWAP1
00002ccf: KECCAK256
00002cd0: SLOAD
00002cd1: DUP2
00002cd2: JUMP
00002cd3: JUMPDEST
00002cd4: PUSH1 0x13
00002cd6: PUSH1 0x20
00002cd8: SWAP1
00002cd9: DUP2
00002cda: MSTORE
00002cdb: PUSH1 0x00
00002cdd: SWAP3
00002cde: DUP4
00002cdf: MSTORE
00002ce0: PUSH1 0x40
00002ce2: DUP1
00002ce3: DUP5
00002ce4: KECCAK256
00002ce5: SWAP1
00002ce6: SWAP2
00002ce7: MSTORE
00002ce8: SWAP1
00002ce9: DUP3
00002cea: MSTORE
00002ceb: SWAP1
00002cec: KECCAK256
00002ced: SLOAD
00002cee: DUP2
00002cef: JUMP
00002cf0: JUMPDEST
00002cf1: PUSH1 0x03
00002cf3: SLOAD
00002cf4: CALLER
00002cf5: PUSH1 0x01
00002cf7: PUSH1 0xa0
00002cf9: PUSH1 0x02
00002cfb: EXP
00002cfc: SUB
00002cfd: SWAP1
00002cfe: DUP2
00002cff: AND
00002d00: SWAP2
00002d01: AND
00002d02: EQ
00002d03: PUSH2 0x2d0b
00002d06: JUMPI
00002d07: PUSH1 0x00
00002d09: DUP1
00002d0a: REVERT
00002d0b: JUMPDEST
00002d0c: PUSH1 0x09
00002d0e: SSTORE
00002d0f: JUMP
00002d10: JUMPDEST
00002d11: PUSH1 0x00
00002d13: PUSH2 0x2d1c
00002d16: DUP4
00002d17: DUP4
00002d18: PUSH2 0x2d2c
00002d1b: JUMP
00002d1c: JUMPDEST
00002d1d: ISZERO
00002d1e: ISZERO
00002d1f: PUSH2 0x2d27
00002d22: JUMPI
00002d23: PUSH1 0x00
00002d25: DUP1
00002d26: REVERT
00002d27: JUMPDEST
00002d28: POP
00002d29: MUL
00002d2a: SWAP1
00002d2b: JUMP
00002d2c: JUMPDEST
00002d2d: PUSH1 0x00
00002d2f: DUP2
00002d30: ISZERO
00002d31: DUP1
00002d32: PUSH2 0x2d47
00002d35: JUMPI
00002d36: POP
00002d37: DUP3
00002d38: DUP3
00002d39: DUP4
00002d3a: DUP6
00002d3b: MUL
00002d3c: DUP2
00002d3d: ISZERO
00002d3e: ISZERO
00002d3f: PUSH2 0x2d44
00002d42: JUMPI
00002d43: INVALID
00002d44: JUMPDEST
00002d45: DIV
00002d46: EQ
00002d47: JUMPDEST
00002d48: SWAP4
00002d49: SWAP3
00002d4a: POP
00002d4b: POP
00002d4c: POP
00002d4d: JUMP
00002d4e: JUMPDEST
00002d4f: PUSH1 0x06
00002d51: SLOAD
00002d52: PUSH1 0x01
00002d54: PUSH1 0xa0
00002d56: PUSH1 0x02
00002d58: EXP
00002d59: SUB
00002d5a: AND
00002d5b: DUP2
00002d5c: JUMP
00002d5d: JUMPDEST
00002d5e: PUSH1 0x0b
00002d60: SLOAD
00002d61: PUSH1 0x01
00002d63: PUSH1 0xa0
00002d65: PUSH1 0x02
00002d67: EXP
00002d68: SUB
00002d69: AND
00002d6a: DUP2
00002d6b: JUMP
00002d6c: JUMPDEST
00002d6d: PUSH2 0x2d74
00002d70: PUSH2 0x474c
00002d73: JUMP
00002d74: JUMPDEST
00002d75: PUSH2 0x2d7c
00002d78: PUSH2 0x474c
00002d7b: JUMP
00002d7c: JUMPDEST
00002d7d: PUSH1 0x00
00002d7f: DUP1
00002d80: PUSH1 0x00
00002d82: DUP1
00002d83: PUSH1 0x00
00002d85: DUP1
00002d86: PUSH2 0x2d8f
00002d89: DUP13
00002d8a: DUP13
00002d8b: PUSH2 0x104f
00002d8e: JUMP
00002d8f: JUMPDEST
00002d90: SWAP6
00002d91: POP
00002d92: DUP9
00002d93: ISZERO
00002d94: PUSH2 0x2da2
00002d97: JUMPI
00002d98: DUP9
00002d99: DUP7
00002d9a: SUB
00002d9b: PUSH1 0x01
00002d9d: ADD
00002d9e: PUSH2 0x2da5
00002da1: JUMP
00002da2: JUMPDEST
00002da3: PUSH1 0x01
00002da5: JUMPDEST
00002da6: SWAP4
00002da7: POP
00002da8: DUP4
00002da9: SWAP3
00002daa: POP
00002dab: JUMPDEST
00002dac: DUP6
00002dad: DUP4
00002dae: GT
00002daf: PUSH2 0x2e04
00002db2: JUMPI
00002db3: PUSH1 0x01
00002db5: PUSH1 0xa0
00002db7: PUSH1 0x02
00002db9: EXP
00002dba: SUB
00002dbb: DUP1
00002dbc: DUP14
00002dbd: AND
00002dbe: PUSH1 0x00
00002dc0: SWAP1
00002dc1: DUP2
00002dc2: MSTORE
00002dc3: PUSH1 0x16
00002dc5: PUSH1 0x20
00002dc7: SWAP1
00002dc8: DUP2
00002dc9: MSTORE
00002dca: PUSH1 0x40
00002dcc: DUP1
00002dcd: DUP4
00002dce: KECCAK256
00002dcf: DUP16
00002dd0: DUP6
00002dd1: AND
00002dd2: DUP5
00002dd3: MSTORE
00002dd4: DUP3
00002dd5: MSTORE
00002dd6: DUP1
00002dd7: DUP4
00002dd8: KECCAK256
00002dd9: DUP8
00002dda: DUP5
00002ddb: MSTORE
00002ddc: DUP3
00002ddd: MSTORE
00002dde: DUP1
00002ddf: DUP4
00002de0: KECCAK256
00002de1: SWAP4
00002de2: DUP15
00002de3: AND
00002de4: DUP4
00002de5: MSTORE
00002de6: SWAP3
00002de7: SWAP1
00002de8: MSTORE
00002de9: SWAP1
00002dea: DUP2
00002deb: KECCAK256
00002dec: SLOAD
00002ded: GT
00002dee: ISZERO
00002def: PUSH2 0x2df9
00002df2: JUMPI
00002df3: PUSH1 0x01
00002df5: SWAP1
00002df6: SWAP5
00002df7: ADD
00002df8: SWAP4
00002df9: JUMPDEST
00002dfa: PUSH1 0x01
00002dfc: SWAP1
00002dfd: SWAP3
00002dfe: ADD
00002dff: SWAP2
00002e00: PUSH2 0x2dab
00002e03: JUMP
00002e04: JUMPDEST
00002e05: DUP5
00002e06: PUSH1 0x40
00002e08: MLOAD
00002e09: DUP1
00002e0a: MSIZE
00002e0b: LT
00002e0c: PUSH2 0x2e12
00002e0f: JUMPI
00002e10: POP
00002e11: MSIZE
00002e12: JUMPDEST
00002e13: SWAP1
00002e14: DUP1
00002e15: DUP3
00002e16: MSTORE
00002e17: DUP1
00002e18: PUSH1 0x20
00002e1a: MUL
00002e1b: PUSH1 0x20
00002e1d: ADD
00002e1e: DUP3
00002e1f: ADD
00002e20: PUSH1 0x40
00002e22: MSTORE
00002e23: POP
00002e24: SWAP8
00002e25: POP
00002e26: DUP5
00002e27: PUSH1 0x40
00002e29: MLOAD
00002e2a: DUP1
00002e2b: MSIZE
00002e2c: LT
00002e2d: PUSH2 0x2e33
00002e30: JUMPI
00002e31: POP
00002e32: MSIZE
00002e33: JUMPDEST
00002e34: SWAP1
00002e35: DUP1
00002e36: DUP3
00002e37: MSTORE
00002e38: DUP1
00002e39: PUSH1 0x20
00002e3b: MUL
00002e3c: PUSH1 0x20
00002e3e: ADD
00002e3f: DUP3
00002e40: ADD
00002e41: PUSH1 0x40
00002e43: MSTORE
00002e44: POP
00002e45: SWAP7
00002e46: POP
00002e47: DUP4
00002e48: SWAP1
00002e49: POP
00002e4a: JUMPDEST
00002e4b: DUP6
00002e4c: DUP2
00002e4d: GT
00002e4e: PUSH2 0x1967
00002e51: JUMPI
00002e52: PUSH1 0x01
00002e54: PUSH1 0xa0
00002e56: PUSH1 0x02
00002e58: EXP
00002e59: SUB
00002e5a: DUP1
00002e5b: DUP14
00002e5c: AND
00002e5d: PUSH1 0x00
00002e5f: SWAP1
00002e60: DUP2
00002e61: MSTORE
00002e62: PUSH1 0x16
00002e64: PUSH1 0x20
00002e66: SWAP1
00002e67: DUP2
00002e68: MSTORE
00002e69: PUSH1 0x40
00002e6b: DUP1
00002e6c: DUP4
00002e6d: KECCAK256
00002e6e: DUP16
00002e6f: DUP6
00002e70: AND
00002e71: DUP5
00002e72: MSTORE
00002e73: DUP3
00002e74: MSTORE
00002e75: DUP1
00002e76: DUP4
00002e77: KECCAK256
00002e78: DUP6
00002e79: DUP5
00002e7a: MSTORE
00002e7b: DUP3
00002e7c: MSTORE
00002e7d: DUP1
00002e7e: DUP4
00002e7f: KECCAK256
00002e80: SWAP4
00002e81: DUP15
00002e82: AND
00002e83: DUP4
00002e84: MSTORE
00002e85: SWAP3
00002e86: SWAP1
00002e87: MSTORE
00002e88: SWAP1
00002e89: DUP2
00002e8a: KECCAK256
00002e8b: SLOAD
00002e8c: GT
00002e8d: ISZERO
00002e8e: PUSH2 0x2f00
00002e91: JUMPI
00002e92: DUP1
00002e93: DUP9
00002e94: DUP4
00002e95: DUP2
00002e96: MLOAD
00002e97: DUP2
00002e98: LT
00002e99: PUSH2 0x2e9e
00002e9c: JUMPI
00002e9d: INVALID
00002e9e: JUMPDEST
00002e9f: PUSH1 0x20
00002ea1: SWAP1
00002ea2: DUP2
00002ea3: MUL
00002ea4: SWAP1
00002ea5: SWAP2
00002ea6: ADD
00002ea7: DUP2
00002ea8: ADD
00002ea9: SWAP2
00002eaa: SWAP1
00002eab: SWAP2
00002eac: MSTORE
00002ead: PUSH1 0x01
00002eaf: PUSH1 0xa0
00002eb1: PUSH1 0x02
00002eb3: EXP
00002eb4: SUB
00002eb5: DUP1
00002eb6: DUP15
00002eb7: AND
00002eb8: PUSH1 0x00
00002eba: SWAP1
00002ebb: DUP2
00002ebc: MSTORE
00002ebd: PUSH1 0x16
00002ebf: DUP4
00002ec0: MSTORE
00002ec1: PUSH1 0x40
00002ec3: DUP1
00002ec4: DUP3
00002ec5: KECCAK256
00002ec6: DUP16
00002ec7: DUP5
00002ec8: AND
00002ec9: DUP4
00002eca: MSTORE
00002ecb: DUP5
00002ecc: MSTORE
00002ecd: DUP1
00002ece: DUP3
00002ecf: KECCAK256
00002ed0: DUP6
00002ed1: DUP4
00002ed2: MSTORE
00002ed3: DUP5
00002ed4: MSTORE
00002ed5: DUP1
00002ed6: DUP3
00002ed7: KECCAK256
00002ed8: SWAP3
00002ed9: DUP15
00002eda: AND
00002edb: DUP3
00002edc: MSTORE
00002edd: SWAP2
00002ede: SWAP1
00002edf: SWAP3
00002ee0: MSTORE
00002ee1: SWAP1
00002ee2: KECCAK256
00002ee3: SLOAD
00002ee4: DUP8
00002ee5: DUP4
00002ee6: DUP2
00002ee7: MLOAD
00002ee8: DUP2
00002ee9: LT
00002eea: PUSH2 0x2eef
00002eed: JUMPI
00002eee: INVALID
00002eef: JUMPDEST
00002ef0: PUSH1 0x20
00002ef2: SWAP1
00002ef3: DUP2
00002ef4: MUL
00002ef5: SWAP1
00002ef6: SWAP2
00002ef7: ADD
00002ef8: ADD
00002ef9: MSTORE
00002efa: PUSH1 0x01
00002efc: SWAP1
00002efd: SWAP2
00002efe: ADD
00002eff: SWAP1
00002f00: JUMPDEST
00002f01: PUSH1 0x01
00002f03: ADD
00002f04: PUSH2 0x2e4a
00002f07: JUMP
00002f08: JUMPDEST
00002f09: DUP6
00002f0a: DUP5
00002f0b: PUSH1 0x00
00002f0d: DUP1
00002f0e: DUP3
00002f0f: DUP5
00002f10: EQ
00002f11: PUSH2 0x2f19
00002f14: JUMPI
00002f15: PUSH1 0x00
00002f17: DUP1
00002f18: REVERT
00002f19: JUMPDEST
00002f1a: DUP6
00002f1b: SWAP2
00002f1c: POP
00002f1d: DUP3
00002f1e: DUP3
00002f1f: EQ
00002f20: PUSH2 0x2f28
00002f23: JUMPI
00002f24: PUSH1 0x00
00002f26: DUP1
00002f27: REVERT
00002f28: JUMPDEST
00002f29: POP
00002f2a: PUSH1 0x00
00002f2c: JUMPDEST
00002f2d: DUP4
00002f2e: DUP2
00002f2f: LT
00002f30: ISZERO
00002f31: PUSH2 0x224c
00002f34: JUMPI
00002f35: PUSH2 0x2f8c
00002f38: DUP12
00002f39: DUP12
00002f3a: DUP4
00002f3b: DUP2
00002f3c: DUP2
00002f3d: LT
00002f3e: PUSH2 0x2f43
00002f41: JUMPI
00002f42: INVALID
00002f43: JUMPDEST
00002f44: SWAP1
00002f45: POP
00002f46: PUSH1 0x20
00002f48: MUL
00002f49: ADD
00002f4a: CALLDATALOAD
00002f4b: PUSH1 0x01
00002f4d: PUSH1 0xa0
00002f4f: PUSH1 0x02
00002f51: EXP
00002f52: SUB
00002f53: AND
00002f54: DUP11
00002f55: DUP11
00002f56: DUP5
00002f57: DUP2
00002f58: DUP2
00002f59: LT
00002f5a: ISZERO
00002f5b: ISZERO
00002f5c: PUSH2 0x2f61
00002f5f: JUMPI
00002f60: INVALID
00002f61: JUMPDEST
00002f62: SWAP1
00002f63: POP
00002f64: PUSH1 0x20
00002f66: MUL
00002f67: ADD
00002f68: CALLDATALOAD
00002f69: PUSH1 0x01
00002f6b: PUSH1 0xa0
00002f6d: PUSH1 0x02
00002f6f: EXP
00002f70: SUB
00002f71: AND
00002f72: DUP8
00002f73: DUP11
00002f74: DUP11
00002f75: DUP7
00002f76: DUP2
00002f77: DUP2
00002f78: LT
00002f79: ISZERO
00002f7a: ISZERO
00002f7b: PUSH2 0x2f80
00002f7e: JUMPI
00002f7f: INVALID
00002f80: JUMPDEST
00002f81: SWAP1
00002f82: POP
00002f83: PUSH1 0x20
00002f85: MUL
00002f86: ADD
00002f87: CALLDATALOAD
00002f88: PUSH2 0x26b9
00002f8b: JUMP
00002f8c: JUMPDEST
00002f8d: POP
00002f8e: POP
00002f8f: PUSH1 0x01
00002f91: ADD
00002f92: PUSH2 0x2f2c
00002f95: JUMP
00002f96: JUMPDEST
00002f97: PUSH1 0x00
00002f99: PUSH2 0x2fa2
00002f9c: DUP4
00002f9d: DUP4
00002f9e: PUSH2 0x0dcc
00002fa1: JUMP
00002fa2: JUMPDEST
00002fa3: PUSH1 0x01
00002fa5: PUSH1 0xa0
00002fa7: PUSH1 0x02
00002fa9: EXP
00002faa: SUB
00002fab: SWAP2
00002fac: DUP3
00002fad: AND
00002fae: PUSH1 0x00
00002fb0: SWAP1
00002fb1: DUP2
00002fb2: MSTORE
00002fb3: PUSH1 0x0e
00002fb5: PUSH1 0x20
00002fb7: SWAP1
00002fb8: DUP2
00002fb9: MSTORE
00002fba: PUSH1 0x40
00002fbc: DUP1
00002fbd: DUP4
00002fbe: KECCAK256
00002fbf: SWAP4
00002fc0: SWAP1
00002fc1: SWAP5
00002fc2: AND
00002fc3: DUP3
00002fc4: MSTORE
00002fc5: SWAP2
00002fc6: SWAP1
00002fc7: SWAP2
00002fc8: MSTORE
00002fc9: KECCAK256
00002fca: SLOAD
00002fcb: SWAP4
00002fcc: SWAP3
00002fcd: POP
00002fce: POP
00002fcf: POP
00002fd0: JUMP
00002fd1: JUMPDEST
00002fd2: PUSH1 0x00
00002fd4: DUP1
00002fd5: PUSH1 0x00
00002fd7: DUP1
00002fd8: PUSH2 0x2fe1
00002fdb: DUP9
00002fdc: DUP9
00002fdd: PUSH2 0x104f
00002fe0: JUMP
00002fe1: JUMPDEST
00002fe2: DUP6
00002fe3: GT
00002fe4: ISZERO
00002fe5: PUSH2 0x2fed
00002fe8: JUMPI
00002fe9: PUSH1 0x00
00002feb: DUP1
00002fec: REVERT
00002fed: JUMPDEST
00002fee: PUSH2 0x2ff8
00002ff1: DUP9
00002ff2: DUP9
00002ff3: DUP8
00002ff4: PUSH2 0x393c
00002ff7: JUMP
00002ff8: JUMPDEST
00002ff9: SWAP1
00002ffa: SWAP4
00002ffb: POP
00002ffc: SWAP2
00002ffd: POP
00002ffe: DUP3
00002fff: ISZERO
00003000: ISZERO
00003001: PUSH2 0x300d
00003004: JUMPI
00003005: PUSH1 0x00
00003007: SWAP4
00003008: POP
00003009: PUSH2 0x3082
0000300c: JUMP
0000300d: JUMPDEST
0000300e: POP
0000300f: PUSH1 0x01
00003011: PUSH1 0xa0
00003013: PUSH1 0x02
00003015: EXP
00003016: SUB
00003017: DUP1
00003018: DUP9
00003019: AND
0000301a: PUSH1 0x00
0000301c: DUP2
0000301d: DUP2
0000301e: MSTORE
0000301f: PUSH1 0x16
00003021: PUSH1 0x20
00003023: SWAP1
00003024: DUP2
00003025: MSTORE
00003026: PUSH1 0x40
00003028: DUP1
00003029: DUP4
0000302a: KECCAK256
0000302b: DUP12
0000302c: DUP7
0000302d: AND
0000302e: DUP1
0000302f: DUP6
00003030: MSTORE
00003031: SWAP1
00003032: DUP4
00003033: MSTORE
00003034: DUP2
00003035: DUP5
00003036: KECCAK256
00003037: DUP11
00003038: DUP6
00003039: MSTORE
0000303a: DUP4
0000303b: MSTORE
0000303c: DUP2
0000303d: DUP5
0000303e: KECCAK256
0000303f: SWAP6
00003040: DUP12
00003041: AND
00003042: DUP1
00003043: DUP6
00003044: MSTORE
00003045: SWAP6
00003046: DUP4
00003047: MSTORE
00003048: DUP2
00003049: DUP5
0000304a: KECCAK256
0000304b: SLOAD
0000304c: SWAP5
0000304d: DUP5
0000304e: MSTORE
0000304f: PUSH1 0x17
00003051: DUP4
00003052: MSTORE
00003053: DUP2
00003054: DUP5
00003055: KECCAK256
00003056: SWAP1
00003057: DUP5
00003058: MSTORE
00003059: DUP3
0000305a: MSTORE
0000305b: DUP1
0000305c: DUP4
0000305d: KECCAK256
0000305e: DUP10
0000305f: DUP5
00003060: MSTORE
00003061: DUP3
00003062: MSTORE
00003063: DUP1
00003064: DUP4
00003065: KECCAK256
00003066: SWAP5
00003067: DUP4
00003068: MSTORE
00003069: SWAP4
0000306a: SWAP1
0000306b: MSTORE
0000306c: SWAP2
0000306d: SWAP1
0000306e: SWAP2
0000306f: KECCAK256
00003070: SLOAD
00003071: PUSH2 0x307f
00003074: SWAP1
00003075: DUP5
00003076: PUSH2 0x1b80
00003079: DUP5
0000307a: DUP7
0000307b: PUSH2 0x2d10
0000307e: JUMP
0000307f: JUMPDEST
00003080: SWAP4
00003081: POP
00003082: JUMPDEST
00003083: POP
00003084: SWAP5
00003085: POP
00003086: SWAP5
00003087: POP
00003088: SWAP5
00003089: SWAP2
0000308a: POP
0000308b: POP
0000308c: JUMP
0000308d: JUMPDEST
0000308e: PUSH1 0x03
00003090: SLOAD
00003091: CALLER
00003092: PUSH1 0x01
00003094: PUSH1 0xa0
00003096: PUSH1 0x02
00003098: EXP
00003099: SUB
0000309a: SWAP1
0000309b: DUP2
0000309c: AND
0000309d: SWAP2
0000309e: AND
0000309f: EQ
000030a0: PUSH2 0x30a8
000030a3: JUMPI
000030a4: PUSH1 0x00
000030a6: DUP1
000030a7: REVERT
000030a8: JUMPDEST
000030a9: PUSH1 0x08
000030ab: SSTORE
000030ac: JUMP
000030ad: JUMPDEST
000030ae: SWAP1
000030af: LT
000030b0: ISZERO
000030b1: SWAP1
000030b2: JUMP
000030b3: JUMPDEST
000030b4: PUSH1 0x00
000030b6: DUP1
000030b7: DUP1
000030b8: PUSH1 0x01
000030ba: PUSH1 0xa0
000030bc: PUSH1 0x02
000030be: EXP
000030bf: SUB
000030c0: DUP10
000030c1: DUP2
000030c2: AND
000030c3: SWAP1
000030c4: DUP10
000030c5: AND
000030c6: EQ
000030c7: ISZERO
000030c8: PUSH2 0x30d0
000030cb: JUMPI
000030cc: PUSH1 0x00
000030ce: DUP1
000030cf: REVERT
000030d0: JUMPDEST
000030d1: DUP5
000030d2: ISZERO
000030d3: ISZERO
000030d4: PUSH2 0x30dc
000030d7: JUMPI
000030d8: PUSH1 0x00
000030da: DUP1
000030db: REVERT
000030dc: JUMPDEST
000030dd: DUP4
000030de: ISZERO
000030df: ISZERO
000030e0: PUSH2 0x30e8
000030e3: JUMPI
000030e4: PUSH1 0x00
000030e6: DUP1
000030e7: REVERT
000030e8: JUMPDEST
000030e9: PUSH2 0x30f2
000030ec: DUP10
000030ed: DUP10
000030ee: PUSH2 0x104f
000030f1: JUMP
000030f2: JUMPDEST
000030f3: ISZERO
000030f4: PUSH2 0x30fc
000030f7: JUMPI
000030f8: PUSH1 0x00
000030fa: DUP1
000030fb: REVERT
000030fc: JUMPDEST
000030fd: PUSH8 0x0de0b6b3a7640000
00003106: DUP6
00003107: LT
00003108: PUSH2 0x3110
0000310b: JUMPI
0000310c: PUSH1 0x00
0000310e: DUP1
0000310f: REVERT
00003110: JUMPDEST
00003111: PUSH8 0x0de0b6b3a7640000
0000311a: DUP5
0000311b: LT
0000311c: PUSH2 0x3124
0000311f: JUMPI
00003120: PUSH1 0x00
00003122: DUP1
00003123: REVERT
00003124: JUMPDEST
00003125: PUSH2 0x312e
00003128: DUP10
00003129: DUP10
0000312a: PUSH2 0x41a9
0000312d: JUMP
0000312e: JUMPDEST
0000312f: PUSH1 0x01
00003131: PUSH1 0xa0
00003133: PUSH1 0x02
00003135: EXP
00003136: SUB
00003137: DUP1
00003138: DUP11
00003139: AND
0000313a: PUSH1 0x00
0000313c: SWAP1
0000313d: DUP2
0000313e: MSTORE
0000313f: PUSH1 0x13
00003141: PUSH1 0x20
00003143: SWAP1
00003144: DUP2
00003145: MSTORE
00003146: PUSH1 0x40
00003148: DUP1
00003149: DUP4
0000314a: KECCAK256
0000314b: CALLER
0000314c: SWAP1
0000314d: SWAP5
0000314e: AND
0000314f: DUP4
00003150: MSTORE
00003151: SWAP3
00003152: SWAP1
00003153: MSTORE
00003154: KECCAK256
00003155: SLOAD
00003156: PUSH2 0x3160
00003159: SWAP1
0000315a: DUP9
0000315b: SWAP1
0000315c: PUSH2 0x22b8
0000315f: JUMP
00003160: JUMPDEST
00003161: PUSH1 0x01
00003163: PUSH1 0xa0
00003165: PUSH1 0x02
00003167: EXP
00003168: SUB
00003169: DUP1
0000316a: DUP11
0000316b: AND
0000316c: PUSH1 0x00
0000316e: SWAP1
0000316f: DUP2
00003170: MSTORE
00003171: PUSH1 0x13
00003173: PUSH1 0x20
00003175: SWAP1
00003176: DUP2
00003177: MSTORE
00003178: PUSH1 0x40
0000317a: DUP1
0000317b: DUP4
0000317c: KECCAK256
0000317d: CALLER
0000317e: SWAP1
0000317f: SWAP5
00003180: AND
00003181: DUP4
00003182: MSTORE
00003183: SWAP3
00003184: SWAP1
00003185: MSTORE
00003186: KECCAK256
00003187: SLOAD
00003188: SWAP1
00003189: SWAP8
0000318a: POP
0000318b: PUSH2 0x3195
0000318e: SWAP1
0000318f: DUP8
00003190: SWAP1
00003191: PUSH2 0x22b8
00003194: JUMP
00003195: JUMPDEST
00003196: SWAP6
00003197: POP
00003198: PUSH13 0x0c9f2c9cd04674edea40000000
000031a6: DUP8
000031a7: LT
000031a8: PUSH2 0x31b0
000031ab: JUMPI
000031ac: PUSH1 0x00
000031ae: DUP1
000031af: REVERT
000031b0: JUMPDEST
000031b1: PUSH13 0x0c9f2c9cd04674edea40000000
000031bf: DUP7
000031c0: LT
000031c1: PUSH2 0x31c9
000031c4: JUMPI
000031c5: PUSH1 0x00
000031c7: DUP1
000031c8: REVERT
000031c9: JUMPDEST
000031ca: PUSH1 0x05
000031cc: SLOAD
000031cd: PUSH1 0x01
000031cf: PUSH1 0xa0
000031d1: PUSH1 0x02
000031d3: EXP
000031d4: SUB
000031d5: AND
000031d6: PUSH4 0xa3ca17b2
000031db: PUSH1 0x40
000031dd: MLOAD
000031de: DUP2
000031df: PUSH4 0xffffffff
000031e4: AND
000031e5: PUSH1 0xe0
000031e7: PUSH1 0x02
000031e9: EXP
000031ea: MUL
000031eb: DUP2
000031ec: MSTORE
000031ed: PUSH1 0x04
000031ef: ADD
000031f0: PUSH1 0x20
000031f2: PUSH1 0x40
000031f4: MLOAD
000031f5: DUP1
000031f6: DUP4
000031f7: SUB
000031f8: DUP2
000031f9: PUSH1 0x00
000031fb: DUP8
000031fc: DUP1
000031fd: EXTCODESIZE
000031fe: ISZERO
000031ff: ISZERO
00003200: PUSH2 0x3208
00003203: JUMPI
00003204: PUSH1 0x00
00003206: DUP1
00003207: REVERT
00003208: JUMPDEST
00003209: GAS
0000320a: CALL
0000320b: ISZERO
0000320c: ISZERO
0000320d: PUSH2 0x3215
00003210: JUMPI
00003211: PUSH1 0x00
00003213: DUP1
00003214: REVERT
00003215: JUMPDEST
00003216: POP
00003217: POP
00003218: POP
00003219: PUSH1 0x40
0000321b: MLOAD
0000321c: DUP1
0000321d: MLOAD
0000321e: PUSH1 0x04
00003220: SLOAD
00003221: SWAP1
00003222: SWAP4
00003223: POP
00003224: PUSH1 0x01
00003226: PUSH1 0xa0
00003228: PUSH1 0x02
0000322a: EXP
0000322b: SUB
0000322c: SWAP1
0000322d: DUP2
0000322e: AND
0000322f: SWAP3
00003230: POP
00003231: DUP11
00003232: AND
00003233: DUP3
00003234: EQ
00003235: ISZERO
00003236: SWAP1
00003237: POP
00003238: PUSH2 0x324c
0000323b: JUMPI
0000323c: PUSH2 0x3245
0000323f: DUP8
00003240: DUP4
00003241: PUSH2 0x2d10
00003244: JUMP
00003245: JUMPDEST
00003246: SWAP3
00003247: POP
00003248: PUSH2 0x3281
0000324b: JUMP
0000324c: JUMPDEST
0000324d: DUP1
0000324e: PUSH1 0x01
00003250: PUSH1 0xa0
00003252: PUSH1 0x02
00003254: EXP
00003255: SUB
00003256: AND
00003257: DUP9
00003258: PUSH1 0x01
0000325a: PUSH1 0xa0
0000325c: PUSH1 0x02
0000325e: EXP
0000325f: SUB
00003260: AND
00003261: EQ
00003262: ISZERO
00003263: PUSH2 0x3270
00003266: JUMPI
00003267: PUSH2 0x3245
0000326a: DUP7
0000326b: DUP4
0000326c: PUSH2 0x2d10
0000326f: JUMP
00003270: JUMPDEST
00003271: PUSH2 0x327e
00003274: DUP10
00003275: DUP10
00003276: DUP10
00003277: DUP10
00003278: DUP6
00003279: DUP8
0000327a: PUSH2 0x41e5
0000327d: JUMP
0000327e: JUMPDEST
0000327f: SWAP3
00003280: POP
00003281: JUMPDEST
00003282: PUSH1 0x08
00003284: SLOAD
00003285: DUP4
00003286: LT
00003287: ISZERO
00003288: PUSH2 0x3290
0000328b: JUMPI
0000328c: PUSH1 0x00
0000328e: DUP1
0000328f: REVERT
00003290: JUMPDEST
00003291: PUSH1 0x40
00003293: DUP1
00003294: MLOAD
00003295: SWAP1
00003296: DUP2
00003297: ADD
00003298: PUSH1 0x40
0000329a: SWAP1
0000329b: DUP2
0000329c: MSTORE
0000329d: DUP7
0000329e: DUP3
0000329f: MSTORE
000032a0: PUSH1 0x20
000032a2: DUP1
000032a3: DUP4
000032a4: ADD
000032a5: DUP8
000032a6: SWAP1
000032a7: MSTORE
000032a8: PUSH1 0x01
000032aa: PUSH1 0xa0
000032ac: PUSH1 0x02
000032ae: EXP
000032af: SUB
000032b0: DUP1
000032b1: DUP14
000032b2: AND
000032b3: PUSH1 0x00
000032b5: SWAP1
000032b6: DUP2
000032b7: MSTORE
000032b8: PUSH1 0x0f
000032ba: DUP4
000032bb: MSTORE
000032bc: DUP4
000032bd: DUP2
000032be: KECCAK256
000032bf: SWAP2
000032c0: DUP14
000032c1: AND
000032c2: DUP2
000032c3: MSTORE
000032c4: SWAP1
000032c5: DUP3
000032c6: MSTORE
000032c7: DUP3
000032c8: DUP2
000032c9: KECCAK256
000032ca: DUP2
000032cb: DUP1
000032cc: MSTORE
000032cd: SWAP1
000032ce: SWAP2
000032cf: MSTORE
000032d0: KECCAK256
000032d1: DUP2
000032d2: MLOAD
000032d3: DUP2
000032d4: SSTORE
000032d5: PUSH1 0x20
000032d7: DUP3
000032d8: ADD
000032d9: MLOAD
000032da: PUSH1 0x01
000032dc: SWAP1
000032dd: SWAP2
000032de: ADD
000032df: SSTORE
000032e0: POP
000032e1: PUSH1 0x40
000032e3: DUP1
000032e4: MLOAD
000032e5: SWAP1
000032e6: DUP2
000032e7: ADD
000032e8: PUSH1 0x40
000032ea: SWAP1
000032eb: DUP2
000032ec: MSTORE
000032ed: DUP6
000032ee: DUP3
000032ef: MSTORE
000032f0: PUSH1 0x20
000032f2: DUP1
000032f3: DUP4
000032f4: ADD
000032f5: DUP9
000032f6: SWAP1
000032f7: MSTORE
000032f8: PUSH1 0x01
000032fa: PUSH1 0xa0
000032fc: PUSH1 0x02
000032fe: EXP
000032ff: SUB
00003300: DUP1
00003301: DUP13
00003302: AND
00003303: PUSH1 0x00
00003305: SWAP1
00003306: DUP2
00003307: MSTORE
00003308: PUSH1 0x0f
0000330a: DUP4
0000330b: MSTORE
0000330c: DUP4
0000330d: DUP2
0000330e: KECCAK256
0000330f: SWAP2
00003310: DUP15
00003311: AND
00003312: DUP2
00003313: MSTORE
00003314: SWAP1
00003315: DUP3
00003316: MSTORE
00003317: DUP3
00003318: DUP2
00003319: KECCAK256
0000331a: DUP2
0000331b: DUP1
0000331c: MSTORE
0000331d: SWAP1
0000331e: SWAP2
0000331f: MSTORE
00003320: KECCAK256
00003321: DUP2
00003322: MLOAD
00003323: DUP2
00003324: SSTORE
00003325: PUSH1 0x20
00003327: DUP3
00003328: ADD
00003329: MLOAD
0000332a: PUSH1 0x01
0000332c: SWAP1
0000332d: SWAP2
0000332e: ADD
0000332f: SSTORE
00003330: POP
00003331: PUSH2 0x23a7
00003334: DUP10
00003335: DUP10
00003336: DUP10
00003337: DUP10
00003338: PUSH2 0x426d
0000333b: JUMP
0000333c: JUMPDEST
0000333d: PUSH1 0x0f
0000333f: PUSH1 0x20
00003341: SWAP1
00003342: DUP2
00003343: MSTORE
00003344: PUSH1 0x00
00003346: SWAP4
00003347: DUP5
00003348: MSTORE
00003349: PUSH1 0x40
0000334b: DUP1
0000334c: DUP6
0000334d: KECCAK256
0000334e: DUP3
0000334f: MSTORE
00003350: SWAP3
00003351: DUP5
00003352: MSTORE
00003353: DUP3
00003354: DUP5
00003355: KECCAK256
00003356: SWAP1
00003357: MSTORE
00003358: DUP3
00003359: MSTORE
0000335a: SWAP1
0000335b: KECCAK256
0000335c: DUP1
0000335d: SLOAD
0000335e: PUSH1 0x01
00003360: SWAP1
00003361: SWAP2
00003362: ADD
00003363: SLOAD
00003364: DUP3
00003365: JUMP
00003366: JUMPDEST
00003367: PUSH1 0x0a
00003369: SLOAD
0000336a: PUSH1 0x00
0000336c: SWAP1
0000336d: DUP2
0000336e: SWAP1
0000336f: DUP2
00003370: SWAP1
00003371: DUP2
00003372: SWAP1
00003373: PUSH1 0x01
00003375: PUSH1 0xa0
00003377: PUSH1 0x02
00003379: EXP
0000337a: SUB
0000337b: AND
0000337c: PUSH4 0x18160ddd
00003381: PUSH1 0x40
00003383: MLOAD
00003384: DUP2
00003385: PUSH4 0xffffffff
0000338a: AND
0000338b: PUSH1 0xe0
0000338d: PUSH1 0x02
0000338f: EXP
00003390: MUL
00003391: DUP2
00003392: MSTORE
00003393: PUSH1 0x04
00003395: ADD
00003396: PUSH1 0x20
00003398: PUSH1 0x40
0000339a: MLOAD
0000339b: DUP1
0000339c: DUP4
0000339d: SUB
0000339e: DUP2
0000339f: PUSH1 0x00
000033a1: DUP8
000033a2: DUP1
000033a3: EXTCODESIZE
000033a4: ISZERO
000033a5: ISZERO
000033a6: PUSH2 0x33ae
000033a9: JUMPI
000033aa: PUSH1 0x00
000033ac: DUP1
000033ad: REVERT
000033ae: JUMPDEST
000033af: GAS
000033b0: CALL
000033b1: ISZERO
000033b2: ISZERO
000033b3: PUSH2 0x33bb
000033b6: JUMPI
000033b7: PUSH1 0x00
000033b9: DUP1
000033ba: REVERT
000033bb: JUMPDEST
000033bc: POP
000033bd: POP
000033be: POP
000033bf: PUSH1 0x40
000033c1: MLOAD
000033c2: DUP1
000033c3: MLOAD
000033c4: PUSH1 0x0a
000033c6: SLOAD
000033c7: SWAP1
000033c8: SWAP4
000033c9: POP
000033ca: PUSH1 0x01
000033cc: PUSH1 0xa0
000033ce: PUSH1 0x02
000033d0: EXP
000033d1: SUB
000033d2: AND
000033d3: SWAP1
000033d4: POP
000033d5: PUSH4 0x8b525d0c
000033da: DUP7
000033db: PUSH1 0x40
000033dd: MLOAD
000033de: PUSH1 0xe0
000033e0: PUSH1 0x02
000033e2: EXP
000033e3: PUSH4 0xffffffff
000033e8: DUP5
000033e9: AND
000033ea: MUL
000033eb: DUP2
000033ec: MSTORE
000033ed: PUSH1 0x01
000033ef: PUSH1 0xa0
000033f1: PUSH1 0x02
000033f3: EXP
000033f4: SUB
000033f5: SWAP1
000033f6: SWAP2
000033f7: AND
000033f8: PUSH1 0x04
000033fa: DUP3
000033fb: ADD
000033fc: MSTORE
000033fd: PUSH1 0x24
000033ff: ADD
00003400: PUSH1 0x20
00003402: PUSH1 0x40
00003404: MLOAD
00003405: DUP1
00003406: DUP4
00003407: SUB
00003408: DUP2
00003409: PUSH1 0x00
0000340b: DUP8
0000340c: DUP1
0000340d: EXTCODESIZE
0000340e: ISZERO
0000340f: ISZERO
00003410: PUSH2 0x3418
00003413: JUMPI
00003414: PUSH1 0x00
00003416: DUP1
00003417: REVERT
00003418: JUMPDEST
00003419: GAS
0000341a: CALL
0000341b: ISZERO
0000341c: ISZERO
0000341d: PUSH2 0x3425
00003420: JUMPI
00003421: PUSH1 0x00
00003423: DUP1
00003424: REVERT
00003425: JUMPDEST
00003426: POP
00003427: POP
00003428: POP
00003429: PUSH1 0x40
0000342b: MLOAD
0000342c: DUP1
0000342d: MLOAD
0000342e: SWAP1
0000342f: POP
00003430: SWAP1
00003431: POP
00003432: DUP2
00003433: DUP2
00003434: PUSH3 0x0186a0
00003438: MUL
00003439: LT
0000343a: DUP1
0000343b: PUSH2 0x3442
0000343e: JUMPI
0000343f: POP
00003440: DUP2
00003441: ISZERO
00003442: JUMPDEST
00003443: ISZERO
00003444: PUSH2 0x3454
00003447: JUMPI
00003448: PUSH1 0x01
0000344a: SWAP4
0000344b: POP
0000344c: PUSH1 0xc8
0000344e: SWAP3
0000344f: POP
00003450: PUSH2 0x34c2
00003453: JUMP
00003454: JUMPDEST
00003455: DUP2
00003456: DUP2
00003457: PUSH2 0x2710
0000345a: MUL
0000345b: LT
0000345c: ISZERO
0000345d: PUSH2 0x346d
00003460: JUMPI
00003461: PUSH1 0x01
00003463: SWAP4
00003464: POP
00003465: PUSH1 0xfa
00003467: SWAP3
00003468: POP
00003469: PUSH2 0x34c2
0000346c: JUMP
0000346d: JUMPDEST
0000346e: DUP2
0000346f: DUP2
00003470: PUSH2 0x03e8
00003473: MUL
00003474: LT
00003475: ISZERO
00003476: PUSH2 0x3487
00003479: JUMPI
0000347a: PUSH1 0x03
0000347c: SWAP4
0000347d: POP
0000347e: PUSH2 0x03e8
00003481: SWAP3
00003482: POP
00003483: PUSH2 0x34c2
00003486: JUMP
00003487: JUMPDEST
00003488: DUP2
00003489: DUP2
0000348a: PUSH1 0x64
0000348c: MUL
0000348d: LT
0000348e: ISZERO
0000348f: PUSH2 0x34a0
00003492: JUMPI
00003493: PUSH1 0x01
00003495: SWAP4
00003496: POP
00003497: PUSH2 0x01f4
0000349a: SWAP3
0000349b: POP
0000349c: PUSH2 0x34c2
0000349f: JUMP
000034a0: JUMPDEST
000034a1: DUP2
000034a2: DUP2
000034a3: PUSH1 0x0a
000034a5: MUL
000034a6: LT
000034a7: ISZERO
000034a8: PUSH2 0x34b9
000034ab: JUMPI
000034ac: PUSH1 0x01
000034ae: SWAP4
000034af: POP
000034b0: PUSH2 0x03e8
000034b3: SWAP3
000034b4: POP
000034b5: PUSH2 0x34c2
000034b8: JUMP
000034b9: JUMPDEST
000034ba: PUSH1 0x00
000034bc: SWAP4
000034bd: POP
000034be: PUSH1 0x01
000034c0: SWAP3
000034c1: POP
000034c2: JUMPDEST
000034c3: POP
000034c4: POP
000034c5: SWAP2
000034c6: POP
000034c7: SWAP2
000034c8: JUMP
000034c9: JUMPDEST
000034ca: PUSH1 0x09
000034cc: SLOAD
000034cd: DUP2
000034ce: JUMP
000034cf: JUMPDEST
000034d0: PUSH1 0x01
000034d2: PUSH1 0xa0
000034d4: PUSH1 0x02
000034d6: EXP
000034d7: SUB
000034d8: DUP1
000034d9: DUP4
000034da: AND
000034db: PUSH1 0x00
000034dd: SWAP1
000034de: DUP2
000034df: MSTORE
000034e0: PUSH1 0x13
000034e2: PUSH1 0x20
000034e4: SWAP1
000034e5: DUP2
000034e6: MSTORE
000034e7: PUSH1 0x40
000034e9: DUP1
000034ea: DUP4
000034eb: KECCAK256
000034ec: CALLER
000034ed: SWAP1
000034ee: SWAP5
000034ef: AND
000034f0: DUP4
000034f1: MSTORE
000034f2: SWAP3
000034f3: SWAP1
000034f4: MSTORE
000034f5: SWAP1
000034f6: DUP2
000034f7: KECCAK256
000034f8: SLOAD
000034f9: DUP2
000034fa: PUSH2 0x3503
000034fd: DUP5
000034fe: DUP4
000034ff: PUSH2 0x22b8
00003502: JUMP
00003503: JUMPDEST
00003504: SWAP4
00003505: POP
00003506: PUSH1 0x00
00003508: DUP5
00003509: GT
0000350a: PUSH2 0x3512
0000350d: JUMPI
0000350e: PUSH1 0x00
00003510: DUP1
00003511: REVERT
00003512: JUMPDEST
00003513: DUP5
00003514: PUSH1 0x01
00003516: PUSH1 0xa0
00003518: PUSH1 0x02
0000351a: EXP
0000351b: SUB
0000351c: AND
0000351d: PUSH4 0xa9059cbb
00003522: CALLER
00003523: DUP7
00003524: PUSH1 0x40
00003526: MLOAD
00003527: PUSH1 0xe0
00003529: PUSH1 0x02
0000352b: EXP
0000352c: PUSH4 0xffffffff
00003531: DUP6
00003532: AND
00003533: MUL
00003534: DUP2
00003535: MSTORE
00003536: PUSH1 0x01
00003538: PUSH1 0xa0
0000353a: PUSH1 0x02
0000353c: EXP
0000353d: SUB
0000353e: SWAP1
0000353f: SWAP3
00003540: AND
00003541: PUSH1 0x04
00003543: DUP4
00003544: ADD
00003545: MSTORE
00003546: PUSH1 0x24
00003548: DUP3
00003549: ADD
0000354a: MSTORE
0000354b: PUSH1 0x44
0000354d: ADD
0000354e: PUSH1 0x20
00003550: PUSH1 0x40
00003552: MLOAD
00003553: DUP1
00003554: DUP4
00003555: SUB
00003556: DUP2
00003557: PUSH1 0x00
00003559: DUP8
0000355a: DUP1
0000355b: EXTCODESIZE
0000355c: ISZERO
0000355d: ISZERO
0000355e: PUSH2 0x3566
00003561: JUMPI
00003562: PUSH1 0x00
00003564: DUP1
00003565: REVERT
00003566: JUMPDEST
00003567: GAS
00003568: CALL
00003569: ISZERO
0000356a: ISZERO
0000356b: PUSH2 0x3573
0000356e: JUMPI
0000356f: PUSH1 0x00
00003571: DUP1
00003572: REVERT
00003573: JUMPDEST
00003574: POP
00003575: POP
00003576: POP
00003577: PUSH1 0x40
00003579: MLOAD
0000357a: DUP1
0000357b: MLOAD
0000357c: SWAP1
0000357d: POP
0000357e: ISZERO
0000357f: ISZERO
00003580: PUSH2 0x3588
00003583: JUMPI
00003584: PUSH1 0x00
00003586: DUP1
00003587: REVERT
00003588: JUMPDEST
00003589: PUSH2 0x3592
0000358c: DUP3
0000358d: DUP6
0000358e: PUSH2 0x2b5b
00003591: JUMP
00003592: JUMPDEST
00003593: PUSH1 0x01
00003595: PUSH1 0xa0
00003597: PUSH1 0x02
00003599: EXP
0000359a: SUB
0000359b: DUP1
0000359c: DUP8
0000359d: AND
0000359e: PUSH1 0x00
000035a0: DUP2
000035a1: DUP2
000035a2: MSTORE
000035a3: PUSH1 0x13
000035a5: PUSH1 0x20
000035a7: SWAP1
000035a8: DUP2
000035a9: MSTORE
000035aa: PUSH1 0x40
000035ac: DUP1
000035ad: DUP4
000035ae: KECCAK256
000035af: CALLER
000035b0: SWAP1
000035b1: SWAP6
000035b2: AND
000035b3: DUP4
000035b4: MSTORE
000035b5: SWAP4
000035b6: SWAP1
000035b7: MSTORE
000035b8: DUP3
000035b9: SWAP1
000035ba: KECCAK256
000035bb: DUP4
000035bc: SWAP1
000035bd: SSTORE
000035be: SWAP2
000035bf: SWAP3
000035c0: POP
000035c1: PUSH32 0x6e2e05fb6a732995d6952d9158ca6b75f11cc6bf5a4af943aa1eb475a249440b
000035e2: SWAP1
000035e3: DUP7
000035e4: SWAP1
000035e5: MLOAD
000035e6: SWAP1
000035e7: DUP2
000035e8: MSTORE
000035e9: PUSH1 0x20
000035eb: ADD
000035ec: PUSH1 0x40
000035ee: MLOAD
000035ef: DUP1
000035f0: SWAP2
000035f1: SUB
000035f2: SWAP1
000035f3: LOG2
000035f4: SWAP5
000035f5: SWAP4
000035f6: POP
000035f7: POP
000035f8: POP
000035f9: POP
000035fa: JUMP
000035fb: JUMPDEST
000035fc: PUSH1 0x04
000035fe: SLOAD
000035ff: PUSH1 0x00
00003601: SWAP1
00003602: DUP2
00003603: SWAP1
00003604: DUP2
00003605: SWAP1
00003606: PUSH2 0x3619
00003609: SWAP1
0000360a: DUP6
0000360b: SWAP1
0000360c: PUSH1 0x01
0000360e: PUSH1 0xa0
00003610: PUSH1 0x02
00003612: EXP
00003613: SUB
00003614: AND
00003615: PUSH2 0x104f
00003618: JUMP
00003619: JUMPDEST
0000361a: PUSH1 0x04
0000361c: SLOAD
0000361d: SWAP1
0000361e: SWAP2
0000361f: POP
00003620: PUSH2 0x3638
00003623: SWAP1
00003624: DUP6
00003625: SWAP1
00003626: PUSH1 0x01
00003628: PUSH1 0xa0
0000362a: PUSH1 0x02
0000362c: EXP
0000362d: SUB
0000362e: AND
0000362f: PUSH1 0x00
00003631: NOT
00003632: DUP5
00003633: ADD
00003634: PUSH2 0x130c
00003637: JUMP
00003638: JUMPDEST
00003639: SWAP1
0000363a: SWAP6
0000363b: SWAP1
0000363c: SWAP5
0000363d: POP
0000363e: SWAP3
0000363f: POP
00003640: POP
00003641: POP
00003642: JUMP
00003643: JUMPDEST
00003644: PUSH1 0x03
00003646: SLOAD
00003647: CALLER
00003648: PUSH1 0x01
0000364a: PUSH1 0xa0
0000364c: PUSH1 0x02
0000364e: EXP
0000364f: SUB
00003650: SWAP1
00003651: DUP2
00003652: AND
00003653: SWAP2
00003654: AND
00003655: EQ
00003656: PUSH2 0x365e
00003659: JUMPI
0000365a: PUSH1 0x00
0000365c: DUP1
0000365d: REVERT
0000365e: JUMPDEST
0000365f: PUSH1 0x06
00003661: SLOAD
00003662: PUSH1 0x01
00003664: PUSH1 0xa0
00003666: PUSH1 0x02
00003668: EXP
00003669: SUB
0000366a: AND
0000366b: ISZERO
0000366c: ISZERO
0000366d: PUSH2 0x3675
00003670: JUMPI
00003671: PUSH1 0x00
00003673: DUP1
00003674: REVERT
00003675: JUMPDEST
00003676: PUSH1 0x07
00003678: SLOAD
00003679: TIMESTAMP
0000367a: SWAP1
0000367b: LT
0000367c: PUSH2 0x3684
0000367f: JUMPI
00003680: PUSH1 0x00
00003682: DUP1
00003683: REVERT
00003684: JUMPDEST
00003685: PUSH1 0x06
00003687: DUP1
00003688: SLOAD
00003689: PUSH1 0x05
0000368b: DUP1
0000368c: SLOAD
0000368d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036a2: NOT
000036a3: SWAP1
000036a4: DUP2
000036a5: AND
000036a6: PUSH1 0x01
000036a8: PUSH1 0xa0
000036aa: PUSH1 0x02
000036ac: EXP
000036ad: SUB
000036ae: DUP5
000036af: AND
000036b0: OR
000036b1: SWAP1
000036b2: SWAP2
000036b3: SSTORE
000036b4: AND
000036b5: SWAP1
000036b6: SSTORE
000036b7: JUMP
000036b8: JUMPDEST
000036b9: PUSH1 0x03
000036bb: SLOAD
000036bc: CALLER
000036bd: PUSH1 0x01
000036bf: PUSH1 0xa0
000036c1: PUSH1 0x02
000036c3: EXP
000036c4: SUB
000036c5: SWAP1
000036c6: DUP2
000036c7: AND
000036c8: SWAP2
000036c9: AND
000036ca: EQ
000036cb: PUSH2 0x36d3
000036ce: JUMPI
000036cf: PUSH1 0x00
000036d1: DUP1
000036d2: REVERT
000036d3: JUMPDEST
000036d4: PUSH1 0x01
000036d6: PUSH1 0xa0
000036d8: PUSH1 0x02
000036da: EXP
000036db: SUB
000036dc: DUP2
000036dd: AND
000036de: ISZERO
000036df: ISZERO
000036e0: PUSH2 0x36e8
000036e3: JUMPI
000036e4: PUSH1 0x00
000036e6: DUP1
000036e7: REVERT
000036e8: JUMPDEST
000036e9: PUSH1 0x01
000036eb: DUP1
000036ec: SLOAD
000036ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003702: NOT
00003703: AND
00003704: PUSH1 0x01
00003706: PUSH1 0xa0
00003708: PUSH1 0x02
0000370a: EXP
0000370b: SUB
0000370c: DUP4
0000370d: AND
0000370e: OR
0000370f: SWAP1
00003710: SSTORE
00003711: PUSH2 0x371d
00003714: TIMESTAMP
00003715: PUSH3 0x278d00
00003719: PUSH2 0x21a2
0000371c: JUMP
0000371d: JUMPDEST
0000371e: PUSH1 0x02
00003720: SSTORE
00003721: PUSH32 0x36dceb79f427eda3edba9ac3c1d4db7a6e4d0b8637d97320847d93fa8e2f7a04
00003742: DUP2
00003743: PUSH1 0x40
00003745: MLOAD
00003746: PUSH1 0x01
00003748: PUSH1 0xa0
0000374a: PUSH1 0x02
0000374c: EXP
0000374d: SUB
0000374e: SWAP1
0000374f: SWAP2
00003750: AND
00003751: DUP2
00003752: MSTORE
00003753: PUSH1 0x20
00003755: ADD
00003756: PUSH1 0x40
00003758: MLOAD
00003759: DUP1
0000375a: SWAP2
0000375b: SUB
0000375c: SWAP1
0000375d: LOG1
0000375e: POP
0000375f: JUMP
00003760: JUMPDEST
00003761: PUSH1 0x14
00003763: PUSH1 0x20
00003765: SWAP1
00003766: DUP2
00003767: MSTORE
00003768: PUSH1 0x00
0000376a: SWAP4
0000376b: DUP5
0000376c: MSTORE
0000376d: PUSH1 0x40
0000376f: DUP1
00003770: DUP6
00003771: KECCAK256
00003772: DUP3
00003773: MSTORE
00003774: SWAP3
00003775: DUP5
00003776: MSTORE
00003777: DUP3
00003778: DUP5
00003779: KECCAK256
0000377a: SWAP1
0000377b: MSTORE
0000377c: DUP3
0000377d: MSTORE
0000377e: SWAP1
0000377f: KECCAK256
00003780: SLOAD
00003781: DUP2
00003782: JUMP
00003783: JUMPDEST
00003784: PUSH2 0x378b
00003787: PUSH2 0x474c
0000378a: JUMP
0000378b: JUMPDEST
0000378c: PUSH2 0x3793
0000378f: PUSH2 0x474c
00003792: JUMP
00003793: JUMPDEST
00003794: PUSH1 0x00
00003796: DUP1
00003797: PUSH1 0x00
00003799: DUP1
0000379a: PUSH1 0x00
0000379c: DUP1
0000379d: PUSH2 0x37a6
000037a0: DUP13
000037a1: DUP13
000037a2: PUSH2 0x104f
000037a5: JUMP
000037a6: JUMPDEST
000037a7: SWAP6
000037a8: POP
000037a9: DUP9
000037aa: ISZERO
000037ab: PUSH2 0x37b9
000037ae: JUMPI
000037af: DUP9
000037b0: DUP7
000037b1: SUB
000037b2: PUSH1 0x01
000037b4: ADD
000037b5: PUSH2 0x37bc
000037b8: JUMP
000037b9: JUMPDEST
000037ba: PUSH1 0x01
000037bc: JUMPDEST
000037bd: SWAP4
000037be: POP
000037bf: DUP4
000037c0: SWAP3
000037c1: POP
000037c2: JUMPDEST
000037c3: DUP6
000037c4: DUP4
000037c5: GT
000037c6: PUSH2 0x381b
000037c9: JUMPI
000037ca: PUSH1 0x01
000037cc: PUSH1 0xa0
000037ce: PUSH1 0x02
000037d0: EXP
000037d1: SUB
000037d2: DUP1
000037d3: DUP14
000037d4: AND
000037d5: PUSH1 0x00
000037d7: SWAP1
000037d8: DUP2
000037d9: MSTORE
000037da: PUSH1 0x15
000037dc: PUSH1 0x20
000037de: SWAP1
000037df: DUP2
000037e0: MSTORE
000037e1: PUSH1 0x40
000037e3: DUP1
000037e4: DUP4
000037e5: KECCAK256
000037e6: DUP16
000037e7: DUP6
000037e8: AND
000037e9: DUP5
000037ea: MSTORE
000037eb: DUP3
000037ec: MSTORE
000037ed: DUP1
000037ee: DUP4
000037ef: KECCAK256
000037f0: DUP8
000037f1: DUP5
000037f2: MSTORE
000037f3: DUP3
000037f4: MSTORE
000037f5: DUP1
000037f6: DUP4
000037f7: KECCAK256
000037f8: SWAP4
000037f9: DUP15
000037fa: AND
000037fb: DUP4
000037fc: MSTORE
000037fd: SWAP3
000037fe: SWAP1
000037ff: MSTORE
00003800: SWAP1
00003801: DUP2
00003802: KECCAK256
00003803: SLOAD
00003804: GT
00003805: ISZERO
00003806: PUSH2 0x3810
00003809: JUMPI
0000380a: PUSH1 0x01
0000380c: SWAP1
0000380d: SWAP5
0000380e: ADD
0000380f: SWAP4
00003810: JUMPDEST
00003811: PUSH1 0x01
00003813: SWAP1
00003814: SWAP3
00003815: ADD
00003816: SWAP2
00003817: PUSH2 0x37c2
0000381a: JUMP
0000381b: JUMPDEST
0000381c: DUP5
0000381d: PUSH1 0x40
0000381f: MLOAD
00003820: DUP1
00003821: MSIZE
00003822: LT
00003823: PUSH2 0x3829
00003826: JUMPI
00003827: POP
00003828: MSIZE
00003829: JUMPDEST
0000382a: SWAP1
0000382b: DUP1
0000382c: DUP3
0000382d: MSTORE
0000382e: DUP1
0000382f: PUSH1 0x20
00003831: MUL
00003832: PUSH1 0x20
00003834: ADD
00003835: DUP3
00003836: ADD
00003837: PUSH1 0x40
00003839: MSTORE
0000383a: POP
0000383b: SWAP8
0000383c: POP
0000383d: DUP5
0000383e: PUSH1 0x40
00003840: MLOAD
00003841: DUP1
00003842: MSIZE
00003843: LT
00003844: PUSH2 0x384a
00003847: JUMPI
00003848: POP
00003849: MSIZE
0000384a: JUMPDEST
0000384b: SWAP1
0000384c: DUP1
0000384d: DUP3
0000384e: MSTORE
0000384f: DUP1
00003850: PUSH1 0x20
00003852: MUL
00003853: PUSH1 0x20
00003855: ADD
00003856: DUP3
00003857: ADD
00003858: PUSH1 0x40
0000385a: MSTORE
0000385b: POP
0000385c: SWAP7
0000385d: POP
0000385e: DUP4
0000385f: SWAP1
00003860: POP
00003861: JUMPDEST
00003862: DUP6
00003863: DUP2
00003864: GT
00003865: PUSH2 0x1967
00003868: JUMPI
00003869: PUSH1 0x01
0000386b: PUSH1 0xa0
0000386d: PUSH1 0x02
0000386f: EXP
00003870: SUB
00003871: DUP1
00003872: DUP14
00003873: AND
00003874: PUSH1 0x00
00003876: SWAP1
00003877: DUP2
00003878: MSTORE
00003879: PUSH1 0x15
0000387b: PUSH1 0x20
0000387d: SWAP1
0000387e: DUP2
0000387f: MSTORE
00003880: PUSH1 0x40
00003882: DUP1
00003883: DUP4
00003884: KECCAK256
00003885: DUP16
00003886: DUP6
00003887: AND
00003888: DUP5
00003889: MSTORE
0000388a: DUP3
0000388b: MSTORE
0000388c: DUP1
0000388d: DUP4
0000388e: KECCAK256
0000388f: DUP6
00003890: DUP5
00003891: MSTORE
00003892: DUP3
00003893: MSTORE
00003894: DUP1
00003895: DUP4
00003896: KECCAK256
00003897: SWAP4
00003898: DUP15
00003899: AND
0000389a: DUP4
0000389b: MSTORE
0000389c: SWAP3
0000389d: SWAP1
0000389e: MSTORE
0000389f: SWAP1
000038a0: DUP2
000038a1: KECCAK256
000038a2: SLOAD
000038a3: GT
000038a4: ISZERO
000038a5: PUSH2 0x3917
000038a8: JUMPI
000038a9: DUP1
000038aa: DUP9
000038ab: DUP4
000038ac: DUP2
000038ad: MLOAD
000038ae: DUP2
000038af: LT
000038b0: PUSH2 0x38b5
000038b3: JUMPI
000038b4: INVALID
000038b5: JUMPDEST
000038b6: PUSH1 0x20
000038b8: SWAP1
000038b9: DUP2
000038ba: MUL
000038bb: SWAP1
000038bc: SWAP2
000038bd: ADD
000038be: DUP2
000038bf: ADD
000038c0: SWAP2
000038c1: SWAP1
000038c2: SWAP2
000038c3: MSTORE
000038c4: PUSH1 0x01
000038c6: PUSH1 0xa0
000038c8: PUSH1 0x02
000038ca: EXP
000038cb: SUB
000038cc: DUP1
000038cd: DUP15
000038ce: AND
000038cf: PUSH1 0x00
000038d1: SWAP1
000038d2: DUP2
000038d3: MSTORE
000038d4: PUSH1 0x15
000038d6: DUP4
000038d7: MSTORE
000038d8: PUSH1 0x40
000038da: DUP1
000038db: DUP3
000038dc: KECCAK256
000038dd: DUP16
000038de: DUP5
000038df: AND
000038e0: DUP4
000038e1: MSTORE
000038e2: DUP5
000038e3: MSTORE
000038e4: DUP1
000038e5: DUP3
000038e6: KECCAK256
000038e7: DUP6
000038e8: DUP4
000038e9: MSTORE
000038ea: DUP5
000038eb: MSTORE
000038ec: DUP1
000038ed: DUP3
000038ee: KECCAK256
000038ef: SWAP3
000038f0: DUP15
000038f1: AND
000038f2: DUP3
000038f3: MSTORE
000038f4: SWAP2
000038f5: SWAP1
000038f6: SWAP3
000038f7: MSTORE
000038f8: SWAP1
000038f9: KECCAK256
000038fa: SLOAD
000038fb: DUP8
000038fc: DUP4
000038fd: DUP2
000038fe: MLOAD
000038ff: DUP2
00003900: LT
00003901: PUSH2 0x3906
00003904: JUMPI
00003905: INVALID
00003906: JUMPDEST
00003907: PUSH1 0x20
00003909: SWAP1
0000390a: DUP2
0000390b: MUL
0000390c: SWAP1
0000390d: SWAP2
0000390e: ADD
0000390f: ADD
00003910: MSTORE
00003911: PUSH1 0x01
00003913: SWAP1
00003914: SWAP2
00003915: ADD
00003916: SWAP1
00003917: JUMPDEST
00003918: PUSH1 0x01
0000391a: ADD
0000391b: PUSH2 0x3861
0000391e: JUMP
0000391f: JUMPDEST
00003920: PUSH1 0x0d
00003922: PUSH1 0x20
00003924: SWAP1
00003925: DUP2
00003926: MSTORE
00003927: PUSH1 0x00
00003929: SWAP3
0000392a: DUP4
0000392b: MSTORE
0000392c: PUSH1 0x40
0000392e: DUP1
0000392f: DUP5
00003930: KECCAK256
00003931: SWAP1
00003932: SWAP2
00003933: MSTORE
00003934: SWAP1
00003935: DUP3
00003936: MSTORE
00003937: SWAP1
00003938: KECCAK256
00003939: SLOAD
0000393a: DUP2
0000393b: JUMP
0000393c: JUMPDEST
0000393d: PUSH1 0x00
0000393f: DUP1
00003940: PUSH2 0x3947
00003943: PUSH2 0x475e
00003946: JUMP
00003947: JUMPDEST
00003948: PUSH1 0x01
0000394a: PUSH1 0xa0
0000394c: PUSH1 0x02
0000394e: EXP
0000394f: SUB
00003950: DUP1
00003951: DUP8
00003952: AND
00003953: PUSH1 0x00
00003955: SWAP1
00003956: DUP2
00003957: MSTORE
00003958: PUSH1 0x0f
0000395a: PUSH1 0x20
0000395c: SWAP1
0000395d: DUP2
0000395e: MSTORE
0000395f: PUSH1 0x40
00003961: DUP1
00003962: DUP4
00003963: KECCAK256
00003964: SWAP4
00003965: DUP10
00003966: AND
00003967: DUP4
00003968: MSTORE
00003969: SWAP3
0000396a: DUP2
0000396b: MSTORE
0000396c: DUP3
0000396d: DUP3
0000396e: KECCAK256
0000396f: DUP8
00003970: DUP4
00003971: MSTORE
00003972: SWAP1
00003973: MSTORE
00003974: DUP2
00003975: DUP2
00003976: KECCAK256
00003977: SWAP1
00003978: SWAP2
00003979: DUP3
0000397a: SWAP2
0000397b: DUP3
0000397c: SWAP2
0000397d: DUP1
0000397e: MLOAD
0000397f: SWAP1
00003980: DUP2
00003981: ADD
00003982: PUSH1 0x40
00003984: MSTORE
00003985: DUP2
00003986: SLOAD
00003987: DUP2
00003988: MSTORE
00003989: PUSH1 0x01
0000398b: SWAP1
0000398c: SWAP2
0000398d: ADD
0000398e: SLOAD
0000398f: PUSH1 0x20
00003991: DUP3
00003992: ADD
00003993: SWAP1
00003994: DUP2
00003995: MSTORE
00003996: SWAP1
00003997: SWAP5
00003998: POP
00003999: MLOAD
0000399a: ISZERO
0000399b: PUSH2 0x39af
0000399e: JUMPI
0000399f: DUP4
000039a0: MLOAD
000039a1: DUP5
000039a2: PUSH1 0x20
000039a4: ADD
000039a5: MLOAD
000039a6: SWAP1
000039a7: SWAP7
000039a8: POP
000039a9: SWAP5
000039aa: POP
000039ab: PUSH2 0x14ba
000039ae: JUMP
000039af: JUMPDEST
000039b0: PUSH2 0x39b9
000039b3: DUP10
000039b4: DUP10
000039b5: PUSH2 0x104f
000039b8: JUMP
000039b9: JUMPDEST
000039ba: DUP8
000039bb: GT
000039bc: ISZERO
000039bd: PUSH2 0x39cc
000039c0: JUMPI
000039c1: PUSH1 0x00
000039c3: SWAP6
000039c4: POP
000039c5: DUP6
000039c6: SWAP5
000039c7: POP
000039c8: PUSH2 0x14ba
000039cb: JUMP
000039cc: JUMPDEST
000039cd: PUSH2 0x39da
000039d0: DUP10
000039d1: DUP10
000039d2: PUSH1 0x01
000039d4: DUP11
000039d5: SUB
000039d6: PUSH2 0x130c
000039d9: JUMP
000039da: JUMPDEST
000039db: SWAP1
000039dc: SWAP4
000039dd: POP
000039de: SWAP2
000039df: POP
000039e0: PUSH2 0x39f3
000039e3: PUSH2 0x39ec
000039e6: DUP11
000039e7: DUP11
000039e8: PUSH2 0x2f96
000039eb: JUMP
000039ec: JUMPDEST
000039ed: TIMESTAMP
000039ee: SUB
000039ef: PUSH2 0x10ff
000039f2: JUMP
000039f3: JUMPDEST
000039f4: SWAP1
000039f5: POP
000039f6: PUSH2 0x3a05
000039f9: DUP4
000039fa: DUP3
000039fb: PUSH3 0x015180
000039ff: SUB
00003a00: MUL
00003a01: PUSH2 0x10ff
00003a04: JUMP
00003a05: JUMPDEST
00003a06: SWAP6
00003a07: POP
00003a08: PUSH2 0x3a15
00003a0b: DUP2
00003a0c: PUSH2 0xa8c0
00003a0f: ADD
00003a10: DUP4
00003a11: PUSH2 0x2d10
00003a14: JUMP
00003a15: JUMPDEST
00003a16: PUSH1 0x01
00003a18: PUSH1 0xa0
00003a1a: PUSH1 0x02
00003a1c: EXP
00003a1d: SUB
00003a1e: DUP1
00003a1f: DUP12
00003a20: AND
00003a21: PUSH1 0x00
00003a23: SWAP1
00003a24: DUP2
00003a25: MSTORE
00003a26: PUSH1 0x12
00003a28: PUSH1 0x20
00003a2a: SWAP1
00003a2b: DUP2
00003a2c: MSTORE
00003a2d: PUSH1 0x40
00003a2f: DUP1
00003a30: DUP4
00003a31: KECCAK256
00003a32: SWAP4
00003a33: DUP14
00003a34: AND
00003a35: DUP4
00003a36: MSTORE
00003a37: SWAP3
00003a38: SWAP1
00003a39: MSTORE
00003a3a: KECCAK256
00003a3b: SLOAD
00003a3c: SWAP1
00003a3d: SWAP6
00003a3e: POP
00003a3f: PUSH2 0x3a49
00003a42: SWAP1
00003a43: DUP7
00003a44: SWAP1
00003a45: PUSH2 0x2d10
00003a48: JUMP
00003a49: JUMPDEST
00003a4a: PUSH1 0x01
00003a4c: PUSH1 0xa0
00003a4e: PUSH1 0x02
00003a50: EXP
00003a51: SUB
00003a52: DUP1
00003a53: DUP12
00003a54: AND
00003a55: PUSH1 0x00
00003a57: SWAP1
00003a58: DUP2
00003a59: MSTORE
00003a5a: PUSH1 0x10
00003a5c: PUSH1 0x20
00003a5e: SWAP1
00003a5f: DUP2
00003a60: MSTORE
00003a61: PUSH1 0x40
00003a63: DUP1
00003a64: DUP4
00003a65: KECCAK256
00003a66: SWAP4
00003a67: DUP14
00003a68: AND
00003a69: DUP4
00003a6a: MSTORE
00003a6b: SWAP3
00003a6c: SWAP1
00003a6d: MSTORE
00003a6e: KECCAK256
00003a6f: SLOAD
00003a70: PUSH2 0x3a7a
00003a73: SWAP1
00003a74: DUP9
00003a75: SWAP1
00003a76: PUSH2 0x2d10
00003a79: JUMP
00003a7a: JUMPDEST
00003a7b: GT
00003a7c: PUSH2 0x14ba
00003a7f: JUMPI
00003a80: POP
00003a81: POP
00003a82: POP
00003a83: POP
00003a84: PUSH1 0x01
00003a86: PUSH1 0xa0
00003a88: PUSH1 0x02
00003a8a: EXP
00003a8b: SUB
00003a8c: SWAP5
00003a8d: DUP6
00003a8e: AND
00003a8f: PUSH1 0x00
00003a91: DUP2
00003a92: DUP2
00003a93: MSTORE
00003a94: PUSH1 0x12
00003a96: PUSH1 0x20
00003a98: SWAP1
00003a99: DUP2
00003a9a: MSTORE
00003a9b: PUSH1 0x40
00003a9d: DUP1
00003a9e: DUP4
00003a9f: KECCAK256
00003aa0: SWAP8
00003aa1: SWAP1
00003aa2: SWAP9
00003aa3: AND
00003aa4: DUP1
00003aa5: DUP4
00003aa6: MSTORE
00003aa7: SWAP7
00003aa8: DUP2
00003aa9: MSTORE
00003aaa: DUP8
00003aab: DUP3
00003aac: KECCAK256
00003aad: SLOAD
00003aae: SWAP3
00003aaf: DUP3
00003ab0: MSTORE
00003ab1: PUSH1 0x10
00003ab3: DUP2
00003ab4: MSTORE
00003ab5: DUP8
00003ab6: DUP3
00003ab7: KECCAK256
00003ab8: SWAP7
00003ab9: DUP3
00003aba: MSTORE
00003abb: SWAP6
00003abc: SWAP1
00003abd: SWAP6
00003abe: MSTORE
00003abf: SWAP5
00003ac0: SWAP1
00003ac1: SWAP4
00003ac2: KECCAK256
00003ac3: SLOAD
00003ac4: SWAP4
00003ac5: SWAP5
00003ac6: SWAP3
00003ac7: POP
00003ac8: POP
00003ac9: POP
00003aca: JUMP
00003acb: JUMPDEST
00003acc: PUSH1 0x00
00003ace: DUP1
00003acf: PUSH1 0x00
00003ad1: DUP1
00003ad2: PUSH1 0x00
00003ad4: PUSH2 0x3adc
00003ad7: CALLER
00003ad8: PUSH2 0x3366
00003adb: JUMP
00003adc: JUMPDEST
00003add: SWAP1
00003ade: SWAP5
00003adf: POP
00003ae0: SWAP3
00003ae1: POP
00003ae2: DUP3
00003ae3: PUSH2 0x3aec
00003ae6: DUP8
00003ae7: DUP7
00003ae8: PUSH2 0x2d10
00003aeb: JUMP
00003aec: JUMPDEST
00003aed: DUP2
00003aee: ISZERO
00003aef: ISZERO
00003af0: PUSH2 0x3af5
00003af3: JUMPI
00003af4: INVALID
00003af5: JUMPDEST
00003af6: DIV
00003af7: SWAP2
00003af8: POP
00003af9: PUSH1 0x00
00003afb: DUP3
00003afc: GT
00003afd: ISZERO
00003afe: PUSH2 0x3bc6
00003b01: JUMPI
00003b02: PUSH2 0x3b0b
00003b05: DUP10
00003b06: DUP4
00003b07: PUSH2 0x4414
00003b0a: JUMP
00003b0b: JUMPDEST
00003b0c: PUSH1 0x01
00003b0e: PUSH1 0xa0
00003b10: PUSH1 0x02
00003b12: EXP
00003b13: SUB
00003b14: DUP1
00003b15: DUP12
00003b16: AND
00003b17: PUSH1 0x00
00003b19: SWAP1
00003b1a: DUP2
00003b1b: MSTORE
00003b1c: PUSH1 0x14
00003b1e: PUSH1 0x20
00003b20: SWAP1
00003b21: DUP2
00003b22: MSTORE
00003b23: PUSH1 0x40
00003b25: DUP1
00003b26: DUP4
00003b27: KECCAK256
00003b28: SWAP4
00003b29: DUP14
00003b2a: AND
00003b2b: DUP4
00003b2c: MSTORE
00003b2d: SWAP3
00003b2e: DUP2
00003b2f: MSTORE
00003b30: DUP3
00003b31: DUP3
00003b32: KECCAK256
00003b33: PUSH1 0x01
00003b35: DUP13
00003b36: ADD
00003b37: DUP4
00003b38: MSTORE
00003b39: SWAP1
00003b3a: MSTORE
00003b3b: KECCAK256
00003b3c: SLOAD
00003b3d: SWAP1
00003b3e: SWAP3
00003b3f: POP
00003b40: SWAP1
00003b41: POP
00003b42: PUSH2 0x3b4b
00003b45: DUP2
00003b46: DUP4
00003b47: PUSH2 0x21a2
00003b4a: JUMP
00003b4b: JUMPDEST
00003b4c: PUSH1 0x01
00003b4e: PUSH1 0xa0
00003b50: PUSH1 0x02
00003b52: EXP
00003b53: SUB
00003b54: DUP1
00003b55: DUP12
00003b56: AND
00003b57: PUSH1 0x00
00003b59: DUP2
00003b5a: DUP2
00003b5b: MSTORE
00003b5c: PUSH1 0x14
00003b5e: PUSH1 0x20
00003b60: SWAP1
00003b61: DUP2
00003b62: MSTORE
00003b63: PUSH1 0x40
00003b65: DUP1
00003b66: DUP4
00003b67: KECCAK256
00003b68: DUP15
00003b69: DUP7
00003b6a: AND
00003b6b: DUP1
00003b6c: DUP6
00003b6d: MSTORE
00003b6e: SWAP1
00003b6f: DUP4
00003b70: MSTORE
00003b71: DUP2
00003b72: DUP5
00003b73: KECCAK256
00003b74: PUSH1 0x01
00003b76: DUP16
00003b77: ADD
00003b78: DUP6
00003b79: MSTORE
00003b7a: SWAP1
00003b7b: SWAP3
00003b7c: MSTORE
00003b7d: SWAP2
00003b7e: DUP3
00003b7f: SWAP1
00003b80: KECCAK256
00003b81: SWAP5
00003b82: SWAP1
00003b83: SWAP5
00003b84: SSTORE
00003b85: CALLER
00003b86: SWAP1
00003b87: SWAP3
00003b88: AND
00003b89: SWAP3
00003b8a: SWAP2
00003b8b: PUSH32 0x30c4d3fe752442ffa2415fd4e6398cb9e378bab963f042ce30ef4363b6ad93b6
00003bac: SWAP1
00003bad: DUP12
00003bae: SWAP1
00003baf: DUP8
00003bb0: SWAP1
00003bb1: MLOAD
00003bb2: SWAP2
00003bb3: DUP3
00003bb4: MSTORE
00003bb5: PUSH1 0x20
00003bb7: DUP3
00003bb8: ADD
00003bb9: MSTORE
00003bba: PUSH1 0x40
00003bbc: SWAP1
00003bbd: DUP2
00003bbe: ADD
00003bbf: SWAP1
00003bc0: MLOAD
00003bc1: DUP1
00003bc2: SWAP2
00003bc3: SUB
00003bc4: SWAP1
00003bc5: LOG4
00003bc6: JUMPDEST
00003bc7: PUSH2 0x3bd0
00003bca: DUP7
00003bcb: DUP4
00003bcc: PUSH2 0x2b5b
00003bcf: JUMP
00003bd0: JUMPDEST
00003bd1: SWAP10
00003bd2: SWAP9
00003bd3: POP
00003bd4: POP
00003bd5: POP
00003bd6: POP
00003bd7: POP
00003bd8: POP
00003bd9: POP
00003bda: POP
00003bdb: POP
00003bdc: JUMP
00003bdd: JUMPDEST
00003bde: PUSH1 0x05
00003be0: SLOAD
00003be1: PUSH1 0x00
00003be3: SWAP1
00003be4: DUP2
00003be5: SWAP1
00003be6: DUP2
00003be7: SWAP1
00003be8: DUP2
00003be9: SWAP1
00003bea: DUP2
00003beb: SWAP1
00003bec: DUP2
00003bed: SWAP1
00003bee: DUP2
00003bef: SWAP1
00003bf0: PUSH1 0x01
00003bf2: PUSH1 0xa0
00003bf4: PUSH1 0x02
00003bf6: EXP
00003bf7: SUB
00003bf8: AND
00003bf9: PUSH4 0xa3ca17b2
00003bfe: PUSH1 0x40
00003c00: MLOAD
00003c01: DUP2
00003c02: PUSH4 0xffffffff
00003c07: AND
00003c08: PUSH1 0xe0
00003c0a: PUSH1 0x02
00003c0c: EXP
00003c0d: MUL
00003c0e: DUP2
00003c0f: MSTORE
00003c10: PUSH1 0x04
00003c12: ADD
00003c13: PUSH1 0x20
00003c15: PUSH1 0x40
00003c17: MLOAD
00003c18: DUP1
00003c19: DUP4
00003c1a: SUB
00003c1b: DUP2
00003c1c: PUSH1 0x00
00003c1e: DUP8
00003c1f: DUP1
00003c20: EXTCODESIZE
00003c21: ISZERO
00003c22: ISZERO
00003c23: PUSH2 0x3c2b
00003c26: JUMPI
00003c27: PUSH1 0x00
00003c29: DUP1
00003c2a: REVERT
00003c2b: JUMPDEST
00003c2c: GAS
00003c2d: CALL
00003c2e: ISZERO
00003c2f: ISZERO
00003c30: PUSH2 0x3c38
00003c33: JUMPI
00003c34: PUSH1 0x00
00003c36: DUP1
00003c37: REVERT
00003c38: JUMPDEST
00003c39: POP
00003c3a: POP
00003c3b: POP
00003c3c: PUSH1 0x40
00003c3e: MLOAD
00003c3f: DUP1
00003c40: MLOAD
00003c41: SWAP1
00003c42: POP
00003c43: SWAP7
00003c44: POP
00003c45: PUSH2 0x3c4d
00003c48: DUP10
00003c49: PUSH2 0x35fb
00003c4c: JUMP
00003c4d: JUMPDEST
00003c4e: SWAP1
00003c4f: SWAP7
00003c50: POP
00003c51: SWAP5
00003c52: POP
00003c53: PUSH2 0x3c5b
00003c56: DUP9
00003c57: PUSH2 0x35fb
00003c5a: JUMP
00003c5b: JUMPDEST
00003c5c: PUSH1 0x01
00003c5e: PUSH1 0xa0
00003c60: PUSH1 0x02
00003c62: EXP
00003c63: SUB
00003c64: DUP1
00003c65: DUP13
00003c66: AND
00003c67: PUSH1 0x00
00003c69: SWAP1
00003c6a: DUP2
00003c6b: MSTORE
00003c6c: PUSH1 0x10
00003c6e: PUSH1 0x20
00003c70: SWAP1
00003c71: DUP2
00003c72: MSTORE
00003c73: PUSH1 0x40
00003c75: DUP1
00003c76: DUP4
00003c77: KECCAK256
00003c78: SWAP4
00003c79: DUP15
00003c7a: AND
00003c7b: DUP4
00003c7c: MSTORE
00003c7d: SWAP3
00003c7e: SWAP1
00003c7f: MSTORE
00003c80: KECCAK256
00003c81: SLOAD
00003c82: SWAP2
00003c83: SWAP6
00003c84: POP
00003c85: SWAP4
00003c86: POP
00003c87: DUP6
00003c88: SWAP1
00003c89: PUSH2 0x3c9c
00003c8c: SWAP1
00003c8d: PUSH2 0x3c96
00003c90: SWAP1
00003c91: DUP10
00003c92: PUSH2 0x2d10
00003c95: JUMP
00003c96: JUMPDEST
00003c97: DUP10
00003c98: PUSH2 0x2d10
00003c9b: JUMP
00003c9c: JUMPDEST
00003c9d: DUP2
00003c9e: ISZERO
00003c9f: ISZERO
00003ca0: PUSH2 0x3ca5
00003ca3: JUMPI
00003ca4: INVALID
00003ca5: JUMPDEST
00003ca6: PUSH1 0x01
00003ca8: PUSH1 0xa0
00003caa: PUSH1 0x02
00003cac: EXP
00003cad: SUB
00003cae: DUP1
00003caf: DUP12
00003cb0: AND
00003cb1: PUSH1 0x00
00003cb3: SWAP1
00003cb4: DUP2
00003cb5: MSTORE
00003cb6: PUSH1 0x10
00003cb8: PUSH1 0x20
00003cba: SWAP1
00003cbb: DUP2
00003cbc: MSTORE
00003cbd: PUSH1 0x40
00003cbf: DUP1
00003cc0: DUP4
00003cc1: KECCAK256
00003cc2: SWAP4
00003cc3: DUP16
00003cc4: AND
00003cc5: DUP4
00003cc6: MSTORE
00003cc7: SWAP3
00003cc8: SWAP1
00003cc9: MSTORE
00003cca: KECCAK256
00003ccb: SLOAD
00003ccc: SWAP2
00003ccd: SWAP1
00003cce: DIV
00003ccf: SWAP3
00003cd0: POP
00003cd1: DUP4
00003cd2: SWAP1
00003cd3: PUSH2 0x3ce0
00003cd6: SWAP1
00003cd7: PUSH2 0x3c96
00003cda: SWAP1
00003cdb: DUP8
00003cdc: PUSH2 0x2d10
00003cdf: JUMP
00003ce0: JUMPDEST
00003ce1: DUP2
00003ce2: ISZERO
00003ce3: ISZERO
00003ce4: PUSH2 0x3ce9
00003ce7: JUMPI
00003ce8: INVALID
00003ce9: JUMPDEST
00003cea: DIV
00003ceb: SWAP1
00003cec: POP
00003ced: PUSH1 0x09
00003cef: SLOAD
00003cf0: DUP3
00003cf1: LT
00003cf2: ISZERO
00003cf3: DUP1
00003cf4: PUSH2 0x3cff
00003cf7: JUMPI
00003cf8: POP
00003cf9: PUSH1 0x09
00003cfb: SLOAD
00003cfc: DUP2
00003cfd: LT
00003cfe: ISZERO
00003cff: JUMPDEST
00003d00: ISZERO
00003d01: PUSH2 0x3d16
00003d04: JUMPI
00003d05: PUSH2 0x3d11
00003d08: DUP10
00003d09: DUP10
00003d0a: PUSH2 0x0258
00003d0d: PUSH2 0x4646
00003d10: JUMP
00003d11: JUMPDEST
00003d12: PUSH2 0x23a7
00003d15: JUMP
00003d16: JUMPDEST
00003d17: PUSH2 0x23a7
00003d1a: DUP10
00003d1b: DUP10
00003d1c: PUSH2 0x46e2
00003d1f: JUMP
00003d20: JUMPDEST
00003d21: PUSH1 0x01
00003d23: PUSH1 0xa0
00003d25: PUSH1 0x02
00003d27: EXP
00003d28: SUB
00003d29: DUP1
00003d2a: DUP6
00003d2b: AND
00003d2c: PUSH1 0x00
00003d2e: DUP2
00003d2f: DUP2
00003d30: MSTORE
00003d31: PUSH1 0x12
00003d33: PUSH1 0x20
00003d35: SWAP1
00003d36: DUP2
00003d37: MSTORE
00003d38: PUSH1 0x40
00003d3a: DUP1
00003d3b: DUP4
00003d3c: KECCAK256
00003d3d: SWAP5
00003d3e: DUP9
00003d3f: AND
00003d40: DUP1
00003d41: DUP5
00003d42: MSTORE
00003d43: SWAP5
00003d44: DUP3
00003d45: MSTORE
00003d46: DUP1
00003d47: DUP4
00003d48: KECCAK256
00003d49: SLOAD
00003d4a: PUSH1 0x10
00003d4c: DUP4
00003d4d: MSTORE
00003d4e: DUP2
00003d4f: DUP5
00003d50: KECCAK256
00003d51: DUP6
00003d52: DUP6
00003d53: MSTORE
00003d54: DUP4
00003d55: MSTORE
00003d56: DUP2
00003d57: DUP5
00003d58: KECCAK256
00003d59: SLOAD
00003d5a: SWAP6
00003d5b: DUP5
00003d5c: MSTORE
00003d5d: PUSH1 0x0f
00003d5f: DUP4
00003d60: MSTORE
00003d61: DUP2
00003d62: DUP5
00003d63: KECCAK256
00003d64: SWAP5
00003d65: DUP5
00003d66: MSTORE
00003d67: SWAP4
00003d68: DUP3
00003d69: MSTORE
00003d6a: DUP1
00003d6b: DUP4
00003d6c: KECCAK256
00003d6d: DUP8
00003d6e: DUP5
00003d6f: MSTORE
00003d70: SWAP1
00003d71: SWAP2
00003d72: MSTORE
00003d73: DUP2
00003d74: KECCAK256
00003d75: PUSH1 0x01
00003d77: ADD
00003d78: SLOAD
00003d79: SWAP2
00003d7a: SWAP3
00003d7b: SWAP2
00003d7c: SWAP1
00003d7d: DUP1
00003d7e: DUP1
00003d7f: DUP1
00003d80: PUSH2 0x3d89
00003d83: DUP12
00003d84: DUP12
00003d85: PUSH2 0x2f96
00003d88: JUMP
00003d89: JUMPDEST
00003d8a: SWAP4
00003d8b: POP
00003d8c: PUSH1 0x00
00003d8e: DUP9
00003d8f: GT
00003d90: ISZERO
00003d91: PUSH2 0x3de5
00003d94: JUMPI
00003d95: PUSH1 0x40
00003d97: DUP1
00003d98: MLOAD
00003d99: SWAP1
00003d9a: DUP2
00003d9b: ADD
00003d9c: PUSH1 0x40
00003d9e: SWAP1
00003d9f: DUP2
00003da0: MSTORE
00003da1: DUP9
00003da2: DUP3
00003da3: MSTORE
00003da4: PUSH1 0x20
00003da6: DUP1
00003da7: DUP4
00003da8: ADD
00003da9: DUP12
00003daa: SWAP1
00003dab: MSTORE
00003dac: PUSH1 0x01
00003dae: PUSH1 0xa0
00003db0: PUSH1 0x02
00003db2: EXP
00003db3: SUB
00003db4: DUP1
00003db5: DUP16
00003db6: AND
00003db7: PUSH1 0x00
00003db9: SWAP1
00003dba: DUP2
00003dbb: MSTORE
00003dbc: PUSH1 0x0f
00003dbe: DUP4
00003dbf: MSTORE
00003dc0: DUP4
00003dc1: DUP2
00003dc2: KECCAK256
00003dc3: SWAP2
00003dc4: DUP16
00003dc5: AND
00003dc6: DUP2
00003dc7: MSTORE
00003dc8: SWAP1
00003dc9: DUP3
00003dca: MSTORE
00003dcb: DUP3
00003dcc: DUP2
00003dcd: KECCAK256
00003dce: DUP14
00003dcf: DUP3
00003dd0: MSTORE
00003dd1: SWAP1
00003dd2: SWAP2
00003dd3: MSTORE
00003dd4: KECCAK256
00003dd5: DUP2
00003dd6: MLOAD
00003dd7: DUP2
00003dd8: SSTORE
00003dd9: PUSH1 0x20
00003ddb: DUP3
00003ddc: ADD
00003ddd: MLOAD
00003dde: PUSH1 0x01
00003de0: SWAP1
00003de1: SWAP2
00003de2: ADD
00003de3: SSTORE
00003de4: POP
00003de5: JUMPDEST
00003de6: DUP6
00003de7: ISZERO
00003de8: DUP1
00003de9: PUSH2 0x3df7
00003dec: JUMPI
00003ded: POP
00003dee: DUP4
00003def: PUSH3 0x015180
00003df3: ADD
00003df4: TIMESTAMP
00003df5: LT
00003df6: ISZERO
00003df7: JUMPDEST
00003df8: DUP1
00003df9: PUSH2 0x3e02
00003dfc: JUMPI
00003dfd: POP
00003dfe: PUSH1 0x00
00003e00: DUP6
00003e01: GT
00003e02: JUMPDEST
00003e03: ISZERO
00003e04: PUSH2 0x4017
00003e07: JUMPI
00003e08: PUSH1 0x01
00003e0a: PUSH1 0xa0
00003e0c: PUSH1 0x02
00003e0e: EXP
00003e0f: SUB
00003e10: DUP1
00003e11: DUP12
00003e12: AND
00003e13: PUSH1 0x00
00003e15: SWAP1
00003e16: DUP2
00003e17: MSTORE
00003e18: PUSH1 0x12
00003e1a: PUSH1 0x20
00003e1c: SWAP1
00003e1d: DUP2
00003e1e: MSTORE
00003e1f: PUSH1 0x40
00003e21: DUP1
00003e22: DUP4
00003e23: KECCAK256
00003e24: SWAP4
00003e25: DUP16
00003e26: AND
00003e27: DUP4
00003e28: MSTORE
00003e29: SWAP3
00003e2a: SWAP1
00003e2b: MSTORE
00003e2c: KECCAK256
00003e2d: SLOAD
00003e2e: SWAP3
00003e2f: POP
00003e30: DUP5
00003e31: ISZERO
00003e32: DUP1
00003e33: ISZERO
00003e34: PUSH2 0x3e3d
00003e37: JUMPI
00003e38: POP
00003e39: PUSH1 0x00
00003e3b: DUP7
00003e3c: GT
00003e3d: JUMPDEST
00003e3e: ISZERO
00003e3f: PUSH2 0x3ec4
00003e42: JUMPI
00003e43: PUSH1 0x40
00003e45: DUP1
00003e46: MLOAD
00003e47: SWAP1
00003e48: DUP2
00003e49: ADD
00003e4a: PUSH1 0x40
00003e4c: MSTORE
00003e4d: DUP1
00003e4e: DUP5
00003e4f: DUP2
00003e50: MSTORE
00003e51: PUSH1 0x20
00003e53: ADD
00003e54: DUP8
00003e55: DUP2
00003e56: MSTORE
00003e57: POP
00003e58: PUSH1 0x0f
00003e5a: PUSH1 0x00
00003e5c: DUP13
00003e5d: PUSH1 0x01
00003e5f: PUSH1 0xa0
00003e61: PUSH1 0x02
00003e63: EXP
00003e64: SUB
00003e65: AND
00003e66: PUSH1 0x01
00003e68: PUSH1 0xa0
00003e6a: PUSH1 0x02
00003e6c: EXP
00003e6d: SUB
00003e6e: AND
00003e6f: DUP2
00003e70: MSTORE
00003e71: PUSH1 0x20
00003e73: ADD
00003e74: SWAP1
00003e75: DUP2
00003e76: MSTORE
00003e77: PUSH1 0x20
00003e79: ADD
00003e7a: PUSH1 0x00
00003e7c: KECCAK256
00003e7d: PUSH1 0x00
00003e7f: DUP14
00003e80: PUSH1 0x01
00003e82: PUSH1 0xa0
00003e84: PUSH1 0x02
00003e86: EXP
00003e87: SUB
00003e88: AND
00003e89: PUSH1 0x01
00003e8b: PUSH1 0xa0
00003e8d: PUSH1 0x02
00003e8f: EXP
00003e90: SUB
00003e91: AND
00003e92: DUP2
00003e93: MSTORE
00003e94: PUSH1 0x20
00003e96: ADD
00003e97: SWAP1
00003e98: DUP2
00003e99: MSTORE
00003e9a: PUSH1 0x20
00003e9c: ADD
00003e9d: PUSH1 0x00
00003e9f: KECCAK256
00003ea0: PUSH1 0x00
00003ea2: DUP12
00003ea3: DUP2
00003ea4: MSTORE
00003ea5: PUSH1 0x20
00003ea7: ADD
00003ea8: SWAP1
00003ea9: DUP2
00003eaa: MSTORE
00003eab: PUSH1 0x20
00003ead: ADD
00003eae: PUSH1 0x00
00003eb0: KECCAK256
00003eb1: PUSH1 0x00
00003eb3: DUP3
00003eb4: ADD
00003eb5: MLOAD
00003eb6: DUP2
00003eb7: SSTORE
00003eb8: PUSH1 0x20
00003eba: DUP3
00003ebb: ADD
00003ebc: MLOAD
00003ebd: PUSH1 0x01
00003ebf: SWAP1
00003ec0: SWAP2
00003ec1: ADD
00003ec2: SSTORE
00003ec3: POP
00003ec4: JUMPDEST
00003ec5: POP
00003ec6: POP
00003ec7: PUSH1 0x01
00003ec9: PUSH1 0xa0
00003ecb: PUSH1 0x02
00003ecd: EXP
00003ece: SUB
00003ecf: DUP1
00003ed0: DUP11
00003ed1: AND
00003ed2: PUSH1 0x00
00003ed4: DUP2
00003ed5: DUP2
00003ed6: MSTORE
00003ed7: PUSH1 0x11
00003ed9: PUSH1 0x20
00003edb: DUP2
00003edc: DUP2
00003edd: MSTORE
00003ede: PUSH1 0x40
00003ee0: DUP1
00003ee1: DUP5
00003ee2: KECCAK256
00003ee3: SWAP6
00003ee4: DUP15
00003ee5: AND
00003ee6: DUP1
00003ee7: DUP6
00003ee8: MSTORE
00003ee9: SWAP6
00003eea: DUP3
00003eeb: MSTORE
00003eec: DUP1
00003eed: DUP5
00003eee: KECCAK256
00003eef: SLOAD
00003ef0: SWAP3
00003ef1: DUP3
00003ef2: MSTORE
00003ef3: DUP1
00003ef4: DUP5
00003ef5: KECCAK256
00003ef6: SWAP5
00003ef7: DUP5
00003ef8: MSTORE
00003ef9: SWAP4
00003efa: DUP2
00003efb: MSTORE
00003efc: DUP4
00003efd: DUP4
00003efe: KECCAK256
00003eff: SLOAD
00003f00: PUSH1 0x10
00003f02: DUP3
00003f03: MSTORE
00003f04: DUP5
00003f05: DUP5
00003f06: KECCAK256
00003f07: SWAP6
00003f08: DUP5
00003f09: MSTORE
00003f0a: SWAP5
00003f0b: SWAP1
00003f0c: MSTORE
00003f0d: SWAP2
00003f0e: DUP2
00003f0f: KECCAK256
00003f10: DUP3
00003f11: SWAP1
00003f12: SSTORE
00003f13: SWAP1
00003f14: SWAP2
00003f15: SWAP1
00003f16: DUP3
00003f17: GT
00003f18: ISZERO
00003f19: PUSH2 0x3f45
00003f1c: JUMPI
00003f1d: PUSH1 0x01
00003f1f: PUSH1 0xa0
00003f21: PUSH1 0x02
00003f23: EXP
00003f24: SUB
00003f25: DUP1
00003f26: DUP13
00003f27: AND
00003f28: PUSH1 0x00
00003f2a: SWAP1
00003f2b: DUP2
00003f2c: MSTORE
00003f2d: PUSH1 0x11
00003f2f: PUSH1 0x20
00003f31: SWAP1
00003f32: DUP2
00003f33: MSTORE
00003f34: PUSH1 0x40
00003f36: DUP1
00003f37: DUP4
00003f38: KECCAK256
00003f39: SWAP4
00003f3a: DUP15
00003f3b: AND
00003f3c: DUP4
00003f3d: MSTORE
00003f3e: SWAP3
00003f3f: SWAP1
00003f40: MSTORE
00003f41: SWAP1
00003f42: DUP2
00003f43: KECCAK256
00003f44: SSTORE
00003f45: JUMPDEST
00003f46: PUSH1 0x00
00003f48: DUP8
00003f49: GT
00003f4a: ISZERO
00003f4b: PUSH2 0x3f77
00003f4e: JUMPI
00003f4f: PUSH1 0x01
00003f51: PUSH1 0xa0
00003f53: PUSH1 0x02
00003f55: EXP
00003f56: SUB
00003f57: DUP1
00003f58: DUP13
00003f59: AND
00003f5a: PUSH1 0x00
00003f5c: SWAP1
00003f5d: DUP2
00003f5e: MSTORE
00003f5f: PUSH1 0x12
00003f61: PUSH1 0x20
00003f63: SWAP1
00003f64: DUP2
00003f65: MSTORE
00003f66: PUSH1 0x40
00003f68: DUP1
00003f69: DUP4
00003f6a: KECCAK256
00003f6b: SWAP4
00003f6c: DUP15
00003f6d: AND
00003f6e: DUP4
00003f6f: MSTORE
00003f70: SWAP3
00003f71: SWAP1
00003f72: MSTORE
00003f73: SWAP1
00003f74: DUP2
00003f75: KECCAK256
00003f76: SSTORE
00003f77: JUMPDEST
00003f78: PUSH1 0x01
00003f7a: PUSH1 0xa0
00003f7c: PUSH1 0x02
00003f7e: EXP
00003f7f: SUB
00003f80: DUP1
00003f81: DUP12
00003f82: AND
00003f83: PUSH1 0x00
00003f85: SWAP1
00003f86: DUP2
00003f87: MSTORE
00003f88: PUSH1 0x10
00003f8a: PUSH1 0x20
00003f8c: SWAP1
00003f8d: DUP2
00003f8e: MSTORE
00003f8f: PUSH1 0x40
00003f91: DUP1
00003f92: DUP4
00003f93: KECCAK256
00003f94: SWAP4
00003f95: DUP16
00003f96: AND
00003f97: DUP4
00003f98: MSTORE
00003f99: SWAP3
00003f9a: SWAP1
00003f9b: MSTORE
00003f9c: SWAP1
00003f9d: DUP2
00003f9e: KECCAK256
00003f9f: DUP3
00003fa0: SWAP1
00003fa1: SSTORE
00003fa2: DUP2
00003fa3: GT
00003fa4: ISZERO
00003fa5: PUSH2 0x3fd1
00003fa8: JUMPI
00003fa9: PUSH1 0x01
00003fab: PUSH1 0xa0
00003fad: PUSH1 0x02
00003faf: EXP
00003fb0: SUB
00003fb1: DUP1
00003fb2: DUP12
00003fb3: AND
00003fb4: PUSH1 0x00
00003fb6: SWAP1
00003fb7: DUP2
00003fb8: MSTORE
00003fb9: PUSH1 0x11
00003fbb: PUSH1 0x20
00003fbd: SWAP1
00003fbe: DUP2
00003fbf: MSTORE
00003fc0: PUSH1 0x40
00003fc2: DUP1
00003fc3: DUP4
00003fc4: KECCAK256
00003fc5: SWAP4
00003fc6: DUP16
00003fc7: AND
00003fc8: DUP4
00003fc9: MSTORE
00003fca: SWAP3
00003fcb: SWAP1
00003fcc: MSTORE
00003fcd: SWAP1
00003fce: DUP2
00003fcf: KECCAK256
00003fd0: SSTORE
00003fd1: JUMPDEST
00003fd2: PUSH1 0x00
00003fd4: DUP4
00003fd5: GT
00003fd6: ISZERO
00003fd7: PUSH2 0x4003
00003fda: JUMPI
00003fdb: PUSH1 0x01
00003fdd: PUSH1 0xa0
00003fdf: PUSH1 0x02
00003fe1: EXP
00003fe2: SUB
00003fe3: DUP1
00003fe4: DUP12
00003fe5: AND
00003fe6: PUSH1 0x00
00003fe8: SWAP1
00003fe9: DUP2
00003fea: MSTORE
00003feb: PUSH1 0x12
00003fed: PUSH1 0x20
00003fef: SWAP1
00003ff0: DUP2
00003ff1: MSTORE
00003ff2: PUSH1 0x40
00003ff4: DUP1
00003ff5: DUP4
00003ff6: KECCAK256
00003ff7: SWAP4
00003ff8: DUP16
00003ff9: AND
00003ffa: DUP4
00003ffb: MSTORE
00003ffc: SWAP3
00003ffd: SWAP1
00003ffe: MSTORE
00003fff: SWAP1
00004000: DUP2
00004001: KECCAK256
00004002: SSTORE
00004003: JUMPDEST
00004004: PUSH2 0x400d
00004007: DUP12
00004008: DUP12
00004009: PUSH2 0x41a9
0000400c: JUMP
0000400d: JUMPDEST
0000400e: PUSH2 0x4017
00004011: DUP12
00004012: DUP12
00004013: PUSH2 0x3bdd
00004016: JUMP
00004017: JUMPDEST
00004018: DUP9
00004019: DUP11
0000401a: PUSH1 0x01
0000401c: PUSH1 0xa0
0000401e: PUSH1 0x02
00004020: EXP
00004021: SUB
00004022: AND
00004023: DUP13
00004024: PUSH1 0x01
00004026: PUSH1 0xa0
00004028: PUSH1 0x02
0000402a: EXP
0000402b: SUB
0000402c: AND
0000402d: PUSH32 0xb5806f8610464e96807c2b147620cc721c65309647f16cfccdf9fb7bd95152ac
0000404e: DUP12
0000404f: DUP12
00004050: PUSH1 0x40
00004052: MLOAD
00004053: SWAP2
00004054: DUP3
00004055: MSTORE
00004056: PUSH1 0x20
00004058: DUP3
00004059: ADD
0000405a: MSTORE
0000405b: PUSH1 0x40
0000405d: SWAP1
0000405e: DUP2
0000405f: ADD
00004060: SWAP1
00004061: MLOAD
00004062: DUP1
00004063: SWAP2
00004064: SUB
00004065: SWAP1
00004066: LOG4
00004067: POP
00004068: POP
00004069: POP
0000406a: POP
0000406b: POP
0000406c: POP
0000406d: POP
0000406e: POP
0000406f: POP
00004070: POP
00004071: POP
00004072: JUMP
00004073: JUMPDEST
00004074: PUSH1 0x01
00004076: PUSH1 0xa0
00004078: PUSH1 0x02
0000407a: EXP
0000407b: SUB
0000407c: DUP7
0000407d: AND
0000407e: PUSH1 0x00
00004080: SWAP1
00004081: DUP2
00004082: MSTORE
00004083: PUSH1 0x0c
00004085: PUSH1 0x20
00004087: MSTORE
00004088: PUSH1 0x40
0000408a: DUP2
0000408b: KECCAK256
0000408c: SLOAD
0000408d: DUP2
0000408e: SWAP1
0000408f: DUP2
00004090: SWAP1
00004091: DUP2
00004092: SWAP1
00004093: PUSH1 0xff
00004095: AND
00004096: DUP1
00004097: ISZERO
00004098: PUSH2 0x40b9
0000409b: JUMPI
0000409c: POP
0000409d: PUSH1 0x01
0000409f: PUSH1 0xa0
000040a1: PUSH1 0x02
000040a3: EXP
000040a4: SUB
000040a5: DUP10
000040a6: AND
000040a7: PUSH1 0x00
000040a9: SWAP1
000040aa: DUP2
000040ab: MSTORE
000040ac: PUSH1 0x0c
000040ae: PUSH1 0x20
000040b0: MSTORE
000040b1: PUSH1 0x40
000040b3: SWAP1
000040b4: KECCAK256
000040b5: SLOAD
000040b6: PUSH1 0xff
000040b8: AND
000040b9: JUMPDEST
000040ba: ISZERO
000040bb: PUSH2 0x419c
000040be: JUMPI
000040bf: PUSH1 0x04
000040c1: SLOAD
000040c2: PUSH1 0x01
000040c4: PUSH1 0xa0
000040c6: PUSH1 0x02
000040c8: EXP
000040c9: SUB
000040ca: SWAP1
000040cb: DUP2
000040cc: AND
000040cd: SWAP4
000040ce: POP
000040cf: DUP11
000040d0: AND
000040d1: DUP4
000040d2: EQ
000040d3: ISZERO
000040d4: PUSH2 0x40df
000040d7: JUMPI
000040d8: DUP6
000040d9: SWAP4
000040da: POP
000040db: PUSH2 0x412c
000040de: JUMP
000040df: JUMPDEST
000040e0: DUP3
000040e1: PUSH1 0x01
000040e3: PUSH1 0xa0
000040e5: PUSH1 0x02
000040e7: EXP
000040e8: SUB
000040e9: AND
000040ea: DUP10
000040eb: PUSH1 0x01
000040ed: PUSH1 0xa0
000040ef: PUSH1 0x02
000040f1: EXP
000040f2: SUB
000040f3: AND
000040f4: EQ
000040f5: ISZERO
000040f6: PUSH2 0x4101
000040f9: JUMPI
000040fa: DUP8
000040fb: SWAP4
000040fc: POP
000040fd: PUSH2 0x412c
00004100: JUMP
00004101: JUMPDEST
00004102: PUSH2 0x410f
00004105: DUP11
00004106: DUP5
00004107: PUSH1 0x01
00004109: DUP11
0000410a: SUB
0000410b: PUSH2 0x130c
0000410e: JUMP
0000410f: JUMPDEST
00004110: SWAP1
00004111: SWAP3
00004112: POP
00004113: SWAP1
00004114: POP
00004115: DUP1
00004116: PUSH2 0x411f
00004119: DUP8
0000411a: DUP5
0000411b: PUSH2 0x2d10
0000411e: JUMP
0000411f: JUMPDEST
00004120: DUP2
00004121: ISZERO
00004122: ISZERO
00004123: PUSH2 0x4128
00004126: JUMPI
00004127: INVALID
00004128: JUMPDEST
00004129: DIV
0000412a: SWAP4
0000412b: POP
0000412c: JUMPDEST
0000412d: PUSH1 0x00
0000412f: DUP5
00004130: GT
00004131: ISZERO
00004132: PUSH2 0x419c
00004135: JUMPI
00004136: PUSH1 0x0a
00004138: SLOAD
00004139: PUSH1 0x01
0000413b: PUSH1 0xa0
0000413d: PUSH1 0x02
0000413f: EXP
00004140: SUB
00004141: AND
00004142: PUSH4 0xf0dda65c
00004147: DUP7
00004148: DUP7
00004149: PUSH1 0x40
0000414b: MLOAD
0000414c: PUSH1 0xe0
0000414e: PUSH1 0x02
00004150: EXP
00004151: PUSH4 0xffffffff
00004156: DUP6
00004157: AND
00004158: MUL
00004159: DUP2
0000415a: MSTORE
0000415b: PUSH1 0x01
0000415d: PUSH1 0xa0
0000415f: PUSH1 0x02
00004161: EXP
00004162: SUB
00004163: SWAP1
00004164: SWAP3
00004165: AND
00004166: PUSH1 0x04
00004168: DUP4
00004169: ADD
0000416a: MSTORE
0000416b: PUSH1 0x24
0000416d: DUP3
0000416e: ADD
0000416f: MSTORE
00004170: PUSH1 0x44
00004172: ADD
00004173: PUSH1 0x00
00004175: PUSH1 0x40
00004177: MLOAD
00004178: DUP1
00004179: DUP4
0000417a: SUB
0000417b: DUP2
0000417c: PUSH1 0x00
0000417e: DUP8
0000417f: DUP1
00004180: EXTCODESIZE
00004181: ISZERO
00004182: ISZERO
00004183: PUSH2 0x418b
00004186: JUMPI
00004187: PUSH1 0x00
00004189: DUP1
0000418a: REVERT
0000418b: JUMPDEST
0000418c: GAS
0000418d: CALL
0000418e: ISZERO
0000418f: ISZERO
00004190: PUSH2 0x4198
00004193: JUMPI
00004194: PUSH1 0x00
00004196: DUP1
00004197: REVERT
00004198: JUMPDEST
00004199: POP
0000419a: POP
0000419b: POP
0000419c: JUMPDEST
0000419d: POP
0000419e: POP
0000419f: POP
000041a0: SWAP7
000041a1: SWAP6
000041a2: POP
000041a3: POP
000041a4: POP
000041a5: POP
000041a6: POP
000041a7: POP
000041a8: JUMP
000041a9: JUMPDEST
000041aa: PUSH2 0x41b3
000041ad: DUP3
000041ae: DUP3
000041af: PUSH2 0x0dcc
000041b2: JUMP
000041b3: JUMPDEST
000041b4: PUSH1 0x01
000041b6: PUSH1 0xa0
000041b8: PUSH1 0x02
000041ba: EXP
000041bb: SUB
000041bc: SWAP2
000041bd: DUP3
000041be: AND
000041bf: PUSH1 0x00
000041c1: SWAP1
000041c2: DUP2
000041c3: MSTORE
000041c4: PUSH1 0x0d
000041c6: PUSH1 0x20
000041c8: SWAP1
000041c9: DUP2
000041ca: MSTORE
000041cb: PUSH1 0x40
000041cd: DUP1
000041ce: DUP4
000041cf: KECCAK256
000041d0: SWAP4
000041d1: SWAP1
000041d2: SWAP5
000041d3: AND
000041d4: DUP3
000041d5: MSTORE
000041d6: SWAP2
000041d7: SWAP1
000041d8: SWAP2
000041d9: MSTORE
000041da: KECCAK256
000041db: DUP1
000041dc: SLOAD
000041dd: PUSH1 0x01
000041df: ADD
000041e0: SWAP1
000041e1: SSTORE
000041e2: POP
000041e3: POP
000041e4: JUMP
000041e5: JUMPDEST
000041e6: PUSH1 0x00
000041e8: DUP1
000041e9: PUSH1 0x00
000041eb: DUP1
000041ec: PUSH1 0x00
000041ee: DUP1
000041ef: PUSH1 0x00
000041f1: PUSH2 0x41fa
000041f4: DUP14
000041f5: DUP11
000041f6: PUSH2 0x104f
000041f9: JUMP
000041fa: JUMPDEST
000041fb: GT
000041fc: PUSH2 0x4204
000041ff: JUMPI
00004200: PUSH1 0x00
00004202: DUP1
00004203: REVERT
00004204: JUMPDEST
00004205: PUSH1 0x00
00004207: PUSH2 0x4210
0000420a: DUP13
0000420b: DUP11
0000420c: PUSH2 0x104f
0000420f: JUMP
00004210: JUMPDEST
00004211: GT
00004212: PUSH2 0x421a
00004215: JUMPI
00004216: PUSH1 0x00
00004218: DUP1
00004219: REVERT
0000421a: JUMPDEST
0000421b: PUSH2 0x4223
0000421e: DUP13
0000421f: PUSH2 0x35fb
00004222: JUMP
00004223: JUMPDEST
00004224: SWAP1
00004225: SWAP6
00004226: POP
00004227: SWAP4
00004228: POP
00004229: PUSH2 0x4231
0000422c: DUP12
0000422d: PUSH2 0x35fb
00004230: JUMP
00004231: JUMPDEST
00004232: SWAP1
00004233: SWAP4
00004234: POP
00004235: SWAP2
00004236: POP
00004237: PUSH2 0x4261
0000423a: DUP5
0000423b: PUSH2 0x4244
0000423e: DUP13
0000423f: DUP9
00004240: PUSH2 0x2d10
00004243: JUMP
00004244: JUMPDEST
00004245: DUP2
00004246: ISZERO
00004247: ISZERO
00004248: PUSH2 0x424d
0000424b: JUMPI
0000424c: INVALID
0000424d: JUMPDEST
0000424e: DIV
0000424f: DUP4
00004250: DUP6
00004251: DUP13
00004252: MUL
00004253: DUP2
00004254: ISZERO
00004255: ISZERO
00004256: PUSH2 0x425b
00004259: JUMPI
0000425a: INVALID
0000425b: JUMPDEST
0000425c: DIV
0000425d: PUSH2 0x21a2
00004260: JUMP
00004261: JUMPDEST
00004262: SWAP1
00004263: POP
00004264: PUSH2 0x1e57
00004267: DUP2
00004268: DUP9
00004269: PUSH2 0x2d10
0000426c: JUMP
0000426d: JUMPDEST
0000426e: PUSH1 0x01
00004270: PUSH1 0xa0
00004272: PUSH1 0x02
00004274: EXP
00004275: SUB
00004276: DUP1
00004277: DUP6
00004278: AND
00004279: PUSH1 0x00
0000427b: SWAP1
0000427c: DUP2
0000427d: MSTORE
0000427e: PUSH1 0x13
00004280: PUSH1 0x20
00004282: SWAP1
00004283: DUP2
00004284: MSTORE
00004285: PUSH1 0x40
00004287: DUP1
00004288: DUP4
00004289: KECCAK256
0000428a: CALLER
0000428b: SWAP1
0000428c: SWAP5
0000428d: AND
0000428e: DUP4
0000428f: MSTORE
00004290: SWAP3
00004291: SWAP1
00004292: MSTORE
00004293: SWAP1
00004294: DUP2
00004295: KECCAK256
00004296: SLOAD
00004297: DUP2
00004298: SWAP1
00004299: PUSH2 0x42a2
0000429c: SWAP1
0000429d: DUP6
0000429e: PUSH2 0x2b5b
000042a1: JUMP
000042a2: JUMPDEST
000042a3: PUSH1 0x01
000042a5: PUSH1 0xa0
000042a7: PUSH1 0x02
000042a9: EXP
000042aa: SUB
000042ab: DUP1
000042ac: DUP9
000042ad: AND
000042ae: PUSH1 0x00
000042b0: SWAP1
000042b1: DUP2
000042b2: MSTORE
000042b3: PUSH1 0x13
000042b5: PUSH1 0x20
000042b7: DUP2
000042b8: DUP2
000042b9: MSTORE
000042ba: PUSH1 0x40
000042bc: DUP1
000042bd: DUP5
000042be: KECCAK256
000042bf: CALLER
000042c0: DUP7
000042c1: AND
000042c2: DUP1
000042c3: DUP7
000042c4: MSTORE
000042c5: SWAP1
000042c6: DUP4
000042c7: MSTORE
000042c8: DUP2
000042c9: DUP6
000042ca: KECCAK256
000042cb: SWAP7
000042cc: SWAP1
000042cd: SWAP7
000042ce: SSTORE
000042cf: SWAP4
000042d0: DUP11
000042d1: AND
000042d2: DUP4
000042d3: MSTORE
000042d4: SWAP1
000042d5: DUP2
000042d6: MSTORE
000042d7: DUP3
000042d8: DUP3
000042d9: KECCAK256
000042da: SWAP4
000042db: DUP3
000042dc: MSTORE
000042dd: SWAP3
000042de: SWAP1
000042df: SWAP3
000042e0: MSTORE
000042e1: SWAP1
000042e2: KECCAK256
000042e3: SLOAD
000042e4: PUSH2 0x42ed
000042e7: SWAP1
000042e8: DUP5
000042e9: PUSH2 0x2b5b
000042ec: JUMP
000042ed: JUMPDEST
000042ee: PUSH1 0x01
000042f0: PUSH1 0xa0
000042f2: PUSH1 0x02
000042f4: EXP
000042f5: SUB
000042f6: DUP1
000042f7: DUP8
000042f8: AND
000042f9: PUSH1 0x00
000042fb: SWAP1
000042fc: DUP2
000042fd: MSTORE
000042fe: PUSH1 0x13
00004300: PUSH1 0x20
00004302: SWAP1
00004303: DUP2
00004304: MSTORE
00004305: PUSH1 0x40
00004307: DUP1
00004308: DUP4
00004309: KECCAK256
0000430a: CALLER
0000430b: SWAP1
0000430c: SWAP5
0000430d: AND
0000430e: DUP4
0000430f: MSTORE
00004310: SWAP3
00004311: SWAP1
00004312: MSTORE
00004313: KECCAK256
00004314: SSTORE
00004315: PUSH2 0x4321
00004318: DUP7
00004319: DUP7
0000431a: PUSH1 0x01
0000431c: DUP8
0000431d: PUSH2 0x3acb
00004320: JUMP
00004321: JUMPDEST
00004322: SWAP2
00004323: POP
00004324: PUSH2 0x4330
00004327: DUP6
00004328: DUP8
00004329: PUSH1 0x01
0000432b: DUP7
0000432c: PUSH2 0x3acb
0000432f: JUMP
00004330: JUMPDEST
00004331: PUSH1 0x01
00004333: PUSH1 0xa0
00004335: PUSH1 0x02
00004337: EXP
00004338: SUB
00004339: DUP1
0000433a: DUP9
0000433b: AND
0000433c: PUSH1 0x00
0000433e: DUP2
0000433f: DUP2
00004340: MSTORE
00004341: PUSH1 0x10
00004343: PUSH1 0x20
00004345: DUP2
00004346: DUP2
00004347: MSTORE
00004348: PUSH1 0x40
0000434a: DUP1
0000434b: DUP5
0000434c: KECCAK256
0000434d: DUP13
0000434e: DUP8
0000434f: AND
00004350: DUP1
00004351: DUP7
00004352: MSTORE
00004353: SWAP1
00004354: DUP4
00004355: MSTORE
00004356: DUP2
00004357: DUP6
00004358: KECCAK256
00004359: DUP11
0000435a: SWAP1
0000435b: SSTORE
0000435c: SWAP3
0000435d: DUP3
0000435e: MSTORE
0000435f: DUP1
00004360: DUP5
00004361: KECCAK256
00004362: DUP6
00004363: DUP6
00004364: MSTORE
00004365: DUP3
00004366: MSTORE
00004367: DUP1
00004368: DUP5
00004369: KECCAK256
0000436a: DUP8
0000436b: SWAP1
0000436c: SSTORE
0000436d: PUSH1 0x15
0000436f: DUP1
00004370: DUP4
00004371: MSTORE
00004372: DUP2
00004373: DUP6
00004374: KECCAK256
00004375: DUP5
00004376: DUP7
00004377: MSTORE
00004378: DUP4
00004379: MSTORE
0000437a: DUP2
0000437b: DUP6
0000437c: KECCAK256
0000437d: PUSH1 0x01
0000437f: DUP1
00004380: DUP8
00004381: MSTORE
00004382: SWAP1
00004383: DUP5
00004384: MSTORE
00004385: DUP3
00004386: DUP7
00004387: KECCAK256
00004388: CALLER
00004389: SWAP1
0000438a: SWAP9
0000438b: AND
0000438c: DUP1
0000438d: DUP8
0000438e: MSTORE
0000438f: SWAP8
00004390: DUP5
00004391: MSTORE
00004392: DUP3
00004393: DUP7
00004394: KECCAK256
00004395: DUP12
00004396: SWAP1
00004397: SSTORE
00004398: SWAP4
00004399: DUP6
0000439a: MSTORE
0000439b: DUP3
0000439c: MSTORE
0000439d: DUP1
0000439e: DUP5
0000439f: KECCAK256
000043a0: SWAP5
000043a1: DUP5
000043a2: MSTORE
000043a3: SWAP4
000043a4: DUP2
000043a5: MSTORE
000043a6: DUP4
000043a7: DUP4
000043a8: KECCAK256
000043a9: SWAP2
000043aa: DUP4
000043ab: MSTORE
000043ac: SWAP1
000043ad: DUP2
000043ae: MSTORE
000043af: DUP3
000043b0: DUP3
000043b1: KECCAK256
000043b2: SWAP4
000043b3: DUP3
000043b4: MSTORE
000043b5: SWAP3
000043b6: SWAP1
000043b7: SWAP3
000043b8: MSTORE
000043b9: SWAP1
000043ba: KECCAK256
000043bb: DUP2
000043bc: SWAP1
000043bd: SSTORE
000043be: SWAP1
000043bf: POP
000043c0: PUSH2 0x43cc
000043c3: DUP7
000043c4: DUP7
000043c5: PUSH2 0x5460
000043c8: PUSH2 0x4646
000043cb: JUMP
000043cc: JUMPDEST
000043cd: DUP5
000043ce: PUSH1 0x01
000043d0: PUSH1 0xa0
000043d2: PUSH1 0x02
000043d4: EXP
000043d5: SUB
000043d6: AND
000043d7: DUP7
000043d8: PUSH1 0x01
000043da: PUSH1 0xa0
000043dc: PUSH1 0x02
000043de: EXP
000043df: SUB
000043e0: AND
000043e1: PUSH32 0x6f4b2adffa0c3e90e47fdcd9d2c36f48b57eb3271dce519997271073dac17be9
00004402: PUSH1 0x40
00004404: MLOAD
00004405: PUSH1 0x40
00004407: MLOAD
00004408: DUP1
00004409: SWAP2
0000440a: SUB
0000440b: SWAP1
0000440c: LOG3
0000440d: POP
0000440e: POP
0000440f: POP
00004410: POP
00004411: POP
00004412: POP
00004413: JUMP
00004414: JUMPDEST
00004415: PUSH1 0x00
00004417: DUP1
00004418: PUSH1 0x00
0000441a: DUP1
0000441b: PUSH1 0x00
0000441d: DUP1
0000441e: PUSH1 0x00
00004420: DUP1
00004421: PUSH2 0x4429
00004424: DUP11
00004425: PUSH2 0x35fb
00004428: JUMP
00004429: JUMPDEST
0000442a: SWAP1
0000442b: SWAP8
0000442c: POP
0000442d: SWAP6
0000442e: POP
0000442f: DUP6
00004430: PUSH2 0x4439
00004433: DUP11
00004434: DUP10
00004435: PUSH2 0x2d10
00004438: JUMP
00004439: JUMPDEST
0000443a: DUP2
0000443b: ISZERO
0000443c: ISZERO
0000443d: PUSH2 0x4442
00004440: JUMPI
00004441: INVALID
00004442: JUMPDEST
00004443: PUSH1 0x05
00004445: SLOAD
00004446: SWAP2
00004447: SWAP1
00004448: DIV
00004449: SWAP6
0000444a: POP
0000444b: PUSH1 0x01
0000444d: PUSH1 0xa0
0000444f: PUSH1 0x02
00004451: EXP
00004452: SUB
00004453: AND
00004454: PUSH4 0xa3ca17b2
00004459: PUSH1 0x40
0000445b: MLOAD
0000445c: DUP2
0000445d: PUSH4 0xffffffff
00004462: AND
00004463: PUSH1 0xe0
00004465: PUSH1 0x02
00004467: EXP
00004468: MUL
00004469: DUP2
0000446a: MSTORE
0000446b: PUSH1 0x04
0000446d: ADD
0000446e: PUSH1 0x20
00004470: PUSH1 0x40
00004472: MLOAD
00004473: DUP1
00004474: DUP4
00004475: SUB
00004476: DUP2
00004477: PUSH1 0x00
00004479: DUP8
0000447a: DUP1
0000447b: EXTCODESIZE
0000447c: ISZERO
0000447d: ISZERO
0000447e: PUSH2 0x4486
00004481: JUMPI
00004482: PUSH1 0x00
00004484: DUP1
00004485: REVERT
00004486: JUMPDEST
00004487: GAS
00004488: CALL
00004489: ISZERO
0000448a: ISZERO
0000448b: PUSH2 0x4493
0000448e: JUMPI
0000448f: PUSH1 0x00
00004491: DUP1
00004492: REVERT
00004493: JUMPDEST
00004494: POP
00004495: POP
00004496: POP
00004497: PUSH1 0x40
00004499: MLOAD
0000449a: DUP1
0000449b: MLOAD
0000449c: SWAP1
0000449d: POP
0000449e: SWAP4
0000449f: POP
000044a0: PUSH2 0x44a9
000044a3: DUP6
000044a4: DUP6
000044a5: PUSH2 0x2d10
000044a8: JUMP
000044a9: JUMPDEST
000044aa: PUSH1 0x0b
000044ac: SLOAD
000044ad: SWAP1
000044ae: SWAP4
000044af: POP
000044b0: PUSH2 0x4528
000044b3: SWAP1
000044b4: PUSH1 0x01
000044b6: PUSH1 0xa0
000044b8: PUSH1 0x02
000044ba: EXP
000044bb: SUB
000044bc: AND
000044bd: PUSH4 0xdd62ed3e
000044c2: CALLER
000044c3: ADDRESS
000044c4: PUSH1 0x40
000044c6: MLOAD
000044c7: PUSH1 0xe0
000044c9: PUSH1 0x02
000044cb: EXP
000044cc: PUSH4 0xffffffff
000044d1: DUP6
000044d2: AND
000044d3: MUL
000044d4: DUP2
000044d5: MSTORE
000044d6: PUSH1 0x01
000044d8: PUSH1 0xa0
000044da: PUSH1 0x02
000044dc: EXP
000044dd: SUB
000044de: SWAP3
000044df: DUP4
000044e0: AND
000044e1: PUSH1 0x04
000044e3: DUP3
000044e4: ADD
000044e5: MSTORE
000044e6: SWAP2
000044e7: AND
000044e8: PUSH1 0x24
000044ea: DUP3
000044eb: ADD
000044ec: MSTORE
000044ed: PUSH1 0x44
000044ef: ADD
000044f0: PUSH1 0x20
000044f2: PUSH1 0x40
000044f4: MLOAD
000044f5: DUP1
000044f6: DUP4
000044f7: SUB
000044f8: DUP2
000044f9: PUSH1 0x00
000044fb: DUP8
000044fc: DUP1
000044fd: EXTCODESIZE
000044fe: ISZERO
000044ff: ISZERO
00004500: PUSH2 0x4508
00004503: JUMPI
00004504: PUSH1 0x00
00004506: DUP1
00004507: REVERT
00004508: JUMPDEST
00004509: GAS
0000450a: CALL
0000450b: ISZERO
0000450c: ISZERO
0000450d: PUSH2 0x4515
00004510: JUMPI
00004511: PUSH1 0x00
00004513: DUP1
00004514: REVERT
00004515: JUMPDEST
00004516: POP
00004517: POP
00004518: POP
00004519: PUSH1 0x40
0000451b: MLOAD
0000451c: DUP1
0000451d: MLOAD
0000451e: SWAP1
0000451f: POP
00004520: PUSH1 0x02
00004522: DUP6
00004523: DIV
00004524: PUSH2 0x22b8
00004527: JUMP
00004528: JUMPDEST
00004529: PUSH1 0x0b
0000452b: SLOAD
0000452c: SWAP1
0000452d: SWAP3
0000452e: POP
0000452f: PUSH2 0x459c
00004532: SWAP1
00004533: PUSH1 0x01
00004535: PUSH1 0xa0
00004537: PUSH1 0x02
00004539: EXP
0000453a: SUB
0000453b: AND
0000453c: PUSH4 0x70a08231
00004541: CALLER
00004542: PUSH1 0x40
00004544: MLOAD
00004545: PUSH1 0xe0
00004547: PUSH1 0x02
00004549: EXP
0000454a: PUSH4 0xffffffff
0000454f: DUP5
00004550: AND
00004551: MUL
00004552: DUP2
00004553: MSTORE
00004554: PUSH1 0x01
00004556: PUSH1 0xa0
00004558: PUSH1 0x02
0000455a: EXP
0000455b: SUB
0000455c: SWAP1
0000455d: SWAP2
0000455e: AND
0000455f: PUSH1 0x04
00004561: DUP3
00004562: ADD
00004563: MSTORE
00004564: PUSH1 0x24
00004566: ADD
00004567: PUSH1 0x20
00004569: PUSH1 0x40
0000456b: MLOAD
0000456c: DUP1
0000456d: DUP4
0000456e: SUB
0000456f: DUP2
00004570: PUSH1 0x00
00004572: DUP8
00004573: DUP1
00004574: EXTCODESIZE
00004575: ISZERO
00004576: ISZERO
00004577: PUSH2 0x457f
0000457a: JUMPI
0000457b: PUSH1 0x00
0000457d: DUP1
0000457e: REVERT
0000457f: JUMPDEST
00004580: GAS
00004581: CALL
00004582: ISZERO
00004583: ISZERO
00004584: PUSH2 0x458c
00004587: JUMPI
00004588: PUSH1 0x00
0000458a: DUP1
0000458b: REVERT
0000458c: JUMPDEST
0000458d: POP
0000458e: POP
0000458f: POP
00004590: PUSH1 0x40
00004592: MLOAD
00004593: DUP1
00004594: MLOAD
00004595: SWAP1
00004596: POP
00004597: DUP4
00004598: PUSH2 0x22b8
0000459b: JUMP
0000459c: JUMPDEST
0000459d: SWAP2
0000459e: POP
0000459f: PUSH1 0x00
000045a1: DUP3
000045a2: GT
000045a3: ISZERO
000045a4: PUSH2 0x4635
000045a7: JUMPI
000045a8: PUSH1 0x0b
000045aa: SLOAD
000045ab: PUSH1 0x01
000045ad: PUSH1 0xa0
000045af: PUSH1 0x02
000045b1: EXP
000045b2: SUB
000045b3: AND
000045b4: PUSH4 0x4417f4db
000045b9: CALLER
000045ba: DUP5
000045bb: PUSH1 0x40
000045bd: MLOAD
000045be: PUSH1 0xe0
000045c0: PUSH1 0x02
000045c2: EXP
000045c3: PUSH4 0xffffffff
000045c8: DUP6
000045c9: AND
000045ca: MUL
000045cb: DUP2
000045cc: MSTORE
000045cd: PUSH1 0x01
000045cf: PUSH1 0xa0
000045d1: PUSH1 0x02
000045d3: EXP
000045d4: SUB
000045d5: SWAP1
000045d6: SWAP3
000045d7: AND
000045d8: PUSH1 0x04
000045da: DUP4
000045db: ADD
000045dc: MSTORE
000045dd: PUSH1 0x24
000045df: DUP3
000045e0: ADD
000045e1: MSTORE
000045e2: PUSH1 0x44
000045e4: ADD
000045e5: PUSH1 0x00
000045e7: PUSH1 0x40
000045e9: MLOAD
000045ea: DUP1
000045eb: DUP4
000045ec: SUB
000045ed: DUP2
000045ee: PUSH1 0x00
000045f0: DUP8
000045f1: DUP1
000045f2: EXTCODESIZE
000045f3: ISZERO
000045f4: ISZERO
000045f5: PUSH2 0x45fd
000045f8: JUMPI
000045f9: PUSH1 0x00
000045fb: DUP1
000045fc: REVERT
000045fd: JUMPDEST
000045fe: GAS
000045ff: CALL
00004600: ISZERO
00004601: ISZERO
00004602: PUSH2 0x460a
00004605: JUMPI
00004606: PUSH1 0x00
00004608: DUP1
00004609: REVERT
0000460a: JUMPDEST
0000460b: POP
0000460c: POP
0000460d: POP
0000460e: DUP3
0000460f: PUSH2 0x4618
00004612: DUP4
00004613: DUP12
00004614: PUSH2 0x2d10
00004617: JUMP
00004618: JUMPDEST
00004619: DUP2
0000461a: ISZERO
0000461b: ISZERO
0000461c: PUSH2 0x4621
0000461f: JUMPI
00004620: INVALID
00004621: JUMPDEST
00004622: DIV
00004623: SWAP1
00004624: POP
00004625: PUSH2 0x462e
00004628: DUP10
00004629: DUP3
0000462a: PUSH2 0x2b5b
0000462d: JUMP
0000462e: JUMPDEST
0000462f: SWAP8
00004630: POP
00004631: PUSH2 0x4639
00004634: JUMP
00004635: JUMPDEST
00004636: DUP9
00004637: SWAP8
00004638: POP
00004639: JUMPDEST
0000463a: POP
0000463b: POP
0000463c: POP
0000463d: POP
0000463e: POP
0000463f: POP
00004640: POP
00004641: SWAP3
00004642: SWAP2
00004643: POP
00004644: POP
00004645: JUMP
00004646: JUMPDEST
00004647: PUSH1 0x00
00004649: DUP1
0000464a: PUSH2 0x4653
0000464d: DUP6
0000464e: DUP6
0000464f: PUSH2 0x0dcc
00004652: JUMP
00004653: JUMPDEST
00004654: PUSH1 0x01
00004656: PUSH1 0xa0
00004658: PUSH1 0x02
0000465a: EXP
0000465b: SUB
0000465c: DUP1
0000465d: DUP4
0000465e: AND
0000465f: PUSH1 0x00
00004661: DUP2
00004662: DUP2
00004663: MSTORE
00004664: PUSH1 0x0d
00004666: PUSH1 0x20
00004668: SWAP1
00004669: DUP2
0000466a: MSTORE
0000466b: PUSH1 0x40
0000466d: DUP1
0000466e: DUP4
0000466f: KECCAK256
00004670: SWAP5
00004671: DUP7
00004672: AND
00004673: DUP1
00004674: DUP5
00004675: MSTORE
00004676: SWAP5
00004677: DUP3
00004678: MSTORE
00004679: DUP1
0000467a: DUP4
0000467b: KECCAK256
0000467c: SLOAD
0000467d: DUP5
0000467e: DUP5
0000467f: MSTORE
00004680: PUSH1 0x0e
00004682: DUP4
00004683: MSTORE
00004684: DUP2
00004685: DUP5
00004686: KECCAK256
00004687: DUP7
00004688: DUP6
00004689: MSTORE
0000468a: SWAP1
0000468b: SWAP3
0000468c: MSTORE
0000468d: SWAP2
0000468e: DUP3
0000468f: SWAP1
00004690: KECCAK256
00004691: TIMESTAMP
00004692: DUP11
00004693: ADD
00004694: SWAP1
00004695: DUP2
00004696: SWAP1
00004697: SSTORE
00004698: SWAP6
00004699: SWAP11
0000469a: POP
0000469b: SWAP4
0000469c: SWAP9
0000469d: POP
0000469e: SWAP4
0000469f: SWAP6
000046a0: POP
000046a1: SWAP2
000046a2: SWAP4
000046a3: POP
000046a4: DUP4
000046a5: SWAP3
000046a6: SWAP1
000046a7: SWAP2
000046a8: SWAP1
000046a9: PUSH32 0x20017e7b1ef8e7882103f55ff346ca3135c4afe13dff1da2f01b482aece766a5
000046ca: SWAP1
000046cb: DUP7
000046cc: SWAP1
000046cd: MLOAD
000046ce: SWAP1
000046cf: DUP2
000046d0: MSTORE
000046d1: PUSH1 0x20
000046d3: ADD
000046d4: PUSH1 0x40
000046d6: MLOAD
000046d7: DUP1
000046d8: SWAP2
000046d9: SUB
000046da: SWAP1
000046db: LOG4
000046dc: POP
000046dd: POP
000046de: POP
000046df: POP
000046e0: POP
000046e1: JUMP
000046e2: JUMPDEST
000046e3: PUSH2 0x46ec
000046e6: DUP3
000046e7: DUP3
000046e8: PUSH2 0x0dcc
000046eb: JUMP
000046ec: JUMPDEST
000046ed: PUSH1 0x01
000046ef: PUSH1 0xa0
000046f1: PUSH1 0x02
000046f3: EXP
000046f4: SUB
000046f5: DUP1
000046f6: DUP4
000046f7: AND
000046f8: PUSH1 0x00
000046fa: SWAP1
000046fb: DUP2
000046fc: MSTORE
000046fd: PUSH1 0x0e
000046ff: PUSH1 0x20
00004701: SWAP1
00004702: DUP2
00004703: MSTORE
00004704: PUSH1 0x40
00004706: DUP1
00004707: DUP4
00004708: KECCAK256
00004709: SWAP4
0000470a: DUP6
0000470b: AND
0000470c: DUP4
0000470d: MSTORE
0000470e: SWAP3
0000470f: SWAP1
00004710: MSTORE
00004711: KECCAK256
00004712: SLOAD
00004713: SWAP2
00004714: SWAP4
00004715: POP
00004716: SWAP2
00004717: POP
00004718: PUSH1 0x01
0000471a: EQ
0000471b: PUSH2 0x4748
0000471e: JUMPI
0000471f: PUSH1 0x01
00004721: PUSH1 0xa0
00004723: PUSH1 0x02
00004725: EXP
00004726: SUB
00004727: DUP1
00004728: DUP4
00004729: AND
0000472a: PUSH1 0x00
0000472c: SWAP1
0000472d: DUP2
0000472e: MSTORE
0000472f: PUSH1 0x0e
00004731: PUSH1 0x20
00004733: SWAP1
00004734: DUP2
00004735: MSTORE
00004736: PUSH1 0x40
00004738: DUP1
00004739: DUP4
0000473a: KECCAK256
0000473b: SWAP4
0000473c: DUP6
0000473d: AND
0000473e: DUP4
0000473f: MSTORE
00004740: SWAP3
00004741: SWAP1
00004742: MSTORE
00004743: KECCAK256
00004744: PUSH1 0x01
00004746: SWAP1
00004747: SSTORE
00004748: JUMPDEST
00004749: POP
0000474a: POP
0000474b: JUMP
0000474c: JUMPDEST
0000474d: PUSH1 0x20
0000474f: PUSH1 0x40
00004751: MLOAD
00004752: SWAP1
00004753: DUP2
00004754: ADD
00004755: PUSH1 0x40
00004757: MSTORE
00004758: PUSH1 0x00
0000475a: DUP2
0000475b: MSTORE
0000475c: SWAP1
0000475d: JUMP
0000475e: JUMPDEST
0000475f: PUSH1 0x40
00004761: DUP1
00004762: MLOAD
00004763: SWAP1
00004764: DUP2
00004765: ADD
00004766: PUSH1 0x40
00004768: MSTORE
00004769: PUSH1 0x00
0000476b: DUP1
0000476c: DUP3
0000476d: MSTORE
0000476e: PUSH1 0x20
00004770: DUP3
00004771: ADD
00004772: MSTORE
00004773: SWAP1
00004774: JUMP
00004775: STOP
00004776: LOG1
00004777: PUSH6 0x627a7a723058
0000477e: KECCAK256
0000477f: DUP3
00004780: CALLVALUE
00004781: PUSH17 0x6d1c6efd546ff852e83c41531610f61e18
00004793: UNKNOWN(0xCF)
00004794: PUSH30

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high reentrancy codex Reentrant token transfer allows repeated withdrawals before balance update 85 no
view
evidence_json
{
    "evidence": "`withdraw` performs `Token(tokenAddress).transfer(msg.sender, amount)` before reducing `balances[tokenAddress][msg.sender]`, enabling reentrancy to withdraw multiple times on the unchanged balance.",
    "locations": [
        "contracts/Contract.sol:1657",
        "contracts/Contract.sol:1671",
        "contracts/Contract.sol:1673"
    ],
    "recommendation": "Update internal balances before the external token transfer and/or add a reentrancy guard. Consider restricting deposits/withdrawals to a vetted token list if reentrant tokens are not intended.",
    "exploit_scenario": "1) Attacker deploys a contract that receives tokens and can reenter, and uses a token with a transfer hook (ERC777/223 or a malicious ERC20 that calls back on transfer). 2) Attacker deposits that token into the exchange so `balances[token][attacker]` is non\u2011zero. 3) Attacker calls `withdraw(token, amount)` with `amount <= balances[token][attacker]`. 4) During `Token(tokenAddress).transfer(msg.sender, amount)`, the token calls the attacker\u2019s hook; the attacker reenters `withdraw` before the balance is updated. 5) Each reentrant call sees the original `usersBalance` and transfers `amount` again, but the balance is only reduced once after the first call returns. 6) Attacker drains the contract\u2019s entire holdings of that token (other users\u2019 deposits + auction sell volumes). Estimated profit: up to the full on\u2011contract balance of the reentrant token."
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x0043500264028e31ad6dc8cf4b168c4eb1f776bdc57d8e6ad0507a2549b352f9
call_targets: 0x039fb002d21c1c5eeb400612aef3d64d49eb0d94
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0043500264028e31ad6dc8cf4b168c4eb1f776bdc57d8e6ad0507a2549b352f9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x039fb002d21c1c5eeb400612aef3d64d49eb0d94"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01a521d6",
            "selector": "0x01a521d6",
            "calldata_variants": [
                "0x01a521d6",
                "0x01a521d60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02ffc0b0",
            "selector": "0x02ffc0b0",
            "calldata_variants": [
                "0x02ffc0b0",
                "0x02ffc0b00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x04e80e90",
            "selector": "0x04e80e90",
            "calldata_variants": [
                "0x04e80e90",
                "0x04e80e900000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06d58f2a",
            "selector": "0x06d58f2a",
            "calldata_variants": [
                "0x06d58f2a",
                "0x06d58f2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e7c0f80",
            "selector": "0x0e7c0f80",
            "calldata_variants": [
                "0x0e7c0f80",
                "0x0e7c0f800000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1006a41f",
            "selector": "0x1006a41f",
            "calldata_variants": [
                "0x1006a41f",
                "0x1006a41f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14584a9d",
            "selector": "0x14584a9d",
            "calldata_variants": [
                "0x14584a9d",
                "0x14584a9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2cef4dac",
            "selector": "0x2cef4dac",
            "calldata_variants": [
                "0x2cef4dac",
                "0x2cef4dac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4691,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12810,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13232,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x0043500264028e31ad6dc8cf4b168c4eb1f776bdc57d8e6ad0507a2549b352f9
call_targets: 0x039fb002d21c1c5eeb400612aef3d64d49eb0d94
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0043500264028e31ad6dc8cf4b168c4eb1f776bdc57d8e6ad0507a2549b352f9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x039fb002d21c1c5eeb400612aef3d64d49eb0d94"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01a521d6",
            "selector": "0x01a521d6",
            "calldata_variants": [
                "0x01a521d6",
                "0x01a521d60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02ffc0b0",
            "selector": "0x02ffc0b0",
            "calldata_variants": [
                "0x02ffc0b0",
                "0x02ffc0b00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x04e80e90",
            "selector": "0x04e80e90",
            "calldata_variants": [
                "0x04e80e90",
                "0x04e80e900000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06d58f2a",
            "selector": "0x06d58f2a",
            "calldata_variants": [
                "0x06d58f2a",
                "0x06d58f2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e7c0f80",
            "selector": "0x0e7c0f80",
            "calldata_variants": [
                "0x0e7c0f80",
                "0x0e7c0f800000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1006a41f",
            "selector": "0x1006a41f",
            "calldata_variants": [
                "0x1006a41f",
                "0x1006a41f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14584a9d",
            "selector": "0x14584a9d",
            "calldata_variants": [
                "0x14584a9d",
                "0x14584a9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2cef4dac",
            "selector": "0x2cef4dac",
            "calldata_variants": [
                "0x2cef4dac",
                "0x2cef4dac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4691,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12810,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13232,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [],
    "untrusted_call_count": 11
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 11
}