7fb51998-f809-4e92-b921-e783e72a0f6f
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31745 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95893 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 95894 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95895 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95896 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95897 | detector.run | complete | 1 / 3 | 1 week ago |
| 95898 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:332569] OpenAI Codex v0.77.0 (research preview)
[codex:332569] --------
[codex:332569] workdir: /tmp/codex-multi-cfhhnizl
[codex:332569] model: gpt-5.2-codex
[codex:332569] provider: openai
[codex:332569] approval: never
[codex:332569] sandbox: read-only
[codex:332569] reasoning effort: xhigh
[codex:332569] reasoning summaries: auto
[codex:332569] session id: 019b8fa5-9941-7861-90c3-d740fac814ce
[codex:332569] --------
[codex:332569] user
[codex:332569] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:332569]
[codex:332569] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:332569]
[codex:332569] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:332569] - Gas inefficiency, code quality, naming, or best practices
[codex:332569] - Theoretical vulnerabilities without a clear extraction path
[codex:332569] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:332569] - Front-running unless it enables theft beyond MEV
[codex:332569] - DoS, griefing, or issues that don't result in attacker profit
[codex:332569] - Missing events, view function issues, or informational findings
[codex:332569]
[codex:332569] HIGH-VALUE PATTERNS TO HUNT:
[codex:332569] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:332569] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:332569] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:332569] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:332569] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:332569] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:332569] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:332569] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:332569] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:332569]
[codex:332569] For each finding, you MUST provide:
[codex:332569] 1. Exact file and line numbers of vulnerable code
[codex:332569] 2. Step-by-step exploit transaction sequence
[codex:332569] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:332569]
[codex:332569] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:332569]
[codex:332569] Output MUST be valid JSON matching the provided schema.
[codex:332569] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:332569] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:332569] mcp startup: no servers
[codex:332569]
[codex:332569] thinking
[codex:332569] **Reading instructions and audit bundle**
[codex:332569] exec
[codex:332569] /bin/bash -lc ls in /tmp/codex-multi-cfhhnizl succeeded in 5ms:
[codex:332569] AUDIT_BUNDLE.txt
[codex:332569] codex-output-schema.json
[codex:332569] contracts
[codex:332569] exec
[codex:332569] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cfhhnizl succeeded in 6ms:
[codex:332569] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:332569]
[codex:332569] ================================================================================
[codex:332569] FILE: contracts/Contract.sol
[codex:332569] ================================================================================
[codex:332569] pragma solidity ^0.4.23;
[codex:332569]
[codex:332569] contract Events {
[codex:332569] event onActive();
[codex:332569]
[codex:332569] event onOuterDividend
[codex:332569] (
[codex:332569] uint256 _dividends
[codex:332569] );
[codex:332569]
[codex:332569] event onBuyKey
[codex:332569] (
[codex:332569] address _address,
[codex:332569] uint256 _pID,
[codex:332569] uint256 _rID,
[codex:332569]
[codex:332569]
[codex:332569]
[codex:332569]
[codex:332569]
[codex:332569] thinking
[codex:332569] **Examining reentrancy and storage nuances for exploits**
[codex:332569]
[codex:332569] I'm carefully analyzing potential reentrancy vulnerabilities around external calls that happen before state changes complete, especially in `endRound`. I’m also digging into Solidity 0.4.23’s default data locations for struct variables to see if state updates might be lost due to unexpected memory usage. This exploration includes checking how player and round structs are handled to spot inconsistencies that could allow double withdrawals or skipped game rounds, and I'm verifying arithmetic and masking logic for dividend-related exploits. There is a lot here involving subtle interactions and possible reentrancy through external calls paired with state update timing, so I’m trying to connect the dots thoroughly.
[codex:332569] thinking
[codex:332569] **Investigating arithmetic, dividend logic, and pot distribution quirks**
[codex:332569]
[codex:332569] I’m examining signed integer wraparound risks in dividend masks, concluding that extreme underflows are unrealistic due to Solidity’s large int256 range. Then I carefully verify the lucky bonus calculation flow to rule out double-claim exploits, noticing that state updates prevent repeated claims. I’m also investigating rounding and fee interactions in buy-sell cycles for potential profit paths but finding no obvious vulnerabilities beyond standard edge cases. Finally, I’m analyzing pot distribution conditions and timing, spotting a likely logic issue where pot accumulates across rounds without immediate distribution, possibly affecting game fairness rather than yielding direct profit. This is a complex set of interconnected details, so I’m piecing together how these might or might not be exploitable.
[codex:332569] thinking
[codex:332569] **Examining pot accumulation and key sell accounting flaw**
[codex:332569]
[codex:332569] I’m exploring how pot funds carry over and rounds frequently reset due to investment thresholds, causing pot to accumulate across rounds without immediate distribution. A key discovery is that when players sell keys, the per-round key counts used for pot distribution don’t decrease, letting sellers retain eligibility for pot shares even without holding keys anymore. This mismatch could let someone buy keys, sell them to recoup most funds minus fees, and still claim a share of the pot later, potentially profiting beyond normal rules. This looks like a concrete exploit in the accounting of keys per round and pot payout logic that could let an attacker extract value at a low net cost.
[codex:332569] thinking
[codex:332569] **Analyzing detailed pot distribution and selling timing impact**
[codex:332569]
[codex:332569] I’m testing realistic values to confirm how pot size, investment thresholds, and timing interact to enable pot distribution after inactivity with small investments. The key insight is that pot distribution only occurs if the round ends due to time (now > end), not early from investment exceeding pot threshold. This lets an attacker buy keys below the threshold, then sell immediately—without reducing per-round key counts—to recoup most funds minus fees, and later claim an outsized share of the accumulated pot after round end. The interplay of endRound calls, round increments, and player round tracking all align to support this exploit path, which depends on the sell function not reducing per-round keys, allowing profit extraction with minimal net cost by cycling buys and sells ahead of inactivity periods.
[codex:332569] thinking
[codex:332569] **Confirming exploit sequence via misaccounted sells and pot timing**
[codex:332569]
[codex:332569] I’m outlining a clear, step-by-step exploit where an attacker waits for a large pot, buys keys with minimal risk, sells them immediately (without reducing per-round keys), holds through inactivity, then claims a disproportionate pot share when round ends by time. This confirms the logic flaw allowing profit extraction by double-dipping via the unchanged per-round keys despite selling. Next, I'll identify exact file and line references for clarity.
[codex:332569] exec
[codex:332569] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-cfhhnizl succeeded in 8ms:
[codex:332569] 1 pragma solidity ^0.4.23;
[codex:332569] 2
[codex:332569] 3 contract Events {
[codex:332569] 4 event onActive();
[codex:332569] 5
[codex:332569] 6 event onOuterDividend
[codex:332569] 7 (
[codex:332569] 8 uint256 _dividends
[codex:332569] 9 );
[codex:332569] 10
[codex:332569] 11 event onBuyKey
[codex:332569] 12 (
[codex:332569] 13 address _address,
[codex:332569] 14 uint256 _pID,
[codex:332569] 15 uint256 _rID,
[codex:332569] 16 uint256 _eth,
[codex:332569] 17 uint256 _key,
[codex:332569] 18 bool _timeExtended
[codex:332569] 19 );
[codex:332569] 20
[codex:332569]
[codex:332569] thinking
[codex:332569] **Preparing detailed vulnerability report**
[codex:332569]
[codex:332569] I’m outlining a JSON report for a smart contract math bug where sold keys still count for lucky pot payouts, allowing attackers to drain the pot. I’m including exact file locations, severity as high, a clear exploit scenario, evidence from specific code lines, and recommendations to fix the accounting error. This will meet the output schema with a brief summary and comprehensive findings array.
[codex:332569] codex
[codex:332569] {"no_findings":false,"summary":"Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.","findings":[{"severity":"high","category":"math","title":"Sold keys still count toward lucky pot distribution, enabling pot drain after selling","exploit_scenario":"1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users.","recommendation":"On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.","evidence":"`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.","locations":["contracts/Contract.sol:312","contracts/Contract.sol:341","contracts/Contract.sol:344","contracts/Contract.sol:191","contracts/Contract.sol:208","contracts/Contract.sol:210","contracts/Contract.sol:293","contracts/Contract.sol:298","contracts/Contract.sol:443","contracts/Contract.sol:446","contracts/Contract.sol:449"]}]}
[codex:332569] tokens used
[codex:332569] 39,879
[codex:332569] {"no_findings":false,"summary":"Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.","findings":[{"severity":"high","category":"math","title":"Sold keys still count toward lucky pot distribution, enabling pot drain after selling","exploit_scenario":"1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users.","recommendation":"On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.","evidence":"`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.","locations":["contracts/Contract.sol:312","contracts/Contract.sol:341","contracts/Contract.sol:344","contracts/Contract.sol:191","contracts/Contract.sol:208","contracts/Contract.sol:210","contracts/Contract.sol:293","contracts/Contract.sol:298","contracts/Contract.sol:443","contracts/Contract.sol:446","contracts/Contract.sol:449"]}]}
{
"codex": {
"ran_at": "2026-01-05T19:37:56.210420+00:00",
"returncode": 0
},
"summary": "Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.",
"raw_final": {
"summary": "Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.",
"findings": [
{
"title": "Sold keys still count toward lucky pot distribution, enabling pot drain after selling",
"category": "math",
"evidence": "`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.",
"severity": "high",
"locations": [
"contracts/Contract.sol:312",
"contracts/Contract.sol:341",
"contracts/Contract.sol:344",
"contracts/Contract.sol:191",
"contracts/Contract.sol:208",
"contracts/Contract.sol:210",
"contracts/Contract.sol:293",
"contracts/Contract.sol:298",
"contracts/Contract.sol:443",
"contracts/Contract.sol:446",
"contracts/Contract.sol:449"
],
"recommendation": "On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.",
"exploit_scenario": "1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0203 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH4 0x045ec563 0000003a: DUP2 0000003b: EQ 0000003c: PUSH2 0x031e 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x06ad5a47 00000046: EQ 00000047: PUSH2 0x0345 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x06fdde03 00000051: EQ 00000052: PUSH2 0x0368 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x07c9da76 0000005c: EQ 0000005d: PUSH2 0x03f2 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x08979751 00000067: EQ 00000068: PUSH2 0x0407 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x08d4db14 00000072: EQ 00000073: PUSH2 0x041c 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x0ed79661 0000007d: EQ 0000007e: PUSH2 0x0434 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x0f15f4c0 00000088: EQ 00000089: PUSH2 0x044c 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x10f01eba 00000093: EQ 00000094: PUSH2 0x0461 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x1e2da406 0000009e: EQ 0000009f: PUSH2 0x0482 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x23442c60 000000a9: EQ 000000aa: PUSH2 0x0497 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x24c33d33 000000b4: EQ 000000b5: PUSH2 0x04c8 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x25738063 000000bf: EQ 000000c0: PUSH2 0x050b 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x25be533d 000000ca: EQ 000000cb: PUSH2 0x0526 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x2ea625c3 000000d5: EQ 000000d6: PUSH2 0x0551 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x38a85f9a 000000e0: EQ 000000e1: PUSH2 0x0592 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x392efb52 000000eb: EQ 000000ec: PUSH2 0x05a7 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x3ccfd60b 000000f6: EQ 000000f7: PUSH2 0x05d3 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x3ee6d933 00000101: EQ 00000102: PUSH2 0x05e8 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x44b0db82 0000010c: EQ 0000010d: PUSH2 0x05fd 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0x4b1cff0b 00000117: EQ 00000118: PUSH2 0x0612 0000011b: JUMPI 0000011c: DUP1 0000011d: PUSH4 0x4b227176 00000122: EQ 00000123: PUSH2 0x0627 00000126: JUMPI 00000127: DUP1 00000128: PUSH4 0x624ae5c0 0000012d: EQ 0000012e: PUSH2 0x063c 00000131: JUMPI 00000132: DUP1 00000133: PUSH4 0x6b2f4632 00000138: EQ 00000139: PUSH2 0x0651 0000013c: JUMPI 0000013d: DUP1 0000013e: PUSH4 0x762d9284 00000143: EQ 00000144: PUSH2 0x0666 00000147: JUMPI 00000148: DUP1 00000149: PUSH4 0x77152dc7 0000014e: EQ 0000014f: PUSH2 0x067b 00000152: JUMPI 00000153: DUP1 00000154: PUSH4 0x7e161dd9 00000159: EQ 0000015a: PUSH2 0x0690 0000015d: JUMPI 0000015e: DUP1 0000015f: PUSH4 0x89135ae9 00000164: EQ 00000165: PUSH2 0x06a5 00000168: JUMPI 00000169: DUP1 0000016a: PUSH4 0x8f8f8527 0000016f: EQ 00000170: PUSH2 0x06c2 00000173: JUMPI 00000174: DUP1 00000175: PUSH4 0x95d89b41 0000017a: EQ 0000017b: PUSH2 0x06da 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0xa2bccae9 00000185: EQ 00000186: PUSH2 0x06ef 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0xaf1a3e33 00000190: EQ 00000191: PUSH2 0x070a 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0xb04705e0 0000019b: EQ 0000019c: PUSH2 0x071f 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0xb0ef9555 000001a6: EQ 000001a7: PUSH2 0x0727 000001aa: JUMPI 000001ab: DUP1 000001ac: PUSH4 0xba730e53 000001b1: EQ 000001b2: PUSH2 0x072f 000001b5: JUMPI 000001b6: DUP1 000001b7: PUSH4 0xd50226f9 000001bc: EQ 000001bd: PUSH2 0x0747 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0xd538611a 000001c7: EQ 000001c8: PUSH2 0x075f 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0xd53b2679 000001d2: EQ 000001d3: PUSH2 0x0777 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0xde7874f3 000001dd: EQ 000001de: PUSH2 0x078c 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0xe0198e26 000001e8: EQ 000001e9: PUSH2 0x07e1 000001ec: JUMPI 000001ed: DUP1 000001ee: PUSH4 0xe4849b32 000001f3: EQ 000001f4: PUSH2 0x07f6 000001f7: JUMPI 000001f8: DUP1 000001f9: PUSH4 0xeda606a4 000001fe: EQ 000001ff: PUSH2 0x080e 00000202: JUMPI 00000203: JUMPDEST 00000204: PUSH1 0x15 00000206: SLOAD 00000207: PUSH1 0x00 00000209: SWAP1 0000020a: DUP2 0000020b: SWAP1 0000020c: DUP2 0000020d: SWAP1 0000020e: DUP2 0000020f: SWAP1 00000210: PUSH1 0xff 00000212: AND 00000213: ISZERO 00000214: ISZERO 00000215: PUSH1 0x01 00000217: EQ 00000218: PUSH2 0x0259 0000021b: JUMPI 0000021c: PUSH1 0x40 0000021e: DUP1 0000021f: MLOAD 00000220: PUSH1 0xe5 00000222: PUSH1 0x02 00000224: EXP 00000225: PUSH3 0x461bcd 00000229: MUL 0000022a: DUP2 0000022b: MSTORE 0000022c: PUSH1 0x20 0000022e: PUSH1 0x04 00000230: DUP3 00000231: ADD 00000232: MSTORE 00000233: PUSH1 0x12 00000235: PUSH1 0x24 00000237: DUP3 00000238: ADD 00000239: MSTORE 0000023a: PUSH1 0x00 0000023c: DUP1 0000023d: MLOAD 0000023e: PUSH1 0x20 00000240: PUSH2 0x23fb 00000243: DUP4 00000244: CODECOPY 00000245: DUP2 00000246: MLOAD 00000247: SWAP2 00000248: MSTORE 00000249: PUSH1 0x44 0000024b: DUP3 0000024c: ADD 0000024d: MSTORE 0000024e: SWAP1 0000024f: MLOAD 00000250: SWAP1 00000251: DUP2 00000252: SWAP1 00000253: SUB 00000254: PUSH1 0x64 00000256: ADD 00000257: SWAP1 00000258: REVERT 00000259: JUMPDEST 0000025a: PUSH2 0x0261 0000025d: PUSH2 0x083a 00000260: JUMP 00000261: JUMPDEST 00000262: SWAP4 00000263: POP 00000264: PUSH8 0x8ac7230489e80000 0000026d: DUP5 0000026e: GT 0000026f: DUP1 00000270: ISZERO 00000271: PUSH2 0x0282 00000274: JUMPI 00000275: POP 00000276: PUSH9 0x1b1ae4d6e2ef500000 00000280: DUP5 00000281: LT 00000282: JUMPDEST 00000283: ISZERO 00000284: PUSH2 0x029c 00000287: JUMPI 00000288: PUSH8 0x8ac7230489e80000 00000291: CALLVALUE 00000292: LT 00000293: ISZERO 00000294: PUSH2 0x029c 00000297: JUMPI 00000298: PUSH1 0x00 0000029a: DUP1 0000029b: REVERT 0000029c: JUMPDEST 0000029d: PUSH2 0x02a4 000002a0: PUSH2 0x083f 000002a3: JUMP 000002a4: JUMPDEST 000002a5: SWAP3 000002a6: POP 000002a7: PUSH2 0x02af 000002aa: DUP4 000002ab: PUSH2 0x08a5 000002ae: JUMP 000002af: JUMPDEST 000002b0: PUSH2 0x02b9 000002b3: DUP4 000002b4: CALLVALUE 000002b5: PUSH2 0x09ea 000002b8: JUMP 000002b9: JUMPDEST 000002ba: PUSH1 0x09 000002bc: SLOAD 000002bd: PUSH1 0x40 000002bf: DUP1 000002c0: MLOAD 000002c1: CALLER 000002c2: DUP2 000002c3: MSTORE 000002c4: PUSH1 0x20 000002c6: DUP2 000002c7: ADD 000002c8: DUP9 000002c9: SWAP1 000002ca: MSTORE 000002cb: DUP1 000002cc: DUP3 000002cd: ADD 000002ce: SWAP3 000002cf: SWAP1 000002d0: SWAP3 000002d1: MSTORE 000002d2: CALLVALUE 000002d3: PUSH1 0x60 000002d5: DUP4 000002d6: ADD 000002d7: MSTORE 000002d8: PUSH1 0x80 000002da: DUP3 000002db: ADD 000002dc: DUP5 000002dd: SWAP1 000002de: MSTORE 000002df: DUP3 000002e0: ISZERO 000002e1: ISZERO 000002e2: PUSH1 0xa0 000002e4: DUP4 000002e5: ADD 000002e6: MSTORE 000002e7: MLOAD 000002e8: SWAP3 000002e9: SWAP5 000002ea: POP 000002eb: SWAP1 000002ec: SWAP3 000002ed: POP 000002ee: PUSH32 0x61daea626f02694eb73691850283107e6ac31e8550e608e9c8f632b56b658b43 0000030f: SWAP2 00000310: SWAP1 00000311: DUP2 00000312: SWAP1 00000313: SUB 00000314: PUSH1 0xc0 00000316: ADD 00000317: SWAP1 00000318: LOG1 00000319: POP 0000031a: POP 0000031b: POP 0000031c: POP 0000031d: STOP 0000031e: JUMPDEST 0000031f: CALLVALUE 00000320: DUP1 00000321: ISZERO 00000322: PUSH2 0x032a 00000325: JUMPI 00000326: PUSH1 0x00 00000328: DUP1 00000329: REVERT 0000032a: JUMPDEST 0000032b: POP 0000032c: PUSH2 0x0333 0000032f: PUSH2 0x0c49 00000332: JUMP 00000333: JUMPDEST 00000334: PUSH1 0x40 00000336: DUP1 00000337: MLOAD 00000338: SWAP2 00000339: DUP3 0000033a: MSTORE 0000033b: MLOAD 0000033c: SWAP1 0000033d: DUP2 0000033e: SWAP1 0000033f: SUB 00000340: PUSH1 0x20 00000342: ADD 00000343: SWAP1 00000344: RETURN 00000345: JUMPDEST 00000346: CALLVALUE 00000347: DUP1 00000348: ISZERO 00000349: PUSH2 0x0351 0000034c: JUMPI 0000034d: PUSH1 0x00 0000034f: DUP1 00000350: REVERT 00000351: JUMPDEST 00000352: POP 00000353: PUSH2 0x0366 00000356: PUSH1 0x01 00000358: PUSH1 0xa0 0000035a: PUSH1 0x02 0000035c: EXP 0000035d: SUB 0000035e: PUSH1 0x04 00000360: CALLDATALOAD 00000361: AND 00000362: PUSH2 0x0c4f 00000365: JUMP 00000366: JUMPDEST 00000367: STOP 00000368: JUMPDEST 00000369: CALLVALUE 0000036a: DUP1 0000036b: ISZERO 0000036c: PUSH2 0x0374 0000036f: JUMPI 00000370: PUSH1 0x00 00000372: DUP1 00000373: REVERT 00000374: JUMPDEST 00000375: POP 00000376: PUSH2 0x037d 00000379: PUSH2 0x0d21 0000037c: JUMP 0000037d: JUMPDEST 0000037e: PUSH1 0x40 00000380: DUP1 00000381: MLOAD 00000382: PUSH1 0x20 00000384: DUP1 00000385: DUP3 00000386: MSTORE 00000387: DUP4 00000388: MLOAD 00000389: DUP2 0000038a: DUP4 0000038b: ADD 0000038c: MSTORE 0000038d: DUP4 0000038e: MLOAD 0000038f: SWAP2 00000390: SWAP3 00000391: DUP4 00000392: SWAP3 00000393: SWAP1 00000394: DUP4 00000395: ADD 00000396: SWAP2 00000397: DUP6 00000398: ADD 00000399: SWAP1 0000039a: DUP1 0000039b: DUP4 0000039c: DUP4 0000039d: PUSH1 0x00 0000039f: JUMPDEST 000003a0: DUP4 000003a1: DUP2 000003a2: LT 000003a3: ISZERO 000003a4: PUSH2 0x03b7 000003a7: JUMPI 000003a8: DUP2 000003a9: DUP2 000003aa: ADD 000003ab: MLOAD 000003ac: DUP4 000003ad: DUP3 000003ae: ADD 000003af: MSTORE 000003b0: PUSH1 0x20 000003b2: ADD 000003b3: PUSH2 0x039f 000003b6: JUMP 000003b7: JUMPDEST 000003b8: POP 000003b9: POP 000003ba: POP 000003bb: POP 000003bc: SWAP1 000003bd: POP 000003be: SWAP1 000003bf: DUP2 000003c0: ADD 000003c1: SWAP1 000003c2: PUSH1 0x1f 000003c4: AND 000003c5: DUP1 000003c6: ISZERO 000003c7: PUSH2 0x03e4 000003ca: JUMPI 000003cb: DUP1 000003cc: DUP3 000003cd: SUB 000003ce: DUP1 000003cf: MLOAD 000003d0: PUSH1 0x01 000003d2: DUP4 000003d3: PUSH1 0x20 000003d5: SUB 000003d6: PUSH2 0x0100 000003d9: EXP 000003da: SUB 000003db: NOT 000003dc: AND 000003dd: DUP2 000003de: MSTORE 000003df: PUSH1 0x20 000003e1: ADD 000003e2: SWAP2 000003e3: POP 000003e4: JUMPDEST 000003e5: POP 000003e6: SWAP3 000003e7: POP 000003e8: POP 000003e9: POP 000003ea: PUSH1 0x40 000003ec: MLOAD 000003ed: DUP1 000003ee: SWAP2 000003ef: SUB 000003f0: SWAP1 000003f1: RETURN 000003f2: JUMPDEST 000003f3: CALLVALUE 000003f4: DUP1 000003f5: ISZERO 000003f6: PUSH2 0x03fe 000003f9: JUMPI 000003fa: PUSH1 0x00 000003fc: DUP1 000003fd: REVERT 000003fe: JUMPDEST 000003ff: POP 00000400: PUSH2 0x0333 00000403: PUSH2 0x0dae 00000406: JUMP 00000407: JUMPDEST 00000408: CALLVALUE 00000409: DUP1 0000040a: ISZERO 0000040b: PUSH2 0x0413 0000040e: JUMPI 0000040f: PUSH1 0x00 00000411: DUP1 00000412: REVERT 00000413: JUMPDEST 00000414: POP 00000415: PUSH2 0x0333 00000418: PUSH2 0x0db4 0000041b: JUMP 0000041c: JUMPDEST 0000041d: CALLVALUE 0000041e: DUP1 0000041f: ISZERO 00000420: PUSH2 0x0428 00000423: JUMPI 00000424: PUSH1 0x00 00000426: DUP1 00000427: REVERT 00000428: JUMPDEST 00000429: POP 0000042a: PUSH2 0x0333 0000042d: PUSH1 0x04 0000042f: CALLDATALOAD 00000430: PUSH2 0x0dde 00000433: JUMP 00000434: JUMPDEST 00000435: CALLVALUE 00000436: DUP1 00000437: ISZERO 00000438: PUSH2 0x0440 0000043b: JUMPI 0000043c: PUSH1 0x00 0000043e: DUP1 0000043f: REVERT 00000440: JUMPDEST 00000441: POP 00000442: PUSH2 0x0366 00000445: PUSH1 0x04 00000447: CALLDATALOAD 00000448: PUSH2 0x0e19 0000044b: JUMP 0000044c: JUMPDEST 0000044d: CALLVALUE 0000044e: DUP1 0000044f: ISZERO 00000450: PUSH2 0x0458 00000453: JUMPI 00000454: PUSH1 0x00 00000456: DUP1 00000457: REVERT 00000458: JUMPDEST 00000459: POP 0000045a: PUSH2 0x0366 0000045d: PUSH2 0x0eb1 00000460: JUMP 00000461: JUMPDEST 00000462: CALLVALUE 00000463: DUP1 00000464: ISZERO 00000465: PUSH2 0x046d 00000468: JUMPI 00000469: PUSH1 0x00 0000046b: DUP1 0000046c: REVERT 0000046d: JUMPDEST 0000046e: POP 0000046f: PUSH2 0x0333 00000472: PUSH1 0x01 00000474: PUSH1 0xa0 00000476: PUSH1 0x02 00000478: EXP 00000479: SUB 0000047a: PUSH1 0x04 0000047c: CALLDATALOAD 0000047d: AND 0000047e: PUSH2 0x1046 00000481: JUMP 00000482: JUMPDEST 00000483: CALLVALUE 00000484: DUP1 00000485: ISZERO 00000486: PUSH2 0x048e 00000489: JUMPI 0000048a: PUSH1 0x00 0000048c: DUP1 0000048d: REVERT 0000048e: JUMPDEST 0000048f: POP 00000490: PUSH2 0x0333 00000493: PUSH2 0x1058 00000496: JUMP 00000497: JUMPDEST 00000498: CALLVALUE 00000499: DUP1 0000049a: ISZERO 0000049b: PUSH2 0x04a3 0000049e: JUMPI 0000049f: PUSH1 0x00 000004a1: DUP1 000004a2: REVERT 000004a3: JUMPDEST 000004a4: POP 000004a5: PUSH2 0x04ac 000004a8: PUSH2 0x105e 000004ab: JUMP 000004ac: JUMPDEST 000004ad: PUSH1 0x40 000004af: DUP1 000004b0: MLOAD 000004b1: PUSH1 0x01 000004b3: PUSH1 0xa0 000004b5: PUSH1 0x02 000004b7: EXP 000004b8: SUB 000004b9: SWAP1 000004ba: SWAP3 000004bb: AND 000004bc: DUP3 000004bd: MSTORE 000004be: MLOAD 000004bf: SWAP1 000004c0: DUP2 000004c1: SWAP1 000004c2: SUB 000004c3: PUSH1 0x20 000004c5: ADD 000004c6: SWAP1 000004c7: RETURN 000004c8: JUMPDEST 000004c9: CALLVALUE 000004ca: DUP1 000004cb: ISZERO 000004cc: PUSH2 0x04d4 000004cf: JUMPI 000004d0: PUSH1 0x00 000004d2: DUP1 000004d3: REVERT 000004d4: JUMPDEST 000004d5: POP 000004d6: PUSH2 0x04e0 000004d9: PUSH1 0x04 000004db: CALLDATALOAD 000004dc: PUSH2 0x106d 000004df: JUMP 000004e0: JUMPDEST 000004e1: PUSH1 0x40 000004e3: DUP1 000004e4: MLOAD 000004e5: SWAP6 000004e6: DUP7 000004e7: MSTORE 000004e8: PUSH1 0x20 000004ea: DUP7 000004eb: ADD 000004ec: SWAP5 000004ed: SWAP1 000004ee: SWAP5 000004ef: MSTORE 000004f0: DUP5 000004f1: DUP5 000004f2: ADD 000004f3: SWAP3 000004f4: SWAP1 000004f5: SWAP3 000004f6: MSTORE 000004f7: PUSH1 0x60 000004f9: DUP5 000004fa: ADD 000004fb: MSTORE 000004fc: PUSH1 0x80 000004fe: DUP4 000004ff: ADD 00000500: MSTORE 00000501: MLOAD 00000502: SWAP1 00000503: DUP2 00000504: SWAP1 00000505: SUB 00000506: PUSH1 0xa0 00000508: ADD 00000509: SWAP1 0000050a: RETURN 0000050b: JUMPDEST 0000050c: CALLVALUE 0000050d: DUP1 0000050e: ISZERO 0000050f: PUSH2 0x0517 00000512: JUMPI 00000513: PUSH1 0x00 00000515: DUP1 00000516: REVERT 00000517: JUMPDEST 00000518: POP 00000519: PUSH2 0x0333 0000051c: PUSH1 0x04 0000051e: CALLDATALOAD 0000051f: PUSH1 0x24 00000521: CALLDATALOAD 00000522: PUSH2 0x109c 00000525: JUMP 00000526: JUMPDEST 00000527: CALLVALUE 00000528: DUP1 00000529: ISZERO 0000052a: PUSH2 0x0532 0000052d: JUMPI 0000052e: PUSH1 0x00 00000530: DUP1 00000531: REVERT 00000532: JUMPDEST 00000533: POP 00000534: PUSH2 0x053b 00000537: PUSH2 0x10ea 0000053a: JUMP 0000053b: JUMPDEST 0000053c: PUSH1 0x40 0000053e: DUP1 0000053f: MLOAD 00000540: PUSH1 0xff 00000542: SWAP1 00000543: SWAP3 00000544: AND 00000545: DUP3 00000546: MSTORE 00000547: MLOAD 00000548: SWAP1 00000549: DUP2 0000054a: SWAP1 0000054b: SUB 0000054c: PUSH1 0x20 0000054e: ADD 0000054f: SWAP1 00000550: RETURN 00000551: JUMPDEST 00000552: CALLVALUE 00000553: DUP1 00000554: ISZERO 00000555: PUSH2 0x055d 00000558: JUMPI 00000559: PUSH1 0x00 0000055b: DUP1 0000055c: REVERT 0000055d: JUMPDEST 0000055e: POP 0000055f: PUSH2 0x0366 00000562: PUSH2 0xffff 00000565: PUSH1 0x04 00000567: CALLDATALOAD 00000568: AND 00000569: PUSH1 0xff 0000056b: PUSH1 0x24 0000056d: CALLDATALOAD 0000056e: DUP2 0000056f: AND 00000570: SWAP1 00000571: PUSH1 0x44 00000573: CALLDATALOAD 00000574: DUP2 00000575: AND 00000576: SWAP1 00000577: PUSH1 0x64 00000579: CALLDATALOAD 0000057a: DUP2 0000057b: AND 0000057c: SWAP1 0000057d: PUSH1 0x84 0000057f: CALLDATALOAD 00000580: AND 00000581: PUSH1 0xa4 00000583: CALLDATALOAD 00000584: PUSH1 0xc4 00000586: CALLDATALOAD 00000587: PUSH1 0xe4 00000589: CALLDATALOAD 0000058a: PUSH2 0x0104 0000058d: CALLDATALOAD 0000058e: PUSH2 0x10fa 00000591: JUMP 00000592: JUMPDEST 00000593: CALLVALUE 00000594: DUP1 00000595: ISZERO 00000596: PUSH2 0x059e 00000599: JUMPI 0000059a: PUSH1 0x00 0000059c: DUP1 0000059d: REVERT 0000059e: JUMPDEST 0000059f: POP 000005a0: PUSH2 0x053b 000005a3: PUSH2 0x146f 000005a6: JUMP 000005a7: JUMPDEST 000005a8: CALLVALUE 000005a9: DUP1 000005aa: ISZERO 000005ab: PUSH2 0x05b3 000005ae: JUMPI 000005af: PUSH1 0x00 000005b1: DUP1 000005b2: REVERT 000005b3: JUMPDEST 000005b4: POP 000005b5: PUSH2 0x05bf 000005b8: PUSH1 0x04 000005ba: CALLDATALOAD 000005bb: PUSH2 0x1480 000005be: JUMP 000005bf: JUMPDEST 000005c0: PUSH1 0x40 000005c2: DUP1 000005c3: MLOAD 000005c4: SWAP2 000005c5: ISZERO 000005c6: ISZERO 000005c7: DUP3 000005c8: MSTORE 000005c9: MLOAD 000005ca: SWAP1 000005cb: DUP2 000005cc: SWAP1 000005cd: SUB 000005ce: PUSH1 0x20 000005d0: ADD 000005d1: SWAP1 000005d2: RETURN 000005d3: JUMPDEST 000005d4: CALLVALUE 000005d5: DUP1 000005d6: ISZERO 000005d7: PUSH2 0x05df 000005da: JUMPI 000005db: PUSH1 0x00 000005dd: DUP1 000005de: REVERT 000005df: JUMPDEST 000005e0: POP 000005e1: PUSH2 0x0366 000005e4: PUSH2 0x1495 000005e7: JUMP 000005e8: JUMPDEST 000005e9: CALLVALUE 000005ea: DUP1 000005eb: ISZERO 000005ec: PUSH2 0x05f4 000005ef: JUMPI 000005f0: PUSH1 0x00 000005f2: DUP1 000005f3: REVERT 000005f4: JUMPDEST 000005f5: POP 000005f6: PUSH2 0x0333 000005f9: PUSH2 0x15cb 000005fc: JUMP 000005fd: JUMPDEST 000005fe: CALLVALUE 000005ff: DUP1 00000600: ISZERO 00000601: PUSH2 0x0609 00000604: JUMPI 00000605: PUSH1 0x00 00000607: DUP1 00000608: REVERT 00000609: JUMPDEST 0000060a: POP 0000060b: PUSH2 0x053b 0000060e: PUSH2 0x15d1 00000611: JUMP 00000612: JUMPDEST 00000613: CALLVALUE 00000614: DUP1 00000615: ISZERO 00000616: PUSH2 0x061e 00000619: JUMPI 0000061a: PUSH1 0x00 0000061c: DUP1 0000061d: REVERT 0000061e: JUMPDEST 0000061f: POP 00000620: PUSH2 0x0333 00000623: PUSH2 0x15e0 00000626: JUMP 00000627: JUMPDEST 00000628: CALLVALUE 00000629: DUP1 0000062a: ISZERO 0000062b: PUSH2 0x0633 0000062e: JUMPI 0000062f: PUSH1 0x00 00000631: DUP1 00000632: REVERT 00000633: JUMPDEST 00000634: POP 00000635: PUSH2 0x0333 00000638: PUSH2 0x15e6 0000063b: JUMP 0000063c: JUMPDEST 0000063d: CALLVALUE 0000063e: DUP1 0000063f: ISZERO 00000640: PUSH2 0x0648 00000643: JUMPI 00000644: PUSH1 0x00 00000646: DUP1 00000647: REVERT 00000648: JUMPDEST 00000649: POP 0000064a: PUSH2 0x0333 0000064d: PUSH2 0x15ec 00000650: JUMP 00000651: JUMPDEST 00000652: CALLVALUE 00000653: DUP1 00000654: ISZERO 00000655: PUSH2 0x065d 00000658: JUMPI 00000659: PUSH1 0x00 0000065b: DUP1 0000065c: REVERT 0000065d: JUMPDEST 0000065e: POP 0000065f: PUSH2 0x0333 00000662: PUSH2 0x083a 00000665: JUMP 00000666: JUMPDEST 00000667: CALLVALUE 00000668: DUP1 00000669: ISZERO 0000066a: PUSH2 0x0672 0000066d: JUMPI 0000066e: PUSH1 0x00 00000670: DUP1 00000671: REVERT 00000672: JUMPDEST 00000673: POP 00000674: PUSH2 0x053b 00000677: PUSH2 0x15f2 0000067a: JUMP 0000067b: JUMPDEST 0000067c: CALLVALUE 0000067d: DUP1 0000067e: ISZERO 0000067f: PUSH2 0x0687 00000682: JUMPI 00000683: PUSH1 0x00 00000685: DUP1 00000686: REVERT 00000687: JUMPDEST 00000688: POP 00000689: PUSH2 0x0333 0000068c: PUSH2 0x1604 0000068f: JUMP 00000690: JUMPDEST 00000691: CALLVALUE 00000692: DUP1 00000693: ISZERO 00000694: PUSH2 0x069c 00000697: JUMPI 00000698: PUSH1 0x00 0000069a: DUP1 0000069b: REVERT 0000069c: JUMPDEST 0000069d: POP 0000069e: PUSH2 0x0333 000006a1: PUSH2 0x160a 000006a4: JUMP 000006a5: JUMPDEST 000006a6: CALLVALUE 000006a7: DUP1 000006a8: ISZERO 000006a9: PUSH2 0x06b1 000006ac: JUMPI 000006ad: PUSH1 0x00 000006af: DUP1 000006b0: REVERT 000006b1: JUMPDEST 000006b2: POP 000006b3: PUSH2 0x0366 000006b6: PUSH1 0x04 000006b8: CALLDATALOAD 000006b9: PUSH1 0x24 000006bb: CALLDATALOAD 000006bc: ISZERO 000006bd: ISZERO 000006be: PUSH2 0x1610 000006c1: JUMP 000006c2: JUMPDEST 000006c3: CALLVALUE 000006c4: DUP1 000006c5: ISZERO 000006c6: PUSH2 0x06ce 000006c9: JUMPI 000006ca: PUSH1 0x00 000006cc: DUP1 000006cd: REVERT 000006ce: JUMPDEST 000006cf: POP 000006d0: PUSH2 0x0333 000006d3: PUSH1 0x04 000006d5: CALLDATALOAD 000006d6: PUSH2 0x1672 000006d9: JUMP 000006da: JUMPDEST 000006db: CALLVALUE 000006dc: DUP1 000006dd: ISZERO 000006de: PUSH2 0x06e6 000006e1: JUMPI 000006e2: PUSH1 0x00 000006e4: DUP1 000006e5: REVERT 000006e6: JUMPDEST 000006e7: POP 000006e8: PUSH2 0x037d 000006eb: PUSH2 0x16b2 000006ee: JUMP 000006ef: JUMPDEST 000006f0: CALLVALUE 000006f1: DUP1 000006f2: ISZERO 000006f3: PUSH2 0x06fb 000006f6: JUMPI 000006f7: PUSH1 0x00 000006f9: DUP1 000006fa: REVERT 000006fb: JUMPDEST 000006fc: POP 000006fd: PUSH2 0x0333 00000700: PUSH1 0x04 00000702: CALLDATALOAD 00000703: PUSH1 0x24 00000705: CALLDATALOAD 00000706: PUSH2 0x170a 00000709: JUMP 0000070a: JUMPDEST 0000070b: CALLVALUE 0000070c: DUP1 0000070d: ISZERO 0000070e: PUSH2 0x0716 00000711: JUMPI 00000712: PUSH1 0x00 00000714: DUP1 00000715: REVERT 00000716: JUMPDEST 00000717: POP 00000718: PUSH2 0x0366 0000071b: PUSH2 0x1727 0000071e: JUMP 0000071f: JUMPDEST 00000720: PUSH2 0x0366 00000723: PUSH2 0x187b 00000726: JUMP 00000727: JUMPDEST 00000728: PUSH2 0x0366 0000072b: PUSH2 0x18d5 0000072e: JUMP 0000072f: JUMPDEST 00000730: CALLVALUE 00000731: DUP1 00000732: ISZERO 00000733: PUSH2 0x073b 00000736: JUMPI 00000737: PUSH1 0x00 00000739: DUP1 0000073a: REVERT 0000073b: JUMPDEST 0000073c: POP 0000073d: PUSH2 0x0333 00000740: PUSH1 0x04 00000742: CALLDATALOAD 00000743: PUSH2 0x1993 00000746: JUMP 00000747: JUMPDEST 00000748: CALLVALUE 00000749: DUP1 0000074a: ISZERO 0000074b: PUSH2 0x0753 0000074e: JUMPI 0000074f: PUSH1 0x00 00000751: DUP1 00000752: REVERT 00000753: JUMPDEST 00000754: POP 00000755: PUSH2 0x0333 00000758: PUSH1 0x04 0000075a: CALLDATALOAD 0000075b: PUSH2 0x1a3c 0000075e: JUMP 0000075f: JUMPDEST 00000760: CALLVALUE 00000761: DUP1 00000762: ISZERO 00000763: PUSH2 0x076b 00000766: JUMPI 00000767: PUSH1 0x00 00000769: DUP1 0000076a: REVERT 0000076b: JUMPDEST 0000076c: POP 0000076d: PUSH2 0x0333 00000770: PUSH1 0x04 00000772: CALLDATALOAD 00000773: PUSH2 0x1ad3 00000776: JUMP 00000777: JUMPDEST 00000778: CALLVALUE 00000779: DUP1 0000077a: ISZERO 0000077b: PUSH2 0x0783 0000077e: JUMPI 0000077f: PUSH1 0x00 00000781: DUP1 00000782: REVERT 00000783: JUMPDEST 00000784: POP 00000785: PUSH2 0x05bf 00000788: PUSH2 0x1b82 0000078b: JUMP 0000078c: JUMPDEST 0000078d: CALLVALUE 0000078e: DUP1 0000078f: ISZERO 00000790: PUSH2 0x0798 00000793: JUMPI 00000794: PUSH1 0x00 00000796: DUP1 00000797: REVERT 00000798: JUMPDEST 00000799: POP 0000079a: PUSH2 0x07a4 0000079d: PUSH1 0x04 0000079f: CALLDATALOAD 000007a0: PUSH2 0x1b8b 000007a3: JUMP 000007a4: JUMPDEST 000007a5: PUSH1 0x40 000007a7: DUP1 000007a8: MLOAD 000007a9: PUSH1 0x01 000007ab: PUSH1 0xa0 000007ad: PUSH1 0x02 000007af: EXP 000007b0: SUB 000007b1: SWAP1 000007b2: SWAP8 000007b3: AND 000007b4: DUP8 000007b5: MSTORE 000007b6: PUSH1 0x20 000007b8: DUP8 000007b9: ADD 000007ba: SWAP6 000007bb: SWAP1 000007bc: SWAP6 000007bd: MSTORE 000007be: DUP6 000007bf: DUP6 000007c0: ADD 000007c1: SWAP4 000007c2: SWAP1 000007c3: SWAP4 000007c4: MSTORE 000007c5: PUSH1 0x60 000007c7: DUP6 000007c8: ADD 000007c9: SWAP2 000007ca: SWAP1 000007cb: SWAP2 000007cc: MSTORE 000007cd: PUSH1 0x80 000007cf: DUP5 000007d0: ADD 000007d1: MSTORE 000007d2: PUSH1 0xa0 000007d4: DUP4 000007d5: ADD 000007d6: MSTORE 000007d7: MLOAD 000007d8: SWAP1 000007d9: DUP2 000007da: SWAP1 000007db: SUB 000007dc: PUSH1 0xc0 000007de: ADD 000007df: SWAP1 000007e0: RETURN 000007e1: JUMPDEST 000007e2: CALLVALUE 000007e3: DUP1 000007e4: ISZERO 000007e5: PUSH2 0x07ed 000007e8: JUMPI 000007e9: PUSH1 0x00 000007eb: DUP1 000007ec: REVERT 000007ed: JUMPDEST 000007ee: POP 000007ef: PUSH2 0x0333 000007f2: PUSH2 0x1bca 000007f5: JUMP 000007f6: JUMPDEST 000007f7: CALLVALUE 000007f8: DUP1 000007f9: ISZERO 000007fa: PUSH2 0x0802 000007fd: JUMPI 000007fe: PUSH1 0x00 00000800: DUP1 00000801: REVERT 00000802: JUMPDEST 00000803: POP 00000804: PUSH2 0x0366 00000807: PUSH1 0x04 00000809: CALLDATALOAD 0000080a: PUSH2 0x1bd0 0000080d: JUMP 0000080e: JUMPDEST 0000080f: CALLVALUE 00000810: DUP1 00000811: ISZERO 00000812: PUSH2 0x081a 00000815: JUMPI 00000816: PUSH1 0x00 00000818: DUP1 00000819: REVERT 0000081a: JUMPDEST 0000081b: POP 0000081c: PUSH2 0x0823 0000081f: PUSH2 0x1da4 00000822: JUMP 00000823: JUMPDEST 00000824: PUSH1 0x40 00000826: DUP1 00000827: MLOAD 00000828: PUSH2 0xffff 0000082b: SWAP1 0000082c: SWAP3 0000082d: AND 0000082e: DUP3 0000082f: MSTORE 00000830: MLOAD 00000831: SWAP1 00000832: DUP2 00000833: SWAP1 00000834: SUB 00000835: PUSH1 0x20 00000837: ADD 00000838: SWAP1 00000839: RETURN 0000083a: JUMPDEST 0000083b: ADDRESS 0000083c: BALANCE 0000083d: SWAP1 0000083e: JUMP 0000083f: JUMPDEST 00000840: CALLER 00000841: PUSH1 0x00 00000843: SWAP1 00000844: DUP2 00000845: MSTORE 00000846: PUSH1 0x0f 00000848: PUSH1 0x20 0000084a: MSTORE 0000084b: PUSH1 0x40 0000084d: DUP2 0000084e: KECCAK256 0000084f: SLOAD 00000850: DUP1 00000851: ISZERO 00000852: ISZERO 00000853: PUSH2 0x08a0 00000856: JUMPI 00000857: POP 00000858: PUSH1 0x08 0000085a: DUP1 0000085b: SLOAD 0000085c: PUSH1 0x01 0000085e: ADD 0000085f: SWAP1 00000860: DUP2 00000861: SWAP1 00000862: SSTORE 00000863: CALLER 00000864: PUSH1 0x00 00000866: DUP2 00000867: DUP2 00000868: MSTORE 00000869: PUSH1 0x0f 0000086b: PUSH1 0x20 0000086d: SWAP1 0000086e: DUP2 0000086f: MSTORE 00000870: PUSH1 0x40 00000872: DUP1 00000873: DUP4 00000874: KECCAK256 00000875: DUP6 00000876: SWAP1 00000877: SSTORE 00000878: DUP5 00000879: DUP4 0000087a: MSTORE 0000087b: PUSH1 0x10 0000087d: SWAP1 0000087e: SWAP2 0000087f: MSTORE 00000880: SWAP1 00000881: KECCAK256 00000882: DUP1 00000883: SLOAD 00000884: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000899: NOT 0000089a: AND 0000089b: SWAP1 0000089c: SWAP2 0000089d: OR 0000089e: SWAP1 0000089f: SSTORE 000008a0: JUMPDEST 000008a1: SWAP2 000008a2: SWAP1 000008a3: POP 000008a4: JUMP 000008a5: JUMPDEST 000008a6: PUSH1 0x09 000008a8: SLOAD 000008a9: PUSH1 0x00 000008ab: SWAP1 000008ac: DUP2 000008ad: MSTORE 000008ae: PUSH1 0x11 000008b0: PUSH1 0x20 000008b2: MSTORE 000008b3: PUSH1 0x40 000008b5: DUP2 000008b6: KECCAK256 000008b7: PUSH1 0x03 000008b9: SLOAD 000008ba: PUSH1 0x0c 000008bc: SLOAD 000008bd: SWAP2 000008be: SWAP3 000008bf: SWAP2 000008c0: DUP3 000008c1: SWAP2 000008c2: DUP3 000008c3: SWAP2 000008c4: PUSH2 0x08ea 000008c7: SWAP2 000008c8: PUSH1 0x64 000008ca: SWAP2 000008cb: PUSH2 0x08de 000008ce: SWAP2 000008cf: PUSH5 0x0100000000 000008d5: SWAP1 000008d6: DIV 000008d7: PUSH1 0xff 000008d9: AND 000008da: PUSH2 0x1dae 000008dd: JUMP 000008de: JUMPDEST 000008df: SWAP1 000008e0: PUSH4 0xffffffff 000008e5: PUSH2 0x1e25 000008e8: AND 000008e9: JUMP 000008ea: JUMPDEST 000008eb: DUP5 000008ec: PUSH1 0x04 000008ee: ADD 000008ef: SLOAD 000008f0: GT 000008f1: DUP1 000008f2: PUSH2 0x08fe 000008f5: JUMPI 000008f6: POP 000008f7: DUP4 000008f8: PUSH1 0x01 000008fa: ADD 000008fb: SLOAD 000008fc: TIMESTAMP 000008fd: GT 000008fe: JUMPDEST 000008ff: ISZERO 00000900: PUSH2 0x090b 00000903: JUMPI 00000904: PUSH2 0x090b 00000907: PUSH2 0x1e3c 0000090a: JUMP 0000090b: JUMPDEST 0000090c: PUSH1 0x00 0000090e: DUP6 0000090f: DUP2 00000910: MSTORE 00000911: PUSH1 0x10 00000913: PUSH1 0x20 00000915: MSTORE 00000916: PUSH1 0x40 00000918: SWAP1 00000919: KECCAK256 0000091a: PUSH1 0x04 0000091c: DUP2 0000091d: ADD 0000091e: SLOAD 0000091f: SWAP1 00000920: SWAP4 00000921: POP 00000922: ISZERO 00000923: ISZERO 00000924: PUSH2 0x0930 00000927: JUMPI 00000928: PUSH1 0x09 0000092a: SLOAD 0000092b: PUSH1 0x04 0000092d: DUP5 0000092e: ADD 0000092f: SSTORE 00000930: JUMPDEST 00000931: DUP3 00000932: PUSH1 0x04 00000934: ADD 00000935: SLOAD 00000936: SWAP2 00000937: POP 00000938: PUSH1 0x01 0000093a: PUSH1 0x09 0000093c: SLOAD 0000093d: GT 0000093e: DUP1 0000093f: ISZERO 00000940: PUSH2 0x094b 00000943: JUMPI 00000944: POP 00000945: PUSH1 0x09 00000947: SLOAD 00000948: DUP3 00000949: EQ 0000094a: ISZERO 0000094b: JUMPDEST 0000094c: ISZERO 0000094d: PUSH2 0x09e3 00000950: JUMPI 00000951: POP 00000952: PUSH1 0x00 00000954: DUP5 00000955: DUP2 00000956: MSTORE 00000957: PUSH1 0x12 00000959: PUSH1 0x20 0000095b: SWAP1 0000095c: DUP2 0000095d: MSTORE 0000095e: PUSH1 0x40 00000960: DUP1 00000961: DUP4 00000962: KECCAK256 00000963: DUP5 00000964: DUP5 00000965: MSTORE 00000966: SWAP1 00000967: SWAP2 00000968: MSTORE 00000969: DUP2 0000096a: KECCAK256 0000096b: SLOAD 0000096c: SWAP1 0000096d: DUP2 0000096e: GT 0000096f: DUP1 00000970: ISZERO 00000971: PUSH2 0x0989 00000974: JUMPI 00000975: POP 00000976: PUSH1 0x00 00000978: DUP3 00000979: DUP2 0000097a: MSTORE 0000097b: PUSH1 0x11 0000097d: PUSH1 0x20 0000097f: MSTORE 00000980: PUSH1 0x40 00000982: DUP2 00000983: KECCAK256 00000984: PUSH1 0x03 00000986: ADD 00000987: SLOAD 00000988: GT 00000989: JUMPDEST 0000098a: ISZERO 0000098b: PUSH2 0x09da 0000098e: JUMPI 0000098f: PUSH1 0x00 00000991: DUP3 00000992: DUP2 00000993: MSTORE 00000994: PUSH1 0x11 00000996: PUSH1 0x20 00000998: MSTORE 00000999: PUSH1 0x40 0000099b: SWAP1 0000099c: KECCAK256 0000099d: PUSH1 0x03 0000099f: ADD 000009a0: SLOAD 000009a1: PUSH2 0x09d4 000009a4: SWAP1 000009a5: PUSH2 0x09c3 000009a8: SWAP1 000009a9: PUSH8 0x0de0b6b3a7640000 000009b2: SWAP1 000009b3: PUSH2 0x08de 000009b6: SWAP1 000009b7: DUP6 000009b8: SWAP1 000009b9: PUSH4 0xffffffff 000009be: PUSH2 0x1dae 000009c1: AND 000009c2: JUMP 000009c3: JUMPDEST 000009c4: PUSH1 0x03 000009c6: DUP6 000009c7: ADD 000009c8: SLOAD 000009c9: SWAP1 000009ca: PUSH4 0xffffffff 000009cf: PUSH2 0x200b 000009d2: AND 000009d3: JUMP 000009d4: JUMPDEST 000009d5: PUSH1 0x03 000009d7: DUP5 000009d8: ADD 000009d9: SSTORE 000009da: JUMPDEST 000009db: PUSH1 0x09 000009dd: SLOAD 000009de: PUSH1 0x04 000009e0: DUP5 000009e1: ADD 000009e2: SSTORE 000009e3: JUMPDEST 000009e4: POP 000009e5: POP 000009e6: POP 000009e7: POP 000009e8: POP 000009e9: JUMP 000009ea: JUMPDEST 000009eb: PUSH1 0x00 000009ed: DUP3 000009ee: DUP2 000009ef: MSTORE 000009f0: PUSH1 0x10 000009f2: PUSH1 0x20 000009f4: SWAP1 000009f5: DUP2 000009f6: MSTORE 000009f7: PUSH1 0x40 000009f9: DUP1 000009fa: DUP4 000009fb: KECCAK256 000009fc: PUSH1 0x09 000009fe: SLOAD 000009ff: DUP5 00000a00: MSTORE 00000a01: PUSH1 0x11 00000a03: SWAP1 00000a04: SWAP3 00000a05: MSTORE 00000a06: DUP3 00000a07: KECCAK256 00000a08: DUP3 00000a09: SWAP2 00000a0a: SWAP1 00000a0b: DUP3 00000a0c: DUP1 00000a0d: DUP1 00000a0e: DUP1 00000a0f: PUSH4 0x3b9aca00 00000a14: DUP10 00000a15: GT 00000a16: ISZERO 00000a17: PUSH2 0x0c34 00000a1a: JUMPI 00000a1b: PUSH1 0x03 00000a1d: SLOAD 00000a1e: PUSH2 0x0a38 00000a21: SWAP1 00000a22: PUSH1 0x64 00000a24: SWAP1 00000a25: PUSH2 0x08de 00000a28: SWAP1 00000a29: DUP13 00000a2a: SWAP1 00000a2b: PUSH3 0x010000 00000a2f: SWAP1 00000a30: DIV 00000a31: PUSH1 0xff 00000a33: AND 00000a34: PUSH2 0x1dae 00000a37: JUMP 00000a38: JUMPDEST 00000a39: SWAP4 00000a3a: POP 00000a3b: PUSH2 0x0a52 00000a3e: PUSH2 0x0a4d 00000a41: DUP11 00000a42: DUP7 00000a43: PUSH4 0xffffffff 00000a48: PUSH2 0x2066 00000a4b: AND 00000a4c: JUMP 00000a4d: JUMPDEST 00000a4e: PUSH2 0x20c6 00000a51: JUMP 00000a52: JUMPDEST 00000a53: SWAP3 00000a54: POP 00000a55: PUSH1 0x00 00000a57: SWAP2 00000a58: POP 00000a59: PUSH2 0x0a60 00000a5c: PUSH2 0x215e 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: DUP10 00000a62: LT 00000a63: PUSH2 0x0ac0 00000a66: JUMPI 00000a67: PUSH1 0x07 00000a69: SLOAD 00000a6a: PUSH1 0x01 00000a6c: DUP7 00000a6d: ADD 00000a6e: SLOAD 00000a6f: PUSH2 0x0a7d 00000a72: SWAP2 00000a73: PUSH4 0xffffffff 00000a78: PUSH2 0x200b 00000a7b: AND 00000a7c: JUMP 00000a7d: JUMPDEST 00000a7e: PUSH1 0x01 00000a80: DUP7 00000a81: ADD 00000a82: SSTORE 00000a83: PUSH1 0x06 00000a85: SLOAD 00000a86: PUSH2 0x0a96 00000a89: SWAP1 00000a8a: TIMESTAMP 00000a8b: SWAP1 00000a8c: PUSH4 0xffffffff 00000a91: PUSH2 0x200b 00000a94: AND 00000a95: JUMP 00000a96: JUMPDEST 00000a97: DUP6 00000a98: PUSH1 0x01 00000a9a: ADD 00000a9b: SLOAD 00000a9c: GT 00000a9d: ISZERO 00000a9e: PUSH2 0x0abb 00000aa1: JUMPI 00000aa2: PUSH1 0x06 00000aa4: SLOAD 00000aa5: PUSH2 0x0ab5 00000aa8: SWAP1 00000aa9: TIMESTAMP 00000aaa: SWAP1 00000aab: PUSH4 0xffffffff 00000ab0: PUSH2 0x200b 00000ab3: AND 00000ab4: JUMP 00000ab5: JUMPDEST 00000ab6: PUSH1 0x01 00000ab8: DUP7 00000ab9: ADD 00000aba: SSTORE 00000abb: JUMPDEST 00000abc: PUSH1 0x01 00000abe: SWAP2 00000abf: POP 00000ac0: JUMPDEST 00000ac1: PUSH1 0x01 00000ac3: DUP7 00000ac4: ADD 00000ac5: SLOAD 00000ac6: PUSH2 0x0ad5 00000ac9: SWAP1 00000aca: DUP5 00000acb: PUSH4 0xffffffff 00000ad0: PUSH2 0x200b 00000ad3: AND 00000ad4: JUMP 00000ad5: JUMPDEST 00000ad6: SWAP1 00000ad7: POP 00000ad8: DUP6 00000ad9: PUSH1 0x01 00000adb: ADD 00000adc: SLOAD 00000add: PUSH1 0x00 00000adf: EQ 00000ae0: ISZERO 00000ae1: PUSH2 0x0aef 00000ae4: JUMPI 00000ae5: TIMESTAMP 00000ae6: PUSH1 0x05 00000ae8: DUP8 00000ae9: ADD 00000aea: SSTORE 00000aeb: PUSH2 0x0b34 00000aee: JUMP 00000aef: JUMPDEST 00000af0: PUSH2 0x0b2e 00000af3: PUSH2 0x0b21 00000af6: DUP3 00000af7: PUSH2 0x08de 00000afa: DUP10 00000afb: PUSH1 0x01 00000afd: ADD 00000afe: SLOAD 00000aff: PUSH2 0x0b15 00000b02: DUP12 00000b03: PUSH1 0x05 00000b05: ADD 00000b06: SLOAD 00000b07: TIMESTAMP 00000b08: PUSH2 0x2066 00000b0b: SWAP1 00000b0c: SWAP2 00000b0d: SWAP1 00000b0e: PUSH4 0xffffffff 00000b13: AND 00000b14: JUMP 00000b15: JUMPDEST 00000b16: SWAP1 00000b17: PUSH4 0xffffffff 00000b1c: PUSH2 0x1dae 00000b1f: AND 00000b20: JUMP 00000b21: JUMPDEST 00000b22: TIMESTAMP 00000b23: SWAP1 00000b24: PUSH4 0xffffffff 00000b29: PUSH2 0x2066 00000b2c: AND 00000b2d: JUMP 00000b2e: JUMPDEST 00000b2f: PUSH1 0x05 00000b31: DUP8 00000b32: ADD 00000b33: SSTORE 00000b34: JUMPDEST 00000b35: PUSH1 0x01 00000b37: DUP7 00000b38: ADD 00000b39: DUP2 00000b3a: SWAP1 00000b3b: SSTORE 00000b3c: PUSH1 0x0d 00000b3e: SLOAD 00000b3f: PUSH2 0x0b5c 00000b42: SWAP1 00000b43: PUSH8 0x0de0b6b3a7640000 00000b4c: SWAP1 00000b4d: PUSH2 0x08de 00000b50: SWAP1 00000b51: DUP7 00000b52: PUSH4 0xffffffff 00000b57: PUSH2 0x1dae 00000b5a: AND 00000b5b: JUMP 00000b5c: JUMPDEST 00000b5d: PUSH1 0x02 00000b5f: DUP1 00000b60: DUP9 00000b61: ADD 00000b62: DUP1 00000b63: SLOAD 00000b64: SWAP3 00000b65: SWAP1 00000b66: SWAP3 00000b67: ADD 00000b68: SWAP1 00000b69: SWAP2 00000b6a: SSTORE 00000b6b: DUP6 00000b6c: ADD 00000b6d: SLOAD 00000b6e: PUSH2 0x0b7d 00000b71: SWAP1 00000b72: DUP5 00000b73: PUSH4 0xffffffff 00000b78: PUSH2 0x200b 00000b7b: AND 00000b7c: JUMP 00000b7d: JUMPDEST 00000b7e: PUSH1 0x02 00000b80: DUP7 00000b81: ADD 00000b82: SSTORE 00000b83: PUSH1 0x04 00000b85: DUP6 00000b86: ADD 00000b87: SLOAD 00000b88: PUSH2 0x0b97 00000b8b: SWAP1 00000b8c: DUP11 00000b8d: PUSH4 0xffffffff 00000b92: PUSH2 0x200b 00000b95: AND 00000b96: JUMP 00000b97: JUMPDEST 00000b98: PUSH1 0x04 00000b9a: DUP7 00000b9b: ADD 00000b9c: SSTORE 00000b9d: PUSH1 0x00 00000b9f: DUP11 00000ba0: DUP2 00000ba1: MSTORE 00000ba2: PUSH1 0x12 00000ba4: PUSH1 0x20 00000ba6: SWAP1 00000ba7: DUP2 00000ba8: MSTORE 00000ba9: PUSH1 0x40 00000bab: DUP1 00000bac: DUP4 00000bad: KECCAK256 00000bae: PUSH1 0x09 00000bb0: SLOAD 00000bb1: DUP5 00000bb2: MSTORE 00000bb3: SWAP1 00000bb4: SWAP2 00000bb5: MSTORE 00000bb6: SWAP1 00000bb7: KECCAK256 00000bb8: SLOAD 00000bb9: PUSH2 0x0bc8 00000bbc: SWAP1 00000bbd: DUP5 00000bbe: PUSH4 0xffffffff 00000bc3: PUSH2 0x200b 00000bc6: AND 00000bc7: JUMP 00000bc8: JUMPDEST 00000bc9: PUSH1 0x00 00000bcb: DUP12 00000bcc: DUP2 00000bcd: MSTORE 00000bce: PUSH1 0x12 00000bd0: PUSH1 0x20 00000bd2: SWAP1 00000bd3: DUP2 00000bd4: MSTORE 00000bd5: PUSH1 0x40 00000bd7: DUP1 00000bd8: DUP4 00000bd9: KECCAK256 00000bda: PUSH1 0x09 00000bdc: SLOAD 00000bdd: DUP5 00000bde: MSTORE 00000bdf: SWAP1 00000be0: SWAP2 00000be1: MSTORE 00000be2: SWAP1 00000be3: KECCAK256 00000be4: SSTORE 00000be5: PUSH1 0x0a 00000be7: SLOAD 00000be8: PUSH2 0x0bf7 00000beb: SWAP1 00000bec: DUP5 00000bed: PUSH4 0xffffffff 00000bf2: PUSH2 0x200b 00000bf5: AND 00000bf6: JUMP 00000bf7: JUMPDEST 00000bf8: PUSH1 0x0a 00000bfa: SSTORE 00000bfb: PUSH1 0x0b 00000bfd: SLOAD 00000bfe: PUSH2 0x0c0d 00000c01: SWAP1 00000c02: DUP11 00000c03: PUSH4 0xffffffff 00000c08: PUSH2 0x200b 00000c0b: AND 00000c0c: JUMP 00000c0d: JUMPDEST 00000c0e: PUSH1 0x0b 00000c10: SSTORE 00000c11: PUSH1 0x0c 00000c13: SLOAD 00000c14: PUSH2 0x0c23 00000c17: SWAP1 00000c18: DUP6 00000c19: PUSH4 0xffffffff 00000c1e: PUSH2 0x200b 00000c21: AND 00000c22: JUMP 00000c23: JUMPDEST 00000c24: PUSH1 0x0c 00000c26: DUP2 00000c27: SWAP1 00000c28: SSTORE 00000c29: POP 00000c2a: DUP3 00000c2b: DUP3 00000c2c: SWAP8 00000c2d: POP 00000c2e: SWAP8 00000c2f: POP 00000c30: PUSH2 0x0c3c 00000c33: JUMP 00000c34: JUMPDEST 00000c35: PUSH1 0x00 00000c37: SWAP8 00000c38: POP 00000c39: DUP8 00000c3a: SWAP7 00000c3b: POP 00000c3c: JUMPDEST 00000c3d: POP 00000c3e: POP 00000c3f: POP 00000c40: POP 00000c41: POP 00000c42: POP 00000c43: SWAP3 00000c44: POP 00000c45: SWAP3 00000c46: SWAP1 00000c47: POP 00000c48: JUMP 00000c49: JUMPDEST 00000c4a: PUSH1 0x07 00000c4c: SLOAD 00000c4d: DUP2 00000c4e: JUMP 00000c4f: JUMPDEST 00000c50: PUSH1 0x40 00000c52: DUP1 00000c53: MLOAD 00000c54: PUSH13 0x01000000000000000000000000 00000c62: CALLER 00000c63: SWAP1 00000c64: DUP2 00000c65: MUL 00000c66: DUP3 00000c67: MSTORE 00000c68: DUP3 00000c69: MLOAD 00000c6a: SWAP2 00000c6b: DUP3 00000c6c: SWAP1 00000c6d: SUB 00000c6e: PUSH1 0x14 00000c70: ADD 00000c71: SWAP1 00000c72: SWAP2 00000c73: KECCAK256 00000c74: PUSH1 0x00 00000c76: SWAP1 00000c77: DUP2 00000c78: MSTORE 00000c79: PUSH1 0x13 00000c7b: PUSH1 0x20 00000c7d: MSTORE 00000c7e: SWAP2 00000c7f: SWAP1 00000c80: SWAP2 00000c81: KECCAK256 00000c82: SLOAD 00000c83: PUSH1 0xff 00000c85: AND 00000c86: ISZERO 00000c87: ISZERO 00000c88: PUSH2 0x0c90 00000c8b: JUMPI 00000c8c: PUSH1 0x00 00000c8e: DUP1 00000c8f: REVERT 00000c90: JUMPDEST 00000c91: PUSH1 0x00 00000c93: SLOAD 00000c94: PUSH1 0x01 00000c96: PUSH1 0xa0 00000c98: PUSH1 0x02 00000c9a: EXP 00000c9b: SUB 00000c9c: AND 00000c9d: ISZERO 00000c9e: PUSH2 0x0cf1 00000ca1: JUMPI 00000ca2: PUSH1 0x40 00000ca4: DUP1 00000ca5: MLOAD 00000ca6: PUSH1 0xe5 00000ca8: PUSH1 0x02 00000caa: EXP 00000cab: PUSH3 0x461bcd 00000caf: MUL 00000cb0: DUP2 00000cb1: MSTORE 00000cb2: PUSH1 0x20 00000cb4: PUSH1 0x04 00000cb6: DUP3 00000cb7: ADD 00000cb8: MSTORE 00000cb9: PUSH1 0x1f 00000cbb: PUSH1 0x24 00000cbd: DUP3 00000cbe: ADD 00000cbf: MSTORE 00000cc0: PUSH32 0x73696c6c79206465762c20796f7520616c726561647920646964207468617400 00000ce1: PUSH1 0x44 00000ce3: DUP3 00000ce4: ADD 00000ce5: MSTORE 00000ce6: SWAP1 00000ce7: MLOAD 00000ce8: SWAP1 00000ce9: DUP2 00000cea: SWAP1 00000ceb: SUB 00000cec: PUSH1 0x64 00000cee: ADD 00000cef: SWAP1 00000cf0: REVERT 00000cf1: JUMPDEST 00000cf2: POP 00000cf3: PUSH1 0x00 00000cf5: DUP1 00000cf6: SLOAD 00000cf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d0c: NOT 00000d0d: AND 00000d0e: PUSH1 0x01 00000d10: PUSH1 0xa0 00000d12: PUSH1 0x02 00000d14: EXP 00000d15: SUB 00000d16: SWAP3 00000d17: SWAP1 00000d18: SWAP3 00000d19: AND 00000d1a: SWAP2 00000d1b: SWAP1 00000d1c: SWAP2 00000d1d: OR 00000d1e: SWAP1 00000d1f: SSTORE 00000d20: JUMP 00000d21: JUMPDEST 00000d22: PUSH1 0x01 00000d24: DUP1 00000d25: SLOAD 00000d26: PUSH1 0x40 00000d28: DUP1 00000d29: MLOAD 00000d2a: PUSH1 0x20 00000d2c: PUSH1 0x02 00000d2e: DUP5 00000d2f: DUP7 00000d30: AND 00000d31: ISZERO 00000d32: PUSH2 0x0100 00000d35: MUL 00000d36: PUSH1 0x00 00000d38: NOT 00000d39: ADD 00000d3a: SWAP1 00000d3b: SWAP5 00000d3c: AND 00000d3d: SWAP4 00000d3e: SWAP1 00000d3f: SWAP4 00000d40: DIV 00000d41: PUSH1 0x1f 00000d43: DUP2 00000d44: ADD 00000d45: DUP5 00000d46: SWAP1 00000d47: DIV 00000d48: DUP5 00000d49: MUL 00000d4a: DUP3 00000d4b: ADD 00000d4c: DUP5 00000d4d: ADD 00000d4e: SWAP1 00000d4f: SWAP3 00000d50: MSTORE 00000d51: DUP2 00000d52: DUP2 00000d53: MSTORE 00000d54: SWAP3 00000d55: SWAP2 00000d56: DUP4 00000d57: ADD 00000d58: DUP3 00000d59: DUP3 00000d5a: DUP1 00000d5b: ISZERO 00000d5c: PUSH2 0x0da6 00000d5f: JUMPI 00000d60: DUP1 00000d61: PUSH1 0x1f 00000d63: LT 00000d64: PUSH2 0x0d7b 00000d67: JUMPI 00000d68: PUSH2 0x0100 00000d6b: DUP1 00000d6c: DUP4 00000d6d: SLOAD 00000d6e: DIV 00000d6f: MUL 00000d70: DUP4 00000d71: MSTORE 00000d72: SWAP2 00000d73: PUSH1 0x20 00000d75: ADD 00000d76: SWAP2 00000d77: PUSH2 0x0da6 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: DUP3 00000d7d: ADD 00000d7e: SWAP2 00000d7f: SWAP1 00000d80: PUSH1 0x00 00000d82: MSTORE 00000d83: PUSH1 0x20 00000d85: PUSH1 0x00 00000d87: KECCAK256 00000d88: SWAP1 00000d89: JUMPDEST 00000d8a: DUP2 00000d8b: SLOAD 00000d8c: DUP2 00000d8d: MSTORE 00000d8e: SWAP1 00000d8f: PUSH1 0x01 00000d91: ADD 00000d92: SWAP1 00000d93: PUSH1 0x20 00000d95: ADD 00000d96: DUP1 00000d97: DUP4 00000d98: GT 00000d99: PUSH2 0x0d89 00000d9c: JUMPI 00000d9d: DUP3 00000d9e: SWAP1 00000d9f: SUB 00000da0: PUSH1 0x1f 00000da2: AND 00000da3: DUP3 00000da4: ADD 00000da5: SWAP2 00000da6: JUMPDEST 00000da7: POP 00000da8: POP 00000da9: POP 00000daa: POP 00000dab: POP 00000dac: DUP2 00000dad: JUMP 00000dae: JUMPDEST 00000daf: PUSH1 0x0e 00000db1: SLOAD 00000db2: DUP2 00000db3: JUMP 00000db4: JUMPDEST 00000db5: PUSH1 0x03 00000db7: SLOAD 00000db8: PUSH1 0x0c 00000dba: SLOAD 00000dbb: PUSH1 0x00 00000dbd: SWAP2 00000dbe: PUSH2 0x0dd9 00000dc1: SWAP2 00000dc2: PUSH1 0x64 00000dc4: SWAP2 00000dc5: PUSH2 0x08de 00000dc8: SWAP2 00000dc9: SWAP1 00000dca: PUSH5 0x0100000000 00000dd0: SWAP1 00000dd1: DIV 00000dd2: PUSH1 0xff 00000dd4: AND 00000dd5: PUSH2 0x1dae 00000dd8: JUMP 00000dd9: JUMPDEST 00000dda: SWAP1 00000ddb: POP 00000ddc: SWAP1 00000ddd: JUMP 00000dde: JUMPDEST 00000ddf: PUSH1 0x00 00000de1: DUP1 00000de2: PUSH2 0x0df2 00000de5: PUSH8 0x0de0b6b3a7640000 00000dee: PUSH2 0x20c6 00000df1: JUMP 00000df2: JUMPDEST 00000df3: SWAP1 00000df4: POP 00000df5: PUSH2 0x0e10 00000df8: DUP2 00000df9: PUSH2 0x08de 00000dfc: DUP6 00000dfd: PUSH8 0x0de0b6b3a7640000 00000e06: PUSH4 0xffffffff 00000e0b: PUSH2 0x1dae 00000e0e: AND 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: SWAP2 00000e12: POP 00000e13: JUMPDEST 00000e14: POP 00000e15: SWAP2 00000e16: SWAP1 00000e17: POP 00000e18: JUMP 00000e19: JUMPDEST 00000e1a: PUSH1 0x40 00000e1c: DUP1 00000e1d: MLOAD 00000e1e: PUSH13 0x01000000000000000000000000 00000e2c: CALLER 00000e2d: SWAP1 00000e2e: DUP2 00000e2f: MUL 00000e30: DUP3 00000e31: MSTORE 00000e32: DUP3 00000e33: MLOAD 00000e34: SWAP2 00000e35: DUP3 00000e36: SWAP1 00000e37: SUB 00000e38: PUSH1 0x14 00000e3a: ADD 00000e3b: SWAP1 00000e3c: SWAP2 00000e3d: KECCAK256 00000e3e: PUSH1 0x00 00000e40: SWAP1 00000e41: DUP2 00000e42: MSTORE 00000e43: PUSH1 0x13 00000e45: PUSH1 0x20 00000e47: MSTORE 00000e48: SWAP2 00000e49: SWAP1 00000e4a: SWAP2 00000e4b: KECCAK256 00000e4c: SLOAD 00000e4d: PUSH1 0xff 00000e4f: AND 00000e50: ISZERO 00000e51: ISZERO 00000e52: PUSH2 0x0e5a 00000e55: JUMPI 00000e56: PUSH1 0x00 00000e58: DUP1 00000e59: REVERT 00000e5a: JUMPDEST 00000e5b: PUSH1 0x14 00000e5d: SLOAD 00000e5e: DUP3 00000e5f: GT 00000e60: ISZERO 00000e61: PUSH2 0x0e69 00000e64: JUMPI 00000e65: PUSH1 0x00 00000e67: DUP1 00000e68: REVERT 00000e69: JUMPDEST 00000e6a: PUSH1 0x14 00000e6c: SLOAD 00000e6d: PUSH2 0x0e7c 00000e70: SWAP1 00000e71: DUP4 00000e72: PUSH4 0xffffffff 00000e77: PUSH2 0x2066 00000e7a: AND 00000e7b: JUMP 00000e7c: JUMPDEST 00000e7d: PUSH1 0x14 00000e7f: SSTORE 00000e80: PUSH1 0x40 00000e82: MLOAD 00000e83: CALLER 00000e84: SWAP1 00000e85: DUP4 00000e86: ISZERO 00000e87: PUSH2 0x08fc 00000e8a: MUL 00000e8b: SWAP1 00000e8c: DUP5 00000e8d: SWAP1 00000e8e: PUSH1 0x00 00000e90: DUP2 00000e91: DUP2 00000e92: DUP2 00000e93: DUP6 00000e94: DUP9 00000e95: DUP9 00000e96: CALL 00000e97: SWAP4 00000e98: POP 00000e99: POP 00000e9a: POP 00000e9b: POP 00000e9c: ISZERO 00000e9d: DUP1 00000e9e: ISZERO 00000e9f: PUSH2 0x0eac 00000ea2: JUMPI 00000ea3: RETURNDATASIZE 00000ea4: PUSH1 0x00 00000ea6: DUP1 00000ea7: RETURNDATACOPY 00000ea8: RETURNDATASIZE 00000ea9: PUSH1 0x00 00000eab: REVERT 00000eac: JUMPDEST 00000ead: POP 00000eae: POP 00000eaf: POP 00000eb0: JUMP 00000eb1: JUMPDEST 00000eb2: PUSH1 0x40 00000eb4: DUP1 00000eb5: MLOAD 00000eb6: PUSH13 0x01000000000000000000000000 00000ec4: CALLER 00000ec5: SWAP1 00000ec6: DUP2 00000ec7: MUL 00000ec8: DUP3 00000ec9: MSTORE 00000eca: DUP3 00000ecb: MLOAD 00000ecc: SWAP2 00000ecd: DUP3 00000ece: SWAP1 00000ecf: SUB 00000ed0: PUSH1 0x14 00000ed2: ADD 00000ed3: SWAP1 00000ed4: SWAP2 00000ed5: KECCAK256 00000ed6: PUSH1 0x00 00000ed8: SWAP1 00000ed9: DUP2 00000eda: MSTORE 00000edb: PUSH1 0x13 00000edd: PUSH1 0x20 00000edf: MSTORE 00000ee0: SWAP2 00000ee1: SWAP1 00000ee2: SWAP2 00000ee3: KECCAK256 00000ee4: SLOAD 00000ee5: PUSH1 0xff 00000ee7: AND 00000ee8: ISZERO 00000ee9: ISZERO 00000eea: PUSH2 0x0ef2 00000eed: JUMPI 00000eee: PUSH1 0x00 00000ef0: DUP1 00000ef1: REVERT 00000ef2: JUMPDEST 00000ef3: PUSH1 0x00 00000ef5: SLOAD 00000ef6: PUSH1 0x01 00000ef8: PUSH1 0xa0 00000efa: PUSH1 0x02 00000efc: EXP 00000efd: SUB 00000efe: AND 00000eff: ISZERO 00000f00: ISZERO 00000f01: PUSH2 0x0f54 00000f04: JUMPI 00000f05: PUSH1 0x40 00000f07: DUP1 00000f08: MLOAD 00000f09: PUSH1 0xe5 00000f0b: PUSH1 0x02 00000f0d: EXP 00000f0e: PUSH3 0x461bcd 00000f12: MUL 00000f13: DUP2 00000f14: MSTORE 00000f15: PUSH1 0x20 00000f17: PUSH1 0x04 00000f19: DUP3 00000f1a: ADD 00000f1b: MSTORE 00000f1c: PUSH1 0x1e 00000f1e: PUSH1 0x24 00000f20: DUP3 00000f21: ADD 00000f22: MSTORE 00000f23: PUSH32 0x6d757374206c696e6b20746f20526566657272616c20436f6e74726163740000 00000f44: PUSH1 0x44 00000f46: DUP3 00000f47: ADD 00000f48: MSTORE 00000f49: SWAP1 00000f4a: MLOAD 00000f4b: SWAP1 00000f4c: DUP2 00000f4d: SWAP1 00000f4e: SUB 00000f4f: PUSH1 0x64 00000f51: ADD 00000f52: SWAP1 00000f53: REVERT 00000f54: JUMPDEST 00000f55: PUSH1 0x15 00000f57: SLOAD 00000f58: PUSH1 0xff 00000f5a: AND 00000f5b: ISZERO 00000f5c: PUSH2 0x0faf 00000f5f: JUMPI 00000f60: PUSH1 0x40 00000f62: DUP1 00000f63: MLOAD 00000f64: PUSH1 0xe5 00000f66: PUSH1 0x02 00000f68: EXP 00000f69: PUSH3 0x461bcd 00000f6d: MUL 00000f6e: DUP2 00000f6f: MSTORE 00000f70: PUSH1 0x20 00000f72: PUSH1 0x04 00000f74: DUP3 00000f75: ADD 00000f76: MSTORE 00000f77: PUSH1 0x11 00000f79: PUSH1 0x24 00000f7b: DUP3 00000f7c: ADD 00000f7d: MSTORE 00000f7e: PUSH32 0x616c726561647920616374697661746564000000000000000000000000000000 00000f9f: PUSH1 0x44 00000fa1: DUP3 00000fa2: ADD 00000fa3: MSTORE 00000fa4: SWAP1 00000fa5: MLOAD 00000fa6: SWAP1 00000fa7: DUP2 00000fa8: SWAP1 00000fa9: SUB 00000faa: PUSH1 0x64 00000fac: ADD 00000fad: SWAP1 00000fae: REVERT 00000faf: JUMPDEST 00000fb0: PUSH1 0x15 00000fb2: DUP1 00000fb3: SLOAD 00000fb4: PUSH1 0xff 00000fb6: NOT 00000fb7: AND 00000fb8: PUSH1 0x01 00000fba: SWAP1 00000fbb: DUP2 00000fbc: OR 00000fbd: SWAP1 00000fbe: SWAP2 00000fbf: SSTORE 00000fc0: PUSH1 0x09 00000fc2: DUP2 00000fc3: SWAP1 00000fc4: SSTORE 00000fc5: PUSH1 0x00 00000fc7: MSTORE 00000fc8: PUSH1 0x11 00000fca: PUSH1 0x20 00000fcc: MSTORE 00000fcd: TIMESTAMP 00000fce: PUSH32 0x17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b552 00000fef: DUP2 00000ff0: SWAP1 00000ff1: SSTORE 00000ff2: PUSH1 0x06 00000ff4: SLOAD 00000ff5: PUSH2 0x1004 00000ff8: SWAP2 00000ff9: SWAP1 00000ffa: PUSH4 0xffffffff 00000fff: PUSH2 0x200b 00001002: AND 00001003: JUMP 00001004: JUMPDEST 00001005: PUSH1 0x09 00001007: SLOAD 00001008: PUSH1 0x00 0000100a: SWAP1 0000100b: DUP2 0000100c: MSTORE 0000100d: PUSH1 0x11 0000100f: PUSH1 0x20 00001011: MSTORE 00001012: PUSH1 0x40 00001014: DUP1 00001015: DUP3 00001016: KECCAK256 00001017: PUSH1 0x01 00001019: ADD 0000101a: SWAP3 0000101b: SWAP1 0000101c: SWAP3 0000101d: SSTORE 0000101e: SWAP1 0000101f: MLOAD 00001020: PUSH32 0x1bf9ee2c8421e7abea94b17dbd36199aed94c0ebd5aa70a1dae843419e6b786f 00001041: SWAP2 00001042: SWAP1 00001043: LOG1 00001044: POP 00001045: JUMP 00001046: JUMPDEST 00001047: PUSH1 0x0f 00001049: PUSH1 0x20 0000104b: MSTORE 0000104c: PUSH1 0x00 0000104e: SWAP1 0000104f: DUP2 00001050: MSTORE 00001051: PUSH1 0x40 00001053: SWAP1 00001054: KECCAK256 00001055: SLOAD 00001056: DUP2 00001057: JUMP 00001058: JUMPDEST 00001059: PUSH1 0x04 0000105b: SLOAD 0000105c: DUP2 0000105d: JUMP 0000105e: JUMPDEST 0000105f: PUSH1 0x00 00001061: SLOAD 00001062: PUSH1 0x01 00001064: PUSH1 0xa0 00001066: PUSH1 0x02 00001068: EXP 00001069: SUB 0000106a: AND 0000106b: SWAP1 0000106c: JUMP 0000106d: JUMPDEST 0000106e: PUSH1 0x11 00001070: PUSH1 0x20 00001072: MSTORE 00001073: PUSH1 0x00 00001075: SWAP1 00001076: DUP2 00001077: MSTORE 00001078: PUSH1 0x40 0000107a: SWAP1 0000107b: KECCAK256 0000107c: DUP1 0000107d: SLOAD 0000107e: PUSH1 0x01 00001080: DUP3 00001081: ADD 00001082: SLOAD 00001083: PUSH1 0x02 00001085: DUP4 00001086: ADD 00001087: SLOAD 00001088: PUSH1 0x03 0000108a: DUP5 0000108b: ADD 0000108c: SLOAD 0000108d: PUSH1 0x04 0000108f: SWAP1 00001090: SWAP5 00001091: ADD 00001092: SLOAD 00001093: SWAP3 00001094: SWAP4 00001095: SWAP2 00001096: SWAP3 00001097: SWAP1 00001098: SWAP2 00001099: SWAP1 0000109a: DUP6 0000109b: JUMP 0000109c: JUMPDEST 0000109d: PUSH1 0x00 0000109f: DUP2 000010a0: DUP2 000010a1: MSTORE 000010a2: PUSH1 0x11 000010a4: PUSH1 0x20 000010a6: SWAP1 000010a7: DUP2 000010a8: MSTORE 000010a9: PUSH1 0x40 000010ab: DUP1 000010ac: DUP4 000010ad: KECCAK256 000010ae: PUSH1 0x03 000010b0: ADD 000010b1: SLOAD 000010b2: DUP6 000010b3: DUP5 000010b4: MSTORE 000010b5: PUSH1 0x12 000010b7: DUP4 000010b8: MSTORE 000010b9: DUP2 000010ba: DUP5 000010bb: KECCAK256 000010bc: DUP6 000010bd: DUP6 000010be: MSTORE 000010bf: SWAP1 000010c0: SWAP3 000010c1: MSTORE 000010c2: DUP3 000010c3: KECCAK256 000010c4: SLOAD 000010c5: PUSH2 0x10e1 000010c8: SWAP2 000010c9: PUSH8 0x0de0b6b3a7640000 000010d2: SWAP2 000010d3: PUSH2 0x08de 000010d6: SWAP2 000010d7: PUSH4 0xffffffff 000010dc: PUSH2 0x1dae 000010df: AND 000010e0: JUMP 000010e1: JUMPDEST 000010e2: SWAP1 000010e3: POP 000010e4: JUMPDEST 000010e5: SWAP3 000010e6: SWAP2 000010e7: POP 000010e8: POP 000010e9: JUMP 000010ea: JUMPDEST 000010eb: PUSH1 0x03 000010ed: SLOAD 000010ee: PUSH4 0x01000000 000010f3: SWAP1 000010f4: DIV 000010f5: PUSH1 0xff 000010f7: AND 000010f8: DUP2 000010f9: JUMP 000010fa: JUMPDEST 000010fb: PUSH1 0x40 000010fd: DUP1 000010fe: MLOAD 000010ff: PUSH13 0x01000000000000000000000000 0000110d: CALLER 0000110e: SWAP1 0000110f: DUP2 00001110: MUL 00001111: DUP3 00001112: MSTORE 00001113: DUP3 00001114: MLOAD 00001115: SWAP2 00001116: DUP3 00001117: SWAP1 00001118: SUB 00001119: PUSH1 0x14 0000111b: ADD 0000111c: SWAP1 0000111d: SWAP2 0000111e: KECCAK256 0000111f: PUSH1 0x00 00001121: SWAP1 00001122: DUP2 00001123: MSTORE 00001124: PUSH1 0x13 00001126: PUSH1 0x20 00001128: MSTORE 00001129: SWAP2 0000112a: SWAP1 0000112b: SWAP2 0000112c: KECCAK256 0000112d: SLOAD 0000112e: PUSH1 0xff 00001130: AND 00001131: ISZERO 00001132: ISZERO 00001133: PUSH2 0x113b 00001136: JUMPI 00001137: PUSH1 0x00 00001139: DUP1 0000113a: REVERT 0000113b: JUMPDEST 0000113c: PUSH1 0x00 0000113e: DUP11 0000113f: PUSH2 0xffff 00001142: AND 00001143: LT 00001144: ISZERO 00001145: DUP1 00001146: ISZERO 00001147: PUSH2 0x1156 0000114a: JUMPI 0000114b: POP 0000114c: PUSH2 0x2710 0000114f: DUP11 00001150: PUSH2 0xffff 00001153: AND 00001154: GT 00001155: ISZERO 00001156: JUMPDEST 00001157: ISZERO 00001158: ISZERO 00001159: PUSH2 0x119a 0000115c: JUMPI 0000115d: PUSH1 0x40 0000115f: DUP1 00001160: MLOAD 00001161: PUSH1 0xe5 00001163: PUSH1 0x02 00001165: EXP 00001166: PUSH3 0x461bcd 0000116a: MUL 0000116b: DUP2 0000116c: MSTORE 0000116d: PUSH1 0x20 0000116f: PUSH1 0x04 00001171: DUP3 00001172: ADD 00001173: MSTORE 00001174: PUSH1 0x0d 00001176: PUSH1 0x24 00001178: DUP3 00001179: ADD 0000117a: MSTORE 0000117b: PUSH1 0x00 0000117d: DUP1 0000117e: MLOAD 0000117f: PUSH1 0x20 00001181: PUSH2 0x23db 00001184: DUP4 00001185: CODECOPY 00001186: DUP2 00001187: MLOAD 00001188: SWAP2 00001189: MSTORE 0000118a: PUSH1 0x44 0000118c: DUP3 0000118d: ADD 0000118e: MSTORE 0000118f: SWAP1 00001190: MLOAD 00001191: SWAP1 00001192: DUP2 00001193: SWAP1 00001194: SUB 00001195: PUSH1 0x64 00001197: ADD 00001198: SWAP1 00001199: REVERT 0000119a: JUMPDEST 0000119b: PUSH1 0x00 0000119d: DUP10 0000119e: PUSH1 0xff 000011a0: AND 000011a1: LT 000011a2: ISZERO 000011a3: DUP1 000011a4: ISZERO 000011a5: PUSH2 0x11b2 000011a8: JUMPI 000011a9: POP 000011aa: PUSH1 0x64 000011ac: DUP10 000011ad: PUSH1 0xff 000011af: AND 000011b0: GT 000011b1: ISZERO 000011b2: JUMPDEST 000011b3: ISZERO 000011b4: ISZERO 000011b5: PUSH2 0x11f6 000011b8: JUMPI 000011b9: PUSH1 0x40 000011bb: DUP1 000011bc: MLOAD 000011bd: PUSH1 0xe5 000011bf: PUSH1 0x02 000011c1: EXP 000011c2: PUSH3 0x461bcd 000011c6: MUL 000011c7: DUP2 000011c8: MSTORE 000011c9: PUSH1 0x20 000011cb: PUSH1 0x04 000011cd: DUP3 000011ce: ADD 000011cf: MSTORE 000011d0: PUSH1 0x0d 000011d2: PUSH1 0x24 000011d4: DUP3 000011d5: ADD 000011d6: MSTORE 000011d7: PUSH1 0x00 000011d9: DUP1 000011da: MLOAD 000011db: PUSH1 0x20 000011dd: PUSH2 0x23db 000011e0: DUP4 000011e1: CODECOPY 000011e2: DUP2 000011e3: MLOAD 000011e4: SWAP2 000011e5: MSTORE 000011e6: PUSH1 0x44 000011e8: DUP3 000011e9: ADD 000011ea: MSTORE 000011eb: SWAP1 000011ec: MLOAD 000011ed: SWAP1 000011ee: DUP2 000011ef: SWAP1 000011f0: SUB 000011f1: PUSH1 0x64 000011f3: ADD 000011f4: SWAP1 000011f5: REVERT 000011f6: JUMPDEST 000011f7: PUSH1 0x00 000011f9: DUP9 000011fa: PUSH1 0xff 000011fc: AND 000011fd: LT 000011fe: ISZERO 000011ff: DUP1 00001200: ISZERO 00001201: PUSH2 0x120e 00001204: JUMPI 00001205: POP 00001206: PUSH1 0x64 00001208: DUP9 00001209: PUSH1 0xff 0000120b: AND 0000120c: GT 0000120d: ISZERO 0000120e: JUMPDEST 0000120f: ISZERO 00001210: ISZERO 00001211: PUSH2 0x1252 00001214: JUMPI 00001215: PUSH1 0x40 00001217: DUP1 00001218: MLOAD 00001219: PUSH1 0xe5 0000121b: PUSH1 0x02 0000121d: EXP 0000121e: PUSH3 0x461bcd 00001222: MUL 00001223: DUP2 00001224: MSTORE 00001225: PUSH1 0x20 00001227: PUSH1 0x04 00001229: DUP3 0000122a: ADD 0000122b: MSTORE 0000122c: PUSH1 0x0d 0000122e: PUSH1 0x24 00001230: DUP3 00001231: ADD 00001232: MSTORE 00001233: PUSH1 0x00 00001235: DUP1 00001236: MLOAD 00001237: PUSH1 0x20 00001239: PUSH2 0x23db 0000123c: DUP4 0000123d: CODECOPY 0000123e: DUP2 0000123f: MLOAD 00001240: SWAP2 00001241: MSTORE 00001242: PUSH1 0x44 00001244: DUP3 00001245: ADD 00001246: MSTORE 00001247: SWAP1 00001248: MLOAD 00001249: SWAP1 0000124a: DUP2 0000124b: SWAP1 0000124c: SUB 0000124d: PUSH1 0x64 0000124f: ADD 00001250: SWAP1 00001251: REVERT 00001252: JUMPDEST 00001253: PUSH1 0x00 00001255: DUP8 00001256: PUSH1 0xff 00001258: AND 00001259: LT 0000125a: ISZERO 0000125b: DUP1 0000125c: ISZERO 0000125d: PUSH2 0x126a 00001260: JUMPI 00001261: POP 00001262: PUSH1 0x64 00001264: DUP8 00001265: PUSH1 0xff 00001267: AND 00001268: GT 00001269: ISZERO 0000126a: JUMPDEST 0000126b: ISZERO 0000126c: ISZERO 0000126d: PUSH2 0x12ae 00001270: JUMPI 00001271: PUSH1 0x40 00001273: DUP1 00001274: MLOAD 00001275: PUSH1 0xe5 00001277: PUSH1 0x02 00001279: EXP 0000127a: PUSH3 0x461bcd 0000127e: MUL 0000127f: DUP2 00001280: MSTORE 00001281: PUSH1 0x20 00001283: PUSH1 0x04 00001285: DUP3 00001286: ADD 00001287: MSTORE 00001288: PUSH1 0x0d 0000128a: PUSH1 0x24 0000128c: DUP3 0000128d: ADD 0000128e: MSTORE 0000128f: PUSH1 0x00 00001291: DUP1 00001292: MLOAD 00001293: PUSH1 0x20 00001295: PUSH2 0x23db 00001298: DUP4 00001299: CODECOPY 0000129a: DUP2 0000129b: MLOAD 0000129c: SWAP2 0000129d: MSTORE 0000129e: PUSH1 0x44 000012a0: DUP3 000012a1: ADD 000012a2: MSTORE 000012a3: SWAP1 000012a4: MLOAD 000012a5: SWAP1 000012a6: DUP2 000012a7: SWAP1 000012a8: SUB 000012a9: PUSH1 0x64 000012ab: ADD 000012ac: SWAP1 000012ad: REVERT 000012ae: JUMPDEST 000012af: PUSH1 0x00 000012b1: DUP7 000012b2: PUSH1 0xff 000012b4: AND 000012b5: LT 000012b6: ISZERO 000012b7: DUP1 000012b8: ISZERO 000012b9: PUSH2 0x12c7 000012bc: JUMPI 000012bd: POP 000012be: PUSH2 0x03e8 000012c1: DUP7 000012c2: PUSH1 0xff 000012c4: AND 000012c5: GT 000012c6: ISZERO 000012c7: JUMPDEST 000012c8: ISZERO 000012c9: ISZERO 000012ca: PUSH2 0x130b 000012cd: JUMPI 000012ce: PUSH1 0x40 000012d0: DUP1 000012d1: MLOAD 000012d2: PUSH1 0xe5 000012d4: PUSH1 0x02 000012d6: EXP 000012d7: PUSH3 0x461bcd 000012db: MUL 000012dc: DUP2 000012dd: MSTORE 000012de: PUSH1 0x20 000012e0: PUSH1 0x04 000012e2: DUP3 000012e3: ADD 000012e4: MSTORE 000012e5: PUSH1 0x0d 000012e7: PUSH1 0x24 000012e9: DUP3 000012ea: ADD 000012eb: MSTORE 000012ec: PUSH1 0x00 000012ee: DUP1 000012ef: MLOAD 000012f0: PUSH1 0x20 000012f2: PUSH2 0x23db 000012f5: DUP4 000012f6: CODECOPY 000012f7: DUP2 000012f8: MLOAD 000012f9: SWAP2 000012fa: MSTORE 000012fb: PUSH1 0x44 000012fd: DUP3 000012fe: ADD 000012ff: MSTORE 00001300: SWAP1 00001301: MLOAD 00001302: SWAP1 00001303: DUP2 00001304: SWAP1 00001305: SUB 00001306: PUSH1 0x64 00001308: ADD 00001309: SWAP1 0000130a: REVERT 0000130b: JUMPDEST 0000130c: PUSH2 0xffff 0000130f: DUP11 00001310: AND 00001311: ISZERO 00001312: PUSH2 0x131b 00001315: JUMPI 00001316: DUP10 00001317: PUSH2 0x1323 0000131a: JUMP 0000131b: JUMPDEST 0000131c: PUSH1 0x03 0000131e: SLOAD 0000131f: PUSH2 0xffff 00001322: AND 00001323: JUMPDEST 00001324: PUSH1 0x03 00001326: DUP1 00001327: SLOAD 00001328: PUSH2 0xffff 0000132b: NOT 0000132c: AND 0000132d: PUSH2 0xffff 00001330: SWAP3 00001331: SWAP1 00001332: SWAP3 00001333: AND 00001334: SWAP2 00001335: SWAP1 00001336: SWAP2 00001337: OR 00001338: SWAP1 00001339: SSTORE 0000133a: PUSH1 0xff 0000133c: DUP10 0000133d: AND 0000133e: ISZERO 0000133f: PUSH2 0x1348 00001342: JUMPI 00001343: DUP9 00001344: PUSH2 0x1355 00001347: JUMP 00001348: JUMPDEST 00001349: PUSH1 0x03 0000134b: SLOAD 0000134c: PUSH3 0x010000 00001350: SWAP1 00001351: DIV 00001352: PUSH1 0xff 00001354: AND 00001355: JUMPDEST 00001356: PUSH1 0x03 00001358: DUP1 00001359: SLOAD 0000135a: PUSH3 0xff0000 0000135e: NOT 0000135f: AND 00001360: PUSH3 0x010000 00001364: PUSH1 0xff 00001366: SWAP4 00001367: DUP5 00001368: AND 00001369: MUL 0000136a: OR 0000136b: SWAP1 0000136c: SSTORE 0000136d: DUP9 0000136e: AND 0000136f: ISZERO 00001370: PUSH2 0x1379 00001373: JUMPI 00001374: DUP8 00001375: PUSH2 0x1387 00001378: JUMP 00001379: JUMPDEST 0000137a: PUSH1 0x03 0000137c: SLOAD 0000137d: PUSH4 0x01000000 00001382: SWAP1 00001383: DIV 00001384: PUSH1 0xff 00001386: AND 00001387: JUMPDEST 00001388: PUSH1 0x03 0000138a: DUP1 0000138b: SLOAD 0000138c: PUSH4 0xff000000 00001391: NOT 00001392: AND 00001393: PUSH4 0x01000000 00001398: PUSH1 0xff 0000139a: SWAP4 0000139b: DUP5 0000139c: AND 0000139d: MUL 0000139e: OR 0000139f: SWAP1 000013a0: SSTORE 000013a1: DUP8 000013a2: AND 000013a3: ISZERO 000013a4: PUSH2 0x13ad 000013a7: JUMPI 000013a8: DUP7 000013a9: PUSH2 0x13bc 000013ac: JUMP 000013ad: JUMPDEST 000013ae: PUSH1 0x03 000013b0: SLOAD 000013b1: PUSH5 0x0100000000 000013b7: SWAP1 000013b8: DIV 000013b9: PUSH1 0xff 000013bb: AND 000013bc: JUMPDEST 000013bd: PUSH1 0x03 000013bf: DUP1 000013c0: SLOAD 000013c1: PUSH5 0xff00000000 000013c7: NOT 000013c8: AND 000013c9: PUSH5 0x0100000000 000013cf: PUSH1 0xff 000013d1: SWAP4 000013d2: DUP5 000013d3: AND 000013d4: MUL 000013d5: OR 000013d6: SWAP1 000013d7: SSTORE 000013d8: DUP7 000013d9: AND 000013da: ISZERO 000013db: PUSH2 0x13e4 000013de: JUMPI 000013df: DUP6 000013e0: PUSH2 0x13f4 000013e3: JUMP 000013e4: JUMPDEST 000013e5: PUSH1 0x03 000013e7: SLOAD 000013e8: PUSH6 0x010000000000 000013ef: SWAP1 000013f0: DIV 000013f1: PUSH1 0xff 000013f3: AND 000013f4: JUMPDEST 000013f5: PUSH1 0x03 000013f7: DUP1 000013f8: SLOAD 000013f9: PUSH1 0xff 000013fb: SWAP3 000013fc: SWAP1 000013fd: SWAP3 000013fe: AND 000013ff: PUSH6 0x010000000000 00001406: MUL 00001407: PUSH6 0xff0000000000 0000140e: NOT 0000140f: SWAP1 00001410: SWAP3 00001411: AND 00001412: SWAP2 00001413: SWAP1 00001414: SWAP2 00001415: OR 00001416: SWAP1 00001417: SSTORE 00001418: DUP5 00001419: ISZERO 0000141a: PUSH2 0x1423 0000141d: JUMPI 0000141e: DUP5 0000141f: PUSH2 0x1427 00001422: JUMP 00001423: JUMPDEST 00001424: PUSH1 0x04 00001426: SLOAD 00001427: JUMPDEST 00001428: PUSH1 0x04 0000142a: SSTORE 0000142b: DUP4 0000142c: ISZERO 0000142d: PUSH2 0x1436 00001430: JUMPI 00001431: DUP4 00001432: PUSH2 0x143a 00001435: JUMP 00001436: JUMPDEST 00001437: PUSH1 0x05 00001439: SLOAD 0000143a: JUMPDEST 0000143b: PUSH1 0x05 0000143d: SSTORE 0000143e: DUP3 0000143f: ISZERO 00001440: PUSH2 0x1449 00001443: JUMPI 00001444: DUP3 00001445: PUSH2 0x144d 00001448: JUMP 00001449: JUMPDEST 0000144a: PUSH1 0x06 0000144c: SLOAD 0000144d: JUMPDEST 0000144e: PUSH1 0x06 00001450: SSTORE 00001451: DUP2 00001452: ISZERO 00001453: PUSH2 0x145c 00001456: JUMPI 00001457: DUP2 00001458: PUSH2 0x1460 0000145b: JUMP 0000145c: JUMPDEST 0000145d: PUSH1 0x07 0000145f: SLOAD 00001460: JUMPDEST 00001461: PUSH1 0x07 00001463: SSTORE 00001464: POP 00001465: POP 00001466: POP 00001467: POP 00001468: POP 00001469: POP 0000146a: POP 0000146b: POP 0000146c: POP 0000146d: POP 0000146e: JUMP 0000146f: JUMPDEST 00001470: PUSH1 0x03 00001472: SLOAD 00001473: PUSH5 0x0100000000 00001479: SWAP1 0000147a: DIV 0000147b: PUSH1 0xff 0000147d: AND 0000147e: DUP2 0000147f: JUMP 00001480: JUMPDEST 00001481: PUSH1 0x13 00001483: PUSH1 0x20 00001485: MSTORE 00001486: PUSH1 0x00 00001488: SWAP1 00001489: DUP2 0000148a: MSTORE 0000148b: PUSH1 0x40 0000148d: SWAP1 0000148e: KECCAK256 0000148f: SLOAD 00001490: PUSH1 0xff 00001492: AND 00001493: DUP2 00001494: JUMP 00001495: JUMPDEST 00001496: PUSH1 0x15 00001498: SLOAD 00001499: PUSH1 0x00 0000149b: SWAP1 0000149c: DUP2 0000149d: SWAP1 0000149e: DUP2 0000149f: SWAP1 000014a0: DUP2 000014a1: SWAP1 000014a2: PUSH1 0xff 000014a4: AND 000014a5: ISZERO 000014a6: ISZERO 000014a7: PUSH1 0x01 000014a9: EQ 000014aa: PUSH2 0x14eb 000014ad: JUMPI 000014ae: PUSH1 0x40 000014b0: DUP1 000014b1: MLOAD 000014b2: PUSH1 0xe5 000014b4: PUSH1 0x02 000014b6: EXP 000014b7: PUSH3 0x461bcd 000014bb: MUL 000014bc: DUP2 000014bd: MSTORE 000014be: PUSH1 0x20 000014c0: PUSH1 0x04 000014c2: DUP3 000014c3: ADD 000014c4: MSTORE 000014c5: PUSH1 0x12 000014c7: PUSH1 0x24 000014c9: DUP3 000014ca: ADD 000014cb: MSTORE 000014cc: PUSH1 0x00 000014ce: DUP1 000014cf: MLOAD 000014d0: PUSH1 0x20 000014d2: PUSH2 0x23fb 000014d5: DUP4 000014d6: CODECOPY 000014d7: DUP2 000014d8: MLOAD 000014d9: SWAP2 000014da: MSTORE 000014db: PUSH1 0x44 000014dd: DUP3 000014de: ADD 000014df: MSTORE 000014e0: SWAP1 000014e1: MLOAD 000014e2: SWAP1 000014e3: DUP2 000014e4: SWAP1 000014e5: SUB 000014e6: PUSH1 0x64 000014e8: ADD 000014e9: SWAP1 000014ea: REVERT 000014eb: JUMPDEST 000014ec: PUSH2 0x14f3 000014ef: PUSH2 0x083f 000014f2: JUMP 000014f3: JUMPDEST 000014f4: SWAP4 000014f5: POP 000014f6: PUSH2 0x14fe 000014f9: DUP5 000014fa: PUSH2 0x08a5 000014fd: JUMP 000014fe: JUMPDEST 000014ff: PUSH2 0x1507 00001502: DUP5 00001503: PUSH2 0x21ca 00001506: JUMP 00001507: JUMPDEST 00001508: SWAP1 00001509: SWAP4 0000150a: POP 0000150b: SWAP2 0000150c: POP 0000150d: PUSH2 0x151c 00001510: DUP4 00001511: DUP4 00001512: PUSH4 0xffffffff 00001517: PUSH2 0x200b 0000151a: AND 0000151b: JUMP 0000151c: JUMPDEST 0000151d: SWAP1 0000151e: POP 0000151f: PUSH1 0x00 00001521: DUP2 00001522: GT 00001523: ISZERO 00001524: PUSH2 0x156d 00001527: JUMPI 00001528: PUSH1 0x00 0000152a: DUP5 0000152b: DUP2 0000152c: MSTORE 0000152d: PUSH1 0x10 0000152f: PUSH1 0x20 00001531: MSTORE 00001532: PUSH1 0x40 00001534: DUP1 00001535: DUP3 00001536: KECCAK256 00001537: SLOAD 00001538: SWAP1 00001539: MLOAD 0000153a: PUSH1 0x01 0000153c: PUSH1 0xa0 0000153e: PUSH1 0x02 00001540: EXP 00001541: SUB 00001542: SWAP1 00001543: SWAP2 00001544: AND 00001545: SWAP2 00001546: DUP4 00001547: ISZERO 00001548: PUSH2 0x08fc 0000154b: MUL 0000154c: SWAP2 0000154d: DUP5 0000154e: SWAP2 0000154f: DUP2 00001550: DUP2 00001551: DUP2 00001552: DUP6 00001553: DUP9 00001554: DUP9 00001555: CALL 00001556: SWAP4 00001557: POP 00001558: POP 00001559: POP 0000155a: POP 0000155b: ISZERO 0000155c: DUP1 0000155d: ISZERO 0000155e: PUSH2 0x156b 00001561: JUMPI 00001562: RETURNDATASIZE 00001563: PUSH1 0x00 00001565: DUP1 00001566: RETURNDATACOPY 00001567: RETURNDATASIZE 00001568: PUSH1 0x00 0000156a: REVERT 0000156b: JUMPDEST 0000156c: POP 0000156d: JUMPDEST 0000156e: PUSH1 0x09 00001570: SLOAD 00001571: PUSH1 0x40 00001573: DUP1 00001574: MLOAD 00001575: CALLER 00001576: DUP2 00001577: MSTORE 00001578: PUSH1 0x20 0000157a: DUP2 0000157b: ADD 0000157c: DUP8 0000157d: SWAP1 0000157e: MSTORE 0000157f: DUP1 00001580: DUP3 00001581: ADD 00001582: SWAP3 00001583: SWAP1 00001584: SWAP3 00001585: MSTORE 00001586: PUSH1 0x60 00001588: DUP3 00001589: ADD 0000158a: DUP4 0000158b: SWAP1 0000158c: MSTORE 0000158d: PUSH1 0x80 0000158f: DUP3 00001590: ADD 00001591: DUP6 00001592: SWAP1 00001593: MSTORE 00001594: PUSH1 0xa0 00001596: DUP3 00001597: ADD 00001598: DUP5 00001599: SWAP1 0000159a: MSTORE 0000159b: MLOAD 0000159c: PUSH32 0x8442e0fa60883a78cbb85beed07648d2b2c27c07de5a0ce7b5ab490eeeab3a12 000015bd: SWAP2 000015be: DUP2 000015bf: SWAP1 000015c0: SUB 000015c1: PUSH1 0xc0 000015c3: ADD 000015c4: SWAP1 000015c5: LOG1 000015c6: POP 000015c7: POP 000015c8: POP 000015c9: POP 000015ca: JUMP 000015cb: JUMPDEST 000015cc: PUSH1 0x06 000015ce: SLOAD 000015cf: DUP2 000015d0: JUMP 000015d1: JUMPDEST 000015d2: PUSH1 0x03 000015d4: SLOAD 000015d5: PUSH3 0x010000 000015d9: SWAP1 000015da: DIV 000015db: PUSH1 0xff 000015dd: AND 000015de: DUP2 000015df: JUMP 000015e0: JUMPDEST 000015e1: PUSH1 0x0c 000015e3: SLOAD 000015e4: DUP2 000015e5: JUMP 000015e6: JUMPDEST 000015e7: PUSH1 0x08 000015e9: SLOAD 000015ea: DUP2 000015eb: JUMP 000015ec: JUMPDEST 000015ed: PUSH1 0x09 000015ef: SLOAD 000015f0: DUP2 000015f1: JUMP 000015f2: JUMPDEST 000015f3: PUSH1 0x03 000015f5: SLOAD 000015f6: PUSH6 0x010000000000 000015fd: SWAP1 000015fe: DIV 000015ff: PUSH1 0xff 00001601: AND 00001602: DUP2 00001603: JUMP 00001604: JUMPDEST 00001605: PUSH1 0x05 00001607: SLOAD 00001608: DUP2 00001609: JUMP 0000160a: JUMPDEST 0000160b: PUSH1 0x0a 0000160d: SLOAD 0000160e: DUP2 0000160f: JUMP 00001610: JUMPDEST 00001611: PUSH1 0x40 00001613: DUP1 00001614: MLOAD 00001615: PUSH13 0x01000000000000000000000000 00001623: CALLER 00001624: SWAP1 00001625: DUP2 00001626: MUL 00001627: DUP3 00001628: MSTORE 00001629: DUP3 0000162a: MLOAD 0000162b: SWAP2 0000162c: DUP3 0000162d: SWAP1 0000162e: SUB 0000162f: PUSH1 0x14 00001631: ADD 00001632: SWAP1 00001633: SWAP2 00001634: KECCAK256 00001635: PUSH1 0x00 00001637: SWAP1 00001638: DUP2 00001639: MSTORE 0000163a: PUSH1 0x13 0000163c: PUSH1 0x20 0000163e: MSTORE 0000163f: SWAP2 00001640: SWAP1 00001641: SWAP2 00001642: KECCAK256 00001643: SLOAD 00001644: PUSH1 0xff 00001646: AND 00001647: ISZERO 00001648: ISZERO 00001649: PUSH2 0x1651 0000164c: JUMPI 0000164d: PUSH1 0x00 0000164f: DUP1 00001650: REVERT 00001651: JUMPDEST 00001652: POP 00001653: PUSH1 0x00 00001655: SWAP2 00001656: DUP3 00001657: MSTORE 00001658: PUSH1 0x13 0000165a: PUSH1 0x20 0000165c: MSTORE 0000165d: PUSH1 0x40 0000165f: SWAP1 00001660: SWAP2 00001661: KECCAK256 00001662: DUP1 00001663: SLOAD 00001664: PUSH1 0xff 00001666: NOT 00001667: AND 00001668: SWAP2 00001669: ISZERO 0000166a: ISZERO 0000166b: SWAP2 0000166c: SWAP1 0000166d: SWAP2 0000166e: OR 0000166f: SWAP1 00001670: SSTORE 00001671: JUMP 00001672: JUMPDEST 00001673: PUSH1 0x00 00001675: DUP2 00001676: DUP2 00001677: MSTORE 00001678: PUSH1 0x10 0000167a: PUSH1 0x20 0000167c: MSTORE 0000167d: PUSH1 0x40 0000167f: DUP2 00001680: KECCAK256 00001681: PUSH1 0x02 00001683: DUP2 00001684: ADD 00001685: SLOAD 00001686: PUSH1 0x0d 00001688: SLOAD 00001689: PUSH1 0x01 0000168b: DUP4 0000168c: ADD 0000168d: SLOAD 0000168e: PUSH2 0x16aa 00001691: SWAP2 00001692: PUSH8 0x0de0b6b3a7640000 0000169b: SWAP2 0000169c: PUSH2 0x08de 0000169f: SWAP2 000016a0: PUSH4 0xffffffff 000016a5: PUSH2 0x1dae 000016a8: AND 000016a9: JUMP 000016aa: JUMPDEST 000016ab: SUB 000016ac: SWAP4 000016ad: SWAP3 000016ae: POP 000016af: POP 000016b0: POP 000016b1: JUMP 000016b2: JUMPDEST 000016b3: PUSH1 0x02 000016b5: DUP1 000016b6: SLOAD 000016b7: PUSH1 0x40 000016b9: DUP1 000016ba: MLOAD 000016bb: PUSH1 0x20 000016bd: PUSH1 0x01 000016bf: DUP5 000016c0: AND 000016c1: ISZERO 000016c2: PUSH2 0x0100 000016c5: MUL 000016c6: PUSH1 0x00 000016c8: NOT 000016c9: ADD 000016ca: SWAP1 000016cb: SWAP4 000016cc: AND 000016cd: DUP5 000016ce: SWAP1 000016cf: DIV 000016d0: PUSH1 0x1f 000016d2: DUP2 000016d3: ADD 000016d4: DUP5 000016d5: SWAP1 000016d6: DIV 000016d7: DUP5 000016d8: MUL 000016d9: DUP3 000016da: ADD 000016db: DUP5 000016dc: ADD 000016dd: SWAP1 000016de: SWAP3 000016df: MSTORE 000016e0: DUP2 000016e1: DUP2 000016e2: MSTORE 000016e3: SWAP3 000016e4: SWAP2 000016e5: DUP4 000016e6: ADD 000016e7: DUP3 000016e8: DUP3 000016e9: DUP1 000016ea: ISZERO 000016eb: PUSH2 0x0da6 000016ee: JUMPI 000016ef: DUP1 000016f0: PUSH1 0x1f 000016f2: LT 000016f3: PUSH2 0x0d7b 000016f6: JUMPI 000016f7: PUSH2 0x0100 000016fa: DUP1 000016fb: DUP4 000016fc: SLOAD 000016fd: DIV 000016fe: MUL 000016ff: DUP4 00001700: MSTORE 00001701: SWAP2 00001702: PUSH1 0x20 00001704: ADD 00001705: SWAP2 00001706: PUSH2 0x0da6 00001709: JUMP 0000170a: JUMPDEST 0000170b: PUSH1 0x12 0000170d: PUSH1 0x20 0000170f: SWAP1 00001710: DUP2 00001711: MSTORE 00001712: PUSH1 0x00 00001714: SWAP3 00001715: DUP4 00001716: MSTORE 00001717: PUSH1 0x40 00001719: DUP1 0000171a: DUP5 0000171b: KECCAK256 0000171c: SWAP1 0000171d: SWAP2 0000171e: MSTORE 0000171f: SWAP1 00001720: DUP3 00001721: MSTORE 00001722: SWAP1 00001723: KECCAK256 00001724: SLOAD 00001725: DUP2 00001726: JUMP 00001727: JUMPDEST 00001728: PUSH1 0x15 0000172a: SLOAD 0000172b: PUSH1 0x00 0000172d: SWAP1 0000172e: DUP2 0000172f: SWAP1 00001730: DUP2 00001731: SWAP1 00001732: DUP2 00001733: SWAP1 00001734: DUP2 00001735: SWAP1 00001736: DUP2 00001737: SWAP1 00001738: DUP2 00001739: SWAP1 0000173a: PUSH1 0xff 0000173c: AND 0000173d: ISZERO 0000173e: ISZERO 0000173f: PUSH1 0x01 00001741: EQ 00001742: PUSH2 0x1783 00001745: JUMPI 00001746: PUSH1 0x40 00001748: DUP1 00001749: MLOAD 0000174a: PUSH1 0xe5 0000174c: PUSH1 0x02 0000174e: EXP 0000174f: PUSH3 0x461bcd 00001753: MUL 00001754: DUP2 00001755: MSTORE 00001756: PUSH1 0x20 00001758: PUSH1 0x04 0000175a: DUP3 0000175b: ADD 0000175c: MSTORE 0000175d: PUSH1 0x12 0000175f: PUSH1 0x24 00001761: DUP3 00001762: ADD 00001763: MSTORE 00001764: PUSH1 0x00 00001766: DUP1 00001767: MLOAD 00001768: PUSH1 0x20 0000176a: PUSH2 0x23fb 0000176d: DUP4 0000176e: CODECOPY 0000176f: DUP2 00001770: MLOAD 00001771: SWAP2 00001772: MSTORE 00001773: PUSH1 0x44 00001775: DUP3 00001776: ADD 00001777: MSTORE 00001778: SWAP1 00001779: MLOAD 0000177a: SWAP1 0000177b: DUP2 0000177c: SWAP1 0000177d: SUB 0000177e: PUSH1 0x64 00001780: ADD 00001781: SWAP1 00001782: REVERT 00001783: JUMPDEST 00001784: PUSH2 0x178b 00001787: PUSH2 0x083f 0000178a: JUMP 0000178b: JUMPDEST 0000178c: SWAP7 0000178d: POP 0000178e: PUSH2 0x1796 00001791: DUP8 00001792: PUSH2 0x08a5 00001795: JUMP 00001796: JUMPDEST 00001797: PUSH2 0x179f 0000179a: DUP8 0000179b: PUSH2 0x21ca 0000179e: JUMP 0000179f: JUMPDEST 000017a0: SWAP1 000017a1: SWAP7 000017a2: POP 000017a3: SWAP5 000017a4: POP 000017a5: PUSH2 0x17b4 000017a8: DUP7 000017a9: DUP7 000017aa: PUSH4 0xffffffff 000017af: PUSH2 0x200b 000017b2: AND 000017b3: JUMP 000017b4: JUMPDEST 000017b5: SWAP4 000017b6: POP 000017b7: PUSH2 0x17be 000017ba: PUSH2 0x083a 000017bd: JUMP 000017be: JUMPDEST 000017bf: SWAP3 000017c0: POP 000017c1: PUSH8 0x8ac7230489e80000 000017ca: DUP4 000017cb: GT 000017cc: DUP1 000017cd: ISZERO 000017ce: PUSH2 0x17df 000017d1: JUMPI 000017d2: POP 000017d3: PUSH9 0x1b1ae4d6e2ef500000 000017dd: DUP4 000017de: LT 000017df: JUMPDEST 000017e0: ISZERO 000017e1: PUSH2 0x17f9 000017e4: JUMPI 000017e5: PUSH8 0x8ac7230489e80000 000017ee: DUP5 000017ef: LT 000017f0: ISZERO 000017f1: PUSH2 0x17f9 000017f4: JUMPI 000017f5: PUSH1 0x00 000017f7: DUP1 000017f8: REVERT 000017f9: JUMPDEST 000017fa: PUSH2 0x1803 000017fd: DUP8 000017fe: DUP6 000017ff: PUSH2 0x09ea 00001802: JUMP 00001803: JUMPDEST 00001804: PUSH1 0x09 00001806: SLOAD 00001807: PUSH1 0x40 00001809: DUP1 0000180a: MLOAD 0000180b: CALLER 0000180c: DUP2 0000180d: MSTORE 0000180e: PUSH1 0x20 00001810: DUP2 00001811: ADD 00001812: DUP13 00001813: SWAP1 00001814: MSTORE 00001815: DUP1 00001816: DUP3 00001817: ADD 00001818: SWAP3 00001819: SWAP1 0000181a: SWAP3 0000181b: MSTORE 0000181c: PUSH1 0x60 0000181e: DUP3 0000181f: ADD 00001820: DUP9 00001821: SWAP1 00001822: MSTORE 00001823: PUSH1 0x80 00001825: DUP3 00001826: ADD 00001827: DUP11 00001828: SWAP1 00001829: MSTORE 0000182a: PUSH1 0xa0 0000182c: DUP3 0000182d: ADD 0000182e: DUP10 0000182f: SWAP1 00001830: MSTORE 00001831: PUSH1 0xc0 00001833: DUP3 00001834: ADD 00001835: DUP5 00001836: SWAP1 00001837: MSTORE 00001838: DUP3 00001839: ISZERO 0000183a: ISZERO 0000183b: PUSH1 0xe0 0000183d: DUP4 0000183e: ADD 0000183f: MSTORE 00001840: MLOAD 00001841: SWAP3 00001842: SWAP5 00001843: POP 00001844: SWAP1 00001845: SWAP3 00001846: POP 00001847: PUSH32 0xb282f15a2b1940a3dd620b5cff75b09a84e7c672c360c7345884a0e64b251670 00001868: SWAP2 00001869: SWAP1 0000186a: DUP2 0000186b: SWAP1 0000186c: SUB 0000186d: PUSH2 0x0100 00001870: ADD 00001871: SWAP1 00001872: LOG1 00001873: POP 00001874: POP 00001875: POP 00001876: POP 00001877: POP 00001878: POP 00001879: POP 0000187a: JUMP 0000187b: JUMPDEST 0000187c: PUSH1 0x40 0000187e: DUP1 0000187f: MLOAD 00001880: PUSH13 0x01000000000000000000000000 0000188e: CALLER 0000188f: SWAP1 00001890: DUP2 00001891: MUL 00001892: DUP3 00001893: MSTORE 00001894: DUP3 00001895: MLOAD 00001896: SWAP2 00001897: DUP3 00001898: SWAP1 00001899: SUB 0000189a: PUSH1 0x14 0000189c: ADD 0000189d: SWAP1 0000189e: SWAP2 0000189f: KECCAK256 000018a0: PUSH1 0x00 000018a2: SWAP1 000018a3: DUP2 000018a4: MSTORE 000018a5: PUSH1 0x13 000018a7: PUSH1 0x20 000018a9: MSTORE 000018aa: SWAP2 000018ab: SWAP1 000018ac: SWAP2 000018ad: KECCAK256 000018ae: SLOAD 000018af: PUSH1 0xff 000018b1: AND 000018b2: ISZERO 000018b3: ISZERO 000018b4: PUSH2 0x18bc 000018b7: JUMPI 000018b8: PUSH1 0x00 000018ba: DUP1 000018bb: REVERT 000018bc: JUMPDEST 000018bd: PUSH1 0x14 000018bf: SLOAD 000018c0: PUSH2 0x18cf 000018c3: SWAP1 000018c4: CALLVALUE 000018c5: PUSH4 0xffffffff 000018ca: PUSH2 0x200b 000018cd: AND 000018ce: JUMP 000018cf: JUMPDEST 000018d0: PUSH1 0x14 000018d2: SSTORE 000018d3: POP 000018d4: JUMP 000018d5: JUMPDEST 000018d6: PUSH1 0x15 000018d8: SLOAD 000018d9: PUSH1 0x00 000018db: SWAP1 000018dc: PUSH1 0xff 000018de: AND 000018df: ISZERO 000018e0: ISZERO 000018e1: PUSH1 0x01 000018e3: EQ 000018e4: PUSH2 0x1925 000018e7: JUMPI 000018e8: PUSH1 0x40 000018ea: DUP1 000018eb: MLOAD 000018ec: PUSH1 0xe5 000018ee: PUSH1 0x02 000018f0: EXP 000018f1: PUSH3 0x461bcd 000018f5: MUL 000018f6: DUP2 000018f7: MSTORE 000018f8: PUSH1 0x20 000018fa: PUSH1 0x04 000018fc: DUP3 000018fd: ADD 000018fe: MSTORE 000018ff: PUSH1 0x12 00001901: PUSH1 0x24 00001903: DUP3 00001904: ADD 00001905: MSTORE 00001906: PUSH1 0x00 00001908: DUP1 00001909: MLOAD 0000190a: PUSH1 0x20 0000190c: PUSH2 0x23fb 0000190f: DUP4 00001910: CODECOPY 00001911: DUP2 00001912: MLOAD 00001913: SWAP2 00001914: MSTORE 00001915: PUSH1 0x44 00001917: DUP3 00001918: ADD 00001919: MSTORE 0000191a: SWAP1 0000191b: MLOAD 0000191c: SWAP1 0000191d: DUP2 0000191e: SWAP1 0000191f: SUB 00001920: PUSH1 0x64 00001922: ADD 00001923: SWAP1 00001924: REVERT 00001925: JUMPDEST 00001926: POP 00001927: PUSH1 0x0a 00001929: SLOAD 0000192a: CALLVALUE 0000192b: SWAP1 0000192c: PUSH2 0x195a 0000192f: SWAP1 00001930: PUSH2 0x194b 00001933: SWAP1 00001934: PUSH2 0x08de 00001937: DUP5 00001938: PUSH8 0x0de0b6b3a7640000 00001941: PUSH4 0xffffffff 00001946: PUSH2 0x1dae 00001949: AND 0000194a: JUMP 0000194b: JUMPDEST 0000194c: PUSH1 0x0d 0000194e: SLOAD 0000194f: SWAP1 00001950: PUSH4 0xffffffff 00001955: PUSH2 0x200b 00001958: AND 00001959: JUMP 0000195a: JUMPDEST 0000195b: PUSH1 0x0d 0000195d: SSTORE 0000195e: PUSH1 0x40 00001960: DUP1 00001961: MLOAD 00001962: DUP3 00001963: DUP2 00001964: MSTORE 00001965: SWAP1 00001966: MLOAD 00001967: PUSH32 0xab1b8e88aa0a811da847590c5575e9ebc918074a41027224b354886890add27f 00001988: SWAP2 00001989: DUP2 0000198a: SWAP1 0000198b: SUB 0000198c: PUSH1 0x20 0000198e: ADD 0000198f: SWAP1 00001990: LOG1 00001991: POP 00001992: JUMP 00001993: JUMPDEST 00001994: PUSH1 0x00 00001996: DUP1 00001997: PUSH1 0x00 00001999: DUP1 0000199a: PUSH1 0x0a 0000199c: SLOAD 0000199d: DUP6 0000199e: GT 0000199f: ISZERO 000019a0: ISZERO 000019a1: ISZERO 000019a2: PUSH2 0x19f5 000019a5: JUMPI 000019a6: PUSH1 0x40 000019a8: DUP1 000019a9: MLOAD 000019aa: PUSH1 0xe5 000019ac: PUSH1 0x02 000019ae: EXP 000019af: PUSH3 0x461bcd 000019b3: MUL 000019b4: DUP2 000019b5: MSTORE 000019b6: PUSH1 0x20 000019b8: PUSH1 0x04 000019ba: DUP3 000019bb: ADD 000019bc: MSTORE 000019bd: PUSH1 0x14 000019bf: PUSH1 0x24 000019c1: DUP3 000019c2: ADD 000019c3: MSTORE 000019c4: PUSH32 0x657863656564656420746865206d6178696d756d000000000000000000000000 000019e5: PUSH1 0x44 000019e7: DUP3 000019e8: ADD 000019e9: MSTORE 000019ea: SWAP1 000019eb: MLOAD 000019ec: SWAP1 000019ed: DUP2 000019ee: SWAP1 000019ef: SUB 000019f0: PUSH1 0x64 000019f2: ADD 000019f3: SWAP1 000019f4: REVERT 000019f5: JUMPDEST 000019f6: PUSH2 0x19fe 000019f9: DUP6 000019fa: PUSH2 0x225a 000019fd: JUMP 000019fe: JUMPDEST 000019ff: PUSH1 0x03 00001a01: SLOAD 00001a02: SWAP1 00001a03: SWAP4 00001a04: POP 00001a05: PUSH2 0x1a21 00001a08: SWAP1 00001a09: PUSH2 0x2710 00001a0c: SWAP1 00001a0d: PUSH2 0x08de 00001a10: SWAP1 00001a11: DUP7 00001a12: SWAP1 00001a13: PUSH2 0xffff 00001a16: AND 00001a17: PUSH4 0xffffffff 00001a1c: PUSH2 0x1dae 00001a1f: AND 00001a20: JUMP 00001a21: JUMPDEST 00001a22: SWAP2 00001a23: POP 00001a24: PUSH2 0x1a33 00001a27: DUP4 00001a28: DUP4 00001a29: PUSH4 0xffffffff 00001a2e: PUSH2 0x2066 00001a31: AND 00001a32: JUMP 00001a33: JUMPDEST 00001a34: SWAP6 00001a35: SWAP5 00001a36: POP 00001a37: POP 00001a38: POP 00001a39: POP 00001a3a: POP 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: PUSH1 0x00 00001a3f: DUP1 00001a40: PUSH1 0x00 00001a42: PUSH2 0x1a86 00001a45: PUSH1 0x03 00001a47: DUP1 00001a48: SWAP1 00001a49: SLOAD 00001a4a: SWAP1 00001a4b: PUSH2 0x0100 00001a4e: EXP 00001a4f: SWAP1 00001a50: DIV 00001a51: PUSH1 0xff 00001a53: AND 00001a54: PUSH1 0xff 00001a56: AND 00001a57: PUSH2 0x0b15 00001a5a: PUSH3 0x015180 00001a5e: PUSH2 0x08de 00001a61: PUSH1 0x10 00001a63: PUSH1 0x00 00001a65: DUP11 00001a66: DUP2 00001a67: MSTORE 00001a68: PUSH1 0x20 00001a6a: ADD 00001a6b: SWAP1 00001a6c: DUP2 00001a6d: MSTORE 00001a6e: PUSH1 0x20 00001a70: ADD 00001a71: PUSH1 0x00 00001a73: KECCAK256 00001a74: PUSH1 0x05 00001a76: ADD 00001a77: SLOAD 00001a78: TIMESTAMP 00001a79: PUSH2 0x2066 00001a7c: SWAP1 00001a7d: SWAP2 00001a7e: SWAP1 00001a7f: PUSH4 0xffffffff 00001a84: AND 00001a85: JUMP 00001a86: JUMPDEST 00001a87: SWAP2 00001a88: POP 00001a89: PUSH1 0x64 00001a8b: DUP3 00001a8c: GT 00001a8d: ISZERO 00001a8e: PUSH2 0x1a96 00001a91: JUMPI 00001a92: PUSH1 0x64 00001a94: SWAP2 00001a95: POP 00001a96: JUMPDEST 00001a97: PUSH1 0x03 00001a99: SLOAD 00001a9a: PUSH2 0x1acb 00001a9d: SWAP1 00001a9e: PUSH2 0x1ab8 00001aa1: SWAP1 00001aa2: PUSH1 0x64 00001aa4: SWAP1 00001aa5: PUSH2 0x08de 00001aa8: SWAP1 00001aa9: PUSH2 0xffff 00001aac: AND 00001aad: DUP7 00001aae: PUSH4 0xffffffff 00001ab3: PUSH2 0x1dae 00001ab6: AND 00001ab7: JUMP 00001ab8: JUMPDEST 00001ab9: PUSH1 0x03 00001abb: SLOAD 00001abc: PUSH2 0xffff 00001abf: AND 00001ac0: SWAP1 00001ac1: PUSH4 0xffffffff 00001ac6: PUSH2 0x2066 00001ac9: AND 00001aca: JUMP 00001acb: JUMPDEST 00001acc: SWAP5 00001acd: SWAP4 00001ace: POP 00001acf: POP 00001ad0: POP 00001ad1: POP 00001ad2: JUMP 00001ad3: JUMPDEST 00001ad4: PUSH1 0x00 00001ad6: DUP2 00001ad7: DUP2 00001ad8: MSTORE 00001ad9: PUSH1 0x10 00001adb: PUSH1 0x20 00001add: SWAP1 00001ade: DUP2 00001adf: MSTORE 00001ae0: PUSH1 0x40 00001ae2: DUP1 00001ae3: DUP4 00001ae4: KECCAK256 00001ae5: PUSH1 0x04 00001ae7: DUP2 00001ae8: ADD 00001ae9: SLOAD 00001aea: DUP1 00001aeb: DUP6 00001aec: MSTORE 00001aed: PUSH1 0x11 00001aef: DUP5 00001af0: MSTORE 00001af1: DUP3 00001af2: DUP6 00001af3: KECCAK256 00001af4: DUP7 00001af5: DUP7 00001af6: MSTORE 00001af7: PUSH1 0x12 00001af9: DUP6 00001afa: MSTORE 00001afb: DUP4 00001afc: DUP7 00001afd: KECCAK256 00001afe: DUP3 00001aff: DUP8 00001b00: MSTORE 00001b01: SWAP1 00001b02: SWAP5 00001b03: MSTORE 00001b04: SWAP2 00001b05: DUP5 00001b06: KECCAK256 00001b07: SLOAD 00001b08: PUSH1 0x03 00001b0a: DUP3 00001b0b: ADD 00001b0c: SLOAD 00001b0d: PUSH1 0x09 00001b0f: SLOAD 00001b10: SWAP3 00001b11: SWAP5 00001b12: SWAP3 00001b13: DUP5 00001b14: EQ 00001b15: DUP1 00001b16: ISZERO 00001b17: SWAP1 00001b18: PUSH2 0x1b21 00001b1b: JUMPI 00001b1c: POP 00001b1d: PUSH1 0x00 00001b1f: DUP5 00001b20: GT 00001b21: JUMPDEST 00001b22: DUP1 00001b23: ISZERO 00001b24: PUSH2 0x1b2d 00001b27: JUMPI 00001b28: POP 00001b29: PUSH1 0x00 00001b2b: DUP3 00001b2c: GT 00001b2d: JUMPDEST 00001b2e: DUP1 00001b2f: ISZERO 00001b30: PUSH2 0x1b3d 00001b33: JUMPI 00001b34: POP 00001b35: PUSH1 0x00 00001b37: DUP4 00001b38: PUSH1 0x03 00001b3a: ADD 00001b3b: SLOAD 00001b3c: GT 00001b3d: JUMPDEST 00001b3e: ISZERO 00001b3f: PUSH2 0x1b78 00001b42: JUMPI 00001b43: PUSH2 0x1b75 00001b46: PUSH2 0x1b68 00001b49: PUSH8 0x0de0b6b3a7640000 00001b52: PUSH2 0x08de 00001b55: DUP7 00001b56: PUSH1 0x03 00001b58: ADD 00001b59: SLOAD 00001b5a: DUP7 00001b5b: PUSH2 0x1dae 00001b5e: SWAP1 00001b5f: SWAP2 00001b60: SWAP1 00001b61: PUSH4 0xffffffff 00001b66: AND 00001b67: JUMP 00001b68: JUMPDEST 00001b69: DUP3 00001b6a: SWAP1 00001b6b: PUSH4 0xffffffff 00001b70: PUSH2 0x200b 00001b73: AND 00001b74: JUMP 00001b75: JUMPDEST 00001b76: SWAP1 00001b77: POP 00001b78: JUMPDEST 00001b79: SWAP7 00001b7a: SWAP6 00001b7b: POP 00001b7c: POP 00001b7d: POP 00001b7e: POP 00001b7f: POP 00001b80: POP 00001b81: JUMP 00001b82: JUMPDEST 00001b83: PUSH1 0x15 00001b85: SLOAD 00001b86: PUSH1 0xff 00001b88: AND 00001b89: DUP2 00001b8a: JUMP 00001b8b: JUMPDEST 00001b8c: PUSH1 0x10 00001b8e: PUSH1 0x20 00001b90: MSTORE 00001b91: PUSH1 0x00 00001b93: SWAP1 00001b94: DUP2 00001b95: MSTORE 00001b96: PUSH1 0x40 00001b98: SWAP1 00001b99: KECCAK256 00001b9a: DUP1 00001b9b: SLOAD 00001b9c: PUSH1 0x01 00001b9e: DUP3 00001b9f: ADD 00001ba0: SLOAD 00001ba1: PUSH1 0x02 00001ba3: DUP4 00001ba4: ADD 00001ba5: SLOAD 00001ba6: PUSH1 0x03 00001ba8: DUP5 00001ba9: ADD 00001baa: SLOAD 00001bab: PUSH1 0x04 00001bad: DUP6 00001bae: ADD 00001baf: SLOAD 00001bb0: PUSH1 0x05 00001bb2: SWAP1 00001bb3: SWAP6 00001bb4: ADD 00001bb5: SLOAD 00001bb6: PUSH1 0x01 00001bb8: PUSH1 0xa0 00001bba: PUSH1 0x02 00001bbc: EXP 00001bbd: SUB 00001bbe: SWAP1 00001bbf: SWAP5 00001bc0: AND 00001bc1: SWAP5 00001bc2: SWAP3 00001bc3: SWAP4 00001bc4: SWAP2 00001bc5: SWAP3 00001bc6: SWAP1 00001bc7: SWAP2 00001bc8: DUP7 00001bc9: JUMP 00001bca: JUMPDEST 00001bcb: PUSH1 0x0b 00001bcd: SLOAD 00001bce: DUP2 00001bcf: JUMP 00001bd0: JUMPDEST 00001bd1: PUSH1 0x15 00001bd3: SLOAD 00001bd4: PUSH1 0x00 00001bd6: SWAP1 00001bd7: DUP2 00001bd8: SWAP1 00001bd9: DUP2 00001bda: SWAP1 00001bdb: DUP2 00001bdc: SWAP1 00001bdd: DUP2 00001bde: SWAP1 00001bdf: DUP2 00001be0: SWAP1 00001be1: DUP2 00001be2: SWAP1 00001be3: PUSH1 0xff 00001be5: AND 00001be6: ISZERO 00001be7: ISZERO 00001be8: PUSH1 0x01 00001bea: EQ 00001beb: PUSH2 0x1c2c 00001bee: JUMPI 00001bef: PUSH1 0x40 00001bf1: DUP1 00001bf2: MLOAD 00001bf3: PUSH1 0xe5 00001bf5: PUSH1 0x02 00001bf7: EXP 00001bf8: PUSH3 0x461bcd 00001bfc: MUL 00001bfd: DUP2 00001bfe: MSTORE 00001bff: PUSH1 0x20 00001c01: PUSH1 0x04 00001c03: DUP3 00001c04: ADD 00001c05: MSTORE 00001c06: PUSH1 0x12 00001c08: PUSH1 0x24 00001c0a: DUP3 00001c0b: ADD 00001c0c: MSTORE 00001c0d: PUSH1 0x00 00001c0f: DUP1 00001c10: MLOAD 00001c11: PUSH1 0x20 00001c13: PUSH2 0x23fb 00001c16: DUP4 00001c17: CODECOPY 00001c18: DUP2 00001c19: MLOAD 00001c1a: SWAP2 00001c1b: MSTORE 00001c1c: PUSH1 0x44 00001c1e: DUP3 00001c1f: ADD 00001c20: MSTORE 00001c21: SWAP1 00001c22: MLOAD 00001c23: SWAP1 00001c24: DUP2 00001c25: SWAP1 00001c26: SUB 00001c27: PUSH1 0x64 00001c29: ADD 00001c2a: SWAP1 00001c2b: REVERT 00001c2c: JUMPDEST 00001c2d: PUSH2 0x1c34 00001c30: PUSH2 0x083f 00001c33: JUMP 00001c34: JUMPDEST 00001c35: SWAP7 00001c36: POP 00001c37: PUSH2 0x1c3f 00001c3a: DUP8 00001c3b: PUSH2 0x08a5 00001c3e: JUMP 00001c3f: JUMPDEST 00001c40: PUSH1 0x00 00001c42: DUP8 00001c43: DUP2 00001c44: MSTORE 00001c45: PUSH1 0x10 00001c47: PUSH1 0x20 00001c49: SWAP1 00001c4a: DUP2 00001c4b: MSTORE 00001c4c: PUSH1 0x40 00001c4e: DUP1 00001c4f: DUP4 00001c50: KECCAK256 00001c51: PUSH1 0x09 00001c53: SLOAD 00001c54: DUP5 00001c55: MSTORE 00001c56: PUSH1 0x11 00001c58: SWAP1 00001c59: SWAP3 00001c5a: MSTORE 00001c5b: SWAP1 00001c5c: SWAP2 00001c5d: KECCAK256 00001c5e: PUSH1 0x01 00001c60: DUP3 00001c61: ADD 00001c62: SLOAD 00001c63: SWAP2 00001c64: SWAP8 00001c65: POP 00001c66: SWAP6 00001c67: POP 00001c68: DUP9 00001c69: GT 00001c6a: ISZERO 00001c6b: PUSH2 0x1c73 00001c6e: JUMPI 00001c6f: PUSH1 0x00 00001c71: DUP1 00001c72: REVERT 00001c73: JUMPDEST 00001c74: PUSH2 0x1c7c 00001c77: DUP9 00001c78: PUSH2 0x225a 00001c7b: JUMP 00001c7c: JUMPDEST 00001c7d: SWAP4 00001c7e: POP 00001c7f: PUSH2 0x1c87 00001c82: DUP8 00001c83: PUSH2 0x1a3c 00001c86: JUMP 00001c87: JUMPDEST 00001c88: SWAP3 00001c89: POP 00001c8a: PUSH2 0x1c9f 00001c8d: PUSH2 0x2710 00001c90: PUSH2 0x08de 00001c93: DUP7 00001c94: DUP7 00001c95: PUSH4 0xffffffff 00001c9a: PUSH2 0x1dae 00001c9d: AND 00001c9e: JUMP 00001c9f: JUMPDEST 00001ca0: SWAP2 00001ca1: POP 00001ca2: PUSH2 0x1cb1 00001ca5: DUP5 00001ca6: DUP4 00001ca7: PUSH4 0xffffffff 00001cac: PUSH2 0x2066 00001caf: AND 00001cb0: JUMP 00001cb1: JUMPDEST 00001cb2: PUSH1 0x0a 00001cb4: SLOAD 00001cb5: SWAP1 00001cb6: SWAP2 00001cb7: POP 00001cb8: PUSH2 0x1cc7 00001cbb: SWAP1 00001cbc: DUP10 00001cbd: PUSH4 0xffffffff 00001cc2: PUSH2 0x2066 00001cc5: AND 00001cc6: JUMP 00001cc7: JUMPDEST 00001cc8: PUSH1 0x0a 00001cca: SSTORE 00001ccb: PUSH1 0x01 00001ccd: DUP7 00001cce: ADD 00001ccf: SLOAD 00001cd0: PUSH2 0x1cdf 00001cd3: SWAP1 00001cd4: DUP10 00001cd5: PUSH4 0xffffffff 00001cda: PUSH2 0x2066 00001cdd: AND 00001cde: JUMP 00001cdf: JUMPDEST 00001ce0: PUSH1 0x01 00001ce2: DUP8 00001ce3: ADD 00001ce4: SSTORE 00001ce5: PUSH1 0x0d 00001ce7: SLOAD 00001ce8: PUSH2 0x1d09 00001ceb: SWAP1 00001cec: PUSH2 0x1b68 00001cef: SWAP1 00001cf0: PUSH8 0x0de0b6b3a7640000 00001cf9: SWAP1 00001cfa: PUSH2 0x08de 00001cfd: SWAP1 00001cfe: DUP13 00001cff: PUSH4 0xffffffff 00001d04: PUSH2 0x1dae 00001d07: AND 00001d08: JUMP 00001d09: JUMPDEST 00001d0a: DUP7 00001d0b: PUSH1 0x02 00001d0d: ADD 00001d0e: SLOAD 00001d0f: SUB 00001d10: DUP7 00001d11: PUSH1 0x02 00001d13: ADD 00001d14: DUP2 00001d15: SWAP1 00001d16: SSTORE 00001d17: POP 00001d18: PUSH1 0x00 00001d1a: PUSH1 0x0a 00001d1c: SLOAD 00001d1d: GT 00001d1e: ISZERO 00001d1f: PUSH2 0x1d49 00001d22: JUMPI 00001d23: PUSH1 0x0a 00001d25: SLOAD 00001d26: PUSH2 0x1d45 00001d29: SWAP1 00001d2a: PUSH2 0x194b 00001d2d: SWAP1 00001d2e: PUSH2 0x08de 00001d31: DUP6 00001d32: PUSH8 0x0de0b6b3a7640000 00001d3b: PUSH4 0xffffffff 00001d40: PUSH2 0x1dae 00001d43: AND 00001d44: JUMP 00001d45: JUMPDEST 00001d46: PUSH1 0x0d 00001d48: SSTORE 00001d49: JUMPDEST 00001d4a: PUSH1 0x09 00001d4c: SLOAD 00001d4d: PUSH1 0x40 00001d4f: DUP1 00001d50: MLOAD 00001d51: CALLER 00001d52: DUP2 00001d53: MSTORE 00001d54: PUSH1 0x20 00001d56: DUP2 00001d57: ADD 00001d58: DUP11 00001d59: SWAP1 00001d5a: MSTORE 00001d5b: DUP1 00001d5c: DUP3 00001d5d: ADD 00001d5e: SWAP3 00001d5f: SWAP1 00001d60: SWAP3 00001d61: MSTORE 00001d62: PUSH1 0x60 00001d64: DUP3 00001d65: ADD 00001d66: DUP11 00001d67: SWAP1 00001d68: MSTORE 00001d69: PUSH1 0x80 00001d6b: DUP3 00001d6c: ADD 00001d6d: DUP7 00001d6e: SWAP1 00001d6f: MSTORE 00001d70: MLOAD 00001d71: PUSH32 0xaa1fd9f49444e92c4e3a1028e5e41930228f6adf4603c0616287da2bcf02891b 00001d92: SWAP2 00001d93: DUP2 00001d94: SWAP1 00001d95: SUB 00001d96: PUSH1 0xa0 00001d98: ADD 00001d99: SWAP1 00001d9a: LOG1 00001d9b: POP 00001d9c: POP 00001d9d: POP 00001d9e: POP 00001d9f: POP 00001da0: POP 00001da1: POP 00001da2: POP 00001da3: JUMP 00001da4: JUMPDEST 00001da5: PUSH1 0x03 00001da7: SLOAD 00001da8: PUSH2 0xffff 00001dab: AND 00001dac: DUP2 00001dad: JUMP 00001dae: JUMPDEST 00001daf: PUSH1 0x00 00001db1: DUP3 00001db2: ISZERO 00001db3: ISZERO 00001db4: PUSH2 0x1dbf 00001db7: JUMPI 00001db8: POP 00001db9: PUSH1 0x00 00001dbb: PUSH2 0x10e4 00001dbe: JUMP 00001dbf: JUMPDEST 00001dc0: POP 00001dc1: DUP2 00001dc2: DUP2 00001dc3: MUL 00001dc4: DUP2 00001dc5: DUP4 00001dc6: DUP3 00001dc7: DUP2 00001dc8: ISZERO 00001dc9: ISZERO 00001dca: PUSH2 0x1dcf 00001dcd: JUMPI 00001dce: INVALID 00001dcf: JUMPDEST 00001dd0: DIV 00001dd1: EQ 00001dd2: PUSH2 0x10e4 00001dd5: JUMPI 00001dd6: PUSH1 0x40 00001dd8: DUP1 00001dd9: MLOAD 00001dda: PUSH1 0xe5 00001ddc: PUSH1 0x02 00001dde: EXP 00001ddf: PUSH3 0x461bcd 00001de3: MUL 00001de4: DUP2 00001de5: MSTORE 00001de6: PUSH1 0x20 00001de8: PUSH1 0x04 00001dea: DUP3 00001deb: ADD 00001dec: MSTORE 00001ded: PUSH1 0x13 00001def: PUSH1 0x24 00001df1: DUP3 00001df2: ADD 00001df3: MSTORE 00001df4: PUSH32 0x536166654d617468206d756c206661696c656400000000000000000000000000 00001e15: PUSH1 0x44 00001e17: DUP3 00001e18: ADD 00001e19: MSTORE 00001e1a: SWAP1 00001e1b: MLOAD 00001e1c: SWAP1 00001e1d: DUP2 00001e1e: SWAP1 00001e1f: SUB 00001e20: PUSH1 0x64 00001e22: ADD 00001e23: SWAP1 00001e24: REVERT 00001e25: JUMPDEST 00001e26: PUSH1 0x00 00001e28: DUP1 00001e29: DUP3 00001e2a: DUP5 00001e2b: DUP2 00001e2c: ISZERO 00001e2d: ISZERO 00001e2e: PUSH2 0x1e33 00001e31: JUMPI 00001e32: INVALID 00001e33: JUMPDEST 00001e34: DIV 00001e35: SWAP5 00001e36: SWAP4 00001e37: POP 00001e38: POP 00001e39: POP 00001e3a: POP 00001e3b: JUMP 00001e3c: JUMPDEST 00001e3d: PUSH1 0x09 00001e3f: SLOAD 00001e40: PUSH1 0x00 00001e42: SWAP1 00001e43: DUP2 00001e44: MSTORE 00001e45: PUSH1 0x11 00001e47: PUSH1 0x20 00001e49: MSTORE 00001e4a: PUSH1 0x40 00001e4c: DUP2 00001e4d: KECCAK256 00001e4e: PUSH1 0x02 00001e50: DUP2 00001e51: ADD 00001e52: SLOAD 00001e53: SWAP1 00001e54: SWAP2 00001e55: SWAP1 00001e56: DUP2 00001e57: SWAP1 00001e58: DUP2 00001e59: SWAP1 00001e5a: DUP2 00001e5b: LT 00001e5c: DUP1 00001e5d: ISZERO 00001e5e: PUSH2 0x1e8b 00001e61: JUMPI 00001e62: POP 00001e63: PUSH1 0x03 00001e65: SLOAD 00001e66: PUSH1 0x0c 00001e68: SLOAD 00001e69: PUSH2 0x1e83 00001e6c: SWAP2 00001e6d: PUSH1 0x64 00001e6f: SWAP2 00001e70: PUSH2 0x08de 00001e73: SWAP2 00001e74: PUSH5 0x0100000000 00001e7a: SWAP1 00001e7b: DIV 00001e7c: PUSH1 0xff 00001e7e: AND 00001e7f: PUSH2 0x1dae 00001e82: JUMP 00001e83: JUMPDEST 00001e84: DUP5 00001e85: PUSH1 0x04 00001e87: ADD 00001e88: SLOAD 00001e89: GT 00001e8a: ISZERO 00001e8b: JUMPDEST 00001e8c: DUP1 00001e8d: ISZERO 00001e8e: PUSH2 0x1e9a 00001e91: JUMPI 00001e92: POP 00001e93: DUP4 00001e94: PUSH1 0x01 00001e96: ADD 00001e97: SLOAD 00001e98: TIMESTAMP 00001e99: GT 00001e9a: JUMPDEST 00001e9b: ISZERO 00001e9c: PUSH2 0x1fbf 00001e9f: JUMPI 00001ea0: PUSH2 0x1ea7 00001ea3: PUSH2 0x22c6 00001ea6: JUMP 00001ea7: JUMPDEST 00001ea8: SWAP3 00001ea9: POP 00001eaa: PUSH2 0x1ec3 00001ead: PUSH1 0x64 00001eaf: PUSH2 0x08de 00001eb2: DUP6 00001eb3: PUSH1 0x0c 00001eb5: SLOAD 00001eb6: PUSH2 0x1dae 00001eb9: SWAP1 00001eba: SWAP2 00001ebb: SWAP1 00001ebc: PUSH4 0xffffffff 00001ec1: AND 00001ec2: JUMP 00001ec3: JUMPDEST 00001ec4: PUSH1 0x0c 00001ec6: SLOAD 00001ec7: SWAP1 00001ec8: SWAP3 00001ec9: POP 00001eca: PUSH2 0x1ed9 00001ecd: SWAP1 00001ece: DUP4 00001ecf: PUSH4 0xffffffff 00001ed4: PUSH2 0x2066 00001ed7: AND 00001ed8: JUMP 00001ed9: JUMPDEST 00001eda: PUSH1 0x02 00001edc: DUP6 00001edd: ADD 00001ede: SLOAD 00001edf: SWAP1 00001ee0: SWAP2 00001ee1: POP 00001ee2: PUSH2 0x1efd 00001ee5: SWAP1 00001ee6: PUSH2 0x08de 00001ee9: DUP4 00001eea: PUSH8 0x0de0b6b3a7640000 00001ef3: PUSH4 0xffffffff 00001ef8: PUSH2 0x1dae 00001efb: AND 00001efc: JUMP 00001efd: JUMPDEST 00001efe: PUSH1 0x03 00001f00: DUP6 00001f01: ADD 00001f02: SSTORE 00001f03: PUSH1 0x00 00001f05: PUSH1 0x0c 00001f07: DUP2 00001f08: SWAP1 00001f09: SSTORE 00001f0a: PUSH1 0x0e 00001f0c: DUP1 00001f0d: SLOAD 00001f0e: PUSH1 0x01 00001f10: ADD 00001f11: SWAP1 00001f12: SSTORE 00001f13: DUP1 00001f14: SLOAD 00001f15: PUSH1 0x40 00001f17: DUP1 00001f18: MLOAD 00001f19: PUSH32 0xb0ef955500000000000000000000000000000000000000000000000000000000 00001f3a: DUP2 00001f3b: MSTORE 00001f3c: SWAP1 00001f3d: MLOAD 00001f3e: PUSH1 0x01 00001f40: PUSH1 0xa0 00001f42: PUSH1 0x02 00001f44: EXP 00001f45: SUB 00001f46: SWAP1 00001f47: SWAP3 00001f48: AND 00001f49: SWAP3 00001f4a: PUSH4 0xb0ef9555 00001f4f: SWAP3 00001f50: DUP7 00001f51: SWAP3 00001f52: PUSH1 0x04 00001f54: DUP1 00001f55: DUP3 00001f56: ADD 00001f57: SWAP4 00001f58: SWAP3 00001f59: SWAP2 00001f5a: DUP3 00001f5b: SWAP1 00001f5c: SUB 00001f5d: ADD 00001f5e: DUP2 00001f5f: DUP6 00001f60: DUP9 00001f61: DUP1 00001f62: EXTCODESIZE 00001f63: ISZERO 00001f64: DUP1 00001f65: ISZERO 00001f66: PUSH2 0x1f6e 00001f69: JUMPI 00001f6a: PUSH1 0x00 00001f6c: DUP1 00001f6d: REVERT 00001f6e: JUMPDEST 00001f6f: POP 00001f70: GAS 00001f71: CALL 00001f72: ISZERO 00001f73: DUP1 00001f74: ISZERO 00001f75: PUSH2 0x1f82 00001f78: JUMPI 00001f79: RETURNDATASIZE 00001f7a: PUSH1 0x00 00001f7c: DUP1 00001f7d: RETURNDATACOPY 00001f7e: RETURNDATASIZE 00001f7f: PUSH1 0x00 00001f81: REVERT 00001f82: JUMPDEST 00001f83: POP 00001f84: POP 00001f85: PUSH1 0x09 00001f87: SLOAD 00001f88: PUSH1 0x40 00001f8a: DUP1 00001f8b: MLOAD 00001f8c: SWAP2 00001f8d: DUP3 00001f8e: MSTORE 00001f8f: MLOAD 00001f90: PUSH32 0xd46357654a00be3ea1c934e60f8c4785d77b37bb6283d75f783ec9017f2e7c80 00001fb1: SWAP5 00001fb2: POP 00001fb3: SWAP1 00001fb4: DUP2 00001fb5: SWAP1 00001fb6: SUB 00001fb7: PUSH1 0x20 00001fb9: ADD 00001fba: SWAP3 00001fbb: POP 00001fbc: SWAP1 00001fbd: POP 00001fbe: LOG1 00001fbf: JUMPDEST 00001fc0: PUSH1 0x09 00001fc2: DUP1 00001fc3: SLOAD 00001fc4: PUSH1 0x01 00001fc6: ADD 00001fc7: SWAP1 00001fc8: DUP2 00001fc9: SWAP1 00001fca: SSTORE 00001fcb: PUSH1 0x00 00001fcd: SWAP1 00001fce: DUP2 00001fcf: MSTORE 00001fd0: PUSH1 0x11 00001fd2: PUSH1 0x20 00001fd4: MSTORE 00001fd5: PUSH1 0x40 00001fd7: SWAP1 00001fd8: KECCAK256 00001fd9: TIMESTAMP 00001fda: SWAP1 00001fdb: DUP2 00001fdc: SWAP1 00001fdd: SSTORE 00001fde: PUSH1 0x06 00001fe0: SLOAD 00001fe1: PUSH2 0x1ff0 00001fe4: SWAP2 00001fe5: SWAP1 00001fe6: PUSH4 0xffffffff 00001feb: PUSH2 0x200b 00001fee: AND 00001fef: JUMP 00001ff0: JUMPDEST 00001ff1: PUSH1 0x09 00001ff3: SLOAD 00001ff4: PUSH1 0x00 00001ff6: SWAP1 00001ff7: DUP2 00001ff8: MSTORE 00001ff9: PUSH1 0x11 00001ffb: PUSH1 0x20 00001ffd: MSTORE 00001ffe: PUSH1 0x40 00002000: SWAP1 00002001: KECCAK256 00002002: PUSH1 0x01 00002004: ADD 00002005: SSTORE 00002006: POP 00002007: POP 00002008: POP 00002009: POP 0000200a: JUMP 0000200b: JUMPDEST 0000200c: DUP2 0000200d: DUP2 0000200e: ADD 0000200f: DUP3 00002010: DUP2 00002011: LT 00002012: ISZERO 00002013: PUSH2 0x10e4 00002016: JUMPI 00002017: PUSH1 0x40 00002019: DUP1 0000201a: MLOAD 0000201b: PUSH1 0xe5 0000201d: PUSH1 0x02 0000201f: EXP 00002020: PUSH3 0x461bcd 00002024: MUL 00002025: DUP2 00002026: MSTORE 00002027: PUSH1 0x20 00002029: PUSH1 0x04 0000202b: DUP3 0000202c: ADD 0000202d: MSTORE 0000202e: PUSH1 0x13 00002030: PUSH1 0x24 00002032: DUP3 00002033: ADD 00002034: MSTORE 00002035: PUSH32 0x536166654d61746820616464206661696c656400000000000000000000000000 00002056: PUSH1 0x44 00002058: DUP3 00002059: ADD 0000205a: MSTORE 0000205b: SWAP1 0000205c: MLOAD 0000205d: SWAP1 0000205e: DUP2 0000205f: SWAP1 00002060: SUB 00002061: PUSH1 0x64 00002063: ADD 00002064: SWAP1 00002065: REVERT 00002066: JUMPDEST 00002067: PUSH1 0x00 00002069: DUP3 0000206a: DUP3 0000206b: GT 0000206c: ISZERO 0000206d: PUSH2 0x20c0 00002070: JUMPI 00002071: PUSH1 0x40 00002073: DUP1 00002074: MLOAD 00002075: PUSH1 0xe5 00002077: PUSH1 0x02 00002079: EXP 0000207a: PUSH3 0x461bcd 0000207e: MUL 0000207f: DUP2 00002080: MSTORE 00002081: PUSH1 0x20 00002083: PUSH1 0x04 00002085: DUP3 00002086: ADD 00002087: MSTORE 00002088: PUSH1 0x13 0000208a: PUSH1 0x24 0000208c: DUP3 0000208d: ADD 0000208e: MSTORE 0000208f: PUSH32 0x536166654d61746820737562206661696c656400000000000000000000000000 000020b0: PUSH1 0x44 000020b2: DUP3 000020b3: ADD 000020b4: MSTORE 000020b5: SWAP1 000020b6: MLOAD 000020b7: SWAP1 000020b8: DUP2 000020b9: SWAP1 000020ba: SUB 000020bb: PUSH1 0x64 000020bd: ADD 000020be: SWAP1 000020bf: REVERT 000020c0: JUMPDEST 000020c1: POP 000020c2: SWAP1 000020c3: SUB 000020c4: SWAP1 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH1 0x0a 000020c9: SLOAD 000020ca: PUSH1 0x00 000020cc: SWAP1 000020cd: PUSH13 0x01431e0fae6d7217caa0000000 000020db: SWAP1 000020dc: DUP3 000020dd: SWAP1 000020de: PUSH5 0x02540be400 000020e4: PUSH2 0x214b 000020e7: PUSH2 0x2145 000020ea: PUSH20 0x0380d4bd8a8678c1bb542c80deb4800000000000 000020ff: DUP9 00002100: MUL 00002101: PUSH9 0x056bc75e2d63100000 0000210b: PUSH1 0x02 0000210d: DUP7 0000210e: EXP 0000210f: MUL 00002110: ADD 00002111: PUSH17 0x05e0a1fd2712875988becaad0000000000 00002123: DUP6 00002124: MUL 00002125: ADD 00002126: PUSH25 0x0197d4df19d605767337e9f14d3eec8920e400000000000000 00002140: ADD 00002141: PUSH2 0x2387 00002144: JUMP 00002145: JUMPDEST 00002146: DUP6 00002147: PUSH2 0x2066 0000214a: JUMP 0000214b: JUMPDEST 0000214c: DUP2 0000214d: ISZERO 0000214e: ISZERO 0000214f: PUSH2 0x2154 00002152: JUMPI 00002153: INVALID 00002154: JUMPDEST 00002155: DIV 00002156: SUB 00002157: SWAP5 00002158: SWAP4 00002159: POP 0000215a: POP 0000215b: POP 0000215c: POP 0000215d: JUMP 0000215e: JUMPDEST 0000215f: PUSH1 0x09 00002161: SLOAD 00002162: PUSH1 0x00 00002164: SWAP1 00002165: DUP2 00002166: MSTORE 00002167: PUSH1 0x11 00002169: PUSH1 0x20 0000216b: MSTORE 0000216c: PUSH1 0x40 0000216e: DUP2 0000216f: KECCAK256 00002170: PUSH1 0x03 00002172: SLOAD 00002173: PUSH1 0x04 00002175: DUP3 00002176: ADD 00002177: SLOAD 00002178: DUP4 00002179: SWAP2 0000217a: PUSH2 0x2197 0000217d: SWAP2 0000217e: PUSH2 0x03e8 00002181: SWAP2 00002182: PUSH2 0x08de 00002185: SWAP2 00002186: SWAP1 00002187: PUSH6 0x010000000000 0000218e: SWAP1 0000218f: DIV 00002190: PUSH1 0xff 00002192: AND 00002193: PUSH2 0x1dae 00002196: JUMP 00002197: JUMPDEST 00002198: SWAP1 00002199: POP 0000219a: PUSH1 0x04 0000219c: SLOAD 0000219d: DUP2 0000219e: LT 0000219f: ISZERO 000021a0: PUSH2 0x21ab 000021a3: JUMPI 000021a4: PUSH1 0x04 000021a6: SLOAD 000021a7: PUSH2 0x21ad 000021aa: JUMP 000021ab: JUMPDEST 000021ac: DUP1 000021ad: JUMPDEST 000021ae: SWAP1 000021af: POP 000021b0: PUSH1 0x05 000021b2: SLOAD 000021b3: DUP2 000021b4: LT 000021b5: ISZERO 000021b6: PUSH2 0x21c1 000021b9: JUMPI 000021ba: PUSH1 0x05 000021bc: SLOAD 000021bd: PUSH2 0x21c3 000021c0: JUMP 000021c1: JUMPDEST 000021c2: DUP1 000021c3: JUMPDEST 000021c4: SWAP4 000021c5: SWAP3 000021c6: POP 000021c7: POP 000021c8: POP 000021c9: JUMP 000021ca: JUMPDEST 000021cb: PUSH1 0x00 000021cd: DUP1 000021ce: PUSH1 0x00 000021d0: DUP1 000021d1: PUSH2 0x21d9 000021d4: DUP6 000021d5: PUSH2 0x1672 000021d8: JUMP 000021d9: JUMPDEST 000021da: SWAP2 000021db: POP 000021dc: PUSH2 0x21e4 000021df: DUP6 000021e0: PUSH2 0x1ad3 000021e3: JUMP 000021e4: JUMPDEST 000021e5: SWAP1 000021e6: POP 000021e7: PUSH1 0x00 000021e9: DUP3 000021ea: GT 000021eb: ISZERO 000021ec: PUSH2 0x2234 000021ef: JUMPI 000021f0: PUSH1 0x0d 000021f2: SLOAD 000021f3: PUSH1 0x00 000021f5: DUP7 000021f6: DUP2 000021f7: MSTORE 000021f8: PUSH1 0x10 000021fa: PUSH1 0x20 000021fc: MSTORE 000021fd: PUSH1 0x40 000021ff: SWAP1 00002200: KECCAK256 00002201: PUSH1 0x01 00002203: ADD 00002204: SLOAD 00002205: PUSH2 0x2221 00002208: SWAP2 00002209: PUSH8 0x0de0b6b3a7640000 00002212: SWAP2 00002213: PUSH2 0x08de 00002216: SWAP2 00002217: PUSH4 0xffffffff 0000221c: PUSH2 0x1dae 0000221f: AND 00002220: JUMP 00002221: JUMPDEST 00002222: PUSH1 0x00 00002224: DUP7 00002225: DUP2 00002226: MSTORE 00002227: PUSH1 0x10 00002229: PUSH1 0x20 0000222b: MSTORE 0000222c: PUSH1 0x40 0000222e: SWAP1 0000222f: KECCAK256 00002230: PUSH1 0x02 00002232: ADD 00002233: SSTORE 00002234: JUMPDEST 00002235: PUSH1 0x00 00002237: DUP2 00002238: GT 00002239: ISZERO 0000223a: PUSH2 0x2250 0000223d: JUMPI 0000223e: PUSH1 0x00 00002240: DUP6 00002241: DUP2 00002242: MSTORE 00002243: PUSH1 0x10 00002245: PUSH1 0x20 00002247: MSTORE 00002248: PUSH1 0x40 0000224a: DUP2 0000224b: KECCAK256 0000224c: PUSH1 0x03 0000224e: ADD 0000224f: SSTORE 00002250: JUMPDEST 00002251: SWAP1 00002252: SWAP5 00002253: SWAP1 00002254: SWAP4 00002255: POP 00002256: SWAP2 00002257: POP 00002258: POP 00002259: JUMP 0000225a: JUMPDEST 0000225b: PUSH1 0x0a 0000225d: SLOAD 0000225e: PUSH1 0x00 00002260: SWAP1 00002261: PUSH8 0x0de0b6b3a7640000 0000226a: DUP4 0000226b: DUP2 0000226c: ADD 0000226d: SWAP2 0000226e: DUP2 0000226f: ADD 00002270: SWAP1 00002271: DUP4 00002272: SWAP1 00002273: PUSH2 0x22b3 00002276: PUSH5 0x14f46b0400 0000227c: DUP3 0000227d: DUP6 0000227e: DIV 0000227f: PUSH5 0x02540be400 00002285: MUL 00002286: ADD 00002287: DUP8 00002288: MUL 00002289: PUSH1 0x02 0000228b: DUP4 0000228c: PUSH8 0x0de0b6b3a763ffff 00002295: NOT 00002296: DUP3 00002297: DUP10 00002298: EXP 00002299: DUP12 0000229a: SWAP1 0000229b: SUB 0000229c: ADD 0000229d: DIV 0000229e: PUSH5 0x02540be400 000022a4: MUL 000022a5: DUP2 000022a6: ISZERO 000022a7: ISZERO 000022a8: PUSH2 0x22ad 000022ab: JUMPI 000022ac: INVALID 000022ad: JUMPDEST 000022ae: DIV 000022af: PUSH2 0x2066 000022b2: JUMP 000022b3: JUMPDEST 000022b4: DUP2 000022b5: ISZERO 000022b6: ISZERO 000022b7: PUSH2 0x22bc 000022ba: JUMPI 000022bb: INVALID 000022bc: JUMPDEST 000022bd: DIV 000022be: SWAP6 000022bf: SWAP5 000022c0: POP 000022c1: POP 000022c2: POP 000022c3: POP 000022c4: POP 000022c5: JUMP 000022c6: JUMPDEST 000022c7: PUSH1 0x09 000022c9: SLOAD 000022ca: PUSH1 0x00 000022cc: SWAP1 000022cd: DUP2 000022ce: MSTORE 000022cf: PUSH1 0x11 000022d1: PUSH1 0x20 000022d3: MSTORE 000022d4: PUSH1 0x40 000022d6: DUP2 000022d7: KECCAK256 000022d8: PUSH1 0x04 000022da: ADD 000022db: SLOAD 000022dc: PUSH1 0x0a 000022de: PUSH10 0x054b40b1f852bda00000 000022e9: DUP3 000022ea: LT 000022eb: DUP1 000022ec: ISZERO 000022ed: SWAP1 000022ee: PUSH2 0x2300 000022f1: JUMPI 000022f2: POP 000022f3: PUSH10 0x0a968163f0a57b400000 000022fe: DUP3 000022ff: LT 00002300: JUMPDEST 00002301: ISZERO 00002302: PUSH2 0x230d 00002305: JUMPI 00002306: POP 00002307: PUSH1 0x14 00002309: PUSH2 0x10e4 0000230c: JUMP 0000230d: JUMPDEST 0000230e: PUSH10 0x0a968163f0a57b400000 00002319: DUP3 0000231a: LT 0000231b: ISZERO 0000231c: DUP1 0000231d: ISZERO 0000231e: PUSH2 0x2330 00002321: JUMPI 00002322: POP 00002323: PUSH10 0x0fe1c215e8f838e00000 0000232e: DUP3 0000232f: LT 00002330: JUMPDEST 00002331: ISZERO 00002332: PUSH2 0x233d 00002335: JUMPI 00002336: POP 00002337: PUSH1 0x1e 00002339: PUSH2 0x10e4 0000233c: JUMP 0000233d: JUMPDEST 0000233e: PUSH10 0x0fe1c215e8f838e00000 00002349: DUP3 0000234a: LT 0000234b: ISZERO 0000234c: DUP1 0000234d: ISZERO 0000234e: PUSH2 0x2360 00002351: JUMPI 00002352: POP 00002353: PUSH10 0x152d02c7e14af6800000 0000235e: DUP3 0000235f: LT 00002360: JUMPDEST 00002361: ISZERO 00002362: PUSH2 0x236d 00002365: JUMPI 00002366: POP 00002367: PUSH1 0x28 00002369: PUSH2 0x10e4 0000236c: JUMP 0000236d: JUMPDEST 0000236e: PUSH10 0x152d02c7e14af6800000 00002379: DUP3 0000237a: LT 0000237b: PUSH2 0x10e4 0000237e: JUMPI 0000237f: POP 00002380: PUSH1 0x32 00002382: SWAP3 00002383: SWAP2 00002384: POP 00002385: POP 00002386: JUMP 00002387: JUMPDEST 00002388: PUSH1 0x00 0000238a: DUP1 0000238b: PUSH1 0x02 0000238d: PUSH2 0x2397 00002390: DUP5 00002391: PUSH1 0x01 00002393: PUSH2 0x200b 00002396: JUMP 00002397: JUMPDEST 00002398: DUP2 00002399: ISZERO 0000239a: ISZERO 0000239b: PUSH2 0x23a0 0000239e: JUMPI 0000239f: INVALID 000023a0: JUMPDEST 000023a1: DIV 000023a2: SWAP1 000023a3: POP 000023a4: DUP3 000023a5: SWAP2 000023a6: POP 000023a7: JUMPDEST 000023a8: DUP2 000023a9: DUP2 000023aa: LT 000023ab: ISZERO 000023ac: PUSH2 0x0e13 000023af: JUMPI 000023b0: DUP1 000023b1: SWAP2 000023b2: POP 000023b3: PUSH1 0x02 000023b5: PUSH2 0x23c9 000023b8: DUP3 000023b9: DUP6 000023ba: DUP2 000023bb: ISZERO 000023bc: ISZERO 000023bd: PUSH2 0x23c2 000023c0: JUMPI 000023c1: INVALID 000023c2: JUMPDEST 000023c3: DIV 000023c4: DUP4 000023c5: PUSH2 0x200b 000023c8: JUMP 000023c9: JUMPDEST 000023ca: DUP2 000023cb: ISZERO 000023cc: ISZERO 000023cd: PUSH2 0x23d2 000023d0: JUMPI 000023d1: INVALID 000023d2: JUMPDEST 000023d3: DIV 000023d4: SWAP1 000023d5: POP 000023d6: PUSH2 0x23a7 000023d9: JUMP 000023da: STOP 000023db: PUSH16 0x7574206f662072616e67652e00000000 000023ec: STOP 000023ed: STOP 000023ee: STOP 000023ef: STOP 000023f0: STOP 000023f1: STOP 000023f2: STOP 000023f3: STOP 000023f4: STOP 000023f5: STOP 000023f6: STOP 000023f7: STOP 000023f8: STOP 000023f9: STOP 000023fa: STOP 000023fb: PUSH10 0x7473206e6f7420726561 00002406: PUSH5 0x7920796574 0000240c: UNKNOWN(0x2E) 0000240d: STOP 0000240e: STOP 0000240f: STOP 00002410: STOP 00002411: STOP 00002412: STOP 00002413: STOP 00002414: STOP 00002415: STOP 00002416: STOP 00002417: STOP 00002418: STOP 00002419: STOP 0000241a: STOP 0000241b: LOG1 0000241c: PUSH6 0x627a7a723058 00002423: KECCAK256 00002424: SWAP10 00002425: UNKNOWN(0xE1) 00002426: PUSH29 0xe55eb95c3ff4da14016e0f224358679436062269bc63c2596dd1b619c0 00002444: STOP 00002445: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | math | codex | Sold keys still count toward lucky pot distribution, enabling pot drain after selling | 85 | no | — |
viewevidence_json{
"evidence": "`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.",
"locations": [
"contracts/Contract.sol:312",
"contracts/Contract.sol:341",
"contracts/Contract.sol:344",
"contracts/Contract.sol:191",
"contracts/Contract.sol:208",
"contracts/Contract.sol:210",
"contracts/Contract.sol:293",
"contracts/Contract.sol:298",
"contracts/Contract.sol:443",
"contracts/Contract.sol:446",
"contracts/Contract.sol:449"
],
"recommendation": "On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.",
"exploit_scenario": "1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689
call_targets:
0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8"
],
"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": "0x045ec563",
"selector": "0x045ec563",
"calldata_variants": [
"0x045ec563",
"0x045ec5630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06ad5a47",
"selector": "0x06ad5a47",
"calldata_variants": [
"0x06ad5a47",
"0x06ad5a470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07c9da76",
"selector": "0x07c9da76",
"calldata_variants": [
"0x07c9da76",
"0x07c9da760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x08979751",
"selector": "0x08979751",
"calldata_variants": [
"0x08979751",
"0x089797510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x08d4db14",
"selector": "0x08d4db14",
"calldata_variants": [
"0x08d4db14",
"0x08d4db140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ed79661",
"selector": "0x0ed79661",
"calldata_variants": [
"0x0ed79661",
"0x0ed796610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f15f4c0",
"selector": "0x0f15f4c0",
"calldata_variants": [
"0x0f15f4c0",
"0x0f15f4c00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3734,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5461,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8049,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689
call_targets:
0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8"
],
"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": "0x045ec563",
"selector": "0x045ec563",
"calldata_variants": [
"0x045ec563",
"0x045ec5630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06ad5a47",
"selector": "0x06ad5a47",
"calldata_variants": [
"0x06ad5a47",
"0x06ad5a470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07c9da76",
"selector": "0x07c9da76",
"calldata_variants": [
"0x07c9da76",
"0x07c9da760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x08979751",
"selector": "0x08979751",
"calldata_variants": [
"0x08979751",
"0x089797510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x08d4db14",
"selector": "0x08d4db14",
"calldata_variants": [
"0x08d4db14",
"0x08d4db140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ed79661",
"selector": "0x0ed79661",
"calldata_variants": [
"0x0ed79661",
"0x0ed796610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f15f4c0",
"selector": "0x0f15f4c0",
"calldata_variants": [
"0x0f15f4c0",
"0x0f15f4c00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3734,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5461,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8049,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|