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

Analysis Run

97cd6cda-535b-4091-acff-4edb553a0399

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 4:43 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
Flash-loan price manipulation drains ETH via zero-slippage publicSwap
crit 0 high 0 direct contract
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
31295 report.consolidate complete 1 / 1 3 months ago
110768 artifact.fetch complete 1 / 3 1 week ago
110769 tool.cast_disasm complete 1 / 3 1 week ago
110770 analysis.bundle complete 1 / 3 1 week ago
110771 capability.graph complete 1 / 3 1 week ago
110772 detector.run complete 1 / 3 1 week ago
110773 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
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
Public `publicSwap()` can be called after the safety delay and executes multiple Uniswap V2 swaps with `amountOutMin = 0`, enabling flash-loan price manipulation to siphon ETH value from the contract.
View stderr
[codex:510744] OpenAI Codex v0.77.0 (research preview)
[codex:510744] --------
[codex:510744] workdir: /tmp/codex-multi-16pl2j64
[codex:510744] model: gpt-5.2-codex
[codex:510744] provider: openai
[codex:510744] approval: never
[codex:510744] sandbox: read-only
[codex:510744] reasoning effort: xhigh
[codex:510744] reasoning summaries: auto
[codex:510744] session id: 019b7f96-ae65-7f62-b262-eb6aede7b2e1
[codex:510744] --------
[codex:510744] user
[codex:510744] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:510744] 
[codex:510744] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:510744] 
[codex:510744] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:510744] - Gas inefficiency, code quality, naming, or best practices
[codex:510744] - Theoretical vulnerabilities without a clear extraction path
[codex:510744] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:510744] - Front-running unless it enables theft beyond MEV
[codex:510744] - DoS, griefing, or issues that don't result in attacker profit
[codex:510744] - Missing events, view function issues, or informational findings
[codex:510744] 
[codex:510744] HIGH-VALUE PATTERNS TO HUNT:
[codex:510744] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:510744] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:510744] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:510744] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:510744] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:510744] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:510744] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:510744] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:510744] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:510744] 
[codex:510744] For each finding, you MUST provide:
[codex:510744] 1. Exact file and line numbers of vulnerable code
[codex:510744] 2. Step-by-step exploit transaction sequence
[codex:510744] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:510744] 
[codex:510744] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:510744] 
[codex:510744] Output MUST be valid JSON matching the provided schema.
[codex:510744] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:510744] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:510744] mcp startup: no servers
[codex:510744] 
[codex:510744] thinking
[codex:510744] **Searching for AUDIT_BUNDLE files**
[codex:510744] exec
[codex:510744] /bin/bash -lc ls in /tmp/codex-multi-16pl2j64 succeeded in 5ms:
[codex:510744] AUDIT_BUNDLE.txt
[codex:510744] codex-output-schema.json
[codex:510744] contracts
[codex:510744] 
[codex:510744] thinking
[codex:510744] **Reading AUDIT_BUNDLE.txt**
[codex:510744] exec
[codex:510744] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-16pl2j64 succeeded in 6ms:
[codex:510744] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:510744] 
[codex:510744] ================================================================================
[codex:510744] FILE: contracts/Contract.sol
[codex:510744] ================================================================================
[codex:510744] pragma solidity 0.6.12;
[codex:510744] // SPDX-License-Identifier: MIT
[codex:510744] 
[codex:510744] 
[codex:510744] 
[codex:510744] /**
[codex:510744]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:510744]  */
[codex:510744] interface IERC20 {
[codex:510744]     /**
[codex:510744]      * @dev Returns the amount of tokens in existence.
[codex:510744]      */
[codex:510744]     function totalSupply() external view returns (uint256);
[codex:510744] 
[codex:510744]     /**
[codex:510744] 
[codex:510744] thinking
[codex:510744] **Analyzing profit extraction and price manipulation risks**
[codex:510744] 
[codex:510744] I’m dissecting the contract’s public functions to find if an attacker can extract profit. The main exploit path looks like manipulating Uniswap prices via flash loans to exploit `publicSwap` after a 48-hour safety release—allowing the attacker to swap ETH for tokens at inflated prices and profit from the slippage. Other functions either send value to the owner or lack direct paths for attacker gain. There are no reentrancy or admin override vulnerabilities, but the slippage/oracle manipulation on swaps stands out as a concrete theft vector. I’m tracing the conditions and state changes carefully to confirm this scenario.
[codex:510744] exec
[codex:510744] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-16pl2j64 succeeded in 6ms:
[codex:510744]      1	pragma solidity 0.6.12;
[codex:510744]      2	// SPDX-License-Identifier: MIT
[codex:510744]      3	
[codex:510744]      4	
[codex:510744]      5	
[codex:510744]      6	/**
[codex:510744]      7	 * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:510744]      8	 */
[codex:510744]      9	interface IERC20 {
[codex:510744]     10	    /**
[codex:510744]     11	     * @dev Returns the amount of tokens in existence.
[codex:510744]     12	     */
[codex:510744]     13	    function totalSupply() external view returns (uint256);
[codex:510744]     14	
[codex:510744]     15	    /**
[codex:510744]     16	     * @dev Returns the amount of tokens owned by `account`.
[codex:510744]     17	     */
[codex:510744]     18	    function balanceOf(address account) external view returns (uint256);
[codex:510744]     19	
[codex:510744]     20	    /**
[codex:510744] 
[codex:510744] thinking
[codex:510744] **Generating detailed JSON output schema**
[codex:510744] 
[codex:510744] I'm piecing together a JSON report that matches the codex-output-schema with fields for no_findings, summary, and findings, focusing on a high-severity flash-loan price manipulation exploit via publicSwap. I'll include evidence with exact line numbers and a stepwise exploit scenario highlighting the vulnerability caused by zero slippage swaps and public accessibility after safetyRelease. This comprehensive output will encompass severity, category, recommendations, and exploit details exactly as requested.
[codex:510744] codex
[codex:510744] {"no_findings":false,"summary":"Public `publicSwap()` can be called after the safety delay and executes multiple Uniswap V2 swaps with `amountOutMin = 0`, enabling flash-loan price manipulation to siphon ETH value from the contract.","findings":[{"severity":"high","category":"oracle","title":"Flash-loan price manipulation drains ETH via zero-slippage publicSwap","exploit_scenario":"1) Wait until `now > safetyRelease` and the contract holds ETH (funded via `buoyAddress`). 2) In a single transaction, take a flash loan of WETH. 3) For each target pair (e.g., WETH/LINK), swap WETH -> token on Uniswap to inflate token price in ETH terms. 4) Call `publicSwap()` to force the contract to buy those tokens at the manipulated, overpriced rate with `amountOutMin=0`. 5) Swap the pre-bought tokens back to WETH after `publicSwap` completes, capturing the ETH the contract just injected. 6) Repay the flash loan and keep the surplus WETH/ETH as profit.","recommendation":"Restrict `publicSwap()` to trusted callers or add robust slippage protection using off-chain pricing (e.g., TWAP/oracle) and non-zero `amountOutMin` limits; consider pausing public access to swaps.","evidence":"`publicSwap()` is public after `safetyRelease` and calls `_swap()`, which executes multiple `swapExactETHForTokens` calls with `amountOutMin = 0`, allowing swaps at any price.","locations":["contracts/Contract.sol:290","contracts/Contract.sol:295","contracts/Contract.sol:301","contracts/Contract.sol:307"]}]}
[codex:510744] tokens used
[codex:510744] 17,587
[codex:510744] {"no_findings":false,"summary":"Public `publicSwap()` can be called after the safety delay and executes multiple Uniswap V2 swaps with `amountOutMin = 0`, enabling flash-loan price manipulation to siphon ETH value from the contract.","findings":[{"severity":"high","category":"oracle","title":"Flash-loan price manipulation drains ETH via zero-slippage publicSwap","exploit_scenario":"1) Wait until `now > safetyRelease` and the contract holds ETH (funded via `buoyAddress`). 2) In a single transaction, take a flash loan of WETH. 3) For each target pair (e.g., WETH/LINK), swap WETH -> token on Uniswap to inflate token price in ETH terms. 4) Call `publicSwap()` to force the contract to buy those tokens at the manipulated, overpriced rate with `amountOutMin=0`. 5) Swap the pre-bought tokens back to WETH after `publicSwap` completes, capturing the ETH the contract just injected. 6) Repay the flash loan and keep the surplus WETH/ETH as profit.","recommendation":"Restrict `publicSwap()` to trusted callers or add robust slippage protection using off-chain pricing (e.g., TWAP/oracle) and non-zero `amountOutMin` limits; consider pausing public access to swaps.","evidence":"`publicSwap()` is public after `safetyRelease` and calls `_swap()`, which executes multiple `swapExactETHForTokens` calls with `amountOutMin = 0`, allowing swaps at any price.","locations":["contracts/Contract.sol:290","contracts/Contract.sol:295","contracts/Contract.sol:301","contracts/Contract.sol:307"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T16:43:49.437617+00:00",
        "returncode": 0
    },
    "summary": "Public `publicSwap()` can be called after the safety delay and executes multiple Uniswap V2 swaps with `amountOutMin = 0`, enabling flash-loan price manipulation to siphon ETH value from the contract.",
    "raw_final": {
        "summary": "Public `publicSwap()` can be called after the safety delay and executes multiple Uniswap V2 swaps with `amountOutMin = 0`, enabling flash-loan price manipulation to siphon ETH value from the contract.",
        "findings": [
            {
                "title": "Flash-loan price manipulation drains ETH via zero-slippage publicSwap",
                "category": "oracle",
                "evidence": "`publicSwap()` is public after `safetyRelease` and calls `_swap()`, which executes multiple `swapExactETHForTokens` calls with `amountOutMin = 0`, allowing swaps at any price.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:290",
                    "contracts/Contract.sol:295",
                    "contracts/Contract.sol:301",
                    "contracts/Contract.sol:307"
                ],
                "recommendation": "Restrict `publicSwap()` to trusted callers or add robust slippage protection using off-chain pricing (e.g., TWAP/oracle) and non-zero `amountOutMin` limits; consider pausing public access to swaps.",
                "exploit_scenario": "1) Wait until `now > safetyRelease` and the contract holds ETH (funded via `buoyAddress`). 2) In a single transaction, take a flash loan of WETH. 3) For each target pair (e.g., WETH/LINK), swap WETH -> token on Uniswap to inflate token price in ETH terms. 4) Call `publicSwap()` to force the contract to buy those tokens at the manipulated, overpriced rate with `amountOutMin=0`. 5) Swap the pre-bought tokens back to WETH after `publicSwap` completes, capturing the ETH the contract just injected. 6) Repay the flash loan and keep the surplus WETH/ETH as profit."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
18
EXT*/BALANCE
16
Total opcodes
6358
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0118
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8bb3d1fe
00000019: GT
0000001a: PUSH2 0x00a0
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb6b55f25
00000024: GT
00000025: PUSH2 0x0064
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xb6b55f25
0000002f: EQ
00000030: PUSH2 0x05d4
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xbb0c071a
0000003a: EQ
0000003b: PUSH2 0x060f
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xdc303a12
00000045: EQ
00000046: PUSH2 0x0626
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf1633248
00000050: EQ
00000051: PUSH2 0x0758
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfb983b83
0000005b: EQ
0000005c: PUSH2 0x0799
0000005f: JUMPI
00000060: PUSH2 0x026b
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x8bb3d1fe
0000006b: EQ
0000006c: PUSH2 0x0489
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x8c0ba32f
00000076: EQ
00000077: PUSH2 0x04fa
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xa4b6dcae
00000081: EQ
00000082: PUSH2 0x0511
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xa6ebf285
0000008c: EQ
0000008d: PUSH2 0x0552
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xab0e9608
00000097: EQ
00000098: PUSH2 0x0593
0000009b: JUMPI
0000009c: PUSH2 0x026b
0000009f: JUMP
000000a0: JUMPDEST
000000a1: DUP1
000000a2: PUSH4 0x4f0e0ef3
000000a7: GT
000000a8: PUSH2 0x00e7
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x4f0e0ef3
000000b2: EQ
000000b3: PUSH2 0x036e
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x735de9f7
000000bd: EQ
000000be: PUSH2 0x03af
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x7d3ab61a
000000c8: EQ
000000c9: PUSH2 0x03f0
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x80ea5f8a
000000d3: EQ
000000d4: PUSH2 0x0431
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x8119c065
000000de: EQ
000000df: PUSH2 0x0472
000000e2: JUMPI
000000e3: PUSH2 0x026b
000000e6: JUMP
000000e7: JUMPDEST
000000e8: DUP1
000000e9: PUSH4 0x1755ff21
000000ee: EQ
000000ef: PUSH2 0x0270
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x235cea98
000000f9: EQ
000000fa: PUSH2 0x02b1
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x3d6cf722
00000104: EQ
00000105: PUSH2 0x02f2
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x446c306e
0000010f: EQ
00000110: PUSH2 0x0333
00000113: JUMPI
00000114: PUSH2 0x026b
00000117: JUMP
00000118: JUMPDEST
00000119: CALLDATASIZE
0000011a: PUSH2 0x026b
0000011d: JUMPI
0000011e: PUSH1 0x01
00000120: ISZERO
00000121: ISZERO
00000122: PUSH1 0x19
00000124: PUSH1 0x00
00000126: SWAP1
00000127: SLOAD
00000128: SWAP1
00000129: PUSH2 0x0100
0000012c: EXP
0000012d: SWAP1
0000012e: DIV
0000012f: PUSH1 0xff
00000131: AND
00000132: ISZERO
00000133: ISZERO
00000134: EQ
00000135: PUSH2 0x01a6
00000138: JUMPI
00000139: PUSH1 0x40
0000013b: MLOAD
0000013c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000015d: DUP2
0000015e: MSTORE
0000015f: PUSH1 0x04
00000161: ADD
00000162: DUP1
00000163: DUP1
00000164: PUSH1 0x20
00000166: ADD
00000167: DUP3
00000168: DUP2
00000169: SUB
0000016a: DUP3
0000016b: MSTORE
0000016c: PUSH1 0x12
0000016e: DUP2
0000016f: MSTORE
00000170: PUSH1 0x20
00000172: ADD
00000173: DUP1
00000174: PUSH32 0x414444524553535f4e4f545f4c4f434b45440000000000000000000000000000
00000195: DUP2
00000196: MSTORE
00000197: POP
00000198: PUSH1 0x20
0000019a: ADD
0000019b: SWAP2
0000019c: POP
0000019d: POP
0000019e: PUSH1 0x40
000001a0: MLOAD
000001a1: DUP1
000001a2: SWAP2
000001a3: SUB
000001a4: SWAP1
000001a5: REVERT
000001a6: JUMPDEST
000001a7: PUSH1 0x0e
000001a9: PUSH1 0x00
000001ab: SWAP1
000001ac: SLOAD
000001ad: SWAP1
000001ae: PUSH2 0x0100
000001b1: EXP
000001b2: SWAP1
000001b3: DIV
000001b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001c9: AND
000001ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001df: AND
000001e0: CALLER
000001e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f6: AND
000001f7: EQ
000001f8: PUSH2 0x0269
000001fb: JUMPI
000001fc: PUSH1 0x40
000001fe: MLOAD
000001ff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000220: DUP2
00000221: MSTORE
00000222: PUSH1 0x04
00000224: ADD
00000225: DUP1
00000226: DUP1
00000227: PUSH1 0x20
00000229: ADD
0000022a: DUP3
0000022b: DUP2
0000022c: SUB
0000022d: DUP3
0000022e: MSTORE
0000022f: PUSH1 0x13
00000231: DUP2
00000232: MSTORE
00000233: PUSH1 0x20
00000235: ADD
00000236: DUP1
00000237: PUSH32 0x53454e4445525f4e4f545f415050524f56454400000000000000000000000000
00000258: DUP2
00000259: MSTORE
0000025a: POP
0000025b: PUSH1 0x20
0000025d: ADD
0000025e: SWAP2
0000025f: POP
00000260: POP
00000261: PUSH1 0x40
00000263: MLOAD
00000264: DUP1
00000265: SWAP2
00000266: SUB
00000267: SWAP1
00000268: REVERT
00000269: JUMPDEST
0000026a: STOP
0000026b: JUMPDEST
0000026c: PUSH1 0x00
0000026e: DUP1
0000026f: REVERT
00000270: JUMPDEST
00000271: CALLVALUE
00000272: DUP1
00000273: ISZERO
00000274: PUSH2 0x027c
00000277: JUMPI
00000278: PUSH1 0x00
0000027a: DUP1
0000027b: REVERT
0000027c: JUMPDEST
0000027d: POP
0000027e: PUSH2 0x0285
00000281: PUSH2 0x07b0
00000284: JUMP
00000285: JUMPDEST
00000286: PUSH1 0x40
00000288: MLOAD
00000289: DUP1
0000028a: DUP3
0000028b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002a0: AND
000002a1: DUP2
000002a2: MSTORE
000002a3: PUSH1 0x20
000002a5: ADD
000002a6: SWAP2
000002a7: POP
000002a8: POP
000002a9: PUSH1 0x40
000002ab: MLOAD
000002ac: DUP1
000002ad: SWAP2
000002ae: SUB
000002af: SWAP1
000002b0: RETURN
000002b1: JUMPDEST
000002b2: CALLVALUE
000002b3: DUP1
000002b4: ISZERO
000002b5: PUSH2 0x02bd
000002b8: JUMPI
000002b9: PUSH1 0x00
000002bb: DUP1
000002bc: REVERT
000002bd: JUMPDEST
000002be: POP
000002bf: PUSH2 0x02c6
000002c2: PUSH2 0x07d6
000002c5: JUMP
000002c6: JUMPDEST
000002c7: PUSH1 0x40
000002c9: MLOAD
000002ca: DUP1
000002cb: DUP3
000002cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e1: AND
000002e2: DUP2
000002e3: MSTORE
000002e4: PUSH1 0x20
000002e6: ADD
000002e7: SWAP2
000002e8: POP
000002e9: POP
000002ea: PUSH1 0x40
000002ec: MLOAD
000002ed: DUP1
000002ee: SWAP2
000002ef: SUB
000002f0: SWAP1
000002f1: RETURN
000002f2: JUMPDEST
000002f3: CALLVALUE
000002f4: DUP1
000002f5: ISZERO
000002f6: PUSH2 0x02fe
000002f9: JUMPI
000002fa: PUSH1 0x00
000002fc: DUP1
000002fd: REVERT
000002fe: JUMPDEST
000002ff: POP
00000300: PUSH2 0x0307
00000303: PUSH2 0x07fc
00000306: JUMP
00000307: JUMPDEST
00000308: PUSH1 0x40
0000030a: MLOAD
0000030b: DUP1
0000030c: DUP3
0000030d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000322: AND
00000323: DUP2
00000324: MSTORE
00000325: PUSH1 0x20
00000327: ADD
00000328: SWAP2
00000329: POP
0000032a: POP
0000032b: PUSH1 0x40
0000032d: MLOAD
0000032e: DUP1
0000032f: SWAP2
00000330: SUB
00000331: SWAP1
00000332: RETURN
00000333: JUMPDEST
00000334: CALLVALUE
00000335: DUP1
00000336: ISZERO
00000337: PUSH2 0x033f
0000033a: JUMPI
0000033b: PUSH1 0x00
0000033d: DUP1
0000033e: REVERT
0000033f: JUMPDEST
00000340: POP
00000341: PUSH2 0x036c
00000344: PUSH1 0x04
00000346: DUP1
00000347: CALLDATASIZE
00000348: SUB
00000349: PUSH1 0x20
0000034b: DUP2
0000034c: LT
0000034d: ISZERO
0000034e: PUSH2 0x0356
00000351: JUMPI
00000352: PUSH1 0x00
00000354: DUP1
00000355: REVERT
00000356: JUMPDEST
00000357: DUP2
00000358: ADD
00000359: SWAP1
0000035a: DUP1
0000035b: DUP1
0000035c: CALLDATALOAD
0000035d: SWAP1
0000035e: PUSH1 0x20
00000360: ADD
00000361: SWAP1
00000362: SWAP3
00000363: SWAP2
00000364: SWAP1
00000365: POP
00000366: POP
00000367: POP
00000368: PUSH2 0x0822
0000036b: JUMP
0000036c: JUMPDEST
0000036d: STOP
0000036e: JUMPDEST
0000036f: CALLVALUE
00000370: DUP1
00000371: ISZERO
00000372: PUSH2 0x037a
00000375: JUMPI
00000376: PUSH1 0x00
00000378: DUP1
00000379: REVERT
0000037a: JUMPDEST
0000037b: POP
0000037c: PUSH2 0x0383
0000037f: PUSH2 0x0980
00000382: JUMP
00000383: JUMPDEST
00000384: PUSH1 0x40
00000386: MLOAD
00000387: DUP1
00000388: DUP3
00000389: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000039e: AND
0000039f: DUP2
000003a0: MSTORE
000003a1: PUSH1 0x20
000003a3: ADD
000003a4: SWAP2
000003a5: POP
000003a6: POP
000003a7: PUSH1 0x40
000003a9: MLOAD
000003aa: DUP1
000003ab: SWAP2
000003ac: SUB
000003ad: SWAP1
000003ae: RETURN
000003af: JUMPDEST
000003b0: CALLVALUE
000003b1: DUP1
000003b2: ISZERO
000003b3: PUSH2 0x03bb
000003b6: JUMPI
000003b7: PUSH1 0x00
000003b9: DUP1
000003ba: REVERT
000003bb: JUMPDEST
000003bc: POP
000003bd: PUSH2 0x03c4
000003c0: PUSH2 0x09a6
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH1 0x40
000003c7: MLOAD
000003c8: DUP1
000003c9: DUP3
000003ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003df: AND
000003e0: DUP2
000003e1: MSTORE
000003e2: PUSH1 0x20
000003e4: ADD
000003e5: SWAP2
000003e6: POP
000003e7: POP
000003e8: PUSH1 0x40
000003ea: MLOAD
000003eb: DUP1
000003ec: SWAP2
000003ed: SUB
000003ee: SWAP1
000003ef: RETURN
000003f0: JUMPDEST
000003f1: CALLVALUE
000003f2: DUP1
000003f3: ISZERO
000003f4: PUSH2 0x03fc
000003f7: JUMPI
000003f8: PUSH1 0x00
000003fa: DUP1
000003fb: REVERT
000003fc: JUMPDEST
000003fd: POP
000003fe: PUSH2 0x0405
00000401: PUSH2 0x09cc
00000404: JUMP
00000405: JUMPDEST
00000406: PUSH1 0x40
00000408: MLOAD
00000409: DUP1
0000040a: DUP3
0000040b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000420: AND
00000421: DUP2
00000422: MSTORE
00000423: PUSH1 0x20
00000425: ADD
00000426: SWAP2
00000427: POP
00000428: POP
00000429: PUSH1 0x40
0000042b: MLOAD
0000042c: DUP1
0000042d: SWAP2
0000042e: SUB
0000042f: SWAP1
00000430: RETURN
00000431: JUMPDEST
00000432: CALLVALUE
00000433: DUP1
00000434: ISZERO
00000435: PUSH2 0x043d
00000438: JUMPI
00000439: PUSH1 0x00
0000043b: DUP1
0000043c: REVERT
0000043d: JUMPDEST
0000043e: POP
0000043f: PUSH2 0x0446
00000442: PUSH2 0x09f2
00000445: JUMP
00000446: JUMPDEST
00000447: PUSH1 0x40
00000449: MLOAD
0000044a: DUP1
0000044b: DUP3
0000044c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000461: AND
00000462: DUP2
00000463: MSTORE
00000464: PUSH1 0x20
00000466: ADD
00000467: SWAP2
00000468: POP
00000469: POP
0000046a: PUSH1 0x40
0000046c: MLOAD
0000046d: DUP1
0000046e: SWAP2
0000046f: SUB
00000470: SWAP1
00000471: RETURN
00000472: JUMPDEST
00000473: CALLVALUE
00000474: DUP1
00000475: ISZERO
00000476: PUSH2 0x047e
00000479: JUMPI
0000047a: PUSH1 0x00
0000047c: DUP1
0000047d: REVERT
0000047e: JUMPDEST
0000047f: POP
00000480: PUSH2 0x0487
00000483: PUSH2 0x0a18
00000486: JUMP
00000487: JUMPDEST
00000488: STOP
00000489: JUMPDEST
0000048a: CALLVALUE
0000048b: DUP1
0000048c: ISZERO
0000048d: PUSH2 0x0495
00000490: JUMPI
00000491: PUSH1 0x00
00000493: DUP1
00000494: REVERT
00000495: JUMPDEST
00000496: POP
00000497: PUSH2 0x04f8
0000049a: PUSH1 0x04
0000049c: DUP1
0000049d: CALLDATASIZE
0000049e: SUB
0000049f: PUSH1 0x40
000004a1: DUP2
000004a2: LT
000004a3: ISZERO
000004a4: PUSH2 0x04ac
000004a7: JUMPI
000004a8: PUSH1 0x00
000004aa: DUP1
000004ab: REVERT
000004ac: JUMPDEST
000004ad: DUP2
000004ae: ADD
000004af: SWAP1
000004b0: DUP1
000004b1: DUP1
000004b2: CALLDATALOAD
000004b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004c8: AND
000004c9: SWAP1
000004ca: PUSH1 0x20
000004cc: ADD
000004cd: SWAP1
000004ce: SWAP3
000004cf: SWAP2
000004d0: SWAP1
000004d1: DUP1
000004d2: CALLDATALOAD
000004d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e8: AND
000004e9: SWAP1
000004ea: PUSH1 0x20
000004ec: ADD
000004ed: SWAP1
000004ee: SWAP3
000004ef: SWAP2
000004f0: SWAP1
000004f1: POP
000004f2: POP
000004f3: POP
000004f4: PUSH2 0x0a7c
000004f7: JUMP
000004f8: JUMPDEST
000004f9: STOP
000004fa: JUMPDEST
000004fb: CALLVALUE
000004fc: DUP1
000004fd: ISZERO
000004fe: PUSH2 0x0506
00000501: JUMPI
00000502: PUSH1 0x00
00000504: DUP1
00000505: REVERT
00000506: JUMPDEST
00000507: POP
00000508: PUSH2 0x050f
0000050b: PUSH2 0x0be5
0000050e: JUMP
0000050f: JUMPDEST
00000510: STOP
00000511: JUMPDEST
00000512: CALLVALUE
00000513: DUP1
00000514: ISZERO
00000515: PUSH2 0x051d
00000518: JUMPI
00000519: PUSH1 0x00
0000051b: DUP1
0000051c: REVERT
0000051d: JUMPDEST
0000051e: POP
0000051f: PUSH2 0x0526
00000522: PUSH2 0x0c66
00000525: JUMP
00000526: JUMPDEST
00000527: PUSH1 0x40
00000529: MLOAD
0000052a: DUP1
0000052b: DUP3
0000052c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000541: AND
00000542: DUP2
00000543: MSTORE
00000544: PUSH1 0x20
00000546: ADD
00000547: SWAP2
00000548: POP
00000549: POP
0000054a: PUSH1 0x40
0000054c: MLOAD
0000054d: DUP1
0000054e: SWAP2
0000054f: SUB
00000550: SWAP1
00000551: RETURN
00000552: JUMPDEST
00000553: CALLVALUE
00000554: DUP1
00000555: ISZERO
00000556: PUSH2 0x055e
00000559: JUMPI
0000055a: PUSH1 0x00
0000055c: DUP1
0000055d: REVERT
0000055e: JUMPDEST
0000055f: POP
00000560: PUSH2 0x0567
00000563: PUSH2 0x0c8c
00000566: JUMP
00000567: JUMPDEST
00000568: PUSH1 0x40
0000056a: MLOAD
0000056b: DUP1
0000056c: DUP3
0000056d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000582: AND
00000583: DUP2
00000584: MSTORE
00000585: PUSH1 0x20
00000587: ADD
00000588: SWAP2
00000589: POP
0000058a: POP
0000058b: PUSH1 0x40
0000058d: MLOAD
0000058e: DUP1
0000058f: SWAP2
00000590: SUB
00000591: SWAP1
00000592: RETURN
00000593: JUMPDEST
00000594: CALLVALUE
00000595: DUP1
00000596: ISZERO
00000597: PUSH2 0x059f
0000059a: JUMPI
0000059b: PUSH1 0x00
0000059d: DUP1
0000059e: REVERT
0000059f: JUMPDEST
000005a0: POP
000005a1: PUSH2 0x05a8
000005a4: PUSH2 0x0cb2
000005a7: JUMP
000005a8: JUMPDEST
000005a9: PUSH1 0x40
000005ab: MLOAD
000005ac: DUP1
000005ad: DUP3
000005ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c3: AND
000005c4: DUP2
000005c5: MSTORE
000005c6: PUSH1 0x20
000005c8: ADD
000005c9: SWAP2
000005ca: POP
000005cb: POP
000005cc: PUSH1 0x40
000005ce: MLOAD
000005cf: DUP1
000005d0: SWAP2
000005d1: SUB
000005d2: SWAP1
000005d3: RETURN
000005d4: JUMPDEST
000005d5: CALLVALUE
000005d6: DUP1
000005d7: ISZERO
000005d8: PUSH2 0x05e0
000005db: JUMPI
000005dc: PUSH1 0x00
000005de: DUP1
000005df: REVERT
000005e0: JUMPDEST
000005e1: POP
000005e2: PUSH2 0x060d
000005e5: PUSH1 0x04
000005e7: DUP1
000005e8: CALLDATASIZE
000005e9: SUB
000005ea: PUSH1 0x20
000005ec: DUP2
000005ed: LT
000005ee: ISZERO
000005ef: PUSH2 0x05f7
000005f2: JUMPI
000005f3: PUSH1 0x00
000005f5: DUP1
000005f6: REVERT
000005f7: JUMPDEST
000005f8: DUP2
000005f9: ADD
000005fa: SWAP1
000005fb: DUP1
000005fc: DUP1
000005fd: CALLDATALOAD
000005fe: SWAP1
000005ff: PUSH1 0x20
00000601: ADD
00000602: SWAP1
00000603: SWAP3
00000604: SWAP2
00000605: SWAP1
00000606: POP
00000607: POP
00000608: POP
00000609: PUSH2 0x0cd8
0000060c: JUMP
0000060d: JUMPDEST
0000060e: STOP
0000060f: JUMPDEST
00000610: CALLVALUE
00000611: DUP1
00000612: ISZERO
00000613: PUSH2 0x061b
00000616: JUMPI
00000617: PUSH1 0x00
00000619: DUP1
0000061a: REVERT
0000061b: JUMPDEST
0000061c: POP
0000061d: PUSH2 0x0624
00000620: PUSH2 0x0e19
00000623: JUMP
00000624: JUMPDEST
00000625: STOP
00000626: JUMPDEST
00000627: CALLVALUE
00000628: DUP1
00000629: ISZERO
0000062a: PUSH2 0x0632
0000062d: JUMPI
0000062e: PUSH1 0x00
00000630: DUP1
00000631: REVERT
00000632: JUMPDEST
00000633: POP
00000634: PUSH2 0x0756
00000637: PUSH1 0x04
00000639: DUP1
0000063a: CALLDATASIZE
0000063b: SUB
0000063c: PUSH2 0x0100
0000063f: DUP2
00000640: LT
00000641: ISZERO
00000642: PUSH2 0x064a
00000645: JUMPI
00000646: PUSH1 0x00
00000648: DUP1
00000649: REVERT
0000064a: JUMPDEST
0000064b: DUP2
0000064c: ADD
0000064d: SWAP1
0000064e: DUP1
0000064f: DUP1
00000650: CALLDATALOAD
00000651: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000666: AND
00000667: SWAP1
00000668: PUSH1 0x20
0000066a: ADD
0000066b: SWAP1
0000066c: SWAP3
0000066d: SWAP2
0000066e: SWAP1
0000066f: DUP1
00000670: CALLDATALOAD
00000671: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000686: AND
00000687: SWAP1
00000688: PUSH1 0x20
0000068a: ADD
0000068b: SWAP1
0000068c: SWAP3
0000068d: SWAP2
0000068e: SWAP1
0000068f: DUP1
00000690: CALLDATALOAD
00000691: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006a6: AND
000006a7: SWAP1
000006a8: PUSH1 0x20
000006aa: ADD
000006ab: SWAP1
000006ac: SWAP3
000006ad: SWAP2
000006ae: SWAP1
000006af: DUP1
000006b0: CALLDATALOAD
000006b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006c6: AND
000006c7: SWAP1
000006c8: PUSH1 0x20
000006ca: ADD
000006cb: SWAP1
000006cc: SWAP3
000006cd: SWAP2
000006ce: SWAP1
000006cf: DUP1
000006d0: CALLDATALOAD
000006d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e6: AND
000006e7: SWAP1
000006e8: PUSH1 0x20
000006ea: ADD
000006eb: SWAP1
000006ec: SWAP3
000006ed: SWAP2
000006ee: SWAP1
000006ef: DUP1
000006f0: CALLDATALOAD
000006f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000706: AND
00000707: SWAP1
00000708: PUSH1 0x20
0000070a: ADD
0000070b: SWAP1
0000070c: SWAP3
0000070d: SWAP2
0000070e: SWAP1
0000070f: DUP1
00000710: CALLDATALOAD
00000711: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000726: AND
00000727: SWAP1
00000728: PUSH1 0x20
0000072a: ADD
0000072b: SWAP1
0000072c: SWAP3
0000072d: SWAP2
0000072e: SWAP1
0000072f: DUP1
00000730: CALLDATALOAD
00000731: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000746: AND
00000747: SWAP1
00000748: PUSH1 0x20
0000074a: ADD
0000074b: SWAP1
0000074c: SWAP3
0000074d: SWAP2
0000074e: SWAP1
0000074f: POP
00000750: POP
00000751: POP
00000752: PUSH2 0x0fb0
00000755: JUMP
00000756: JUMPDEST
00000757: STOP
00000758: JUMPDEST
00000759: CALLVALUE
0000075a: DUP1
0000075b: ISZERO
0000075c: PUSH2 0x0764
0000075f: JUMPI
00000760: PUSH1 0x00
00000762: DUP1
00000763: REVERT
00000764: JUMPDEST
00000765: POP
00000766: PUSH2 0x076d
00000769: PUSH2 0x1617
0000076c: JUMP
0000076d: JUMPDEST
0000076e: PUSH1 0x40
00000770: MLOAD
00000771: DUP1
00000772: DUP3
00000773: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000788: AND
00000789: DUP2
0000078a: MSTORE
0000078b: PUSH1 0x20
0000078d: ADD
0000078e: SWAP2
0000078f: POP
00000790: POP
00000791: PUSH1 0x40
00000793: MLOAD
00000794: DUP1
00000795: SWAP2
00000796: SUB
00000797: SWAP1
00000798: RETURN
00000799: JUMPDEST
0000079a: CALLVALUE
0000079b: DUP1
0000079c: ISZERO
0000079d: PUSH2 0x07a5
000007a0: JUMPI
000007a1: PUSH1 0x00
000007a3: DUP1
000007a4: REVERT
000007a5: JUMPDEST
000007a6: POP
000007a7: PUSH2 0x07ae
000007aa: PUSH2 0x163d
000007ad: JUMP
000007ae: JUMPDEST
000007af: STOP
000007b0: JUMPDEST
000007b1: PUSH1 0x0f
000007b3: PUSH1 0x00
000007b5: SWAP1
000007b6: SLOAD
000007b7: SWAP1
000007b8: PUSH2 0x0100
000007bb: EXP
000007bc: SWAP1
000007bd: DIV
000007be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007d3: AND
000007d4: DUP2
000007d5: JUMP
000007d6: JUMPDEST
000007d7: PUSH1 0x0c
000007d9: PUSH1 0x00
000007db: SWAP1
000007dc: SLOAD
000007dd: SWAP1
000007de: PUSH2 0x0100
000007e1: EXP
000007e2: SWAP1
000007e3: DIV
000007e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f9: AND
000007fa: DUP2
000007fb: JUMP
000007fc: JUMPDEST
000007fd: PUSH1 0x0b
000007ff: PUSH1 0x00
00000801: SWAP1
00000802: SLOAD
00000803: SWAP1
00000804: PUSH2 0x0100
00000807: EXP
00000808: SWAP1
00000809: DIV
0000080a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000081f: AND
00000820: DUP2
00000821: JUMP
00000822: JUMPDEST
00000823: PUSH1 0x03
00000825: SLOAD
00000826: TIMESTAMP
00000827: GT
00000828: PUSH2 0x0899
0000082b: JUMPI
0000082c: PUSH1 0x40
0000082e: MLOAD
0000082f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000850: DUP2
00000851: MSTORE
00000852: PUSH1 0x04
00000854: ADD
00000855: DUP1
00000856: DUP1
00000857: PUSH1 0x20
00000859: ADD
0000085a: DUP3
0000085b: DUP2
0000085c: SUB
0000085d: DUP3
0000085e: MSTORE
0000085f: PUSH1 0x09
00000861: DUP2
00000862: MSTORE
00000863: PUSH1 0x20
00000865: ADD
00000866: DUP1
00000867: PUSH32 0x544f4f5f4541524c590000000000000000000000000000000000000000000000
00000888: DUP2
00000889: MSTORE
0000088a: POP
0000088b: PUSH1 0x20
0000088d: ADD
0000088e: SWAP2
0000088f: POP
00000890: POP
00000891: PUSH1 0x40
00000893: MLOAD
00000894: DUP1
00000895: SWAP2
00000896: SUB
00000897: SWAP1
00000898: REVERT
00000899: JUMPDEST
0000089a: PUSH1 0x00
0000089c: PUSH1 0x0f
0000089e: PUSH1 0x00
000008a0: SWAP1
000008a1: SLOAD
000008a2: SWAP1
000008a3: PUSH2 0x0100
000008a6: EXP
000008a7: SWAP1
000008a8: DIV
000008a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008be: AND
000008bf: SWAP1
000008c0: POP
000008c1: DUP1
000008c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d7: AND
000008d8: PUSH4 0x4f69c0d4
000008dd: PUSH8 0x0de0b6b3a7640000
000008e6: DUP5
000008e7: MUL
000008e8: PUSH1 0x05
000008ea: PUSH1 0x40
000008ec: MLOAD
000008ed: DUP4
000008ee: PUSH4 0xffffffff
000008f3: AND
000008f4: PUSH1 0xe0
000008f6: SHL
000008f7: DUP2
000008f8: MSTORE
000008f9: PUSH1 0x04
000008fb: ADD
000008fc: DUP1
000008fd: DUP4
000008fe: DUP2
000008ff: MSTORE
00000900: PUSH1 0x20
00000902: ADD
00000903: DUP1
00000904: PUSH1 0x20
00000906: ADD
00000907: DUP3
00000908: DUP2
00000909: SUB
0000090a: DUP3
0000090b: MSTORE
0000090c: DUP4
0000090d: DUP2
0000090e: DUP2
0000090f: SLOAD
00000910: DUP2
00000911: MSTORE
00000912: PUSH1 0x20
00000914: ADD
00000915: SWAP2
00000916: POP
00000917: DUP1
00000918: SLOAD
00000919: DUP1
0000091a: ISZERO
0000091b: PUSH2 0x0943
0000091e: JUMPI
0000091f: PUSH1 0x20
00000921: MUL
00000922: DUP3
00000923: ADD
00000924: SWAP2
00000925: SWAP1
00000926: PUSH1 0x00
00000928: MSTORE
00000929: PUSH1 0x20
0000092b: PUSH1 0x00
0000092d: KECCAK256
0000092e: SWAP1
0000092f: JUMPDEST
00000930: DUP2
00000931: SLOAD
00000932: DUP2
00000933: MSTORE
00000934: PUSH1 0x20
00000936: ADD
00000937: SWAP1
00000938: PUSH1 0x01
0000093a: ADD
0000093b: SWAP1
0000093c: DUP1
0000093d: DUP4
0000093e: GT
0000093f: PUSH2 0x092f
00000942: JUMPI
00000943: JUMPDEST
00000944: POP
00000945: POP
00000946: SWAP4
00000947: POP
00000948: POP
00000949: POP
0000094a: POP
0000094b: PUSH1 0x00
0000094d: PUSH1 0x40
0000094f: MLOAD
00000950: DUP1
00000951: DUP4
00000952: SUB
00000953: DUP2
00000954: PUSH1 0x00
00000956: DUP8
00000957: DUP1
00000958: EXTCODESIZE
00000959: ISZERO
0000095a: DUP1
0000095b: ISZERO
0000095c: PUSH2 0x0964
0000095f: JUMPI
00000960: PUSH1 0x00
00000962: DUP1
00000963: REVERT
00000964: JUMPDEST
00000965: POP
00000966: GAS
00000967: CALL
00000968: ISZERO
00000969: DUP1
0000096a: ISZERO
0000096b: PUSH2 0x0978
0000096e: JUMPI
0000096f: RETURNDATASIZE
00000970: PUSH1 0x00
00000972: DUP1
00000973: RETURNDATACOPY
00000974: RETURNDATASIZE
00000975: PUSH1 0x00
00000977: REVERT
00000978: JUMPDEST
00000979: POP
0000097a: POP
0000097b: POP
0000097c: POP
0000097d: POP
0000097e: POP
0000097f: JUMP
00000980: JUMPDEST
00000981: PUSH1 0x06
00000983: PUSH1 0x00
00000985: SWAP1
00000986: SLOAD
00000987: SWAP1
00000988: PUSH2 0x0100
0000098b: EXP
0000098c: SWAP1
0000098d: DIV
0000098e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a3: AND
000009a4: DUP2
000009a5: JUMP
000009a6: JUMPDEST
000009a7: PUSH1 0x10
000009a9: PUSH1 0x00
000009ab: SWAP1
000009ac: SLOAD
000009ad: SWAP1
000009ae: PUSH2 0x0100
000009b1: EXP
000009b2: SWAP1
000009b3: DIV
000009b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009c9: AND
000009ca: DUP2
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH1 0x0d
000009cf: PUSH1 0x00
000009d1: SWAP1
000009d2: SLOAD
000009d3: SWAP1
000009d4: PUSH2 0x0100
000009d7: EXP
000009d8: SWAP1
000009d9: DIV
000009da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ef: AND
000009f0: DUP2
000009f1: JUMP
000009f2: JUMPDEST
000009f3: PUSH1 0x08
000009f5: PUSH1 0x00
000009f7: SWAP1
000009f8: SLOAD
000009f9: SWAP1
000009fa: PUSH2 0x0100
000009fd: EXP
000009fe: SWAP1
000009ff: DIV
00000a00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a15: AND
00000a16: DUP2
00000a17: JUMP
00000a18: JUMPDEST
00000a19: PUSH1 0x01
00000a1b: PUSH1 0x00
00000a1d: SWAP1
00000a1e: SLOAD
00000a1f: SWAP1
00000a20: PUSH2 0x0100
00000a23: EXP
00000a24: SWAP1
00000a25: DIV
00000a26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a3b: AND
00000a3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a51: AND
00000a52: CALLER
00000a53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a68: AND
00000a69: EQ
00000a6a: PUSH2 0x0a72
00000a6d: JUMPI
00000a6e: PUSH1 0x00
00000a70: DUP1
00000a71: REVERT
00000a72: JUMPDEST
00000a73: PUSH2 0x0a7a
00000a76: PUSH2 0x1972
00000a79: JUMP
00000a7a: JUMPDEST
00000a7b: JUMP
00000a7c: JUMPDEST
00000a7d: PUSH1 0x01
00000a7f: PUSH1 0x00
00000a81: SWAP1
00000a82: SLOAD
00000a83: SWAP1
00000a84: PUSH2 0x0100
00000a87: EXP
00000a88: SWAP1
00000a89: DIV
00000a8a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a9f: AND
00000aa0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab5: AND
00000ab6: CALLER
00000ab7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000acc: AND
00000acd: EQ
00000ace: PUSH2 0x0ad6
00000ad1: JUMPI
00000ad2: PUSH1 0x00
00000ad4: DUP1
00000ad5: REVERT
00000ad6: JUMPDEST
00000ad7: PUSH1 0x00
00000ad9: ISZERO
00000ada: ISZERO
00000adb: PUSH1 0x19
00000add: PUSH1 0x00
00000adf: SWAP1
00000ae0: SLOAD
00000ae1: SWAP1
00000ae2: PUSH2 0x0100
00000ae5: EXP
00000ae6: SWAP1
00000ae7: DIV
00000ae8: PUSH1 0xff
00000aea: AND
00000aeb: ISZERO
00000aec: ISZERO
00000aed: EQ
00000aee: PUSH2 0x0b5f
00000af1: JUMPI
00000af2: PUSH1 0x40
00000af4: MLOAD
00000af5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b16: DUP2
00000b17: MSTORE
00000b18: PUSH1 0x04
00000b1a: ADD
00000b1b: DUP1
00000b1c: DUP1
00000b1d: PUSH1 0x20
00000b1f: ADD
00000b20: DUP3
00000b21: DUP2
00000b22: SUB
00000b23: DUP3
00000b24: MSTORE
00000b25: PUSH1 0x14
00000b27: DUP2
00000b28: MSTORE
00000b29: PUSH1 0x20
00000b2b: ADD
00000b2c: DUP1
00000b2d: PUSH32 0x4144445245535345535f4e4f545f4c4f434b4544000000000000000000000000
00000b4e: DUP2
00000b4f: MSTORE
00000b50: POP
00000b51: PUSH1 0x20
00000b53: ADD
00000b54: SWAP2
00000b55: POP
00000b56: POP
00000b57: PUSH1 0x40
00000b59: MLOAD
00000b5a: DUP1
00000b5b: SWAP2
00000b5c: SUB
00000b5d: SWAP1
00000b5e: REVERT
00000b5f: JUMPDEST
00000b60: DUP2
00000b61: PUSH1 0x0e
00000b63: PUSH1 0x00
00000b65: PUSH2 0x0100
00000b68: EXP
00000b69: DUP2
00000b6a: SLOAD
00000b6b: DUP2
00000b6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b81: MUL
00000b82: NOT
00000b83: AND
00000b84: SWAP1
00000b85: DUP4
00000b86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b9b: AND
00000b9c: MUL
00000b9d: OR
00000b9e: SWAP1
00000b9f: SSTORE
00000ba0: POP
00000ba1: DUP1
00000ba2: PUSH1 0x0f
00000ba4: PUSH1 0x00
00000ba6: PUSH2 0x0100
00000ba9: EXP
00000baa: DUP2
00000bab: SLOAD
00000bac: DUP2
00000bad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bc2: MUL
00000bc3: NOT
00000bc4: AND
00000bc5: SWAP1
00000bc6: DUP4
00000bc7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bdc: AND
00000bdd: MUL
00000bde: OR
00000bdf: SWAP1
00000be0: SSTORE
00000be1: POP
00000be2: POP
00000be3: POP
00000be4: JUMP
00000be5: JUMPDEST
00000be6: PUSH1 0x03
00000be8: SLOAD
00000be9: TIMESTAMP
00000bea: GT
00000beb: PUSH2 0x0c5c
00000bee: JUMPI
00000bef: PUSH1 0x40
00000bf1: MLOAD
00000bf2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c13: DUP2
00000c14: MSTORE
00000c15: PUSH1 0x04
00000c17: ADD
00000c18: DUP1
00000c19: DUP1
00000c1a: PUSH1 0x20
00000c1c: ADD
00000c1d: DUP3
00000c1e: DUP2
00000c1f: SUB
00000c20: DUP3
00000c21: MSTORE
00000c22: PUSH1 0x09
00000c24: DUP2
00000c25: MSTORE
00000c26: PUSH1 0x20
00000c28: ADD
00000c29: DUP1
00000c2a: PUSH32 0x544f4f5f4541524c590000000000000000000000000000000000000000000000
00000c4b: DUP2
00000c4c: MSTORE
00000c4d: POP
00000c4e: PUSH1 0x20
00000c50: ADD
00000c51: SWAP2
00000c52: POP
00000c53: POP
00000c54: PUSH1 0x40
00000c56: MLOAD
00000c57: DUP1
00000c58: SWAP2
00000c59: SUB
00000c5a: SWAP1
00000c5b: REVERT
00000c5c: JUMPDEST
00000c5d: PUSH2 0x0c64
00000c60: PUSH2 0x1972
00000c63: JUMP
00000c64: JUMPDEST
00000c65: JUMP
00000c66: JUMPDEST
00000c67: PUSH1 0x09
00000c69: PUSH1 0x00
00000c6b: SWAP1
00000c6c: SLOAD
00000c6d: SWAP1
00000c6e: PUSH2 0x0100
00000c71: EXP
00000c72: SWAP1
00000c73: DIV
00000c74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c89: AND
00000c8a: DUP2
00000c8b: JUMP
00000c8c: JUMPDEST
00000c8d: PUSH1 0x0e
00000c8f: PUSH1 0x00
00000c91: SWAP1
00000c92: SLOAD
00000c93: SWAP1
00000c94: PUSH2 0x0100
00000c97: EXP
00000c98: SWAP1
00000c99: DIV
00000c9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000caf: AND
00000cb0: DUP2
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: PUSH1 0x07
00000cb5: PUSH1 0x00
00000cb7: SWAP1
00000cb8: SLOAD
00000cb9: SWAP1
00000cba: PUSH2 0x0100
00000cbd: EXP
00000cbe: SWAP1
00000cbf: DIV
00000cc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cd5: AND
00000cd6: DUP2
00000cd7: JUMP
00000cd8: JUMPDEST
00000cd9: PUSH1 0x01
00000cdb: PUSH1 0x00
00000cdd: SWAP1
00000cde: SLOAD
00000cdf: SWAP1
00000ce0: PUSH2 0x0100
00000ce3: EXP
00000ce4: SWAP1
00000ce5: DIV
00000ce6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cfb: AND
00000cfc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d11: AND
00000d12: CALLER
00000d13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d28: AND
00000d29: EQ
00000d2a: PUSH2 0x0d32
00000d2d: JUMPI
00000d2e: PUSH1 0x00
00000d30: DUP1
00000d31: REVERT
00000d32: JUMPDEST
00000d33: PUSH1 0x00
00000d35: PUSH1 0x0f
00000d37: PUSH1 0x00
00000d39: SWAP1
00000d3a: SLOAD
00000d3b: SWAP1
00000d3c: PUSH2 0x0100
00000d3f: EXP
00000d40: SWAP1
00000d41: DIV
00000d42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d57: AND
00000d58: SWAP1
00000d59: POP
00000d5a: DUP1
00000d5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d70: AND
00000d71: PUSH4 0x4f69c0d4
00000d76: PUSH8 0x0de0b6b3a7640000
00000d7f: DUP5
00000d80: MUL
00000d81: PUSH1 0x05
00000d83: PUSH1 0x40
00000d85: MLOAD
00000d86: DUP4
00000d87: PUSH4 0xffffffff
00000d8c: AND
00000d8d: PUSH1 0xe0
00000d8f: SHL
00000d90: DUP2
00000d91: MSTORE
00000d92: PUSH1 0x04
00000d94: ADD
00000d95: DUP1
00000d96: DUP4
00000d97: DUP2
00000d98: MSTORE
00000d99: PUSH1 0x20
00000d9b: ADD
00000d9c: DUP1
00000d9d: PUSH1 0x20
00000d9f: ADD
00000da0: DUP3
00000da1: DUP2
00000da2: SUB
00000da3: DUP3
00000da4: MSTORE
00000da5: DUP4
00000da6: DUP2
00000da7: DUP2
00000da8: SLOAD
00000da9: DUP2
00000daa: MSTORE
00000dab: PUSH1 0x20
00000dad: ADD
00000dae: SWAP2
00000daf: POP
00000db0: DUP1
00000db1: SLOAD
00000db2: DUP1
00000db3: ISZERO
00000db4: PUSH2 0x0ddc
00000db7: JUMPI
00000db8: PUSH1 0x20
00000dba: MUL
00000dbb: DUP3
00000dbc: ADD
00000dbd: SWAP2
00000dbe: SWAP1
00000dbf: PUSH1 0x00
00000dc1: MSTORE
00000dc2: PUSH1 0x20
00000dc4: PUSH1 0x00
00000dc6: KECCAK256
00000dc7: SWAP1
00000dc8: JUMPDEST
00000dc9: DUP2
00000dca: SLOAD
00000dcb: DUP2
00000dcc: MSTORE
00000dcd: PUSH1 0x20
00000dcf: ADD
00000dd0: SWAP1
00000dd1: PUSH1 0x01
00000dd3: ADD
00000dd4: SWAP1
00000dd5: DUP1
00000dd6: DUP4
00000dd7: GT
00000dd8: PUSH2 0x0dc8
00000ddb: JUMPI
00000ddc: JUMPDEST
00000ddd: POP
00000dde: POP
00000ddf: SWAP4
00000de0: POP
00000de1: POP
00000de2: POP
00000de3: POP
00000de4: PUSH1 0x00
00000de6: PUSH1 0x40
00000de8: MLOAD
00000de9: DUP1
00000dea: DUP4
00000deb: SUB
00000dec: DUP2
00000ded: PUSH1 0x00
00000def: DUP8
00000df0: DUP1
00000df1: EXTCODESIZE
00000df2: ISZERO
00000df3: DUP1
00000df4: ISZERO
00000df5: PUSH2 0x0dfd
00000df8: JUMPI
00000df9: PUSH1 0x00
00000dfb: DUP1
00000dfc: REVERT
00000dfd: JUMPDEST
00000dfe: POP
00000dff: GAS
00000e00: CALL
00000e01: ISZERO
00000e02: DUP1
00000e03: ISZERO
00000e04: PUSH2 0x0e11
00000e07: JUMPI
00000e08: RETURNDATASIZE
00000e09: PUSH1 0x00
00000e0b: DUP1
00000e0c: RETURNDATACOPY
00000e0d: RETURNDATASIZE
00000e0e: PUSH1 0x00
00000e10: REVERT
00000e11: JUMPDEST
00000e12: POP
00000e13: POP
00000e14: POP
00000e15: POP
00000e16: POP
00000e17: POP
00000e18: JUMP
00000e19: JUMPDEST
00000e1a: PUSH1 0x01
00000e1c: PUSH1 0x00
00000e1e: SWAP1
00000e1f: SLOAD
00000e20: SWAP1
00000e21: PUSH2 0x0100
00000e24: EXP
00000e25: SWAP1
00000e26: DIV
00000e27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e3c: AND
00000e3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e52: AND
00000e53: CALLER
00000e54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e69: AND
00000e6a: EQ
00000e6b: PUSH2 0x0e73
00000e6e: JUMPI
00000e6f: PUSH1 0x00
00000e71: DUP1
00000e72: REVERT
00000e73: JUMPDEST
00000e74: PUSH1 0x00
00000e76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e8b: AND
00000e8c: PUSH1 0x0e
00000e8e: PUSH1 0x00
00000e90: SWAP1
00000e91: SLOAD
00000e92: SWAP1
00000e93: PUSH2 0x0100
00000e96: EXP
00000e97: SWAP1
00000e98: DIV
00000e99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eae: AND
00000eaf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ec4: AND
00000ec5: EQ
00000ec6: ISZERO
00000ec7: DUP1
00000ec8: ISZERO
00000ec9: PUSH2 0x0f21
00000ecc: JUMPI
00000ecd: POP
00000ece: PUSH1 0x00
00000ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ee5: AND
00000ee6: PUSH1 0x06
00000ee8: PUSH1 0x00
00000eea: SWAP1
00000eeb: SLOAD
00000eec: SWAP1
00000eed: PUSH2 0x0100
00000ef0: EXP
00000ef1: SWAP1
00000ef2: DIV
00000ef3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f08: AND
00000f09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f1e: AND
00000f1f: EQ
00000f20: ISZERO
00000f21: JUMPDEST
00000f22: PUSH2 0x0f93
00000f25: JUMPI
00000f26: PUSH1 0x40
00000f28: MLOAD
00000f29: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f4a: DUP2
00000f4b: MSTORE
00000f4c: PUSH1 0x04
00000f4e: ADD
00000f4f: DUP1
00000f50: DUP1
00000f51: PUSH1 0x20
00000f53: ADD
00000f54: DUP3
00000f55: DUP2
00000f56: SUB
00000f57: DUP3
00000f58: MSTORE
00000f59: PUSH1 0x11
00000f5b: DUP2
00000f5c: MSTORE
00000f5d: PUSH1 0x20
00000f5f: ADD
00000f60: DUP1
00000f61: PUSH32 0x4144445245535345535f4e4f545f534554000000000000000000000000000000
00000f82: DUP2
00000f83: MSTORE
00000f84: POP
00000f85: PUSH1 0x20
00000f87: ADD
00000f88: SWAP2
00000f89: POP
00000f8a: POP
00000f8b: PUSH1 0x40
00000f8d: MLOAD
00000f8e: DUP1
00000f8f: SWAP2
00000f90: SUB
00000f91: SWAP1
00000f92: REVERT
00000f93: JUMPDEST
00000f94: PUSH1 0x01
00000f96: PUSH1 0x19
00000f98: PUSH1 0x00
00000f9a: PUSH2 0x0100
00000f9d: EXP
00000f9e: DUP2
00000f9f: SLOAD
00000fa0: DUP2
00000fa1: PUSH1 0xff
00000fa3: MUL
00000fa4: NOT
00000fa5: AND
00000fa6: SWAP1
00000fa7: DUP4
00000fa8: ISZERO
00000fa9: ISZERO
00000faa: MUL
00000fab: OR
00000fac: SWAP1
00000fad: SSTORE
00000fae: POP
00000faf: JUMP
00000fb0: JUMPDEST
00000fb1: PUSH1 0x01
00000fb3: PUSH1 0x00
00000fb5: SWAP1
00000fb6: SLOAD
00000fb7: SWAP1
00000fb8: PUSH2 0x0100
00000fbb: EXP
00000fbc: SWAP1
00000fbd: DIV
00000fbe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fd3: AND
00000fd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fe9: AND
00000fea: CALLER
00000feb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001000: AND
00001001: EQ
00001002: PUSH2 0x100a
00001005: JUMPI
00001006: PUSH1 0x00
00001008: DUP1
00001009: REVERT
0000100a: JUMPDEST
0000100b: PUSH1 0x00
0000100d: ISZERO
0000100e: ISZERO
0000100f: PUSH1 0x19
00001011: PUSH1 0x00
00001013: SWAP1
00001014: SLOAD
00001015: SWAP1
00001016: PUSH2 0x0100
00001019: EXP
0000101a: SWAP1
0000101b: DIV
0000101c: PUSH1 0xff
0000101e: AND
0000101f: ISZERO
00001020: ISZERO
00001021: EQ
00001022: PUSH2 0x1093
00001025: JUMPI
00001026: PUSH1 0x40
00001028: MLOAD
00001029: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000104a: DUP2
0000104b: MSTORE
0000104c: PUSH1 0x04
0000104e: ADD
0000104f: DUP1
00001050: DUP1
00001051: PUSH1 0x20
00001053: ADD
00001054: DUP3
00001055: DUP2
00001056: SUB
00001057: DUP3
00001058: MSTORE
00001059: PUSH1 0x14
0000105b: DUP2
0000105c: MSTORE
0000105d: PUSH1 0x20
0000105f: ADD
00001060: DUP1
00001061: PUSH32 0x4144445245535345535f4e4f545f4c4f434b4544000000000000000000000000
00001082: DUP2
00001083: MSTORE
00001084: POP
00001085: PUSH1 0x20
00001087: ADD
00001088: SWAP2
00001089: POP
0000108a: POP
0000108b: PUSH1 0x40
0000108d: MLOAD
0000108e: DUP1
0000108f: SWAP2
00001090: SUB
00001091: SWAP1
00001092: REVERT
00001093: JUMPDEST
00001094: DUP8
00001095: PUSH1 0x06
00001097: PUSH1 0x00
00001099: PUSH2 0x0100
0000109c: EXP
0000109d: DUP2
0000109e: SLOAD
0000109f: DUP2
000010a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b5: MUL
000010b6: NOT
000010b7: AND
000010b8: SWAP1
000010b9: DUP4
000010ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010cf: AND
000010d0: MUL
000010d1: OR
000010d2: SWAP1
000010d3: SSTORE
000010d4: POP
000010d5: DUP7
000010d6: PUSH1 0x07
000010d8: PUSH1 0x00
000010da: PUSH2 0x0100
000010dd: EXP
000010de: DUP2
000010df: SLOAD
000010e0: DUP2
000010e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010f6: MUL
000010f7: NOT
000010f8: AND
000010f9: SWAP1
000010fa: DUP4
000010fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001110: AND
00001111: MUL
00001112: OR
00001113: SWAP1
00001114: SSTORE
00001115: POP
00001116: PUSH1 0x40
00001118: MLOAD
00001119: DUP1
0000111a: PUSH1 0x40
0000111c: ADD
0000111d: PUSH1 0x40
0000111f: MSTORE
00001120: DUP1
00001121: DUP10
00001122: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001137: AND
00001138: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000114d: AND
0000114e: DUP2
0000114f: MSTORE
00001150: PUSH1 0x20
00001152: ADD
00001153: DUP9
00001154: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001169: AND
0000116a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000117f: AND
00001180: DUP2
00001181: MSTORE
00001182: POP
00001183: PUSH1 0x11
00001185: SWAP1
00001186: PUSH1 0x02
00001188: PUSH2 0x1192
0000118b: SWAP3
0000118c: SWAP2
0000118d: SWAP1
0000118e: PUSH2 0x30fd
00001191: JUMP
00001192: JUMPDEST
00001193: POP
00001194: DUP6
00001195: PUSH1 0x08
00001197: PUSH1 0x00
00001199: PUSH2 0x0100
0000119c: EXP
0000119d: DUP2
0000119e: SLOAD
0000119f: DUP2
000011a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011b5: MUL
000011b6: NOT
000011b7: AND
000011b8: SWAP1
000011b9: DUP4
000011ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011cf: AND
000011d0: MUL
000011d1: OR
000011d2: SWAP1
000011d3: SSTORE
000011d4: POP
000011d5: PUSH1 0x40
000011d7: MLOAD
000011d8: DUP1
000011d9: PUSH1 0x40
000011db: ADD
000011dc: PUSH1 0x40
000011de: MSTORE
000011df: DUP1
000011e0: DUP10
000011e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011f6: AND
000011f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000120c: AND
0000120d: DUP2
0000120e: MSTORE
0000120f: PUSH1 0x20
00001211: ADD
00001212: DUP8
00001213: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001228: AND
00001229: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000123e: AND
0000123f: DUP2
00001240: MSTORE
00001241: POP
00001242: PUSH1 0x12
00001244: SWAP1
00001245: PUSH1 0x02
00001247: PUSH2 0x1251
0000124a: SWAP3
0000124b: SWAP2
0000124c: SWAP1
0000124d: PUSH2 0x30fd
00001250: JUMP
00001251: JUMPDEST
00001252: POP
00001253: DUP5
00001254: PUSH1 0x09
00001256: PUSH1 0x00
00001258: PUSH2 0x0100
0000125b: EXP
0000125c: DUP2
0000125d: SLOAD
0000125e: DUP2
0000125f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001274: MUL
00001275: NOT
00001276: AND
00001277: SWAP1
00001278: DUP4
00001279: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000128e: AND
0000128f: MUL
00001290: OR
00001291: SWAP1
00001292: SSTORE
00001293: POP
00001294: PUSH1 0x40
00001296: MLOAD
00001297: DUP1
00001298: PUSH1 0x40
0000129a: ADD
0000129b: PUSH1 0x40
0000129d: MSTORE
0000129e: DUP1
0000129f: DUP10
000012a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b5: AND
000012b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012cb: AND
000012cc: DUP2
000012cd: MSTORE
000012ce: PUSH1 0x20
000012d0: ADD
000012d1: DUP7
000012d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012e7: AND
000012e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012fd: AND
000012fe: DUP2
000012ff: MSTORE
00001300: POP
00001301: PUSH1 0x13
00001303: SWAP1
00001304: PUSH1 0x02
00001306: PUSH2 0x1310
00001309: SWAP3
0000130a: SWAP2
0000130b: SWAP1
0000130c: PUSH2 0x30fd
0000130f: JUMP
00001310: JUMPDEST
00001311: POP
00001312: DUP4
00001313: PUSH1 0x0a
00001315: PUSH1 0x00
00001317: PUSH2 0x0100
0000131a: EXP
0000131b: DUP2
0000131c: SLOAD
0000131d: DUP2
0000131e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001333: MUL
00001334: NOT
00001335: AND
00001336: SWAP1
00001337: DUP4
00001338: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000134d: AND
0000134e: MUL
0000134f: OR
00001350: SWAP1
00001351: SSTORE
00001352: POP
00001353: PUSH1 0x40
00001355: MLOAD
00001356: DUP1
00001357: PUSH1 0x40
00001359: ADD
0000135a: PUSH1 0x40
0000135c: MSTORE
0000135d: DUP1
0000135e: DUP10
0000135f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001374: AND
00001375: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000138a: AND
0000138b: DUP2
0000138c: MSTORE
0000138d: PUSH1 0x20
0000138f: ADD
00001390: DUP6
00001391: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013a6: AND
000013a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013bc: AND
000013bd: DUP2
000013be: MSTORE
000013bf: POP
000013c0: PUSH1 0x14
000013c2: SWAP1
000013c3: PUSH1 0x02
000013c5: PUSH2 0x13cf
000013c8: SWAP3
000013c9: SWAP2
000013ca: SWAP1
000013cb: PUSH2 0x30fd
000013ce: JUMP
000013cf: JUMPDEST
000013d0: POP
000013d1: DUP3
000013d2: PUSH1 0x0b
000013d4: PUSH1 0x00
000013d6: PUSH2 0x0100
000013d9: EXP
000013da: DUP2
000013db: SLOAD
000013dc: DUP2
000013dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013f2: MUL
000013f3: NOT
000013f4: AND
000013f5: SWAP1
000013f6: DUP4
000013f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000140c: AND
0000140d: MUL
0000140e: OR
0000140f: SWAP1
00001410: SSTORE
00001411: POP
00001412: PUSH1 0x40
00001414: MLOAD
00001415: DUP1
00001416: PUSH1 0x40
00001418: ADD
00001419: PUSH1 0x40
0000141b: MSTORE
0000141c: DUP1
0000141d: DUP10
0000141e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001433: AND
00001434: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001449: AND
0000144a: DUP2
0000144b: MSTORE
0000144c: PUSH1 0x20
0000144e: ADD
0000144f: DUP5
00001450: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001465: AND
00001466: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000147b: AND
0000147c: DUP2
0000147d: MSTORE
0000147e: POP
0000147f: PUSH1 0x15
00001481: SWAP1
00001482: PUSH1 0x02
00001484: PUSH2 0x148e
00001487: SWAP3
00001488: SWAP2
00001489: SWAP1
0000148a: PUSH2 0x30fd
0000148d: JUMP
0000148e: JUMPDEST
0000148f: POP
00001490: DUP2
00001491: PUSH1 0x0c
00001493: PUSH1 0x00
00001495: PUSH2 0x0100
00001498: EXP
00001499: DUP2
0000149a: SLOAD
0000149b: DUP2
0000149c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b1: MUL
000014b2: NOT
000014b3: AND
000014b4: SWAP1
000014b5: DUP4
000014b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014cb: AND
000014cc: MUL
000014cd: OR
000014ce: SWAP1
000014cf: SSTORE
000014d0: POP
000014d1: PUSH1 0x40
000014d3: MLOAD
000014d4: DUP1
000014d5: PUSH1 0x40
000014d7: ADD
000014d8: PUSH1 0x40
000014da: MSTORE
000014db: DUP1
000014dc: DUP10
000014dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014f2: AND
000014f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001508: AND
00001509: DUP2
0000150a: MSTORE
0000150b: PUSH1 0x20
0000150d: ADD
0000150e: DUP4
0000150f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001524: AND
00001525: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000153a: AND
0000153b: DUP2
0000153c: MSTORE
0000153d: POP
0000153e: PUSH1 0x16
00001540: SWAP1
00001541: PUSH1 0x02
00001543: PUSH2 0x154d
00001546: SWAP3
00001547: SWAP2
00001548: SWAP1
00001549: PUSH2 0x30fd
0000154c: JUMP
0000154d: JUMPDEST
0000154e: POP
0000154f: DUP1
00001550: PUSH1 0x0d
00001552: PUSH1 0x00
00001554: PUSH2 0x0100
00001557: EXP
00001558: DUP2
00001559: SLOAD
0000155a: DUP2
0000155b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001570: MUL
00001571: NOT
00001572: AND
00001573: SWAP1
00001574: DUP4
00001575: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000158a: AND
0000158b: MUL
0000158c: OR
0000158d: SWAP1
0000158e: SSTORE
0000158f: POP
00001590: PUSH1 0x40
00001592: MLOAD
00001593: DUP1
00001594: PUSH1 0x40
00001596: ADD
00001597: PUSH1 0x40
00001599: MSTORE
0000159a: DUP1
0000159b: DUP10
0000159c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015b1: AND
000015b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015c7: AND
000015c8: DUP2
000015c9: MSTORE
000015ca: PUSH1 0x20
000015cc: ADD
000015cd: DUP3
000015ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015e3: AND
000015e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015f9: AND
000015fa: DUP2
000015fb: MSTORE
000015fc: POP
000015fd: PUSH1 0x17
000015ff: SWAP1
00001600: PUSH1 0x02
00001602: PUSH2 0x160c
00001605: SWAP3
00001606: SWAP2
00001607: SWAP1
00001608: PUSH2 0x30fd
0000160b: JUMP
0000160c: JUMPDEST
0000160d: POP
0000160e: POP
0000160f: POP
00001610: POP
00001611: POP
00001612: POP
00001613: POP
00001614: POP
00001615: POP
00001616: JUMP
00001617: JUMPDEST
00001618: PUSH1 0x0a
0000161a: PUSH1 0x00
0000161c: SWAP1
0000161d: SLOAD
0000161e: SWAP1
0000161f: PUSH2 0x0100
00001622: EXP
00001623: SWAP1
00001624: DIV
00001625: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000163a: AND
0000163b: DUP2
0000163c: JUMP
0000163d: JUMPDEST
0000163e: PUSH1 0x02
00001640: PUSH1 0x00
00001642: SLOAD
00001643: EQ
00001644: ISZERO
00001645: PUSH2 0x16b6
00001648: JUMPI
00001649: PUSH1 0x40
0000164b: MLOAD
0000164c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000166d: DUP2
0000166e: MSTORE
0000166f: PUSH1 0x04
00001671: ADD
00001672: DUP1
00001673: DUP1
00001674: PUSH1 0x20
00001676: ADD
00001677: DUP3
00001678: DUP2
00001679: SUB
0000167a: DUP3
0000167b: MSTORE
0000167c: PUSH1 0x1f
0000167e: DUP2
0000167f: MSTORE
00001680: PUSH1 0x20
00001682: ADD
00001683: DUP1
00001684: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000016a5: DUP2
000016a6: MSTORE
000016a7: POP
000016a8: PUSH1 0x20
000016aa: ADD
000016ab: SWAP2
000016ac: POP
000016ad: POP
000016ae: PUSH1 0x40
000016b0: MLOAD
000016b1: DUP1
000016b2: SWAP2
000016b3: SUB
000016b4: SWAP1
000016b5: REVERT
000016b6: JUMPDEST
000016b7: PUSH1 0x02
000016b9: PUSH1 0x00
000016bb: DUP2
000016bc: SWAP1
000016bd: SSTORE
000016be: POP
000016bf: PUSH1 0x00
000016c1: PUSH1 0x0c
000016c3: PUSH1 0x00
000016c5: SWAP1
000016c6: SLOAD
000016c7: SWAP1
000016c8: PUSH2 0x0100
000016cb: EXP
000016cc: SWAP1
000016cd: DIV
000016ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016e3: AND
000016e4: SWAP1
000016e5: POP
000016e6: PUSH1 0x00
000016e8: DUP2
000016e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016fe: AND
000016ff: PUSH4 0x70a08231
00001704: ADDRESS
00001705: PUSH1 0x40
00001707: MLOAD
00001708: DUP3
00001709: PUSH4 0xffffffff
0000170e: AND
0000170f: PUSH1 0xe0
00001711: SHL
00001712: DUP2
00001713: MSTORE
00001714: PUSH1 0x04
00001716: ADD
00001717: DUP1
00001718: DUP3
00001719: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000172e: AND
0000172f: DUP2
00001730: MSTORE
00001731: PUSH1 0x20
00001733: ADD
00001734: SWAP2
00001735: POP
00001736: POP
00001737: PUSH1 0x20
00001739: PUSH1 0x40
0000173b: MLOAD
0000173c: DUP1
0000173d: DUP4
0000173e: SUB
0000173f: DUP2
00001740: DUP7
00001741: DUP1
00001742: EXTCODESIZE
00001743: ISZERO
00001744: DUP1
00001745: ISZERO
00001746: PUSH2 0x174e
00001749: JUMPI
0000174a: PUSH1 0x00
0000174c: DUP1
0000174d: REVERT
0000174e: JUMPDEST
0000174f: POP
00001750: GAS
00001751: STATICCALL
00001752: ISZERO
00001753: DUP1
00001754: ISZERO
00001755: PUSH2 0x1762
00001758: JUMPI
00001759: RETURNDATASIZE
0000175a: PUSH1 0x00
0000175c: DUP1
0000175d: RETURNDATACOPY
0000175e: RETURNDATASIZE
0000175f: PUSH1 0x00
00001761: REVERT
00001762: JUMPDEST
00001763: POP
00001764: POP
00001765: POP
00001766: POP
00001767: PUSH1 0x40
00001769: MLOAD
0000176a: RETURNDATASIZE
0000176b: PUSH1 0x20
0000176d: DUP2
0000176e: LT
0000176f: ISZERO
00001770: PUSH2 0x1778
00001773: JUMPI
00001774: PUSH1 0x00
00001776: DUP1
00001777: REVERT
00001778: JUMPDEST
00001779: DUP2
0000177a: ADD
0000177b: SWAP1
0000177c: DUP1
0000177d: DUP1
0000177e: MLOAD
0000177f: SWAP1
00001780: PUSH1 0x20
00001782: ADD
00001783: SWAP1
00001784: SWAP3
00001785: SWAP2
00001786: SWAP1
00001787: POP
00001788: POP
00001789: POP
0000178a: SWAP1
0000178b: POP
0000178c: PUSH1 0x62
0000178e: PUSH1 0x04
00001790: SLOAD
00001791: DUP2
00001792: PUSH2 0x1797
00001795: JUMPI
00001796: INVALID
00001797: JUMPDEST
00001798: DIV
00001799: DUP2
0000179a: LT
0000179b: PUSH2 0x180c
0000179e: JUMPI
0000179f: PUSH1 0x40
000017a1: MLOAD
000017a2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017c3: DUP2
000017c4: MSTORE
000017c5: PUSH1 0x04
000017c7: ADD
000017c8: DUP1
000017c9: DUP1
000017ca: PUSH1 0x20
000017cc: ADD
000017cd: DUP3
000017ce: DUP2
000017cf: SUB
000017d0: DUP3
000017d1: MSTORE
000017d2: PUSH1 0x11
000017d4: DUP2
000017d5: MSTORE
000017d6: PUSH1 0x20
000017d8: ADD
000017d9: DUP1
000017da: PUSH32 0x4445504f53545f4d4f52455f46554e4453000000000000000000000000000000
000017fb: DUP2
000017fc: MSTORE
000017fd: POP
000017fe: PUSH1 0x20
00001800: ADD
00001801: SWAP2
00001802: POP
00001803: POP
00001804: PUSH1 0x40
00001806: MLOAD
00001807: DUP1
00001808: SWAP2
00001809: SUB
0000180a: SWAP1
0000180b: REVERT
0000180c: JUMPDEST
0000180d: PUSH2 0x1837
00001810: PUSH1 0x0c
00001812: PUSH1 0x00
00001814: SWAP1
00001815: SLOAD
00001816: SWAP1
00001817: PUSH2 0x0100
0000181a: EXP
0000181b: SWAP1
0000181c: DIV
0000181d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001832: AND
00001833: PUSH2 0x28cb
00001836: JUMP
00001837: JUMPDEST
00001838: PUSH2 0x1862
0000183b: PUSH1 0x0d
0000183d: PUSH1 0x00
0000183f: SWAP1
00001840: SLOAD
00001841: SWAP1
00001842: PUSH2 0x0100
00001845: EXP
00001846: SWAP1
00001847: DIV
00001848: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000185d: AND
0000185e: PUSH2 0x28cb
00001861: JUMP
00001862: JUMPDEST
00001863: PUSH2 0x188d
00001866: PUSH1 0x09
00001868: PUSH1 0x00
0000186a: SWAP1
0000186b: SLOAD
0000186c: SWAP1
0000186d: PUSH2 0x0100
00001870: EXP
00001871: SWAP1
00001872: DIV
00001873: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001888: AND
00001889: PUSH2 0x28cb
0000188c: JUMP
0000188d: JUMPDEST
0000188e: PUSH2 0x18b8
00001891: PUSH1 0x0a
00001893: PUSH1 0x00
00001895: SWAP1
00001896: SLOAD
00001897: SWAP1
00001898: PUSH2 0x0100
0000189b: EXP
0000189c: SWAP1
0000189d: DIV
0000189e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018b3: AND
000018b4: PUSH2 0x28cb
000018b7: JUMP
000018b8: JUMPDEST
000018b9: PUSH2 0x18e3
000018bc: PUSH1 0x0b
000018be: PUSH1 0x00
000018c0: SWAP1
000018c1: SLOAD
000018c2: SWAP1
000018c3: PUSH2 0x0100
000018c6: EXP
000018c7: SWAP1
000018c8: DIV
000018c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018de: AND
000018df: PUSH2 0x28cb
000018e2: JUMP
000018e3: JUMPDEST
000018e4: PUSH2 0x190e
000018e7: PUSH1 0x08
000018e9: PUSH1 0x00
000018eb: SWAP1
000018ec: SLOAD
000018ed: SWAP1
000018ee: PUSH2 0x0100
000018f1: EXP
000018f2: SWAP1
000018f3: DIV
000018f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001909: AND
0000190a: PUSH2 0x28cb
0000190d: JUMP
0000190e: JUMPDEST
0000190f: PUSH2 0x1939
00001912: PUSH1 0x07
00001914: PUSH1 0x00
00001916: SWAP1
00001917: SLOAD
00001918: SWAP1
00001919: PUSH2 0x0100
0000191c: EXP
0000191d: SWAP1
0000191e: DIV
0000191f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001934: AND
00001935: PUSH2 0x28cb
00001938: JUMP
00001939: JUMPDEST
0000193a: PUSH1 0x00
0000193c: PUSH1 0x04
0000193e: DUP2
0000193f: SWAP1
00001940: SSTORE
00001941: POP
00001942: PUSH1 0x00
00001944: ISZERO
00001945: ISZERO
00001946: PUSH1 0x19
00001948: PUSH1 0x01
0000194a: SWAP1
0000194b: SLOAD
0000194c: SWAP1
0000194d: PUSH2 0x0100
00001950: EXP
00001951: SWAP1
00001952: DIV
00001953: PUSH1 0xff
00001955: AND
00001956: ISZERO
00001957: ISZERO
00001958: EQ
00001959: ISZERO
0000195a: PUSH2 0x1966
0000195d: JUMPI
0000195e: PUSH2 0x1965
00001961: PUSH2 0x2c47
00001964: JUMP
00001965: JUMPDEST
00001966: JUMPDEST
00001967: POP
00001968: POP
00001969: PUSH1 0x01
0000196b: PUSH1 0x00
0000196d: DUP2
0000196e: SWAP1
0000196f: SSTORE
00001970: POP
00001971: JUMP
00001972: JUMPDEST
00001973: PUSH1 0x02
00001975: PUSH1 0x00
00001977: SLOAD
00001978: EQ
00001979: ISZERO
0000197a: PUSH2 0x19eb
0000197d: JUMPI
0000197e: PUSH1 0x40
00001980: MLOAD
00001981: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000019a2: DUP2
000019a3: MSTORE
000019a4: PUSH1 0x04
000019a6: ADD
000019a7: DUP1
000019a8: DUP1
000019a9: PUSH1 0x20
000019ab: ADD
000019ac: DUP3
000019ad: DUP2
000019ae: SUB
000019af: DUP3
000019b0: MSTORE
000019b1: PUSH1 0x1f
000019b3: DUP2
000019b4: MSTORE
000019b5: PUSH1 0x20
000019b7: ADD
000019b8: DUP1
000019b9: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000019da: DUP2
000019db: MSTORE
000019dc: POP
000019dd: PUSH1 0x20
000019df: ADD
000019e0: SWAP2
000019e1: POP
000019e2: POP
000019e3: PUSH1 0x40
000019e5: MLOAD
000019e6: DUP1
000019e7: SWAP2
000019e8: SUB
000019e9: SWAP1
000019ea: REVERT
000019eb: JUMPDEST
000019ec: PUSH1 0x02
000019ee: PUSH1 0x00
000019f0: DUP2
000019f1: SWAP1
000019f2: SSTORE
000019f3: POP
000019f4: PUSH1 0x00
000019f6: PUSH1 0x0f
000019f8: TIMESTAMP
000019f9: ADD
000019fa: SWAP1
000019fb: POP
000019fc: PUSH1 0x00
000019fe: SELFBALANCE
000019ff: SWAP1
00001a00: POP
00001a01: PUSH1 0x00
00001a03: PUSH1 0x10
00001a05: DUP3
00001a06: DUP2
00001a07: PUSH2 0x1a0c
00001a0a: JUMPI
00001a0b: INVALID
00001a0c: JUMPDEST
00001a0d: DIV
00001a0e: SWAP1
00001a0f: POP
00001a10: PUSH1 0x00
00001a12: PUSH1 0x02
00001a14: PUSH1 0x10
00001a16: DUP5
00001a17: DUP2
00001a18: PUSH2 0x1a1d
00001a1b: JUMPI
00001a1c: INVALID
00001a1d: JUMPDEST
00001a1e: DIV
00001a1f: MUL
00001a20: SWAP1
00001a21: POP
00001a22: PUSH1 0x00
00001a24: PUSH1 0x04
00001a26: PUSH1 0x10
00001a28: DUP6
00001a29: DUP2
00001a2a: PUSH2 0x1a2f
00001a2d: JUMPI
00001a2e: INVALID
00001a2f: JUMPDEST
00001a30: DIV
00001a31: MUL
00001a32: SWAP1
00001a33: POP
00001a34: PUSH1 0x19
00001a36: PUSH1 0x03
00001a38: SWAP1
00001a39: SLOAD
00001a3a: SWAP1
00001a3b: PUSH2 0x0100
00001a3e: EXP
00001a3f: SWAP1
00001a40: DIV
00001a41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a56: AND
00001a57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a6c: AND
00001a6d: PUSH4 0x7ff36ab5
00001a72: DUP5
00001a73: PUSH1 0x00
00001a75: PUSH1 0x11
00001a77: ADDRESS
00001a78: DUP11
00001a79: PUSH1 0x40
00001a7b: MLOAD
00001a7c: DUP7
00001a7d: PUSH4 0xffffffff
00001a82: AND
00001a83: PUSH1 0xe0
00001a85: SHL
00001a86: DUP2
00001a87: MSTORE
00001a88: PUSH1 0x04
00001a8a: ADD
00001a8b: DUP1
00001a8c: DUP6
00001a8d: DUP2
00001a8e: MSTORE
00001a8f: PUSH1 0x20
00001a91: ADD
00001a92: DUP1
00001a93: PUSH1 0x20
00001a95: ADD
00001a96: DUP5
00001a97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aac: AND
00001aad: DUP2
00001aae: MSTORE
00001aaf: PUSH1 0x20
00001ab1: ADD
00001ab2: DUP4
00001ab3: DUP2
00001ab4: MSTORE
00001ab5: PUSH1 0x20
00001ab7: ADD
00001ab8: DUP3
00001ab9: DUP2
00001aba: SUB
00001abb: DUP3
00001abc: MSTORE
00001abd: DUP6
00001abe: DUP2
00001abf: DUP2
00001ac0: SLOAD
00001ac1: DUP2
00001ac2: MSTORE
00001ac3: PUSH1 0x20
00001ac5: ADD
00001ac6: SWAP2
00001ac7: POP
00001ac8: DUP1
00001ac9: SLOAD
00001aca: DUP1
00001acb: ISZERO
00001acc: PUSH2 0x1b2a
00001acf: JUMPI
00001ad0: PUSH1 0x20
00001ad2: MUL
00001ad3: DUP3
00001ad4: ADD
00001ad5: SWAP2
00001ad6: SWAP1
00001ad7: PUSH1 0x00
00001ad9: MSTORE
00001ada: PUSH1 0x20
00001adc: PUSH1 0x00
00001ade: KECCAK256
00001adf: SWAP1
00001ae0: JUMPDEST
00001ae1: DUP2
00001ae2: PUSH1 0x00
00001ae4: SWAP1
00001ae5: SLOAD
00001ae6: SWAP1
00001ae7: PUSH2 0x0100
00001aea: EXP
00001aeb: SWAP1
00001aec: DIV
00001aed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b02: AND
00001b03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b18: AND
00001b19: DUP2
00001b1a: MSTORE
00001b1b: PUSH1 0x20
00001b1d: ADD
00001b1e: SWAP1
00001b1f: PUSH1 0x01
00001b21: ADD
00001b22: SWAP1
00001b23: DUP1
00001b24: DUP4
00001b25: GT
00001b26: PUSH2 0x1ae0
00001b29: JUMPI
00001b2a: JUMPDEST
00001b2b: POP
00001b2c: POP
00001b2d: SWAP6
00001b2e: POP
00001b2f: POP
00001b30: POP
00001b31: POP
00001b32: POP
00001b33: POP
00001b34: PUSH1 0x00
00001b36: PUSH1 0x40
00001b38: MLOAD
00001b39: DUP1
00001b3a: DUP4
00001b3b: SUB
00001b3c: DUP2
00001b3d: DUP6
00001b3e: DUP9
00001b3f: DUP1
00001b40: EXTCODESIZE
00001b41: ISZERO
00001b42: DUP1
00001b43: ISZERO
00001b44: PUSH2 0x1b4c
00001b47: JUMPI
00001b48: PUSH1 0x00
00001b4a: DUP1
00001b4b: REVERT
00001b4c: JUMPDEST
00001b4d: POP
00001b4e: GAS
00001b4f: CALL
00001b50: ISZERO
00001b51: DUP1
00001b52: ISZERO
00001b53: PUSH2 0x1b60
00001b56: JUMPI
00001b57: RETURNDATASIZE
00001b58: PUSH1 0x00
00001b5a: DUP1
00001b5b: RETURNDATACOPY
00001b5c: RETURNDATASIZE
00001b5d: PUSH1 0x00
00001b5f: REVERT
00001b60: JUMPDEST
00001b61: POP
00001b62: POP
00001b63: POP
00001b64: POP
00001b65: POP
00001b66: PUSH1 0x40
00001b68: MLOAD
00001b69: RETURNDATASIZE
00001b6a: PUSH1 0x00
00001b6c: DUP3
00001b6d: RETURNDATACOPY
00001b6e: RETURNDATASIZE
00001b6f: PUSH1 0x1f
00001b71: NOT
00001b72: PUSH1 0x1f
00001b74: DUP3
00001b75: ADD
00001b76: AND
00001b77: DUP3
00001b78: ADD
00001b79: DUP1
00001b7a: PUSH1 0x40
00001b7c: MSTORE
00001b7d: POP
00001b7e: PUSH1 0x20
00001b80: DUP2
00001b81: LT
00001b82: ISZERO
00001b83: PUSH2 0x1b8b
00001b86: JUMPI
00001b87: PUSH1 0x00
00001b89: DUP1
00001b8a: REVERT
00001b8b: JUMPDEST
00001b8c: DUP2
00001b8d: ADD
00001b8e: SWAP1
00001b8f: DUP1
00001b90: DUP1
00001b91: MLOAD
00001b92: PUSH1 0x40
00001b94: MLOAD
00001b95: SWAP4
00001b96: SWAP3
00001b97: SWAP2
00001b98: SWAP1
00001b99: DUP5
00001b9a: PUSH5 0x0100000000
00001ba0: DUP3
00001ba1: GT
00001ba2: ISZERO
00001ba3: PUSH2 0x1bab
00001ba6: JUMPI
00001ba7: PUSH1 0x00
00001ba9: DUP1
00001baa: REVERT
00001bab: JUMPDEST
00001bac: DUP4
00001bad: DUP3
00001bae: ADD
00001baf: SWAP2
00001bb0: POP
00001bb1: PUSH1 0x20
00001bb3: DUP3
00001bb4: ADD
00001bb5: DUP6
00001bb6: DUP2
00001bb7: GT
00001bb8: ISZERO
00001bb9: PUSH2 0x1bc1
00001bbc: JUMPI
00001bbd: PUSH1 0x00
00001bbf: DUP1
00001bc0: REVERT
00001bc1: JUMPDEST
00001bc2: DUP3
00001bc3: MLOAD
00001bc4: DUP7
00001bc5: PUSH1 0x20
00001bc7: DUP3
00001bc8: MUL
00001bc9: DUP4
00001bca: ADD
00001bcb: GT
00001bcc: PUSH5 0x0100000000
00001bd2: DUP3
00001bd3: GT
00001bd4: OR
00001bd5: ISZERO
00001bd6: PUSH2 0x1bde
00001bd9: JUMPI
00001bda: PUSH1 0x00
00001bdc: DUP1
00001bdd: REVERT
00001bde: JUMPDEST
00001bdf: DUP1
00001be0: DUP4
00001be1: MSTORE
00001be2: PUSH1 0x20
00001be4: DUP4
00001be5: ADD
00001be6: SWAP3
00001be7: POP
00001be8: POP
00001be9: POP
00001bea: SWAP1
00001beb: DUP1
00001bec: MLOAD
00001bed: SWAP1
00001bee: PUSH1 0x20
00001bf0: ADD
00001bf1: SWAP1
00001bf2: PUSH1 0x20
00001bf4: MUL
00001bf5: DUP1
00001bf6: DUP4
00001bf7: DUP4
00001bf8: PUSH1 0x00
00001bfa: JUMPDEST
00001bfb: DUP4
00001bfc: DUP2
00001bfd: LT
00001bfe: ISZERO
00001bff: PUSH2 0x1c15
00001c02: JUMPI
00001c03: DUP1
00001c04: DUP3
00001c05: ADD
00001c06: MLOAD
00001c07: DUP2
00001c08: DUP5
00001c09: ADD
00001c0a: MSTORE
00001c0b: PUSH1 0x20
00001c0d: DUP2
00001c0e: ADD
00001c0f: SWAP1
00001c10: POP
00001c11: PUSH2 0x1bfa
00001c14: JUMP
00001c15: JUMPDEST
00001c16: POP
00001c17: POP
00001c18: POP
00001c19: POP
00001c1a: SWAP1
00001c1b: POP
00001c1c: ADD
00001c1d: PUSH1 0x40
00001c1f: MSTORE
00001c20: POP
00001c21: POP
00001c22: POP
00001c23: POP
00001c24: PUSH1 0x19
00001c26: PUSH1 0x03
00001c28: SWAP1
00001c29: SLOAD
00001c2a: SWAP1
00001c2b: PUSH2 0x0100
00001c2e: EXP
00001c2f: SWAP1
00001c30: DIV
00001c31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c46: AND
00001c47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c5c: AND
00001c5d: PUSH4 0x7ff36ab5
00001c62: DUP5
00001c63: PUSH1 0x00
00001c65: PUSH1 0x12
00001c67: ADDRESS
00001c68: DUP11
00001c69: PUSH1 0x40
00001c6b: MLOAD
00001c6c: DUP7
00001c6d: PUSH4 0xffffffff
00001c72: AND
00001c73: PUSH1 0xe0
00001c75: SHL
00001c76: DUP2
00001c77: MSTORE
00001c78: PUSH1 0x04
00001c7a: ADD
00001c7b: DUP1
00001c7c: DUP6
00001c7d: DUP2
00001c7e: MSTORE
00001c7f: PUSH1 0x20
00001c81: ADD
00001c82: DUP1
00001c83: PUSH1 0x20
00001c85: ADD
00001c86: DUP5
00001c87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c9c: AND
00001c9d: DUP2
00001c9e: MSTORE
00001c9f: PUSH1 0x20
00001ca1: ADD
00001ca2: DUP4
00001ca3: DUP2
00001ca4: MSTORE
00001ca5: PUSH1 0x20
00001ca7: ADD
00001ca8: DUP3
00001ca9: DUP2
00001caa: SUB
00001cab: DUP3
00001cac: MSTORE
00001cad: DUP6
00001cae: DUP2
00001caf: DUP2
00001cb0: SLOAD
00001cb1: DUP2
00001cb2: MSTORE
00001cb3: PUSH1 0x20
00001cb5: ADD
00001cb6: SWAP2
00001cb7: POP
00001cb8: DUP1
00001cb9: SLOAD
00001cba: DUP1
00001cbb: ISZERO
00001cbc: PUSH2 0x1d1a
00001cbf: JUMPI
00001cc0: PUSH1 0x20
00001cc2: MUL
00001cc3: DUP3
00001cc4: ADD
00001cc5: SWAP2
00001cc6: SWAP1
00001cc7: PUSH1 0x00
00001cc9: MSTORE
00001cca: PUSH1 0x20
00001ccc: PUSH1 0x00
00001cce: KECCAK256
00001ccf: SWAP1
00001cd0: JUMPDEST
00001cd1: DUP2
00001cd2: PUSH1 0x00
00001cd4: SWAP1
00001cd5: SLOAD
00001cd6: SWAP1
00001cd7: PUSH2 0x0100
00001cda: EXP
00001cdb: SWAP1
00001cdc: DIV
00001cdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cf2: AND
00001cf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d08: AND
00001d09: DUP2
00001d0a: MSTORE
00001d0b: PUSH1 0x20
00001d0d: ADD
00001d0e: SWAP1
00001d0f: PUSH1 0x01
00001d11: ADD
00001d12: SWAP1
00001d13: DUP1
00001d14: DUP4
00001d15: GT
00001d16: PUSH2 0x1cd0
00001d19: JUMPI
00001d1a: JUMPDEST
00001d1b: POP
00001d1c: POP
00001d1d: SWAP6
00001d1e: POP
00001d1f: POP
00001d20: POP
00001d21: POP
00001d22: POP
00001d23: POP
00001d24: PUSH1 0x00
00001d26: PUSH1 0x40
00001d28: MLOAD
00001d29: DUP1
00001d2a: DUP4
00001d2b: SUB
00001d2c: DUP2
00001d2d: DUP6
00001d2e: DUP9
00001d2f: DUP1
00001d30: EXTCODESIZE
00001d31: ISZERO
00001d32: DUP1
00001d33: ISZERO
00001d34: PUSH2 0x1d3c
00001d37: JUMPI
00001d38: PUSH1 0x00
00001d3a: DUP1
00001d3b: REVERT
00001d3c: JUMPDEST
00001d3d: POP
00001d3e: GAS
00001d3f: CALL
00001d40: ISZERO
00001d41: DUP1
00001d42: ISZERO
00001d43: PUSH2 0x1d50
00001d46: JUMPI
00001d47: RETURNDATASIZE
00001d48: PUSH1 0x00
00001d4a: DUP1
00001d4b: RETURNDATACOPY
00001d4c: RETURNDATASIZE
00001d4d: PUSH1 0x00
00001d4f: REVERT
00001d50: JUMPDEST
00001d51: POP
00001d52: POP
00001d53: POP
00001d54: POP
00001d55: POP
00001d56: PUSH1 0x40
00001d58: MLOAD
00001d59: RETURNDATASIZE
00001d5a: PUSH1 0x00
00001d5c: DUP3
00001d5d: RETURNDATACOPY
00001d5e: RETURNDATASIZE
00001d5f: PUSH1 0x1f
00001d61: NOT
00001d62: PUSH1 0x1f
00001d64: DUP3
00001d65: ADD
00001d66: AND
00001d67: DUP3
00001d68: ADD
00001d69: DUP1
00001d6a: PUSH1 0x40
00001d6c: MSTORE
00001d6d: POP
00001d6e: PUSH1 0x20
00001d70: DUP2
00001d71: LT
00001d72: ISZERO
00001d73: PUSH2 0x1d7b
00001d76: JUMPI
00001d77: PUSH1 0x00
00001d79: DUP1
00001d7a: REVERT
00001d7b: JUMPDEST
00001d7c: DUP2
00001d7d: ADD
00001d7e: SWAP1
00001d7f: DUP1
00001d80: DUP1
00001d81: MLOAD
00001d82: PUSH1 0x40
00001d84: MLOAD
00001d85: SWAP4
00001d86: SWAP3
00001d87: SWAP2
00001d88: SWAP1
00001d89: DUP5
00001d8a: PUSH5 0x0100000000
00001d90: DUP3
00001d91: GT
00001d92: ISZERO
00001d93: PUSH2 0x1d9b
00001d96: JUMPI
00001d97: PUSH1 0x00
00001d99: DUP1
00001d9a: REVERT
00001d9b: JUMPDEST
00001d9c: DUP4
00001d9d: DUP3
00001d9e: ADD
00001d9f: SWAP2
00001da0: POP
00001da1: PUSH1 0x20
00001da3: DUP3
00001da4: ADD
00001da5: DUP6
00001da6: DUP2
00001da7: GT
00001da8: ISZERO
00001da9: PUSH2 0x1db1
00001dac: JUMPI
00001dad: PUSH1 0x00
00001daf: DUP1
00001db0: REVERT
00001db1: JUMPDEST
00001db2: DUP3
00001db3: MLOAD
00001db4: DUP7
00001db5: PUSH1 0x20
00001db7: DUP3
00001db8: MUL
00001db9: DUP4
00001dba: ADD
00001dbb: GT
00001dbc: PUSH5 0x0100000000
00001dc2: DUP3
00001dc3: GT
00001dc4: OR
00001dc5: ISZERO
00001dc6: PUSH2 0x1dce
00001dc9: JUMPI
00001dca: PUSH1 0x00
00001dcc: DUP1
00001dcd: REVERT
00001dce: JUMPDEST
00001dcf: DUP1
00001dd0: DUP4
00001dd1: MSTORE
00001dd2: PUSH1 0x20
00001dd4: DUP4
00001dd5: ADD
00001dd6: SWAP3
00001dd7: POP
00001dd8: POP
00001dd9: POP
00001dda: SWAP1
00001ddb: DUP1
00001ddc: MLOAD
00001ddd: SWAP1
00001dde: PUSH1 0x20
00001de0: ADD
00001de1: SWAP1
00001de2: PUSH1 0x20
00001de4: MUL
00001de5: DUP1
00001de6: DUP4
00001de7: DUP4
00001de8: PUSH1 0x00
00001dea: JUMPDEST
00001deb: DUP4
00001dec: DUP2
00001ded: LT
00001dee: ISZERO
00001def: PUSH2 0x1e05
00001df2: JUMPI
00001df3: DUP1
00001df4: DUP3
00001df5: ADD
00001df6: MLOAD
00001df7: DUP2
00001df8: DUP5
00001df9: ADD
00001dfa: MSTORE
00001dfb: PUSH1 0x20
00001dfd: DUP2
00001dfe: ADD
00001dff: SWAP1
00001e00: POP
00001e01: PUSH2 0x1dea
00001e04: JUMP
00001e05: JUMPDEST
00001e06: POP
00001e07: POP
00001e08: POP
00001e09: POP
00001e0a: SWAP1
00001e0b: POP
00001e0c: ADD
00001e0d: PUSH1 0x40
00001e0f: MSTORE
00001e10: POP
00001e11: POP
00001e12: POP
00001e13: POP
00001e14: PUSH1 0x19
00001e16: PUSH1 0x03
00001e18: SWAP1
00001e19: SLOAD
00001e1a: SWAP1
00001e1b: PUSH2 0x0100
00001e1e: EXP
00001e1f: SWAP1
00001e20: DIV
00001e21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e36: AND
00001e37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e4c: AND
00001e4d: PUSH4 0x7ff36ab5
00001e52: DUP4
00001e53: PUSH1 0x00
00001e55: PUSH1 0x13
00001e57: ADDRESS
00001e58: DUP11
00001e59: PUSH1 0x40
00001e5b: MLOAD
00001e5c: DUP7
00001e5d: PUSH4 0xffffffff
00001e62: AND
00001e63: PUSH1 0xe0
00001e65: SHL
00001e66: DUP2
00001e67: MSTORE
00001e68: PUSH1 0x04
00001e6a: ADD
00001e6b: DUP1
00001e6c: DUP6
00001e6d: DUP2
00001e6e: MSTORE
00001e6f: PUSH1 0x20
00001e71: ADD
00001e72: DUP1
00001e73: PUSH1 0x20
00001e75: ADD
00001e76: DUP5
00001e77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e8c: AND
00001e8d: DUP2
00001e8e: MSTORE
00001e8f: PUSH1 0x20
00001e91: ADD
00001e92: DUP4
00001e93: DUP2
00001e94: MSTORE
00001e95: PUSH1 0x20
00001e97: ADD
00001e98: DUP3
00001e99: DUP2
00001e9a: SUB
00001e9b: DUP3
00001e9c: MSTORE
00001e9d: DUP6
00001e9e: DUP2
00001e9f: DUP2
00001ea0: SLOAD
00001ea1: DUP2
00001ea2: MSTORE
00001ea3: PUSH1 0x20
00001ea5: ADD
00001ea6: SWAP2
00001ea7: POP
00001ea8: DUP1
00001ea9: SLOAD
00001eaa: DUP1
00001eab: ISZERO
00001eac: PUSH2 0x1f0a
00001eaf: JUMPI
00001eb0: PUSH1 0x20
00001eb2: MUL
00001eb3: DUP3
00001eb4: ADD
00001eb5: SWAP2
00001eb6: SWAP1
00001eb7: PUSH1 0x00
00001eb9: MSTORE
00001eba: PUSH1 0x20
00001ebc: PUSH1 0x00
00001ebe: KECCAK256
00001ebf: SWAP1
00001ec0: JUMPDEST
00001ec1: DUP2
00001ec2: PUSH1 0x00
00001ec4: SWAP1
00001ec5: SLOAD
00001ec6: SWAP1
00001ec7: PUSH2 0x0100
00001eca: EXP
00001ecb: SWAP1
00001ecc: DIV
00001ecd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ee2: AND
00001ee3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ef8: AND
00001ef9: DUP2
00001efa: MSTORE
00001efb: PUSH1 0x20
00001efd: ADD
00001efe: SWAP1
00001eff: PUSH1 0x01
00001f01: ADD
00001f02: SWAP1
00001f03: DUP1
00001f04: DUP4
00001f05: GT
00001f06: PUSH2 0x1ec0
00001f09: JUMPI
00001f0a: JUMPDEST
00001f0b: POP
00001f0c: POP
00001f0d: SWAP6
00001f0e: POP
00001f0f: POP
00001f10: POP
00001f11: POP
00001f12: POP
00001f13: POP
00001f14: PUSH1 0x00
00001f16: PUSH1 0x40
00001f18: MLOAD
00001f19: DUP1
00001f1a: DUP4
00001f1b: SUB
00001f1c: DUP2
00001f1d: DUP6
00001f1e: DUP9
00001f1f: DUP1
00001f20: EXTCODESIZE
00001f21: ISZERO
00001f22: DUP1
00001f23: ISZERO
00001f24: PUSH2 0x1f2c
00001f27: JUMPI
00001f28: PUSH1 0x00
00001f2a: DUP1
00001f2b: REVERT
00001f2c: JUMPDEST
00001f2d: POP
00001f2e: GAS
00001f2f: CALL
00001f30: ISZERO
00001f31: DUP1
00001f32: ISZERO
00001f33: PUSH2 0x1f40
00001f36: JUMPI
00001f37: RETURNDATASIZE
00001f38: PUSH1 0x00
00001f3a: DUP1
00001f3b: RETURNDATACOPY
00001f3c: RETURNDATASIZE
00001f3d: PUSH1 0x00
00001f3f: REVERT
00001f40: JUMPDEST
00001f41: POP
00001f42: POP
00001f43: POP
00001f44: POP
00001f45: POP
00001f46: PUSH1 0x40
00001f48: MLOAD
00001f49: RETURNDATASIZE
00001f4a: PUSH1 0x00
00001f4c: DUP3
00001f4d: RETURNDATACOPY
00001f4e: RETURNDATASIZE
00001f4f: PUSH1 0x1f
00001f51: NOT
00001f52: PUSH1 0x1f
00001f54: DUP3
00001f55: ADD
00001f56: AND
00001f57: DUP3
00001f58: ADD
00001f59: DUP1
00001f5a: PUSH1 0x40
00001f5c: MSTORE
00001f5d: POP
00001f5e: PUSH1 0x20
00001f60: DUP2
00001f61: LT
00001f62: ISZERO
00001f63: PUSH2 0x1f6b
00001f66: JUMPI
00001f67: PUSH1 0x00
00001f69: DUP1
00001f6a: REVERT
00001f6b: JUMPDEST
00001f6c: DUP2
00001f6d: ADD
00001f6e: SWAP1
00001f6f: DUP1
00001f70: DUP1
00001f71: MLOAD
00001f72: PUSH1 0x40
00001f74: MLOAD
00001f75: SWAP4
00001f76: SWAP3
00001f77: SWAP2
00001f78: SWAP1
00001f79: DUP5
00001f7a: PUSH5 0x0100000000
00001f80: DUP3
00001f81: GT
00001f82: ISZERO
00001f83: PUSH2 0x1f8b
00001f86: JUMPI
00001f87: PUSH1 0x00
00001f89: DUP1
00001f8a: REVERT
00001f8b: JUMPDEST
00001f8c: DUP4
00001f8d: DUP3
00001f8e: ADD
00001f8f: SWAP2
00001f90: POP
00001f91: PUSH1 0x20
00001f93: DUP3
00001f94: ADD
00001f95: DUP6
00001f96: DUP2
00001f97: GT
00001f98: ISZERO
00001f99: PUSH2 0x1fa1
00001f9c: JUMPI
00001f9d: PUSH1 0x00
00001f9f: DUP1
00001fa0: REVERT
00001fa1: JUMPDEST
00001fa2: DUP3
00001fa3: MLOAD
00001fa4: DUP7
00001fa5: PUSH1 0x20
00001fa7: DUP3
00001fa8: MUL
00001fa9: DUP4
00001faa: ADD
00001fab: GT
00001fac: PUSH5 0x0100000000
00001fb2: DUP3
00001fb3: GT
00001fb4: OR
00001fb5: ISZERO
00001fb6: PUSH2 0x1fbe
00001fb9: JUMPI
00001fba: PUSH1 0x00
00001fbc: DUP1
00001fbd: REVERT
00001fbe: JUMPDEST
00001fbf: DUP1
00001fc0: DUP4
00001fc1: MSTORE
00001fc2: PUSH1 0x20
00001fc4: DUP4
00001fc5: ADD
00001fc6: SWAP3
00001fc7: POP
00001fc8: POP
00001fc9: POP
00001fca: SWAP1
00001fcb: DUP1
00001fcc: MLOAD
00001fcd: SWAP1
00001fce: PUSH1 0x20
00001fd0: ADD
00001fd1: SWAP1
00001fd2: PUSH1 0x20
00001fd4: MUL
00001fd5: DUP1
00001fd6: DUP4
00001fd7: DUP4
00001fd8: PUSH1 0x00
00001fda: JUMPDEST
00001fdb: DUP4
00001fdc: DUP2
00001fdd: LT
00001fde: ISZERO
00001fdf: PUSH2 0x1ff5
00001fe2: JUMPI
00001fe3: DUP1
00001fe4: DUP3
00001fe5: ADD
00001fe6: MLOAD
00001fe7: DUP2
00001fe8: DUP5
00001fe9: ADD
00001fea: MSTORE
00001feb: PUSH1 0x20
00001fed: DUP2
00001fee: ADD
00001fef: SWAP1
00001ff0: POP
00001ff1: PUSH2 0x1fda
00001ff4: JUMP
00001ff5: JUMPDEST
00001ff6: POP
00001ff7: POP
00001ff8: POP
00001ff9: POP
00001ffa: SWAP1
00001ffb: POP
00001ffc: ADD
00001ffd: PUSH1 0x40
00001fff: MSTORE
00002000: POP
00002001: POP
00002002: POP
00002003: POP
00002004: PUSH1 0x19
00002006: PUSH1 0x03
00002008: SWAP1
00002009: SLOAD
0000200a: SWAP1
0000200b: PUSH2 0x0100
0000200e: EXP
0000200f: SWAP1
00002010: DIV
00002011: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002026: AND
00002027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000203c: AND
0000203d: PUSH4 0x7ff36ab5
00002042: DUP4
00002043: PUSH1 0x00
00002045: PUSH1 0x14
00002047: ADDRESS
00002048: DUP11
00002049: PUSH1 0x40
0000204b: MLOAD
0000204c: DUP7
0000204d: PUSH4 0xffffffff
00002052: AND
00002053: PUSH1 0xe0
00002055: SHL
00002056: DUP2
00002057: MSTORE
00002058: PUSH1 0x04
0000205a: ADD
0000205b: DUP1
0000205c: DUP6
0000205d: DUP2
0000205e: MSTORE
0000205f: PUSH1 0x20
00002061: ADD
00002062: DUP1
00002063: PUSH1 0x20
00002065: ADD
00002066: DUP5
00002067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000207c: AND
0000207d: DUP2
0000207e: MSTORE
0000207f: PUSH1 0x20
00002081: ADD
00002082: DUP4
00002083: DUP2
00002084: MSTORE
00002085: PUSH1 0x20
00002087: ADD
00002088: DUP3
00002089: DUP2
0000208a: SUB
0000208b: DUP3
0000208c: MSTORE
0000208d: DUP6
0000208e: DUP2
0000208f: DUP2
00002090: SLOAD
00002091: DUP2
00002092: MSTORE
00002093: PUSH1 0x20
00002095: ADD
00002096: SWAP2
00002097: POP
00002098: DUP1
00002099: SLOAD
0000209a: DUP1
0000209b: ISZERO
0000209c: PUSH2 0x20fa
0000209f: JUMPI
000020a0: PUSH1 0x20
000020a2: MUL
000020a3: DUP3
000020a4: ADD
000020a5: SWAP2
000020a6: SWAP1
000020a7: PUSH1 0x00
000020a9: MSTORE
000020aa: PUSH1 0x20
000020ac: PUSH1 0x00
000020ae: KECCAK256
000020af: SWAP1
000020b0: JUMPDEST
000020b1: DUP2
000020b2: PUSH1 0x00
000020b4: SWAP1
000020b5: SLOAD
000020b6: SWAP1
000020b7: PUSH2 0x0100
000020ba: EXP
000020bb: SWAP1
000020bc: DIV
000020bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020d2: AND
000020d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e8: AND
000020e9: DUP2
000020ea: MSTORE
000020eb: PUSH1 0x20
000020ed: ADD
000020ee: SWAP1
000020ef: PUSH1 0x01
000020f1: ADD
000020f2: SWAP1
000020f3: DUP1
000020f4: DUP4
000020f5: GT
000020f6: PUSH2 0x20b0
000020f9: JUMPI
000020fa: JUMPDEST
000020fb: POP
000020fc: POP
000020fd: SWAP6
000020fe: POP
000020ff: POP
00002100: POP
00002101: POP
00002102: POP
00002103: POP
00002104: PUSH1 0x00
00002106: PUSH1 0x40
00002108: MLOAD
00002109: DUP1
0000210a: DUP4
0000210b: SUB
0000210c: DUP2
0000210d: DUP6
0000210e: DUP9
0000210f: DUP1
00002110: EXTCODESIZE
00002111: ISZERO
00002112: DUP1
00002113: ISZERO
00002114: PUSH2 0x211c
00002117: JUMPI
00002118: PUSH1 0x00
0000211a: DUP1
0000211b: REVERT
0000211c: JUMPDEST
0000211d: POP
0000211e: GAS
0000211f: CALL
00002120: ISZERO
00002121: DUP1
00002122: ISZERO
00002123: PUSH2 0x2130
00002126: JUMPI
00002127: RETURNDATASIZE
00002128: PUSH1 0x00
0000212a: DUP1
0000212b: RETURNDATACOPY
0000212c: RETURNDATASIZE
0000212d: PUSH1 0x00
0000212f: REVERT
00002130: JUMPDEST
00002131: POP
00002132: POP
00002133: POP
00002134: POP
00002135: POP
00002136: PUSH1 0x40
00002138: MLOAD
00002139: RETURNDATASIZE
0000213a: PUSH1 0x00
0000213c: DUP3
0000213d: RETURNDATACOPY
0000213e: RETURNDATASIZE
0000213f: PUSH1 0x1f
00002141: NOT
00002142: PUSH1 0x1f
00002144: DUP3
00002145: ADD
00002146: AND
00002147: DUP3
00002148: ADD
00002149: DUP1
0000214a: PUSH1 0x40
0000214c: MSTORE
0000214d: POP
0000214e: PUSH1 0x20
00002150: DUP2
00002151: LT
00002152: ISZERO
00002153: PUSH2 0x215b
00002156: JUMPI
00002157: PUSH1 0x00
00002159: DUP1
0000215a: REVERT
0000215b: JUMPDEST
0000215c: DUP2
0000215d: ADD
0000215e: SWAP1
0000215f: DUP1
00002160: DUP1
00002161: MLOAD
00002162: PUSH1 0x40
00002164: MLOAD
00002165: SWAP4
00002166: SWAP3
00002167: SWAP2
00002168: SWAP1
00002169: DUP5
0000216a: PUSH5 0x0100000000
00002170: DUP3
00002171: GT
00002172: ISZERO
00002173: PUSH2 0x217b
00002176: JUMPI
00002177: PUSH1 0x00
00002179: DUP1
0000217a: REVERT
0000217b: JUMPDEST
0000217c: DUP4
0000217d: DUP3
0000217e: ADD
0000217f: SWAP2
00002180: POP
00002181: PUSH1 0x20
00002183: DUP3
00002184: ADD
00002185: DUP6
00002186: DUP2
00002187: GT
00002188: ISZERO
00002189: PUSH2 0x2191
0000218c: JUMPI
0000218d: PUSH1 0x00
0000218f: DUP1
00002190: REVERT
00002191: JUMPDEST
00002192: DUP3
00002193: MLOAD
00002194: DUP7
00002195: PUSH1 0x20
00002197: DUP3
00002198: MUL
00002199: DUP4
0000219a: ADD
0000219b: GT
0000219c: PUSH5 0x0100000000
000021a2: DUP3
000021a3: GT
000021a4: OR
000021a5: ISZERO
000021a6: PUSH2 0x21ae
000021a9: JUMPI
000021aa: PUSH1 0x00
000021ac: DUP1
000021ad: REVERT
000021ae: JUMPDEST
000021af: DUP1
000021b0: DUP4
000021b1: MSTORE
000021b2: PUSH1 0x20
000021b4: DUP4
000021b5: ADD
000021b6: SWAP3
000021b7: POP
000021b8: POP
000021b9: POP
000021ba: SWAP1
000021bb: DUP1
000021bc: MLOAD
000021bd: SWAP1
000021be: PUSH1 0x20
000021c0: ADD
000021c1: SWAP1
000021c2: PUSH1 0x20
000021c4: MUL
000021c5: DUP1
000021c6: DUP4
000021c7: DUP4
000021c8: PUSH1 0x00
000021ca: JUMPDEST
000021cb: DUP4
000021cc: DUP2
000021cd: LT
000021ce: ISZERO
000021cf: PUSH2 0x21e5
000021d2: JUMPI
000021d3: DUP1
000021d4: DUP3
000021d5: ADD
000021d6: MLOAD
000021d7: DUP2
000021d8: DUP5
000021d9: ADD
000021da: MSTORE
000021db: PUSH1 0x20
000021dd: DUP2
000021de: ADD
000021df: SWAP1
000021e0: POP
000021e1: PUSH2 0x21ca
000021e4: JUMP
000021e5: JUMPDEST
000021e6: POP
000021e7: POP
000021e8: POP
000021e9: POP
000021ea: SWAP1
000021eb: POP
000021ec: ADD
000021ed: PUSH1 0x40
000021ef: MSTORE
000021f0: POP
000021f1: POP
000021f2: POP
000021f3: POP
000021f4: PUSH1 0x19
000021f6: PUSH1 0x03
000021f8: SWAP1
000021f9: SLOAD
000021fa: SWAP1
000021fb: PUSH2 0x0100
000021fe: EXP
000021ff: SWAP1
00002200: DIV
00002201: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002216: AND
00002217: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000222c: AND
0000222d: PUSH4 0x7ff36ab5
00002232: DUP4
00002233: PUSH1 0x00
00002235: PUSH1 0x15
00002237: ADDRESS
00002238: DUP11
00002239: PUSH1 0x40
0000223b: MLOAD
0000223c: DUP7
0000223d: PUSH4 0xffffffff
00002242: AND
00002243: PUSH1 0xe0
00002245: SHL
00002246: DUP2
00002247: MSTORE
00002248: PUSH1 0x04
0000224a: ADD
0000224b: DUP1
0000224c: DUP6
0000224d: DUP2
0000224e: MSTORE
0000224f: PUSH1 0x20
00002251: ADD
00002252: DUP1
00002253: PUSH1 0x20
00002255: ADD
00002256: DUP5
00002257: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000226c: AND
0000226d: DUP2
0000226e: MSTORE
0000226f: PUSH1 0x20
00002271: ADD
00002272: DUP4
00002273: DUP2
00002274: MSTORE
00002275: PUSH1 0x20
00002277: ADD
00002278: DUP3
00002279: DUP2
0000227a: SUB
0000227b: DUP3
0000227c: MSTORE
0000227d: DUP6
0000227e: DUP2
0000227f: DUP2
00002280: SLOAD
00002281: DUP2
00002282: MSTORE
00002283: PUSH1 0x20
00002285: ADD
00002286: SWAP2
00002287: POP
00002288: DUP1
00002289: SLOAD
0000228a: DUP1
0000228b: ISZERO
0000228c: PUSH2 0x22ea
0000228f: JUMPI
00002290: PUSH1 0x20
00002292: MUL
00002293: DUP3
00002294: ADD
00002295: SWAP2
00002296: SWAP1
00002297: PUSH1 0x00
00002299: MSTORE
0000229a: PUSH1 0x20
0000229c: PUSH1 0x00
0000229e: KECCAK256
0000229f: SWAP1
000022a0: JUMPDEST
000022a1: DUP2
000022a2: PUSH1 0x00
000022a4: SWAP1
000022a5: SLOAD
000022a6: SWAP1
000022a7: PUSH2 0x0100
000022aa: EXP
000022ab: SWAP1
000022ac: DIV
000022ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022c2: AND
000022c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022d8: AND
000022d9: DUP2
000022da: MSTORE
000022db: PUSH1 0x20
000022dd: ADD
000022de: SWAP1
000022df: PUSH1 0x01
000022e1: ADD
000022e2: SWAP1
000022e3: DUP1
000022e4: DUP4
000022e5: GT
000022e6: PUSH2 0x22a0
000022e9: JUMPI
000022ea: JUMPDEST
000022eb: POP
000022ec: POP
000022ed: SWAP6
000022ee: POP
000022ef: POP
000022f0: POP
000022f1: POP
000022f2: POP
000022f3: POP
000022f4: PUSH1 0x00
000022f6: PUSH1 0x40
000022f8: MLOAD
000022f9: DUP1
000022fa: DUP4
000022fb: SUB
000022fc: DUP2
000022fd: DUP6
000022fe: DUP9
000022ff: DUP1
00002300: EXTCODESIZE
00002301: ISZERO
00002302: DUP1
00002303: ISZERO
00002304: PUSH2 0x230c
00002307: JUMPI
00002308: PUSH1 0x00
0000230a: DUP1
0000230b: REVERT
0000230c: JUMPDEST
0000230d: POP
0000230e: GAS
0000230f: CALL
00002310: ISZERO
00002311: DUP1
00002312: ISZERO
00002313: PUSH2 0x2320
00002316: JUMPI
00002317: RETURNDATASIZE
00002318: PUSH1 0x00
0000231a: DUP1
0000231b: RETURNDATACOPY
0000231c: RETURNDATASIZE
0000231d: PUSH1 0x00
0000231f: REVERT
00002320: JUMPDEST
00002321: POP
00002322: POP
00002323: POP
00002324: POP
00002325: POP
00002326: PUSH1 0x40
00002328: MLOAD
00002329: RETURNDATASIZE
0000232a: PUSH1 0x00
0000232c: DUP3
0000232d: RETURNDATACOPY
0000232e: RETURNDATASIZE
0000232f: PUSH1 0x1f
00002331: NOT
00002332: PUSH1 0x1f
00002334: DUP3
00002335: ADD
00002336: AND
00002337: DUP3
00002338: ADD
00002339: DUP1
0000233a: PUSH1 0x40
0000233c: MSTORE
0000233d: POP
0000233e: PUSH1 0x20
00002340: DUP2
00002341: LT
00002342: ISZERO
00002343: PUSH2 0x234b
00002346: JUMPI
00002347: PUSH1 0x00
00002349: DUP1
0000234a: REVERT
0000234b: JUMPDEST
0000234c: DUP2
0000234d: ADD
0000234e: SWAP1
0000234f: DUP1
00002350: DUP1
00002351: MLOAD
00002352: PUSH1 0x40
00002354: MLOAD
00002355: SWAP4
00002356: SWAP3
00002357: SWAP2
00002358: SWAP1
00002359: DUP5
0000235a: PUSH5 0x0100000000
00002360: DUP3
00002361: GT
00002362: ISZERO
00002363: PUSH2 0x236b
00002366: JUMPI
00002367: PUSH1 0x00
00002369: DUP1
0000236a: REVERT
0000236b: JUMPDEST
0000236c: DUP4
0000236d: DUP3
0000236e: ADD
0000236f: SWAP2
00002370: POP
00002371: PUSH1 0x20
00002373: DUP3
00002374: ADD
00002375: DUP6
00002376: DUP2
00002377: GT
00002378: ISZERO
00002379: PUSH2 0x2381
0000237c: JUMPI
0000237d: PUSH1 0x00
0000237f: DUP1
00002380: REVERT
00002381: JUMPDEST
00002382: DUP3
00002383: MLOAD
00002384: DUP7
00002385: PUSH1 0x20
00002387: DUP3
00002388: MUL
00002389: DUP4
0000238a: ADD
0000238b: GT
0000238c: PUSH5 0x0100000000
00002392: DUP3
00002393: GT
00002394: OR
00002395: ISZERO
00002396: PUSH2 0x239e
00002399: JUMPI
0000239a: PUSH1 0x00
0000239c: DUP1
0000239d: REVERT
0000239e: JUMPDEST
0000239f: DUP1
000023a0: DUP4
000023a1: MSTORE
000023a2: PUSH1 0x20
000023a4: DUP4
000023a5: ADD
000023a6: SWAP3
000023a7: POP
000023a8: POP
000023a9: POP
000023aa: SWAP1
000023ab: DUP1
000023ac: MLOAD
000023ad: SWAP1
000023ae: PUSH1 0x20
000023b0: ADD
000023b1: SWAP1
000023b2: PUSH1 0x20
000023b4: MUL
000023b5: DUP1
000023b6: DUP4
000023b7: DUP4
000023b8: PUSH1 0x00
000023ba: JUMPDEST
000023bb: DUP4
000023bc: DUP2
000023bd: LT
000023be: ISZERO
000023bf: PUSH2 0x23d5
000023c2: JUMPI
000023c3: DUP1
000023c4: DUP3
000023c5: ADD
000023c6: MLOAD
000023c7: DUP2
000023c8: DUP5
000023c9: ADD
000023ca: MSTORE
000023cb: PUSH1 0x20
000023cd: DUP2
000023ce: ADD
000023cf: SWAP1
000023d0: POP
000023d1: PUSH2 0x23ba
000023d4: JUMP
000023d5: JUMPDEST
000023d6: POP
000023d7: POP
000023d8: POP
000023d9: POP
000023da: SWAP1
000023db: POP
000023dc: ADD
000023dd: PUSH1 0x40
000023df: MSTORE
000023e0: POP
000023e1: POP
000023e2: POP
000023e3: POP
000023e4: PUSH1 0x19
000023e6: PUSH1 0x03
000023e8: SWAP1
000023e9: SLOAD
000023ea: SWAP1
000023eb: PUSH2 0x0100
000023ee: EXP
000023ef: SWAP1
000023f0: DIV
000023f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002406: AND
00002407: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000241c: AND
0000241d: PUSH4 0x7ff36ab5
00002422: DUP3
00002423: PUSH1 0x00
00002425: PUSH1 0x16
00002427: ADDRESS
00002428: DUP11
00002429: PUSH1 0x40
0000242b: MLOAD
0000242c: DUP7
0000242d: PUSH4 0xffffffff
00002432: AND
00002433: PUSH1 0xe0
00002435: SHL
00002436: DUP2
00002437: MSTORE
00002438: PUSH1 0x04
0000243a: ADD
0000243b: DUP1
0000243c: DUP6
0000243d: DUP2
0000243e: MSTORE
0000243f: PUSH1 0x20
00002441: ADD
00002442: DUP1
00002443: PUSH1 0x20
00002445: ADD
00002446: DUP5
00002447: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000245c: AND
0000245d: DUP2
0000245e: MSTORE
0000245f: PUSH1 0x20
00002461: ADD
00002462: DUP4
00002463: DUP2
00002464: MSTORE
00002465: PUSH1 0x20
00002467: ADD
00002468: DUP3
00002469: DUP2
0000246a: SUB
0000246b: DUP3
0000246c: MSTORE
0000246d: DUP6
0000246e: DUP2
0000246f: DUP2
00002470: SLOAD
00002471: DUP2
00002472: MSTORE
00002473: PUSH1 0x20
00002475: ADD
00002476: SWAP2
00002477: POP
00002478: DUP1
00002479: SLOAD
0000247a: DUP1
0000247b: ISZERO
0000247c: PUSH2 0x24da
0000247f: JUMPI
00002480: PUSH1 0x20
00002482: MUL
00002483: DUP3
00002484: ADD
00002485: SWAP2
00002486: SWAP1
00002487: PUSH1 0x00
00002489: MSTORE
0000248a: PUSH1 0x20
0000248c: PUSH1 0x00
0000248e: KECCAK256
0000248f: SWAP1
00002490: JUMPDEST
00002491: DUP2
00002492: PUSH1 0x00
00002494: SWAP1
00002495: SLOAD
00002496: SWAP1
00002497: PUSH2 0x0100
0000249a: EXP
0000249b: SWAP1
0000249c: DIV
0000249d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024b2: AND
000024b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024c8: AND
000024c9: DUP2
000024ca: MSTORE
000024cb: PUSH1 0x20
000024cd: ADD
000024ce: SWAP1
000024cf: PUSH1 0x01
000024d1: ADD
000024d2: SWAP1
000024d3: DUP1
000024d4: DUP4
000024d5: GT
000024d6: PUSH2 0x2490
000024d9: JUMPI
000024da: JUMPDEST
000024db: POP
000024dc: POP
000024dd: SWAP6
000024de: POP
000024df: POP
000024e0: POP
000024e1: POP
000024e2: POP
000024e3: POP
000024e4: PUSH1 0x00
000024e6: PUSH1 0x40
000024e8: MLOAD
000024e9: DUP1
000024ea: DUP4
000024eb: SUB
000024ec: DUP2
000024ed: DUP6
000024ee: DUP9
000024ef: DUP1
000024f0: EXTCODESIZE
000024f1: ISZERO
000024f2: DUP1
000024f3: ISZERO
000024f4: PUSH2 0x24fc
000024f7: JUMPI
000024f8: PUSH1 0x00
000024fa: DUP1
000024fb: REVERT
000024fc: JUMPDEST
000024fd: POP
000024fe: GAS
000024ff: CALL
00002500: ISZERO
00002501: DUP1
00002502: ISZERO
00002503: PUSH2 0x2510
00002506: JUMPI
00002507: RETURNDATASIZE
00002508: PUSH1 0x00
0000250a: DUP1
0000250b: RETURNDATACOPY
0000250c: RETURNDATASIZE
0000250d: PUSH1 0x00
0000250f: REVERT
00002510: JUMPDEST
00002511: POP
00002512: POP
00002513: POP
00002514: POP
00002515: POP
00002516: PUSH1 0x40
00002518: MLOAD
00002519: RETURNDATASIZE
0000251a: PUSH1 0x00
0000251c: DUP3
0000251d: RETURNDATACOPY
0000251e: RETURNDATASIZE
0000251f: PUSH1 0x1f
00002521: NOT
00002522: PUSH1 0x1f
00002524: DUP3
00002525: ADD
00002526: AND
00002527: DUP3
00002528: ADD
00002529: DUP1
0000252a: PUSH1 0x40
0000252c: MSTORE
0000252d: POP
0000252e: PUSH1 0x20
00002530: DUP2
00002531: LT
00002532: ISZERO
00002533: PUSH2 0x253b
00002536: JUMPI
00002537: PUSH1 0x00
00002539: DUP1
0000253a: REVERT
0000253b: JUMPDEST
0000253c: DUP2
0000253d: ADD
0000253e: SWAP1
0000253f: DUP1
00002540: DUP1
00002541: MLOAD
00002542: PUSH1 0x40
00002544: MLOAD
00002545: SWAP4
00002546: SWAP3
00002547: SWAP2
00002548: SWAP1
00002549: DUP5
0000254a: PUSH5 0x0100000000
00002550: DUP3
00002551: GT
00002552: ISZERO
00002553: PUSH2 0x255b
00002556: JUMPI
00002557: PUSH1 0x00
00002559: DUP1
0000255a: REVERT
0000255b: JUMPDEST
0000255c: DUP4
0000255d: DUP3
0000255e: ADD
0000255f: SWAP2
00002560: POP
00002561: PUSH1 0x20
00002563: DUP3
00002564: ADD
00002565: DUP6
00002566: DUP2
00002567: GT
00002568: ISZERO
00002569: PUSH2 0x2571
0000256c: JUMPI
0000256d: PUSH1 0x00
0000256f: DUP1
00002570: REVERT
00002571: JUMPDEST
00002572: DUP3
00002573: MLOAD
00002574: DUP7
00002575: PUSH1 0x20
00002577: DUP3
00002578: MUL
00002579: DUP4
0000257a: ADD
0000257b: GT
0000257c: PUSH5 0x0100000000
00002582: DUP3
00002583: GT
00002584: OR
00002585: ISZERO
00002586: PUSH2 0x258e
00002589: JUMPI
0000258a: PUSH1 0x00
0000258c: DUP1
0000258d: REVERT
0000258e: JUMPDEST
0000258f: DUP1
00002590: DUP4
00002591: MSTORE
00002592: PUSH1 0x20
00002594: DUP4
00002595: ADD
00002596: SWAP3
00002597: POP
00002598: POP
00002599: POP
0000259a: SWAP1
0000259b: DUP1
0000259c: MLOAD
0000259d: SWAP1
0000259e: PUSH1 0x20
000025a0: ADD
000025a1: SWAP1
000025a2: PUSH1 0x20
000025a4: MUL
000025a5: DUP1
000025a6: DUP4
000025a7: DUP4
000025a8: PUSH1 0x00
000025aa: JUMPDEST
000025ab: DUP4
000025ac: DUP2
000025ad: LT
000025ae: ISZERO
000025af: PUSH2 0x25c5
000025b2: JUMPI
000025b3: DUP1
000025b4: DUP3
000025b5: ADD
000025b6: MLOAD
000025b7: DUP2
000025b8: DUP5
000025b9: ADD
000025ba: MSTORE
000025bb: PUSH1 0x20
000025bd: DUP2
000025be: ADD
000025bf: SWAP1
000025c0: POP
000025c1: PUSH2 0x25aa
000025c4: JUMP
000025c5: JUMPDEST
000025c6: POP
000025c7: POP
000025c8: POP
000025c9: POP
000025ca: SWAP1
000025cb: POP
000025cc: ADD
000025cd: PUSH1 0x40
000025cf: MSTORE
000025d0: POP
000025d1: POP
000025d2: POP
000025d3: POP
000025d4: PUSH1 0x19
000025d6: PUSH1 0x03
000025d8: SWAP1
000025d9: SLOAD
000025da: SWAP1
000025db: PUSH2 0x0100
000025de: EXP
000025df: SWAP1
000025e0: DIV
000025e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025f6: AND
000025f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000260c: AND
0000260d: PUSH4 0x7ff36ab5
00002612: DUP3
00002613: PUSH1 0x00
00002615: PUSH1 0x17
00002617: ADDRESS
00002618: DUP11
00002619: PUSH1 0x40
0000261b: MLOAD
0000261c: DUP7
0000261d: PUSH4 0xffffffff
00002622: AND
00002623: PUSH1 0xe0
00002625: SHL
00002626: DUP2
00002627: MSTORE
00002628: PUSH1 0x04
0000262a: ADD
0000262b: DUP1
0000262c: DUP6
0000262d: DUP2
0000262e: MSTORE
0000262f: PUSH1 0x20
00002631: ADD
00002632: DUP1
00002633: PUSH1 0x20
00002635: ADD
00002636: DUP5
00002637: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000264c: AND
0000264d: DUP2
0000264e: MSTORE
0000264f: PUSH1 0x20
00002651: ADD
00002652: DUP4
00002653: DUP2
00002654: MSTORE
00002655: PUSH1 0x20
00002657: ADD
00002658: DUP3
00002659: DUP2
0000265a: SUB
0000265b: DUP3
0000265c: MSTORE
0000265d: DUP6
0000265e: DUP2
0000265f: DUP2
00002660: SLOAD
00002661: DUP2
00002662: MSTORE
00002663: PUSH1 0x20
00002665: ADD
00002666: SWAP2
00002667: POP
00002668: DUP1
00002669: SLOAD
0000266a: DUP1
0000266b: ISZERO
0000266c: PUSH2 0x26ca
0000266f: JUMPI
00002670: PUSH1 0x20
00002672: MUL
00002673: DUP3
00002674: ADD
00002675: SWAP2
00002676: SWAP1
00002677: PUSH1 0x00
00002679: MSTORE
0000267a: PUSH1 0x20
0000267c: PUSH1 0x00
0000267e: KECCAK256
0000267f: SWAP1
00002680: JUMPDEST
00002681: DUP2
00002682: PUSH1 0x00
00002684: SWAP1
00002685: SLOAD
00002686: SWAP1
00002687: PUSH2 0x0100
0000268a: EXP
0000268b: SWAP1
0000268c: DIV
0000268d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026a2: AND
000026a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026b8: AND
000026b9: DUP2
000026ba: MSTORE
000026bb: PUSH1 0x20
000026bd: ADD
000026be: SWAP1
000026bf: PUSH1 0x01
000026c1: ADD
000026c2: SWAP1
000026c3: DUP1
000026c4: DUP4
000026c5: GT
000026c6: PUSH2 0x2680
000026c9: JUMPI
000026ca: JUMPDEST
000026cb: POP
000026cc: POP
000026cd: SWAP6
000026ce: POP
000026cf: POP
000026d0: POP
000026d1: POP
000026d2: POP
000026d3: POP
000026d4: PUSH1 0x00
000026d6: PUSH1 0x40
000026d8: MLOAD
000026d9: DUP1
000026da: DUP4
000026db: SUB
000026dc: DUP2
000026dd: DUP6
000026de: DUP9
000026df: DUP1
000026e0: EXTCODESIZE
000026e1: ISZERO
000026e2: DUP1
000026e3: ISZERO
000026e4: PUSH2 0x26ec
000026e7: JUMPI
000026e8: PUSH1 0x00
000026ea: DUP1
000026eb: REVERT
000026ec: JUMPDEST
000026ed: POP
000026ee: GAS
000026ef: CALL
000026f0: ISZERO
000026f1: DUP1
000026f2: ISZERO
000026f3: PUSH2 0x2700
000026f6: JUMPI
000026f7: RETURNDATASIZE
000026f8: PUSH1 0x00
000026fa: DUP1
000026fb: RETURNDATACOPY
000026fc: RETURNDATASIZE
000026fd: PUSH1 0x00
000026ff: REVERT
00002700: JUMPDEST
00002701: POP
00002702: POP
00002703: POP
00002704: POP
00002705: POP
00002706: PUSH1 0x40
00002708: MLOAD
00002709: RETURNDATASIZE
0000270a: PUSH1 0x00
0000270c: DUP3
0000270d: RETURNDATACOPY
0000270e: RETURNDATASIZE
0000270f: PUSH1 0x1f
00002711: NOT
00002712: PUSH1 0x1f
00002714: DUP3
00002715: ADD
00002716: AND
00002717: DUP3
00002718: ADD
00002719: DUP1
0000271a: PUSH1 0x40
0000271c: MSTORE
0000271d: POP
0000271e: PUSH1 0x20
00002720: DUP2
00002721: LT
00002722: ISZERO
00002723: PUSH2 0x272b
00002726: JUMPI
00002727: PUSH1 0x00
00002729: DUP1
0000272a: REVERT
0000272b: JUMPDEST
0000272c: DUP2
0000272d: ADD
0000272e: SWAP1
0000272f: DUP1
00002730: DUP1
00002731: MLOAD
00002732: PUSH1 0x40
00002734: MLOAD
00002735: SWAP4
00002736: SWAP3
00002737: SWAP2
00002738: SWAP1
00002739: DUP5
0000273a: PUSH5 0x0100000000
00002740: DUP3
00002741: GT
00002742: ISZERO
00002743: PUSH2 0x274b
00002746: JUMPI
00002747: PUSH1 0x00
00002749: DUP1
0000274a: REVERT
0000274b: JUMPDEST
0000274c: DUP4
0000274d: DUP3
0000274e: ADD
0000274f: SWAP2
00002750: POP
00002751: PUSH1 0x20
00002753: DUP3
00002754: ADD
00002755: DUP6
00002756: DUP2
00002757: GT
00002758: ISZERO
00002759: PUSH2 0x2761
0000275c: JUMPI
0000275d: PUSH1 0x00
0000275f: DUP1
00002760: REVERT
00002761: JUMPDEST
00002762: DUP3
00002763: MLOAD
00002764: DUP7
00002765: PUSH1 0x20
00002767: DUP3
00002768: MUL
00002769: DUP4
0000276a: ADD
0000276b: GT
0000276c: PUSH5 0x0100000000
00002772: DUP3
00002773: GT
00002774: OR
00002775: ISZERO
00002776: PUSH2 0x277e
00002779: JUMPI
0000277a: PUSH1 0x00
0000277c: DUP1
0000277d: REVERT
0000277e: JUMPDEST
0000277f: DUP1
00002780: DUP4
00002781: MSTORE
00002782: PUSH1 0x20
00002784: DUP4
00002785: ADD
00002786: SWAP3
00002787: POP
00002788: POP
00002789: POP
0000278a: SWAP1
0000278b: DUP1
0000278c: MLOAD
0000278d: SWAP1
0000278e: PUSH1 0x20
00002790: ADD
00002791: SWAP1
00002792: PUSH1 0x20
00002794: MUL
00002795: DUP1
00002796: DUP4
00002797: DUP4
00002798: PUSH1 0x00
0000279a: JUMPDEST
0000279b: DUP4
0000279c: DUP2
0000279d: LT
0000279e: ISZERO
0000279f: PUSH2 0x27b5
000027a2: JUMPI
000027a3: DUP1
000027a4: DUP3
000027a5: ADD
000027a6: MLOAD
000027a7: DUP2
000027a8: DUP5
000027a9: ADD
000027aa: MSTORE
000027ab: PUSH1 0x20
000027ad: DUP2
000027ae: ADD
000027af: SWAP1
000027b0: POP
000027b1: PUSH2 0x279a
000027b4: JUMP
000027b5: JUMPDEST
000027b6: POP
000027b7: POP
000027b8: POP
000027b9: POP
000027ba: SWAP1
000027bb: POP
000027bc: ADD
000027bd: PUSH1 0x40
000027bf: MSTORE
000027c0: POP
000027c1: POP
000027c2: POP
000027c3: POP
000027c4: PUSH1 0x00
000027c6: PUSH1 0x0c
000027c8: PUSH1 0x00
000027ca: SWAP1
000027cb: SLOAD
000027cc: SWAP1
000027cd: PUSH2 0x0100
000027d0: EXP
000027d1: SWAP1
000027d2: DIV
000027d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027e8: AND
000027e9: SWAP1
000027ea: POP
000027eb: DUP1
000027ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002801: AND
00002802: PUSH4 0x70a08231
00002807: ADDRESS
00002808: PUSH1 0x40
0000280a: MLOAD
0000280b: DUP3
0000280c: PUSH4 0xffffffff
00002811: AND
00002812: PUSH1 0xe0
00002814: SHL
00002815: DUP2
00002816: MSTORE
00002817: PUSH1 0x04
00002819: ADD
0000281a: DUP1
0000281b: DUP3
0000281c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002831: AND
00002832: DUP2
00002833: MSTORE
00002834: PUSH1 0x20
00002836: ADD
00002837: SWAP2
00002838: POP
00002839: POP
0000283a: PUSH1 0x20
0000283c: PUSH1 0x40
0000283e: MLOAD
0000283f: DUP1
00002840: DUP4
00002841: SUB
00002842: DUP2
00002843: DUP7
00002844: DUP1
00002845: EXTCODESIZE
00002846: ISZERO
00002847: DUP1
00002848: ISZERO
00002849: PUSH2 0x2851
0000284c: JUMPI
0000284d: PUSH1 0x00
0000284f: DUP1
00002850: REVERT
00002851: JUMPDEST
00002852: POP
00002853: GAS
00002854: STATICCALL
00002855: ISZERO
00002856: DUP1
00002857: ISZERO
00002858: PUSH2 0x2865
0000285b: JUMPI
0000285c: RETURNDATASIZE
0000285d: PUSH1 0x00
0000285f: DUP1
00002860: RETURNDATACOPY
00002861: RETURNDATASIZE
00002862: PUSH1 0x00
00002864: REVERT
00002865: JUMPDEST
00002866: POP
00002867: POP
00002868: POP
00002869: POP
0000286a: PUSH1 0x40
0000286c: MLOAD
0000286d: RETURNDATASIZE
0000286e: PUSH1 0x20
00002870: DUP2
00002871: LT
00002872: ISZERO
00002873: PUSH2 0x287b
00002876: JUMPI
00002877: PUSH1 0x00
00002879: DUP1
0000287a: REVERT
0000287b: JUMPDEST
0000287c: DUP2
0000287d: ADD
0000287e: SWAP1
0000287f: DUP1
00002880: DUP1
00002881: MLOAD
00002882: SWAP1
00002883: PUSH1 0x20
00002885: ADD
00002886: SWAP1
00002887: SWAP3
00002888: SWAP2
00002889: SWAP1
0000288a: POP
0000288b: POP
0000288c: POP
0000288d: PUSH1 0x04
0000288f: SLOAD
00002890: ADD
00002891: PUSH1 0x04
00002893: DUP2
00002894: SWAP1
00002895: SSTORE
00002896: POP
00002897: PUSH1 0x00
00002899: ISZERO
0000289a: ISZERO
0000289b: PUSH1 0x19
0000289d: PUSH1 0x02
0000289f: SWAP1
000028a0: SLOAD
000028a1: SWAP1
000028a2: PUSH2 0x0100
000028a5: EXP
000028a6: SWAP1
000028a7: DIV
000028a8: PUSH1 0xff
000028aa: AND
000028ab: ISZERO
000028ac: ISZERO
000028ad: EQ
000028ae: ISZERO
000028af: PUSH2 0x28bb
000028b2: JUMPI
000028b3: PUSH2 0x28ba
000028b6: PUSH2 0x2d7b
000028b9: JUMP
000028ba: JUMPDEST
000028bb: JUMPDEST
000028bc: POP
000028bd: POP
000028be: POP
000028bf: POP
000028c0: POP
000028c1: POP
000028c2: PUSH1 0x01
000028c4: PUSH1 0x00
000028c6: DUP2
000028c7: SWAP1
000028c8: SSTORE
000028c9: POP
000028ca: JUMP
000028cb: JUMPDEST
000028cc: PUSH1 0x00
000028ce: PUSH1 0x0f
000028d0: TIMESTAMP
000028d1: ADD
000028d2: SWAP1
000028d3: POP
000028d4: PUSH1 0x00
000028d6: DUP3
000028d7: SWAP1
000028d8: POP
000028d9: PUSH1 0x00
000028db: DUP2
000028dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028f1: AND
000028f2: PUSH4 0x70a08231
000028f7: ADDRESS
000028f8: PUSH1 0x40
000028fa: MLOAD
000028fb: DUP3
000028fc: PUSH4 0xffffffff
00002901: AND
00002902: PUSH1 0xe0
00002904: SHL
00002905: DUP2
00002906: MSTORE
00002907: PUSH1 0x04
00002909: ADD
0000290a: DUP1
0000290b: DUP3
0000290c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002921: AND
00002922: DUP2
00002923: MSTORE
00002924: PUSH1 0x20
00002926: ADD
00002927: SWAP2
00002928: POP
00002929: POP
0000292a: PUSH1 0x20
0000292c: PUSH1 0x40
0000292e: MLOAD
0000292f: DUP1
00002930: DUP4
00002931: SUB
00002932: DUP2
00002933: DUP7
00002934: DUP1
00002935: EXTCODESIZE
00002936: ISZERO
00002937: DUP1
00002938: ISZERO
00002939: PUSH2 0x2941
0000293c: JUMPI
0000293d: PUSH1 0x00
0000293f: DUP1
00002940: REVERT
00002941: JUMPDEST
00002942: POP
00002943: GAS
00002944: STATICCALL
00002945: ISZERO
00002946: DUP1
00002947: ISZERO
00002948: PUSH2 0x2955
0000294b: JUMPI
0000294c: RETURNDATASIZE
0000294d: PUSH1 0x00
0000294f: DUP1
00002950: RETURNDATACOPY
00002951: RETURNDATASIZE
00002952: PUSH1 0x00
00002954: REVERT
00002955: JUMPDEST
00002956: POP
00002957: POP
00002958: POP
00002959: POP
0000295a: PUSH1 0x40
0000295c: MLOAD
0000295d: RETURNDATASIZE
0000295e: PUSH1 0x20
00002960: DUP2
00002961: LT
00002962: ISZERO
00002963: PUSH2 0x296b
00002966: JUMPI
00002967: PUSH1 0x00
00002969: DUP1
0000296a: REVERT
0000296b: JUMPDEST
0000296c: DUP2
0000296d: ADD
0000296e: SWAP1
0000296f: DUP1
00002970: DUP1
00002971: MLOAD
00002972: SWAP1
00002973: PUSH1 0x20
00002975: ADD
00002976: SWAP1
00002977: SWAP3
00002978: SWAP2
00002979: SWAP1
0000297a: POP
0000297b: POP
0000297c: POP
0000297d: SWAP1
0000297e: POP
0000297f: PUSH1 0x40
00002981: MLOAD
00002982: DUP1
00002983: PUSH1 0x40
00002985: ADD
00002986: PUSH1 0x40
00002988: MSTORE
00002989: DUP1
0000298a: DUP6
0000298b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029a0: AND
000029a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029b6: AND
000029b7: DUP2
000029b8: MSTORE
000029b9: PUSH1 0x20
000029bb: ADD
000029bc: PUSH1 0x06
000029be: PUSH1 0x00
000029c0: SWAP1
000029c1: SLOAD
000029c2: SWAP1
000029c3: PUSH2 0x0100
000029c6: EXP
000029c7: SWAP1
000029c8: DIV
000029c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029de: AND
000029df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029f4: AND
000029f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a0a: AND
00002a0b: DUP2
00002a0c: MSTORE
00002a0d: POP
00002a0e: PUSH1 0x18
00002a10: SWAP1
00002a11: PUSH1 0x02
00002a13: PUSH2 0x2a1d
00002a16: SWAP3
00002a17: SWAP2
00002a18: SWAP1
00002a19: PUSH2 0x30fd
00002a1c: JUMP
00002a1d: JUMPDEST
00002a1e: POP
00002a1f: PUSH1 0x00
00002a21: DUP2
00002a22: GT
00002a23: ISZERO
00002a24: PUSH2 0x2c41
00002a27: JUMPI
00002a28: PUSH1 0x19
00002a2a: PUSH1 0x03
00002a2c: SWAP1
00002a2d: SLOAD
00002a2e: SWAP1
00002a2f: PUSH2 0x0100
00002a32: EXP
00002a33: SWAP1
00002a34: DIV
00002a35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a4a: AND
00002a4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a60: AND
00002a61: PUSH4 0x18cbafe5
00002a66: DUP3
00002a67: PUSH1 0x00
00002a69: PUSH1 0x18
00002a6b: PUSH1 0x01
00002a6d: PUSH1 0x00
00002a6f: SWAP1
00002a70: SLOAD
00002a71: SWAP1
00002a72: PUSH2 0x0100
00002a75: EXP
00002a76: SWAP1
00002a77: DIV
00002a78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a8d: AND
00002a8e: DUP9
00002a8f: PUSH1 0x40
00002a91: MLOAD
00002a92: DUP7
00002a93: PUSH4 0xffffffff
00002a98: AND
00002a99: PUSH1 0xe0
00002a9b: SHL
00002a9c: DUP2
00002a9d: MSTORE
00002a9e: PUSH1 0x04
00002aa0: ADD
00002aa1: DUP1
00002aa2: DUP7
00002aa3: DUP2
00002aa4: MSTORE
00002aa5: PUSH1 0x20
00002aa7: ADD
00002aa8: DUP6
00002aa9: DUP2
00002aaa: MSTORE
00002aab: PUSH1 0x20
00002aad: ADD
00002aae: DUP1
00002aaf: PUSH1 0x20
00002ab1: ADD
00002ab2: DUP5
00002ab3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ac8: AND
00002ac9: DUP2
00002aca: MSTORE
00002acb: PUSH1 0x20
00002acd: ADD
00002ace: DUP4
00002acf: DUP2
00002ad0: MSTORE
00002ad1: PUSH1 0x20
00002ad3: ADD
00002ad4: DUP3
00002ad5: DUP2
00002ad6: SUB
00002ad7: DUP3
00002ad8: MSTORE
00002ad9: DUP6
00002ada: DUP2
00002adb: DUP2
00002adc: SLOAD
00002add: DUP2
00002ade: MSTORE
00002adf: PUSH1 0x20
00002ae1: ADD
00002ae2: SWAP2
00002ae3: POP
00002ae4: DUP1
00002ae5: SLOAD
00002ae6: DUP1
00002ae7: ISZERO
00002ae8: PUSH2 0x2b46
00002aeb: JUMPI
00002aec: PUSH1 0x20
00002aee: MUL
00002aef: DUP3
00002af0: ADD
00002af1: SWAP2
00002af2: SWAP1
00002af3: PUSH1 0x00
00002af5: MSTORE
00002af6: PUSH1 0x20
00002af8: PUSH1 0x00
00002afa: KECCAK256
00002afb: SWAP1
00002afc: JUMPDEST
00002afd: DUP2
00002afe: PUSH1 0x00
00002b00: SWAP1
00002b01: SLOAD
00002b02: SWAP1
00002b03: PUSH2 0x0100
00002b06: EXP
00002b07: SWAP1
00002b08: DIV
00002b09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b1e: AND
00002b1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b34: AND
00002b35: DUP2
00002b36: MSTORE
00002b37: PUSH1 0x20
00002b39: ADD
00002b3a: SWAP1
00002b3b: PUSH1 0x01
00002b3d: ADD
00002b3e: SWAP1
00002b3f: DUP1
00002b40: DUP4
00002b41: GT
00002b42: PUSH2 0x2afc
00002b45: JUMPI
00002b46: JUMPDEST
00002b47: POP
00002b48: POP
00002b49: SWAP7
00002b4a: POP
00002b4b: POP
00002b4c: POP
00002b4d: POP
00002b4e: POP
00002b4f: POP
00002b50: POP
00002b51: PUSH1 0x00
00002b53: PUSH1 0x40
00002b55: MLOAD
00002b56: DUP1
00002b57: DUP4
00002b58: SUB
00002b59: DUP2
00002b5a: PUSH1 0x00
00002b5c: DUP8
00002b5d: DUP1
00002b5e: EXTCODESIZE
00002b5f: ISZERO
00002b60: DUP1
00002b61: ISZERO
00002b62: PUSH2 0x2b6a
00002b65: JUMPI
00002b66: PUSH1 0x00
00002b68: DUP1
00002b69: REVERT
00002b6a: JUMPDEST
00002b6b: POP
00002b6c: GAS
00002b6d: CALL
00002b6e: ISZERO
00002b6f: DUP1
00002b70: ISZERO
00002b71: PUSH2 0x2b7e
00002b74: JUMPI
00002b75: RETURNDATASIZE
00002b76: PUSH1 0x00
00002b78: DUP1
00002b79: RETURNDATACOPY
00002b7a: RETURNDATASIZE
00002b7b: PUSH1 0x00
00002b7d: REVERT
00002b7e: JUMPDEST
00002b7f: POP
00002b80: POP
00002b81: POP
00002b82: POP
00002b83: PUSH1 0x40
00002b85: MLOAD
00002b86: RETURNDATASIZE
00002b87: PUSH1 0x00
00002b89: DUP3
00002b8a: RETURNDATACOPY
00002b8b: RETURNDATASIZE
00002b8c: PUSH1 0x1f
00002b8e: NOT
00002b8f: PUSH1 0x1f
00002b91: DUP3
00002b92: ADD
00002b93: AND
00002b94: DUP3
00002b95: ADD
00002b96: DUP1
00002b97: PUSH1 0x40
00002b99: MSTORE
00002b9a: POP
00002b9b: PUSH1 0x20
00002b9d: DUP2
00002b9e: LT
00002b9f: ISZERO
00002ba0: PUSH2 0x2ba8
00002ba3: JUMPI
00002ba4: PUSH1 0x00
00002ba6: DUP1
00002ba7: REVERT
00002ba8: JUMPDEST
00002ba9: DUP2
00002baa: ADD
00002bab: SWAP1
00002bac: DUP1
00002bad: DUP1
00002bae: MLOAD
00002baf: PUSH1 0x40
00002bb1: MLOAD
00002bb2: SWAP4
00002bb3: SWAP3
00002bb4: SWAP2
00002bb5: SWAP1
00002bb6: DUP5
00002bb7: PUSH5 0x0100000000
00002bbd: DUP3
00002bbe: GT
00002bbf: ISZERO
00002bc0: PUSH2 0x2bc8
00002bc3: JUMPI
00002bc4: PUSH1 0x00
00002bc6: DUP1
00002bc7: REVERT
00002bc8: JUMPDEST
00002bc9: DUP4
00002bca: DUP3
00002bcb: ADD
00002bcc: SWAP2
00002bcd: POP
00002bce: PUSH1 0x20
00002bd0: DUP3
00002bd1: ADD
00002bd2: DUP6
00002bd3: DUP2
00002bd4: GT
00002bd5: ISZERO
00002bd6: PUSH2 0x2bde
00002bd9: JUMPI
00002bda: PUSH1 0x00
00002bdc: DUP1
00002bdd: REVERT
00002bde: JUMPDEST
00002bdf: DUP3
00002be0: MLOAD
00002be1: DUP7
00002be2: PUSH1 0x20
00002be4: DUP3
00002be5: MUL
00002be6: DUP4
00002be7: ADD
00002be8: GT
00002be9: PUSH5 0x0100000000
00002bef: DUP3
00002bf0: GT
00002bf1: OR
00002bf2: ISZERO
00002bf3: PUSH2 0x2bfb
00002bf6: JUMPI
00002bf7: PUSH1 0x00
00002bf9: DUP1
00002bfa: REVERT
00002bfb: JUMPDEST
00002bfc: DUP1
00002bfd: DUP4
00002bfe: MSTORE
00002bff: PUSH1 0x20
00002c01: DUP4
00002c02: ADD
00002c03: SWAP3
00002c04: POP
00002c05: POP
00002c06: POP
00002c07: SWAP1
00002c08: DUP1
00002c09: MLOAD
00002c0a: SWAP1
00002c0b: PUSH1 0x20
00002c0d: ADD
00002c0e: SWAP1
00002c0f: PUSH1 0x20
00002c11: MUL
00002c12: DUP1
00002c13: DUP4
00002c14: DUP4
00002c15: PUSH1 0x00
00002c17: JUMPDEST
00002c18: DUP4
00002c19: DUP2
00002c1a: LT
00002c1b: ISZERO
00002c1c: PUSH2 0x2c32
00002c1f: JUMPI
00002c20: DUP1
00002c21: DUP3
00002c22: ADD
00002c23: MLOAD
00002c24: DUP2
00002c25: DUP5
00002c26: ADD
00002c27: MSTORE
00002c28: PUSH1 0x20
00002c2a: DUP2
00002c2b: ADD
00002c2c: SWAP1
00002c2d: POP
00002c2e: PUSH2 0x2c17
00002c31: JUMP
00002c32: JUMPDEST
00002c33: POP
00002c34: POP
00002c35: POP
00002c36: POP
00002c37: SWAP1
00002c38: POP
00002c39: ADD
00002c3a: PUSH1 0x40
00002c3c: MSTORE
00002c3d: POP
00002c3e: POP
00002c3f: POP
00002c40: POP
00002c41: JUMPDEST
00002c42: POP
00002c43: POP
00002c44: POP
00002c45: POP
00002c46: JUMP
00002c47: JUMPDEST
00002c48: PUSH1 0x00
00002c4a: PUSH1 0x0e
00002c4c: PUSH1 0x00
00002c4e: SWAP1
00002c4f: SLOAD
00002c50: SWAP1
00002c51: PUSH2 0x0100
00002c54: EXP
00002c55: SWAP1
00002c56: DIV
00002c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c6c: AND
00002c6d: SWAP1
00002c6e: POP
00002c6f: PUSH1 0x00
00002c71: DUP2
00002c72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c87: AND
00002c88: PUSH4 0x70a08231
00002c8d: ADDRESS
00002c8e: PUSH1 0x40
00002c90: MLOAD
00002c91: DUP3
00002c92: PUSH4 0xffffffff
00002c97: AND
00002c98: PUSH1 0xe0
00002c9a: SHL
00002c9b: DUP2
00002c9c: MSTORE
00002c9d: PUSH1 0x04
00002c9f: ADD
00002ca0: DUP1
00002ca1: DUP3
00002ca2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cb7: AND
00002cb8: DUP2
00002cb9: MSTORE
00002cba: PUSH1 0x20
00002cbc: ADD
00002cbd: SWAP2
00002cbe: POP
00002cbf: POP
00002cc0: PUSH1 0x20
00002cc2: PUSH1 0x40
00002cc4: MLOAD
00002cc5: DUP1
00002cc6: DUP4
00002cc7: SUB
00002cc8: DUP2
00002cc9: DUP7
00002cca: DUP1
00002ccb: EXTCODESIZE
00002ccc: ISZERO
00002ccd: DUP1
00002cce: ISZERO
00002ccf: PUSH2 0x2cd7
00002cd2: JUMPI
00002cd3: PUSH1 0x00
00002cd5: DUP1
00002cd6: REVERT
00002cd7: JUMPDEST
00002cd8: POP
00002cd9: GAS
00002cda: STATICCALL
00002cdb: ISZERO
00002cdc: DUP1
00002cdd: ISZERO
00002cde: PUSH2 0x2ceb
00002ce1: JUMPI
00002ce2: RETURNDATASIZE
00002ce3: PUSH1 0x00
00002ce5: DUP1
00002ce6: RETURNDATACOPY
00002ce7: RETURNDATASIZE
00002ce8: PUSH1 0x00
00002cea: REVERT
00002ceb: JUMPDEST
00002cec: POP
00002ced: POP
00002cee: POP
00002cef: POP
00002cf0: PUSH1 0x40
00002cf2: MLOAD
00002cf3: RETURNDATASIZE
00002cf4: PUSH1 0x20
00002cf6: DUP2
00002cf7: LT
00002cf8: ISZERO
00002cf9: PUSH2 0x2d01
00002cfc: JUMPI
00002cfd: PUSH1 0x00
00002cff: DUP1
00002d00: REVERT
00002d01: JUMPDEST
00002d02: DUP2
00002d03: ADD
00002d04: SWAP1
00002d05: DUP1
00002d06: DUP1
00002d07: MLOAD
00002d08: SWAP1
00002d09: PUSH1 0x20
00002d0b: ADD
00002d0c: SWAP1
00002d0d: SWAP3
00002d0e: SWAP2
00002d0f: SWAP1
00002d10: POP
00002d11: POP
00002d12: POP
00002d13: SWAP1
00002d14: POP
00002d15: PUSH1 0x00
00002d17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d2c: AND
00002d2d: PUSH2 0x08fc
00002d30: DUP3
00002d31: SWAP1
00002d32: DUP2
00002d33: ISZERO
00002d34: MUL
00002d35: SWAP1
00002d36: PUSH1 0x40
00002d38: MLOAD
00002d39: PUSH1 0x00
00002d3b: PUSH1 0x40
00002d3d: MLOAD
00002d3e: DUP1
00002d3f: DUP4
00002d40: SUB
00002d41: DUP2
00002d42: DUP6
00002d43: DUP9
00002d44: DUP9
00002d45: CALL
00002d46: SWAP4
00002d47: POP
00002d48: POP
00002d49: POP
00002d4a: POP
00002d4b: ISZERO
00002d4c: DUP1
00002d4d: ISZERO
00002d4e: PUSH2 0x2d5b
00002d51: JUMPI
00002d52: RETURNDATASIZE
00002d53: PUSH1 0x00
00002d55: DUP1
00002d56: RETURNDATACOPY
00002d57: RETURNDATASIZE
00002d58: PUSH1 0x00
00002d5a: REVERT
00002d5b: JUMPDEST
00002d5c: POP
00002d5d: PUSH1 0x01
00002d5f: PUSH1 0x19
00002d61: PUSH1 0x01
00002d63: PUSH2 0x0100
00002d66: EXP
00002d67: DUP2
00002d68: SLOAD
00002d69: DUP2
00002d6a: PUSH1 0xff
00002d6c: MUL
00002d6d: NOT
00002d6e: AND
00002d6f: SWAP1
00002d70: DUP4
00002d71: ISZERO
00002d72: ISZERO
00002d73: MUL
00002d74: OR
00002d75: SWAP1
00002d76: SSTORE
00002d77: POP
00002d78: POP
00002d79: POP
00002d7a: JUMP
00002d7b: JUMPDEST
00002d7c: PUSH2 0x2da6
00002d7f: PUSH1 0x07
00002d81: PUSH1 0x00
00002d83: SWAP1
00002d84: SLOAD
00002d85: SWAP1
00002d86: PUSH2 0x0100
00002d89: EXP
00002d8a: SWAP1
00002d8b: DIV
00002d8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002da1: AND
00002da2: PUSH2 0x2efc
00002da5: JUMP
00002da6: JUMPDEST
00002da7: PUSH2 0x2dd1
00002daa: PUSH1 0x08
00002dac: PUSH1 0x00
00002dae: SWAP1
00002daf: SLOAD
00002db0: SWAP1
00002db1: PUSH2 0x0100
00002db4: EXP
00002db5: SWAP1
00002db6: DIV
00002db7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dcc: AND
00002dcd: PUSH2 0x2efc
00002dd0: JUMP
00002dd1: JUMPDEST
00002dd2: PUSH2 0x2dfc
00002dd5: PUSH1 0x09
00002dd7: PUSH1 0x00
00002dd9: SWAP1
00002dda: SLOAD
00002ddb: SWAP1
00002ddc: PUSH2 0x0100
00002ddf: EXP
00002de0: SWAP1
00002de1: DIV
00002de2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002df7: AND
00002df8: PUSH2 0x2efc
00002dfb: JUMP
00002dfc: JUMPDEST
00002dfd: PUSH2 0x2e27
00002e00: PUSH1 0x0a
00002e02: PUSH1 0x00
00002e04: SWAP1
00002e05: SLOAD
00002e06: SWAP1
00002e07: PUSH2 0x0100
00002e0a: EXP
00002e0b: SWAP1
00002e0c: DIV
00002e0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e22: AND
00002e23: PUSH2 0x2efc
00002e26: JUMP
00002e27: JUMPDEST
00002e28: PUSH2 0x2e52
00002e2b: PUSH1 0x0b
00002e2d: PUSH1 0x00
00002e2f: SWAP1
00002e30: SLOAD
00002e31: SWAP1
00002e32: PUSH2 0x0100
00002e35: EXP
00002e36: SWAP1
00002e37: DIV
00002e38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e4d: AND
00002e4e: PUSH2 0x2efc
00002e51: JUMP
00002e52: JUMPDEST
00002e53: PUSH2 0x2e7d
00002e56: PUSH1 0x0c
00002e58: PUSH1 0x00
00002e5a: SWAP1
00002e5b: SLOAD
00002e5c: SWAP1
00002e5d: PUSH2 0x0100
00002e60: EXP
00002e61: SWAP1
00002e62: DIV
00002e63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e78: AND
00002e79: PUSH2 0x2efc
00002e7c: JUMP
00002e7d: JUMPDEST
00002e7e: PUSH2 0x2ea8
00002e81: PUSH1 0x0d
00002e83: PUSH1 0x00
00002e85: SWAP1
00002e86: SLOAD
00002e87: SWAP1
00002e88: PUSH2 0x0100
00002e8b: EXP
00002e8c: SWAP1
00002e8d: DIV
00002e8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ea3: AND
00002ea4: PUSH2 0x2efc
00002ea7: JUMP
00002ea8: JUMPDEST
00002ea9: PUSH2 0x2ed3
00002eac: PUSH1 0x0e
00002eae: PUSH1 0x00
00002eb0: SWAP1
00002eb1: SLOAD
00002eb2: SWAP1
00002eb3: PUSH2 0x0100
00002eb6: EXP
00002eb7: SWAP1
00002eb8: DIV
00002eb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ece: AND
00002ecf: PUSH2 0x2efc
00002ed2: JUMP
00002ed3: JUMPDEST
00002ed4: PUSH3 0x02a300
00002ed8: TIMESTAMP
00002ed9: ADD
00002eda: PUSH1 0x03
00002edc: DUP2
00002edd: SWAP1
00002ede: SSTORE
00002edf: POP
00002ee0: PUSH1 0x01
00002ee2: PUSH1 0x19
00002ee4: PUSH1 0x02
00002ee6: PUSH2 0x0100
00002ee9: EXP
00002eea: DUP2
00002eeb: SLOAD
00002eec: DUP2
00002eed: PUSH1 0xff
00002eef: MUL
00002ef0: NOT
00002ef1: AND
00002ef2: SWAP1
00002ef3: DUP4
00002ef4: ISZERO
00002ef5: ISZERO
00002ef6: MUL
00002ef7: OR
00002ef8: SWAP1
00002ef9: SSTORE
00002efa: POP
00002efb: JUMP
00002efc: JUMPDEST
00002efd: PUSH1 0x00
00002eff: DUP2
00002f00: SWAP1
00002f01: POP
00002f02: DUP1
00002f03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f18: AND
00002f19: PUSH4 0x095ea7b3
00002f1e: PUSH1 0x0f
00002f20: PUSH1 0x00
00002f22: SWAP1
00002f23: SLOAD
00002f24: SWAP1
00002f25: PUSH2 0x0100
00002f28: EXP
00002f29: SWAP1
00002f2a: DIV
00002f2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f40: AND
00002f41: PUSH1 0x02
00002f43: SLOAD
00002f44: PUSH1 0x40
00002f46: MLOAD
00002f47: DUP4
00002f48: PUSH4 0xffffffff
00002f4d: AND
00002f4e: PUSH1 0xe0
00002f50: SHL
00002f51: DUP2
00002f52: MSTORE
00002f53: PUSH1 0x04
00002f55: ADD
00002f56: DUP1
00002f57: DUP4
00002f58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f6d: AND
00002f6e: DUP2
00002f6f: MSTORE
00002f70: PUSH1 0x20
00002f72: ADD
00002f73: DUP3
00002f74: DUP2
00002f75: MSTORE
00002f76: PUSH1 0x20
00002f78: ADD
00002f79: SWAP3
00002f7a: POP
00002f7b: POP
00002f7c: POP
00002f7d: PUSH1 0x20
00002f7f: PUSH1 0x40
00002f81: MLOAD
00002f82: DUP1
00002f83: DUP4
00002f84: SUB
00002f85: DUP2
00002f86: PUSH1 0x00
00002f88: DUP8
00002f89: DUP1
00002f8a: EXTCODESIZE
00002f8b: ISZERO
00002f8c: DUP1
00002f8d: ISZERO
00002f8e: PUSH2 0x2f96
00002f91: JUMPI
00002f92: PUSH1 0x00
00002f94: DUP1
00002f95: REVERT
00002f96: JUMPDEST
00002f97: POP
00002f98: GAS
00002f99: CALL
00002f9a: ISZERO
00002f9b: DUP1
00002f9c: ISZERO
00002f9d: PUSH2 0x2faa
00002fa0: JUMPI
00002fa1: RETURNDATASIZE
00002fa2: PUSH1 0x00
00002fa4: DUP1
00002fa5: RETURNDATACOPY
00002fa6: RETURNDATASIZE
00002fa7: PUSH1 0x00
00002fa9: REVERT
00002faa: JUMPDEST
00002fab: POP
00002fac: POP
00002fad: POP
00002fae: POP
00002faf: PUSH1 0x40
00002fb1: MLOAD
00002fb2: RETURNDATASIZE
00002fb3: PUSH1 0x20
00002fb5: DUP2
00002fb6: LT
00002fb7: ISZERO
00002fb8: PUSH2 0x2fc0
00002fbb: JUMPI
00002fbc: PUSH1 0x00
00002fbe: DUP1
00002fbf: REVERT
00002fc0: JUMPDEST
00002fc1: DUP2
00002fc2: ADD
00002fc3: SWAP1
00002fc4: DUP1
00002fc5: DUP1
00002fc6: MLOAD
00002fc7: SWAP1
00002fc8: PUSH1 0x20
00002fca: ADD
00002fcb: SWAP1
00002fcc: SWAP3
00002fcd: SWAP2
00002fce: SWAP1
00002fcf: POP
00002fd0: POP
00002fd1: POP
00002fd2: POP
00002fd3: PUSH1 0x0e
00002fd5: PUSH1 0x00
00002fd7: SWAP1
00002fd8: SLOAD
00002fd9: SWAP1
00002fda: PUSH2 0x0100
00002fdd: EXP
00002fde: SWAP1
00002fdf: DIV
00002fe0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ff5: AND
00002ff6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000300b: AND
0000300c: DUP3
0000300d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003022: AND
00003023: EQ
00003024: PUSH2 0x30f9
00003027: JUMPI
00003028: DUP1
00003029: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000303e: AND
0000303f: PUSH4 0x095ea7b3
00003044: PUSH1 0x10
00003046: PUSH1 0x00
00003048: SWAP1
00003049: SLOAD
0000304a: SWAP1
0000304b: PUSH2 0x0100
0000304e: EXP
0000304f: SWAP1
00003050: DIV
00003051: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003066: AND
00003067: PUSH1 0x02
00003069: SLOAD
0000306a: PUSH1 0x40
0000306c: MLOAD
0000306d: DUP4
0000306e: PUSH4 0xffffffff
00003073: AND
00003074: PUSH1 0xe0
00003076: SHL
00003077: DUP2
00003078: MSTORE
00003079: PUSH1 0x04
0000307b: ADD
0000307c: DUP1
0000307d: DUP4
0000307e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003093: AND
00003094: DUP2
00003095: MSTORE
00003096: PUSH1 0x20
00003098: ADD
00003099: DUP3
0000309a: DUP2
0000309b: MSTORE
0000309c: PUSH1 0x20
0000309e: ADD
0000309f: SWAP3
000030a0: POP
000030a1: POP
000030a2: POP
000030a3: PUSH1 0x20
000030a5: PUSH1 0x40
000030a7: MLOAD
000030a8: DUP1
000030a9: DUP4
000030aa: SUB
000030ab: DUP2
000030ac: PUSH1 0x00
000030ae: DUP8
000030af: DUP1
000030b0: EXTCODESIZE
000030b1: ISZERO
000030b2: DUP1
000030b3: ISZERO
000030b4: PUSH2 0x30bc
000030b7: JUMPI
000030b8: PUSH1 0x00
000030ba: DUP1
000030bb: REVERT
000030bc: JUMPDEST
000030bd: POP
000030be: GAS
000030bf: CALL
000030c0: ISZERO
000030c1: DUP1
000030c2: ISZERO
000030c3: PUSH2 0x30d0
000030c6: JUMPI
000030c7: RETURNDATASIZE
000030c8: PUSH1 0x00
000030ca: DUP1
000030cb: RETURNDATACOPY
000030cc: RETURNDATASIZE
000030cd: PUSH1 0x00
000030cf: REVERT
000030d0: JUMPDEST
000030d1: POP
000030d2: POP
000030d3: POP
000030d4: POP
000030d5: PUSH1 0x40
000030d7: MLOAD
000030d8: RETURNDATASIZE
000030d9: PUSH1 0x20
000030db: DUP2
000030dc: LT
000030dd: ISZERO
000030de: PUSH2 0x30e6
000030e1: JUMPI
000030e2: PUSH1 0x00
000030e4: DUP1
000030e5: REVERT
000030e6: JUMPDEST
000030e7: DUP2
000030e8: ADD
000030e9: SWAP1
000030ea: DUP1
000030eb: DUP1
000030ec: MLOAD
000030ed: SWAP1
000030ee: PUSH1 0x20
000030f0: ADD
000030f1: SWAP1
000030f2: SWAP3
000030f3: SWAP2
000030f4: SWAP1
000030f5: POP
000030f6: POP
000030f7: POP
000030f8: POP
000030f9: JUMPDEST
000030fa: POP
000030fb: POP
000030fc: JUMP
000030fd: JUMPDEST
000030fe: DUP3
000030ff: DUP1
00003100: SLOAD
00003101: DUP3
00003102: DUP3
00003103: SSTORE
00003104: SWAP1
00003105: PUSH1 0x00
00003107: MSTORE
00003108: PUSH1 0x20
0000310a: PUSH1 0x00
0000310c: KECCAK256
0000310d: SWAP1
0000310e: DUP2
0000310f: ADD
00003110: SWAP3
00003111: DUP3
00003112: ISZERO
00003113: PUSH2 0x3176
00003116: JUMPI
00003117: SWAP2
00003118: PUSH1 0x20
0000311a: MUL
0000311b: DUP3
0000311c: ADD
0000311d: JUMPDEST
0000311e: DUP3
0000311f: DUP2
00003120: GT
00003121: ISZERO
00003122: PUSH2 0x3175
00003125: JUMPI
00003126: DUP3
00003127: MLOAD
00003128: DUP3
00003129: PUSH1 0x00
0000312b: PUSH2 0x0100
0000312e: EXP
0000312f: DUP2
00003130: SLOAD
00003131: DUP2
00003132: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003147: MUL
00003148: NOT
00003149: AND
0000314a: SWAP1
0000314b: DUP4
0000314c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003161: AND
00003162: MUL
00003163: OR
00003164: SWAP1
00003165: SSTORE
00003166: POP
00003167: SWAP2
00003168: PUSH1 0x20
0000316a: ADD
0000316b: SWAP2
0000316c: SWAP1
0000316d: PUSH1 0x01
0000316f: ADD
00003170: SWAP1
00003171: PUSH2 0x311d
00003174: JUMP
00003175: JUMPDEST
00003176: JUMPDEST
00003177: POP
00003178: SWAP1
00003179: POP
0000317a: PUSH2 0x3183
0000317d: SWAP2
0000317e: SWAP1
0000317f: PUSH2 0x3187
00003182: JUMP
00003183: JUMPDEST
00003184: POP
00003185: SWAP1
00003186: JUMP
00003187: JUMPDEST
00003188: JUMPDEST
00003189: DUP1
0000318a: DUP3
0000318b: GT
0000318c: ISZERO
0000318d: PUSH2 0x31be
00003190: JUMPI
00003191: PUSH1 0x00
00003193: DUP2
00003194: DUP2
00003195: PUSH2 0x0100
00003198: EXP
00003199: DUP2
0000319a: SLOAD
0000319b: SWAP1
0000319c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031b1: MUL
000031b2: NOT
000031b3: AND
000031b4: SWAP1
000031b5: SSTORE
000031b6: POP
000031b7: PUSH1 0x01
000031b9: ADD
000031ba: PUSH2 0x3188
000031bd: JUMP
000031be: JUMPDEST
000031bf: POP
000031c0: SWAP1
000031c1: JUMP
000031c2: INVALID
000031c3: LOG2
000031c4: PUSH5 0x6970667358
000031ca: UNKNOWN(0x22)
000031cb: SLT
000031cc: KECCAK256
000031cd: OR
000031ce: SWAP16
000031cf: UNKNOWN(0xD2)
000031d0: STATICCALL
000031d1: UNKNOWN(0x2C)
000031d2: GT
000031d3: UNKNOWN(0x2F)
000031d4: UNKNOWN(0xE3)
000031d5: PUSH5 0x9c17e66855
000031db: SHR
000031dc: UNKNOWN(0xEC)
000031dd: STOP
000031de: CODESIZE
000031df: RETURNDATASIZE
000031e0: UNKNOWN(0x24)
000031e1: UNKNOWN(0xCE)
000031e2: UNKNOWN(0xEA)
000031e3: UNKNOWN(0xC5)
000031e4: SWAP7
000031e5: MOD
000031e6: SWAP4
000031e7: LOG2
000031e8: PUSH4 0x0a56794c
000031ed: PUSH5 0x736f6c6343
000031f3: STOP
000031f4: MOD
000031f5: UNKNOWN(0x0C)
000031f6: STOP
000031f7: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high oracle codex Flash-loan price manipulation drains ETH via zero-slippage publicSwap 85 no
view
evidence_json
{
    "evidence": "`publicSwap()` is public after `safetyRelease` and calls `_swap()`, which executes multiple `swapExactETHForTokens` calls with `amountOutMin = 0`, allowing swaps at any price.",
    "locations": [
        "contracts/Contract.sol:290",
        "contracts/Contract.sol:295",
        "contracts/Contract.sol:301",
        "contracts/Contract.sol:307"
    ],
    "recommendation": "Restrict `publicSwap()` to trusted callers or add robust slippage protection using off-chain pricing (e.g., TWAP/oracle) and non-zero `amountOutMin` limits; consider pausing public access to swaps.",
    "exploit_scenario": "1) Wait until `now > safetyRelease` and the contract holds ETH (funded via `buoyAddress`). 2) In a single transaction, take a flash loan of WETH. 3) For each target pair (e.g., WETH/LINK), swap WETH -> token on Uniswap to inflate token price in ETH terms. 4) Call `publicSwap()` to force the contract to buy those tokens at the manipulated, overpriced rate with `amountOutMin=0`. 5) Swap the pre-bought tokens back to WETH after `publicSwap` completes, capturing the ETH the contract just injected. 6) Repay the flash loan and keep the surplus WETH/ETH as profit."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x593ce8c7d2adc2c29be96ae59fe244c7e8e006f9782d3aea790a7cff85983760
call_targets: 0xaba513097f04d637727fdcda0246636e0d5d6833
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x593ce8c7d2adc2c29be96ae59fe244c7e8e006f9782d3aea790a7cff85983760",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xaba513097f04d637727fdcda0246636e0d5d6833"
    ],
    "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": "0xb6b55f25",
            "selector": "0xb6b55f25",
            "calldata_variants": [
                "0xb6b55f25",
                "0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbb0c071a",
            "selector": "0xbb0c071a",
            "calldata_variants": [
                "0xbb0c071a",
                "0xbb0c071a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc303a12",
            "selector": "0xdc303a12",
            "calldata_variants": [
                "0xdc303a12",
                "0xdc303a120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1633248",
            "selector": "0xf1633248",
            "calldata_variants": [
                "0xf1633248",
                "0xf16332480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb983b83",
            "selector": "0xfb983b83",
            "calldata_variants": [
                "0xfb983b83",
                "0xfb983b830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8bb3d1fe",
            "selector": "0x8bb3d1fe",
            "calldata_variants": [
                "0x8bb3d1fe",
                "0x8bb3d1fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c0ba32f",
            "selector": "0x8c0ba32f",
            "calldata_variants": [
                "0x8c0ba32f",
                "0x8c0ba32f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4b6dcae",
            "selector": "0xa4b6dcae",
            "calldata_variants": [
                "0xa4b6dcae",
                "0xa4b6dcae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2407,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3584,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6991,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [
        {
            "pc": 480,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2642,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2742,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3346,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3667,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4074,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 13
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x593ce8c7d2adc2c29be96ae59fe244c7e8e006f9782d3aea790a7cff85983760
call_targets: 0xaba513097f04d637727fdcda0246636e0d5d6833
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x593ce8c7d2adc2c29be96ae59fe244c7e8e006f9782d3aea790a7cff85983760",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xaba513097f04d637727fdcda0246636e0d5d6833"
    ],
    "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": "0xb6b55f25",
            "selector": "0xb6b55f25",
            "calldata_variants": [
                "0xb6b55f25",
                "0xb6b55f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbb0c071a",
            "selector": "0xbb0c071a",
            "calldata_variants": [
                "0xbb0c071a",
                "0xbb0c071a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc303a12",
            "selector": "0xdc303a12",
            "calldata_variants": [
                "0xdc303a12",
                "0xdc303a120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1633248",
            "selector": "0xf1633248",
            "calldata_variants": [
                "0xf1633248",
                "0xf16332480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb983b83",
            "selector": "0xfb983b83",
            "calldata_variants": [
                "0xfb983b83",
                "0xfb983b830000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8bb3d1fe",
            "selector": "0x8bb3d1fe",
            "calldata_variants": [
                "0x8bb3d1fe",
                "0x8bb3d1fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8c0ba32f",
            "selector": "0x8c0ba32f",
            "calldata_variants": [
                "0x8c0ba32f",
                "0x8c0ba32f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4b6dcae",
            "selector": "0xa4b6dcae",
            "calldata_variants": [
                "0xa4b6dcae",
                "0xa4b6dcae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2407,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3584,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6991,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": [
        {
            "pc": 480,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2642,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2742,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3346,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3667,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4074,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
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": 16
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 18
}