66199f28-d28d-4899-b8fd-5a726218d9b3
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 |
|---|---|---|---|---|
| 31596 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 78203 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 78204 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 78205 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 78206 | capability.graph | complete | 1 / 3 | 1 week ago |
| 78207 | detector.run | complete | 1 / 3 | 1 week ago |
| 78208 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:831530] OpenAI Codex v0.77.0 (research preview)
[codex:831530] --------
[codex:831530] workdir: /tmp/codex-multi-pmdr5r7g
[codex:831530] model: gpt-5.2-codex
[codex:831530] provider: openai
[codex:831530] approval: never
[codex:831530] sandbox: read-only
[codex:831530] reasoning effort: xhigh
[codex:831530] reasoning summaries: auto
[codex:831530] session id: 019b87d7-8df4-78e3-ac30-406099887c3d
[codex:831530] --------
[codex:831530] user
[codex:831530] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:831530]
[codex:831530] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:831530]
[codex:831530] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:831530] - Gas inefficiency, code quality, naming, or best practices
[codex:831530] - Theoretical vulnerabilities without a clear extraction path
[codex:831530] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:831530] - Front-running unless it enables theft beyond MEV
[codex:831530] - DoS, griefing, or issues that don't result in attacker profit
[codex:831530] - Missing events, view function issues, or informational findings
[codex:831530]
[codex:831530] HIGH-VALUE PATTERNS TO HUNT:
[codex:831530] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:831530] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:831530] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:831530] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:831530] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:831530] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:831530] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:831530] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:831530] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:831530]
[codex:831530] For each finding, you MUST provide:
[codex:831530] 1. Exact file and line numbers of vulnerable code
[codex:831530] 2. Step-by-step exploit transaction sequence
[codex:831530] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:831530]
[codex:831530] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:831530]
[codex:831530] Output MUST be valid JSON matching the provided schema.
[codex:831530] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:831530] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:831530] mcp startup: no servers
[codex:831530]
[codex:831530] thinking
[codex:831530] **Checking instructions and skill requirements**
[codex:831530] exec
[codex:831530] /bin/bash -lc ls in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530] AUDIT_BUNDLE.txt
[codex:831530] codex-output-schema.json
[codex:831530] contracts
[codex:831530] exec
[codex:831530] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:831530]
[codex:831530] ================================================================================
[codex:831530] FILE: contracts/contracts/Adminable.sol
[codex:831530] ================================================================================
[codex:831530] // SPDX-License-Identifier: MIT
[codex:831530] pragma solidity ^0.8.18;
[codex:831530]
[codex:831530] abstract contract Adminable {
[codex:831530] event AdminUpdated(address sender, address oldAdmin, address admin);
[codex:831530]
[codex:831530] address public admin;
[codex:831530]
[codex:831530] modifier onlyAdmin() {
[codex:831530] require(admin == msg.sender, "only admin");
[codex:831530] _;
[codex:831530] }
[codex:831530]
[codex:831530] function updateAdmin(address admin_) external onlyAdmin {
[codex:831530] require(admin_ != address(0), "zero address");
[codex:831530]
[codex:831530] thinking
[codex:831530] **Analyzing unprotected initialization exploit**
[codex:831530] exec
[codex:831530] /bin/bash -lc 'nl -ba contracts/contracts/bridge/AbstractBridge.sol' in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530] 1 // SPDX-License-Identifier: MIT
[codex:831530] 2 pragma solidity ^0.8.18;
[codex:831530] 3
[codex:831530] 4 import "../Pausable.sol";
[codex:831530] 5 import "../Initializable.sol";
[codex:831530] 6
[codex:831530] 7 abstract contract AbstractBridge is Initializable, Pausable {
[codex:831530] 8 struct BindingInfo {
[codex:831530] 9 string executionAsset;
[codex:831530] 10 uint256 minAmount;
[codex:831530] 11 uint256 minFee;
[codex:831530] 12 uint256 thresholdFee;
[codex:831530] 13 uint128 beforePercentFee;
[codex:831530] 14 uint128 afterPercentFee;
[codex:831530] 15 bool enabled;
[codex:831530] 16 }
[codex:831530] 17
[codex:831530] 18 event ExecutionChainUpdated(uint128 feeChainId, address caller);
[codex:831530] 19 event FeeChainUpdated(uint128 feeChainId, address caller);
[codex:831530] 20 event CallerContractUpdated(bytes32 executorContract, address caller);
[codex:831530]
[codex:831530] thinking
[codex:831530] **Analyzing unprotected initialization vulnerability**
[codex:831530] exec
[codex:831530] /bin/bash -lc 'nl -ba contracts/contracts/bridge/CoinBridge.sol' in /tmp/codex-multi-pmdr5r7g succeeded in 5ms:
[codex:831530] 1 // SPDX-License-Identifier: MIT
[codex:831530] 2 pragma solidity ^0.8.18;
[codex:831530] 3
[codex:831530] 4 import "./AbstractBridge.sol";
[codex:831530] 5 import "./mint/IMint.sol";
[codex:831530] 6 import "../Mutex.sol";
[codex:831530] 7
[codex:831530] 8 contract CoinBridge is AbstractBridge, Mutex {
[codex:831530] 9 uint256 constant DIVIDER = 10 ** 12;
[codex:831530] 10
[codex:831530] 11 mapping(uint128 => BindingInfo) public bindings;
[codex:831530] 12 uint256 public fees;
[codex:831530] 13 uint256 public balance;
[codex:831530] 14
[codex:831530] 15 event LockTokens(
[codex:831530] 16 uint16 feeChainId,
[codex:831530] 17 uint256 amount,
[codex:831530] 18 string recipient,
[codex:831530] 19 uint256 gaslessReward,
[codex:831530] 20 string referrer,
[codex:831530]
[codex:831530] thinking
[codex:831530] **Preparing vulnerability JSON output**
[codex:831530] codex
[codex:831530] {"no_findings":false,"summary":"Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected init() lets attacker become admin/executor and drain bridge funds","exploit_scenario":"1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits.","recommendation":"Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.","evidence":"`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.","locations":["contracts/contracts/bridge/AbstractBridge.sol:44","contracts/contracts/bridge/AbstractBridge.sol:51","contracts/contracts/bridge/AbstractBridge.sol:55","contracts/contracts/bridge/AbstractBridge.sol:60","contracts/contracts/bridge/AbstractBridge.sol:61"]}]}
[codex:831530] tokens used
[codex:831530] 12,823
[codex:831530] {"no_findings":false,"summary":"Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected init() lets attacker become admin/executor and drain bridge funds","exploit_scenario":"1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits.","recommendation":"Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.","evidence":"`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.","locations":["contracts/contracts/bridge/AbstractBridge.sol:44","contracts/contracts/bridge/AbstractBridge.sol:51","contracts/contracts/bridge/AbstractBridge.sol:55","contracts/contracts/bridge/AbstractBridge.sol:60","contracts/contracts/bridge/AbstractBridge.sol:61"]}]}
{
"codex": {
"ran_at": "2026-01-04T07:11:01.295484+00:00",
"returncode": 0
},
"summary": "Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.",
"raw_final": {
"summary": "Unprotected initializer allows first caller to seize admin/executor control and drain all locked ETH via releaseTokens.",
"findings": [
{
"title": "Unprotected init() lets attacker become admin/executor and drain bridge funds",
"category": "upgradeability",
"evidence": "`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.",
"severity": "critical",
"locations": [
"contracts/contracts/bridge/AbstractBridge.sol:44",
"contracts/contracts/bridge/AbstractBridge.sol:51",
"contracts/contracts/bridge/AbstractBridge.sol:55",
"contracts/contracts/bridge/AbstractBridge.sol:60",
"contracts/contracts/bridge/AbstractBridge.sol:61"
],
"recommendation": "Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.",
"exploit_scenario": "1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits."
}
],
"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 0x01a5 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x9fd0506d 00000019: GT 0000001a: PUSH2 0x00e1 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbac9e1b7 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xe2f273bd 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe2f273bd 0000003a: EQ 0000003b: PUSH2 0x0534 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe45da526 00000045: EQ 00000046: PUSH2 0x0554 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf67db96b 00000050: EQ 00000051: PUSH2 0x0574 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf851a440 0000005b: EQ 0000005c: PUSH2 0x05ba 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xbac9e1b7 0000006b: EQ 0000006c: PUSH2 0x04b7 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xc34c08e5 00000076: EQ 00000077: PUSH2 0x04d7 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xe22fe72f 00000081: EQ 00000082: PUSH2 0x0504 00000085: JUMPI 00000086: PUSH1 0x00 00000088: DUP1 00000089: REVERT 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0xb187bd26 00000091: GT 00000092: PUSH2 0x00bb 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xb187bd26 0000009c: EQ 0000009d: PUSH2 0x043e 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xb3c276e2 000000a7: EQ 000000a8: PUSH2 0x0481 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xb69ef8a8 000000b2: EQ 000000b3: PUSH2 0x04a1 000000b6: JUMPI 000000b7: PUSH1 0x00 000000b9: DUP1 000000ba: REVERT 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0x9fd0506d 000000c2: EQ 000000c3: PUSH2 0x03dc 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0xa7392f8e 000000cd: EQ 000000ce: PUSH2 0x0409 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0xacb2ad6f 000000d8: EQ 000000d9: PUSH2 0x0429 000000dc: JUMPI 000000dd: PUSH1 0x00 000000df: DUP1 000000e0: REVERT 000000e1: JUMPDEST 000000e2: DUP1 000000e3: PUSH4 0x46904840 000000e8: GT 000000e9: PUSH2 0x014e 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x67e9bd43 000000f3: GT 000000f4: PUSH2 0x0128 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x67e9bd43 000000fe: EQ 000000ff: PUSH2 0x0314 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x8456cb59 00000109: EQ 0000010a: PUSH2 0x0327 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x8497e666 00000114: EQ 00000115: PUSH2 0x033c 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x9af1d35a 0000011f: EQ 00000120: PUSH2 0x03b8 00000123: JUMPI 00000124: PUSH1 0x00 00000126: DUP1 00000127: REVERT 00000128: JUMPDEST 00000129: DUP1 0000012a: PUSH4 0x46904840 0000012f: EQ 00000130: PUSH2 0x02b2 00000133: JUMPI 00000134: DUP1 00000135: PUSH4 0x554bab3c 0000013a: EQ 0000013b: PUSH2 0x02d4 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x5f7ebb05 00000145: EQ 00000146: PUSH2 0x02f4 00000149: JUMPI 0000014a: PUSH1 0x00 0000014c: DUP1 0000014d: REVERT 0000014e: JUMPDEST 0000014f: DUP1 00000150: PUSH4 0x1c47ae5e 00000155: GT 00000156: PUSH2 0x017f 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0x1c47ae5e 00000160: EQ 00000161: PUSH2 0x025d 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x2c16ae00 0000016b: EQ 0000016c: PUSH2 0x027d 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x3f4ba83a 00000176: EQ 00000177: PUSH2 0x029d 0000017a: JUMPI 0000017b: PUSH1 0x00 0000017d: DUP1 0000017e: REVERT 0000017f: JUMPDEST 00000180: DUP1 00000181: PUSH4 0x03eadcfc 00000186: EQ 00000187: PUSH2 0x01b1 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0x05b53c31 00000191: EQ 00000192: PUSH2 0x0208 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0x0bab6053 0000019c: EQ 0000019d: PUSH2 0x023b 000001a0: JUMPI 000001a1: PUSH1 0x00 000001a3: DUP1 000001a4: REVERT 000001a5: JUMPDEST 000001a6: CALLDATASIZE 000001a7: PUSH2 0x01ac 000001aa: JUMPI 000001ab: STOP 000001ac: JUMPDEST 000001ad: PUSH1 0x00 000001af: DUP1 000001b0: REVERT 000001b1: JUMPDEST 000001b2: CALLVALUE 000001b3: DUP1 000001b4: ISZERO 000001b5: PUSH2 0x01bd 000001b8: JUMPI 000001b9: PUSH1 0x00 000001bb: DUP1 000001bc: REVERT 000001bd: JUMPDEST 000001be: POP 000001bf: PUSH1 0x03 000001c1: SLOAD 000001c2: PUSH2 0x01de 000001c5: SWAP1 000001c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001db: AND 000001dc: DUP2 000001dd: JUMP 000001de: JUMPDEST 000001df: PUSH1 0x40 000001e1: MLOAD 000001e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001f7: SWAP1 000001f8: SWAP2 000001f9: AND 000001fa: DUP2 000001fb: MSTORE 000001fc: PUSH1 0x20 000001fe: ADD 000001ff: JUMPDEST 00000200: PUSH1 0x40 00000202: MLOAD 00000203: DUP1 00000204: SWAP2 00000205: SUB 00000206: SWAP1 00000207: RETURN 00000208: JUMPDEST 00000209: CALLVALUE 0000020a: DUP1 0000020b: ISZERO 0000020c: PUSH2 0x0214 0000020f: JUMPI 00000210: PUSH1 0x00 00000212: DUP1 00000213: REVERT 00000214: JUMPDEST 00000215: POP 00000216: PUSH2 0x0228 00000219: PUSH2 0x0223 0000021c: CALLDATASIZE 0000021d: PUSH1 0x04 0000021f: PUSH2 0x29bb 00000222: JUMP 00000223: JUMPDEST 00000224: PUSH2 0x05ec 00000227: JUMP 00000228: JUMPDEST 00000229: PUSH1 0x40 0000022b: MLOAD 0000022c: PUSH2 0x01ff 0000022f: SWAP8 00000230: SWAP7 00000231: SWAP6 00000232: SWAP5 00000233: SWAP4 00000234: SWAP3 00000235: SWAP2 00000236: SWAP1 00000237: PUSH2 0x2a41 0000023a: JUMP 0000023b: JUMPDEST 0000023c: CALLVALUE 0000023d: DUP1 0000023e: ISZERO 0000023f: PUSH2 0x0247 00000242: JUMPI 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: POP 00000249: PUSH2 0x025b 0000024c: PUSH2 0x0256 0000024f: CALLDATASIZE 00000250: PUSH1 0x04 00000252: PUSH2 0x2a99 00000255: JUMP 00000256: JUMPDEST 00000257: PUSH2 0x06d7 0000025a: JUMP 0000025b: JUMPDEST 0000025c: STOP 0000025d: JUMPDEST 0000025e: CALLVALUE 0000025f: DUP1 00000260: ISZERO 00000261: PUSH2 0x0269 00000264: JUMPI 00000265: PUSH1 0x00 00000267: DUP1 00000268: REVERT 00000269: JUMPDEST 0000026a: POP 0000026b: PUSH2 0x025b 0000026e: PUSH2 0x0278 00000271: CALLDATASIZE 00000272: PUSH1 0x04 00000274: PUSH2 0x2ac2 00000277: JUMP 00000278: JUMPDEST 00000279: PUSH2 0x079d 0000027c: JUMP 0000027d: JUMPDEST 0000027e: CALLVALUE 0000027f: DUP1 00000280: ISZERO 00000281: PUSH2 0x0289 00000284: JUMPI 00000285: PUSH1 0x00 00000287: DUP1 00000288: REVERT 00000289: JUMPDEST 0000028a: POP 0000028b: PUSH2 0x025b 0000028e: PUSH2 0x0298 00000291: CALLDATASIZE 00000292: PUSH1 0x04 00000294: PUSH2 0x2b50 00000297: JUMP 00000298: JUMPDEST 00000299: PUSH2 0x08bf 0000029c: JUMP 0000029d: JUMPDEST 0000029e: CALLVALUE 0000029f: DUP1 000002a0: ISZERO 000002a1: PUSH2 0x02a9 000002a4: JUMPI 000002a5: PUSH1 0x00 000002a7: DUP1 000002a8: REVERT 000002a9: JUMPDEST 000002aa: POP 000002ab: PUSH2 0x025b 000002ae: PUSH2 0x0a82 000002b1: JUMP 000002b2: JUMPDEST 000002b3: CALLVALUE 000002b4: DUP1 000002b5: ISZERO 000002b6: PUSH2 0x02be 000002b9: JUMPI 000002ba: PUSH1 0x00 000002bc: DUP1 000002bd: REVERT 000002be: JUMPDEST 000002bf: POP 000002c0: PUSH2 0x02c7 000002c3: PUSH2 0x0be6 000002c6: JUMP 000002c7: JUMPDEST 000002c8: PUSH1 0x40 000002ca: MLOAD 000002cb: PUSH2 0x01ff 000002ce: SWAP2 000002cf: SWAP1 000002d0: PUSH2 0x2bf2 000002d3: JUMP 000002d4: JUMPDEST 000002d5: CALLVALUE 000002d6: DUP1 000002d7: ISZERO 000002d8: PUSH2 0x02e0 000002db: JUMPI 000002dc: PUSH1 0x00 000002de: DUP1 000002df: REVERT 000002e0: JUMPDEST 000002e1: POP 000002e2: PUSH2 0x025b 000002e5: PUSH2 0x02ef 000002e8: CALLDATASIZE 000002e9: PUSH1 0x04 000002eb: PUSH2 0x2c2a 000002ee: JUMP 000002ef: JUMPDEST 000002f0: PUSH2 0x0c74 000002f3: JUMP 000002f4: JUMPDEST 000002f5: CALLVALUE 000002f6: DUP1 000002f7: ISZERO 000002f8: PUSH2 0x0300 000002fb: JUMPI 000002fc: PUSH1 0x00 000002fe: DUP1 000002ff: REVERT 00000300: JUMPDEST 00000301: POP 00000302: PUSH2 0x025b 00000305: PUSH2 0x030f 00000308: CALLDATASIZE 00000309: PUSH1 0x04 0000030b: PUSH2 0x2c47 0000030e: JUMP 0000030f: JUMPDEST 00000310: PUSH2 0x0e17 00000313: JUMP 00000314: JUMPDEST 00000315: PUSH2 0x025b 00000318: PUSH2 0x0322 0000031b: CALLDATASIZE 0000031c: PUSH1 0x04 0000031e: PUSH2 0x2c62 00000321: JUMP 00000322: JUMPDEST 00000323: PUSH2 0x0f26 00000326: JUMP 00000327: JUMPDEST 00000328: CALLVALUE 00000329: DUP1 0000032a: ISZERO 0000032b: PUSH2 0x0333 0000032e: JUMPI 0000032f: PUSH1 0x00 00000331: DUP1 00000332: REVERT 00000333: JUMPDEST 00000334: POP 00000335: PUSH2 0x025b 00000338: PUSH2 0x1623 0000033b: JUMP 0000033c: JUMPDEST 0000033d: CALLVALUE 0000033e: DUP1 0000033f: ISZERO 00000340: PUSH2 0x0348 00000343: JUMPI 00000344: PUSH1 0x00 00000346: DUP1 00000347: REVERT 00000348: JUMPDEST 00000349: POP 0000034a: PUSH2 0x0397 0000034d: PUSH2 0x0357 00000350: CALLDATASIZE 00000351: PUSH1 0x04 00000353: PUSH2 0x2d1a 00000356: JUMP 00000357: JUMPDEST 00000358: PUSH1 0x07 0000035a: PUSH1 0x20 0000035c: SWAP1 0000035d: DUP2 0000035e: MSTORE 0000035f: PUSH1 0x00 00000361: SWAP3 00000362: DUP4 00000363: MSTORE 00000364: PUSH1 0x40 00000366: SWAP1 00000367: SWAP3 00000368: KECCAK256 00000369: DUP2 0000036a: MLOAD 0000036b: DUP1 0000036c: DUP4 0000036d: ADD 0000036e: DUP5 0000036f: ADD 00000370: DUP1 00000371: MLOAD 00000372: SWAP3 00000373: DUP2 00000374: MSTORE 00000375: SWAP1 00000376: DUP5 00000377: ADD 00000378: SWAP3 00000379: SWAP1 0000037a: SWAP4 0000037b: ADD 0000037c: SWAP2 0000037d: SWAP1 0000037e: SWAP2 0000037f: KECCAK256 00000380: SWAP2 00000381: MSTORE 00000382: SLOAD 00000383: PUSH16 0xffffffffffffffffffffffffffffffff 00000394: AND 00000395: DUP2 00000396: JUMP 00000397: JUMPDEST 00000398: PUSH1 0x40 0000039a: MLOAD 0000039b: PUSH16 0xffffffffffffffffffffffffffffffff 000003ac: SWAP1 000003ad: SWAP2 000003ae: AND 000003af: DUP2 000003b0: MSTORE 000003b1: PUSH1 0x20 000003b3: ADD 000003b4: PUSH2 0x01ff 000003b7: JUMP 000003b8: JUMPDEST 000003b9: CALLVALUE 000003ba: DUP1 000003bb: ISZERO 000003bc: PUSH2 0x03c4 000003bf: JUMPI 000003c0: PUSH1 0x00 000003c2: DUP1 000003c3: REVERT 000003c4: JUMPDEST 000003c5: POP 000003c6: PUSH2 0x03ce 000003c9: PUSH1 0x0a 000003cb: SLOAD 000003cc: DUP2 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH1 0x40 000003d1: MLOAD 000003d2: SWAP1 000003d3: DUP2 000003d4: MSTORE 000003d5: PUSH1 0x20 000003d7: ADD 000003d8: PUSH2 0x01ff 000003db: JUMP 000003dc: JUMPDEST 000003dd: CALLVALUE 000003de: DUP1 000003df: ISZERO 000003e0: PUSH2 0x03e8 000003e3: JUMPI 000003e4: PUSH1 0x00 000003e6: DUP1 000003e7: REVERT 000003e8: JUMPDEST 000003e9: POP 000003ea: PUSH1 0x01 000003ec: SLOAD 000003ed: PUSH2 0x01de 000003f0: SWAP1 000003f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000406: AND 00000407: DUP2 00000408: JUMP 00000409: JUMPDEST 0000040a: CALLVALUE 0000040b: DUP1 0000040c: ISZERO 0000040d: PUSH2 0x0415 00000410: JUMPI 00000411: PUSH1 0x00 00000413: DUP1 00000414: REVERT 00000415: JUMPDEST 00000416: POP 00000417: PUSH2 0x025b 0000041a: PUSH2 0x0424 0000041d: CALLDATASIZE 0000041e: PUSH1 0x04 00000420: PUSH2 0x2dfa 00000423: JUMP 00000424: JUMPDEST 00000425: PUSH2 0x179a 00000428: JUMP 00000429: JUMPDEST 0000042a: CALLVALUE 0000042b: DUP1 0000042c: ISZERO 0000042d: PUSH2 0x0435 00000430: JUMPI 00000431: PUSH1 0x00 00000433: DUP1 00000434: REVERT 00000435: JUMPDEST 00000436: POP 00000437: PUSH2 0x025b 0000043a: PUSH2 0x1c20 0000043d: JUMP 0000043e: JUMPDEST 0000043f: CALLVALUE 00000440: DUP1 00000441: ISZERO 00000442: PUSH2 0x044a 00000445: JUMPI 00000446: PUSH1 0x00 00000448: DUP1 00000449: REVERT 0000044a: JUMPDEST 0000044b: POP 0000044c: PUSH1 0x00 0000044e: SLOAD 0000044f: PUSH2 0x0471 00000452: SWAP1 00000453: PUSH22 0x01000000000000000000000000000000000000000000 0000046a: SWAP1 0000046b: DIV 0000046c: PUSH1 0xff 0000046e: AND 0000046f: DUP2 00000470: JUMP 00000471: JUMPDEST 00000472: PUSH1 0x40 00000474: MLOAD 00000475: SWAP1 00000476: ISZERO 00000477: ISZERO 00000478: DUP2 00000479: MSTORE 0000047a: PUSH1 0x20 0000047c: ADD 0000047d: PUSH2 0x01ff 00000480: JUMP 00000481: JUMPDEST 00000482: CALLVALUE 00000483: DUP1 00000484: ISZERO 00000485: PUSH2 0x048d 00000488: JUMPI 00000489: PUSH1 0x00 0000048b: DUP1 0000048c: REVERT 0000048d: JUMPDEST 0000048e: POP 0000048f: PUSH2 0x025b 00000492: PUSH2 0x049c 00000495: CALLDATASIZE 00000496: PUSH1 0x04 00000498: PUSH2 0x2e37 0000049b: JUMP 0000049c: JUMPDEST 0000049d: PUSH2 0x21ec 000004a0: JUMP 000004a1: JUMPDEST 000004a2: CALLVALUE 000004a3: DUP1 000004a4: ISZERO 000004a5: PUSH2 0x04ad 000004a8: JUMPI 000004a9: PUSH1 0x00 000004ab: DUP1 000004ac: REVERT 000004ad: JUMPDEST 000004ae: POP 000004af: PUSH2 0x03ce 000004b2: PUSH1 0x0b 000004b4: SLOAD 000004b5: DUP2 000004b6: JUMP 000004b7: JUMPDEST 000004b8: CALLVALUE 000004b9: DUP1 000004ba: ISZERO 000004bb: PUSH2 0x04c3 000004be: JUMPI 000004bf: PUSH1 0x00 000004c1: DUP1 000004c2: REVERT 000004c3: JUMPDEST 000004c4: POP 000004c5: PUSH2 0x025b 000004c8: PUSH2 0x04d2 000004cb: CALLDATASIZE 000004cc: PUSH1 0x04 000004ce: PUSH2 0x2ece 000004d1: JUMP 000004d2: JUMPDEST 000004d3: PUSH2 0x251b 000004d6: JUMP 000004d7: JUMPDEST 000004d8: CALLVALUE 000004d9: DUP1 000004da: ISZERO 000004db: PUSH2 0x04e3 000004de: JUMPI 000004df: PUSH1 0x00 000004e1: DUP1 000004e2: REVERT 000004e3: JUMPDEST 000004e4: POP 000004e5: PUSH1 0x04 000004e7: SLOAD 000004e8: PUSH2 0x01de 000004eb: SWAP1 000004ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000501: AND 00000502: DUP2 00000503: JUMP 00000504: JUMPDEST 00000505: CALLVALUE 00000506: DUP1 00000507: ISZERO 00000508: PUSH2 0x0510 0000050b: JUMPI 0000050c: PUSH1 0x00 0000050e: DUP1 0000050f: REVERT 00000510: JUMPDEST 00000511: POP 00000512: PUSH2 0x0471 00000515: PUSH2 0x051f 00000518: CALLDATASIZE 00000519: PUSH1 0x04 0000051b: PUSH2 0x29bb 0000051e: JUMP 0000051f: JUMPDEST 00000520: PUSH1 0x06 00000522: PUSH1 0x20 00000524: MSTORE 00000525: PUSH1 0x00 00000527: SWAP1 00000528: DUP2 00000529: MSTORE 0000052a: PUSH1 0x40 0000052c: SWAP1 0000052d: KECCAK256 0000052e: SLOAD 0000052f: PUSH1 0xff 00000531: AND 00000532: DUP2 00000533: JUMP 00000534: JUMPDEST 00000535: CALLVALUE 00000536: DUP1 00000537: ISZERO 00000538: PUSH2 0x0540 0000053b: JUMPI 0000053c: PUSH1 0x00 0000053e: DUP1 0000053f: REVERT 00000540: JUMPDEST 00000541: POP 00000542: PUSH2 0x025b 00000545: PUSH2 0x054f 00000548: CALLDATASIZE 00000549: PUSH1 0x04 0000054b: PUSH2 0x2c2a 0000054e: JUMP 0000054f: JUMPDEST 00000550: PUSH2 0x2716 00000553: JUMP 00000554: JUMPDEST 00000555: CALLVALUE 00000556: DUP1 00000557: ISZERO 00000558: PUSH2 0x0560 0000055b: JUMPI 0000055c: PUSH1 0x00 0000055e: DUP1 0000055f: REVERT 00000560: JUMPDEST 00000561: POP 00000562: PUSH2 0x025b 00000565: PUSH2 0x056f 00000568: CALLDATASIZE 00000569: PUSH1 0x04 0000056b: PUSH2 0x2f33 0000056e: JUMP 0000056f: JUMPDEST 00000570: PUSH2 0x28c3 00000573: JUMP 00000574: JUMPDEST 00000575: CALLVALUE 00000576: DUP1 00000577: ISZERO 00000578: PUSH2 0x0580 0000057b: JUMPI 0000057c: PUSH1 0x00 0000057e: DUP1 0000057f: REVERT 00000580: JUMPDEST 00000581: POP 00000582: PUSH1 0x01 00000584: SLOAD 00000585: PUSH2 0x05a7 00000588: SWAP1 00000589: PUSH21 0x010000000000000000000000000000000000000000 0000059f: SWAP1 000005a0: DIV 000005a1: PUSH2 0xffff 000005a4: AND 000005a5: DUP2 000005a6: JUMP 000005a7: JUMPDEST 000005a8: PUSH1 0x40 000005aa: MLOAD 000005ab: PUSH2 0xffff 000005ae: SWAP1 000005af: SWAP2 000005b0: AND 000005b1: DUP2 000005b2: MSTORE 000005b3: PUSH1 0x20 000005b5: ADD 000005b6: PUSH2 0x01ff 000005b9: JUMP 000005ba: JUMPDEST 000005bb: CALLVALUE 000005bc: DUP1 000005bd: ISZERO 000005be: PUSH2 0x05c6 000005c1: JUMPI 000005c2: PUSH1 0x00 000005c4: DUP1 000005c5: REVERT 000005c6: JUMPDEST 000005c7: POP 000005c8: PUSH1 0x00 000005ca: SLOAD 000005cb: PUSH2 0x01de 000005ce: SWAP1 000005cf: PUSH2 0x0100 000005d2: SWAP1 000005d3: DIV 000005d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005e9: AND 000005ea: DUP2 000005eb: JUMP 000005ec: JUMPDEST 000005ed: PUSH1 0x09 000005ef: PUSH1 0x20 000005f1: MSTORE 000005f2: PUSH1 0x00 000005f4: SWAP1 000005f5: DUP2 000005f6: MSTORE 000005f7: PUSH1 0x40 000005f9: SWAP1 000005fa: KECCAK256 000005fb: DUP1 000005fc: SLOAD 000005fd: DUP2 000005fe: SWAP1 000005ff: PUSH2 0x0607 00000602: SWAP1 00000603: PUSH2 0x2f75 00000606: JUMP 00000607: JUMPDEST 00000608: DUP1 00000609: PUSH1 0x1f 0000060b: ADD 0000060c: PUSH1 0x20 0000060e: DUP1 0000060f: SWAP2 00000610: DIV 00000611: MUL 00000612: PUSH1 0x20 00000614: ADD 00000615: PUSH1 0x40 00000617: MLOAD 00000618: SWAP1 00000619: DUP2 0000061a: ADD 0000061b: PUSH1 0x40 0000061d: MSTORE 0000061e: DUP1 0000061f: SWAP3 00000620: SWAP2 00000621: SWAP1 00000622: DUP2 00000623: DUP2 00000624: MSTORE 00000625: PUSH1 0x20 00000627: ADD 00000628: DUP3 00000629: DUP1 0000062a: SLOAD 0000062b: PUSH2 0x0633 0000062e: SWAP1 0000062f: PUSH2 0x2f75 00000632: JUMP 00000633: JUMPDEST 00000634: DUP1 00000635: ISZERO 00000636: PUSH2 0x0680 00000639: JUMPI 0000063a: DUP1 0000063b: PUSH1 0x1f 0000063d: LT 0000063e: PUSH2 0x0655 00000641: JUMPI 00000642: PUSH2 0x0100 00000645: DUP1 00000646: DUP4 00000647: SLOAD 00000648: DIV 00000649: MUL 0000064a: DUP4 0000064b: MSTORE 0000064c: SWAP2 0000064d: PUSH1 0x20 0000064f: ADD 00000650: SWAP2 00000651: PUSH2 0x0680 00000654: JUMP 00000655: JUMPDEST 00000656: DUP3 00000657: ADD 00000658: SWAP2 00000659: SWAP1 0000065a: PUSH1 0x00 0000065c: MSTORE 0000065d: PUSH1 0x20 0000065f: PUSH1 0x00 00000661: KECCAK256 00000662: SWAP1 00000663: JUMPDEST 00000664: DUP2 00000665: SLOAD 00000666: DUP2 00000667: MSTORE 00000668: SWAP1 00000669: PUSH1 0x01 0000066b: ADD 0000066c: SWAP1 0000066d: PUSH1 0x20 0000066f: ADD 00000670: DUP1 00000671: DUP4 00000672: GT 00000673: PUSH2 0x0663 00000676: JUMPI 00000677: DUP3 00000678: SWAP1 00000679: SUB 0000067a: PUSH1 0x1f 0000067c: AND 0000067d: DUP3 0000067e: ADD 0000067f: SWAP2 00000680: JUMPDEST 00000681: POP 00000682: POP 00000683: POP 00000684: PUSH1 0x01 00000686: DUP5 00000687: ADD 00000688: SLOAD 00000689: PUSH1 0x02 0000068b: DUP6 0000068c: ADD 0000068d: SLOAD 0000068e: PUSH1 0x03 00000690: DUP7 00000691: ADD 00000692: SLOAD 00000693: PUSH1 0x04 00000695: DUP8 00000696: ADD 00000697: SLOAD 00000698: PUSH1 0x05 0000069a: SWAP1 0000069b: SWAP8 0000069c: ADD 0000069d: SLOAD 0000069e: SWAP6 0000069f: SWAP7 000006a0: SWAP3 000006a1: SWAP6 000006a2: SWAP2 000006a3: SWAP5 000006a4: POP 000006a5: SWAP3 000006a6: POP 000006a7: PUSH16 0xffffffffffffffffffffffffffffffff 000006b8: DUP1 000006b9: DUP4 000006ba: AND 000006bb: SWAP3 000006bc: PUSH17 0x0100000000000000000000000000000000 000006ce: SWAP1 000006cf: DIV 000006d0: AND 000006d1: SWAP1 000006d2: PUSH1 0xff 000006d4: AND 000006d5: DUP8 000006d6: JUMP 000006d7: JUMPDEST 000006d8: PUSH1 0x00 000006da: SLOAD 000006db: PUSH2 0x0100 000006de: SWAP1 000006df: DIV 000006e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006f5: AND 000006f6: CALLER 000006f7: EQ 000006f8: PUSH2 0x0762 000006fb: JUMPI 000006fc: PUSH1 0x40 000006fe: MLOAD 000006ff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000720: DUP2 00000721: MSTORE 00000722: PUSH1 0x20 00000724: PUSH1 0x04 00000726: DUP3 00000727: ADD 00000728: MSTORE 00000729: PUSH1 0x0a 0000072b: PUSH1 0x24 0000072d: DUP3 0000072e: ADD 0000072f: MSTORE 00000730: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00000751: PUSH1 0x44 00000753: DUP3 00000754: ADD 00000755: MSTORE 00000756: PUSH1 0x64 00000758: ADD 00000759: JUMPDEST 0000075a: PUSH1 0x40 0000075c: MLOAD 0000075d: DUP1 0000075e: SWAP2 0000075f: SUB 00000760: SWAP1 00000761: REVERT 00000762: JUMPDEST 00000763: PUSH1 0x40 00000765: DUP1 00000766: MLOAD 00000767: DUP3 00000768: DUP2 00000769: MSTORE 0000076a: CALLER 0000076b: PUSH1 0x20 0000076d: DUP3 0000076e: ADD 0000076f: MSTORE 00000770: PUSH32 0xcff96c14f90d679c9b2edb1cd5b9990824d3083f97ade84c79539884ca33fc02 00000791: SWAP2 00000792: ADD 00000793: PUSH1 0x40 00000795: MLOAD 00000796: DUP1 00000797: SWAP2 00000798: SUB 00000799: SWAP1 0000079a: LOG1 0000079b: POP 0000079c: JUMP 0000079d: JUMPDEST 0000079e: PUSH1 0x00 000007a0: SLOAD 000007a1: PUSH2 0x0100 000007a4: SWAP1 000007a5: DIV 000007a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007bb: AND 000007bc: CALLER 000007bd: EQ 000007be: PUSH2 0x0823 000007c1: JUMPI 000007c2: PUSH1 0x40 000007c4: MLOAD 000007c5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007e6: DUP2 000007e7: MSTORE 000007e8: PUSH1 0x20 000007ea: PUSH1 0x04 000007ec: DUP3 000007ed: ADD 000007ee: MSTORE 000007ef: PUSH1 0x0a 000007f1: PUSH1 0x24 000007f3: DUP3 000007f4: ADD 000007f5: MSTORE 000007f6: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00000817: PUSH1 0x44 00000819: DUP3 0000081a: ADD 0000081b: MSTORE 0000081c: PUSH1 0x64 0000081e: ADD 0000081f: PUSH2 0x0759 00000822: JUMP 00000823: JUMPDEST 00000824: PUSH1 0x40 00000826: DUP1 00000827: MLOAD 00000828: PUSH16 0xffffffffffffffffffffffffffffffff 00000839: DUP5 0000083a: AND 0000083b: DUP2 0000083c: MSTORE 0000083d: CALLER 0000083e: PUSH1 0x20 00000840: DUP3 00000841: ADD 00000842: MSTORE 00000843: PUSH32 0xcd8ca9842747d8162878825088ab13c89199cba4f7f23889db839b92328ef815 00000864: SWAP2 00000865: ADD 00000866: PUSH1 0x40 00000868: MLOAD 00000869: DUP1 0000086a: SWAP2 0000086b: SUB 0000086c: SWAP1 0000086d: LOG1 0000086e: PUSH16 0xffffffffffffffffffffffffffffffff 0000087f: SWAP2 00000880: SWAP1 00000881: SWAP2 00000882: AND 00000883: PUSH1 0x00 00000885: SWAP1 00000886: DUP2 00000887: MSTORE 00000888: PUSH1 0x06 0000088a: PUSH1 0x20 0000088c: MSTORE 0000088d: PUSH1 0x40 0000088f: SWAP1 00000890: KECCAK256 00000891: DUP1 00000892: SLOAD 00000893: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000008b4: AND 000008b5: SWAP2 000008b6: ISZERO 000008b7: ISZERO 000008b8: SWAP2 000008b9: SWAP1 000008ba: SWAP2 000008bb: OR 000008bc: SWAP1 000008bd: SSTORE 000008be: JUMP 000008bf: JUMPDEST 000008c0: PUSH1 0x00 000008c2: SLOAD 000008c3: PUSH2 0x0100 000008c6: SWAP1 000008c7: DIV 000008c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008dd: AND 000008de: CALLER 000008df: EQ 000008e0: PUSH2 0x0945 000008e3: JUMPI 000008e4: PUSH1 0x40 000008e6: MLOAD 000008e7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000908: DUP2 00000909: MSTORE 0000090a: PUSH1 0x20 0000090c: PUSH1 0x04 0000090e: DUP3 0000090f: ADD 00000910: MSTORE 00000911: PUSH1 0x0a 00000913: PUSH1 0x24 00000915: DUP3 00000916: ADD 00000917: MSTORE 00000918: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00000939: PUSH1 0x44 0000093b: DUP3 0000093c: ADD 0000093d: MSTORE 0000093e: PUSH1 0x64 00000940: ADD 00000941: PUSH2 0x0759 00000944: JUMP 00000945: JUMPDEST 00000946: PUSH1 0x40 00000948: MLOAD 00000949: DUP1 0000094a: PUSH1 0xe0 0000094c: ADD 0000094d: PUSH1 0x40 0000094f: MSTORE 00000950: DUP1 00000951: DUP10 00000952: DUP10 00000953: DUP1 00000954: DUP1 00000955: PUSH1 0x1f 00000957: ADD 00000958: PUSH1 0x20 0000095a: DUP1 0000095b: SWAP2 0000095c: DIV 0000095d: MUL 0000095e: PUSH1 0x20 00000960: ADD 00000961: PUSH1 0x40 00000963: MLOAD 00000964: SWAP1 00000965: DUP2 00000966: ADD 00000967: PUSH1 0x40 00000969: MSTORE 0000096a: DUP1 0000096b: SWAP4 0000096c: SWAP3 0000096d: SWAP2 0000096e: SWAP1 0000096f: DUP2 00000970: DUP2 00000971: MSTORE 00000972: PUSH1 0x20 00000974: ADD 00000975: DUP4 00000976: DUP4 00000977: DUP1 00000978: DUP3 00000979: DUP5 0000097a: CALLDATACOPY 0000097b: PUSH1 0x00 0000097d: SWAP3 0000097e: ADD 0000097f: DUP3 00000980: SWAP1 00000981: MSTORE 00000982: POP 00000983: SWAP4 00000984: DUP6 00000985: MSTORE 00000986: POP 00000987: POP 00000988: POP 00000989: PUSH1 0x20 0000098b: DUP1 0000098c: DUP4 0000098d: ADD 0000098e: DUP11 0000098f: SWAP1 00000990: MSTORE 00000991: PUSH1 0x40 00000993: DUP1 00000994: DUP5 00000995: ADD 00000996: DUP11 00000997: SWAP1 00000998: MSTORE 00000999: PUSH1 0x60 0000099b: DUP5 0000099c: ADD 0000099d: DUP10 0000099e: SWAP1 0000099f: MSTORE 000009a0: PUSH16 0xffffffffffffffffffffffffffffffff 000009b1: DUP1 000009b2: DUP10 000009b3: AND 000009b4: PUSH1 0x80 000009b6: DUP7 000009b7: ADD 000009b8: MSTORE 000009b9: DUP8 000009ba: AND 000009bb: PUSH1 0xa0 000009bd: DUP6 000009be: ADD 000009bf: MSTORE 000009c0: DUP6 000009c1: ISZERO 000009c2: ISZERO 000009c3: PUSH1 0xc0 000009c5: SWAP1 000009c6: SWAP5 000009c7: ADD 000009c8: SWAP4 000009c9: SWAP1 000009ca: SWAP4 000009cb: MSTORE 000009cc: PUSH2 0xffff 000009cf: DUP14 000009d0: AND 000009d1: DUP3 000009d2: MSTORE 000009d3: PUSH1 0x09 000009d5: SWAP1 000009d6: MSTORE 000009d7: KECCAK256 000009d8: DUP2 000009d9: MLOAD 000009da: DUP2 000009db: SWAP1 000009dc: PUSH2 0x09e5 000009df: SWAP1 000009e0: DUP3 000009e1: PUSH2 0x3016 000009e4: JUMP 000009e5: JUMPDEST 000009e6: POP 000009e7: PUSH1 0x20 000009e9: DUP3 000009ea: ADD 000009eb: MLOAD 000009ec: PUSH1 0x01 000009ee: DUP3 000009ef: ADD 000009f0: SSTORE 000009f1: PUSH1 0x40 000009f3: DUP3 000009f4: ADD 000009f5: MLOAD 000009f6: PUSH1 0x02 000009f8: DUP3 000009f9: ADD 000009fa: SSTORE 000009fb: PUSH1 0x60 000009fd: DUP3 000009fe: ADD 000009ff: MLOAD 00000a00: PUSH1 0x03 00000a02: DUP3 00000a03: ADD 00000a04: SSTORE 00000a05: PUSH1 0x80 00000a07: DUP3 00000a08: ADD 00000a09: MLOAD 00000a0a: PUSH1 0xa0 00000a0c: DUP4 00000a0d: ADD 00000a0e: MLOAD 00000a0f: PUSH16 0xffffffffffffffffffffffffffffffff 00000a20: SWAP1 00000a21: DUP2 00000a22: AND 00000a23: PUSH17 0x0100000000000000000000000000000000 00000a35: MUL 00000a36: SWAP2 00000a37: AND 00000a38: OR 00000a39: PUSH1 0x04 00000a3b: DUP3 00000a3c: ADD 00000a3d: SSTORE 00000a3e: PUSH1 0xc0 00000a40: SWAP1 00000a41: SWAP2 00000a42: ADD 00000a43: MLOAD 00000a44: PUSH1 0x05 00000a46: SWAP1 00000a47: SWAP2 00000a48: ADD 00000a49: DUP1 00000a4a: SLOAD 00000a4b: SWAP2 00000a4c: ISZERO 00000a4d: ISZERO 00000a4e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00000a6f: SWAP1 00000a70: SWAP3 00000a71: AND 00000a72: SWAP2 00000a73: SWAP1 00000a74: SWAP2 00000a75: OR 00000a76: SWAP1 00000a77: SSTORE 00000a78: POP 00000a79: POP 00000a7a: POP 00000a7b: POP 00000a7c: POP 00000a7d: POP 00000a7e: POP 00000a7f: POP 00000a80: POP 00000a81: JUMP 00000a82: JUMPDEST 00000a83: PUSH1 0x00 00000a85: SLOAD 00000a86: PUSH22 0x01000000000000000000000000000000000000000000 00000a9d: SWAP1 00000a9e: DIV 00000a9f: PUSH1 0xff 00000aa1: AND 00000aa2: PUSH2 0x0b07 00000aa5: JUMPI 00000aa6: PUSH1 0x40 00000aa8: MLOAD 00000aa9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000aca: DUP2 00000acb: MSTORE 00000acc: PUSH1 0x20 00000ace: PUSH1 0x04 00000ad0: DUP3 00000ad1: ADD 00000ad2: MSTORE 00000ad3: PUSH1 0x0a 00000ad5: PUSH1 0x24 00000ad7: DUP3 00000ad8: ADD 00000ad9: MSTORE 00000ada: PUSH32 0x6e6f742070617573656400000000000000000000000000000000000000000000 00000afb: PUSH1 0x44 00000afd: DUP3 00000afe: ADD 00000aff: MSTORE 00000b00: PUSH1 0x64 00000b02: ADD 00000b03: PUSH2 0x0759 00000b06: JUMP 00000b07: JUMPDEST 00000b08: PUSH1 0x01 00000b0a: SLOAD 00000b0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b20: AND 00000b21: CALLER 00000b22: EQ 00000b23: PUSH2 0x0b88 00000b26: JUMPI 00000b27: PUSH1 0x40 00000b29: MLOAD 00000b2a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000b4b: DUP2 00000b4c: MSTORE 00000b4d: PUSH1 0x20 00000b4f: PUSH1 0x04 00000b51: DUP3 00000b52: ADD 00000b53: MSTORE 00000b54: PUSH1 0x0b 00000b56: PUSH1 0x24 00000b58: DUP3 00000b59: ADD 00000b5a: MSTORE 00000b5b: PUSH32 0x6f6e6c7920706175736572000000000000000000000000000000000000000000 00000b7c: PUSH1 0x44 00000b7e: DUP3 00000b7f: ADD 00000b80: MSTORE 00000b81: PUSH1 0x64 00000b83: ADD 00000b84: PUSH2 0x0759 00000b87: JUMP 00000b88: JUMPDEST 00000b89: PUSH1 0x00 00000b8b: DUP1 00000b8c: SLOAD 00000b8d: PUSH32 0xffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff 00000bae: AND 00000baf: SWAP1 00000bb0: SSTORE 00000bb1: PUSH1 0x40 00000bb3: MLOAD 00000bb4: CALLER 00000bb5: DUP2 00000bb6: MSTORE 00000bb7: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00000bd8: SWAP1 00000bd9: PUSH1 0x20 00000bdb: ADD 00000bdc: JUMPDEST 00000bdd: PUSH1 0x40 00000bdf: MLOAD 00000be0: DUP1 00000be1: SWAP2 00000be2: SUB 00000be3: SWAP1 00000be4: LOG1 00000be5: JUMP 00000be6: JUMPDEST 00000be7: PUSH1 0x02 00000be9: DUP1 00000bea: SLOAD 00000beb: PUSH2 0x0bf3 00000bee: SWAP1 00000bef: PUSH2 0x2f75 00000bf2: JUMP 00000bf3: JUMPDEST 00000bf4: DUP1 00000bf5: PUSH1 0x1f 00000bf7: ADD 00000bf8: PUSH1 0x20 00000bfa: DUP1 00000bfb: SWAP2 00000bfc: DIV 00000bfd: MUL 00000bfe: PUSH1 0x20 00000c00: ADD 00000c01: PUSH1 0x40 00000c03: MLOAD 00000c04: SWAP1 00000c05: DUP2 00000c06: ADD 00000c07: PUSH1 0x40 00000c09: MSTORE 00000c0a: DUP1 00000c0b: SWAP3 00000c0c: SWAP2 00000c0d: SWAP1 00000c0e: DUP2 00000c0f: DUP2 00000c10: MSTORE 00000c11: PUSH1 0x20 00000c13: ADD 00000c14: DUP3 00000c15: DUP1 00000c16: SLOAD 00000c17: PUSH2 0x0c1f 00000c1a: SWAP1 00000c1b: PUSH2 0x2f75 00000c1e: JUMP 00000c1f: JUMPDEST 00000c20: DUP1 00000c21: ISZERO 00000c22: PUSH2 0x0c6c 00000c25: JUMPI 00000c26: DUP1 00000c27: PUSH1 0x1f 00000c29: LT 00000c2a: PUSH2 0x0c41 00000c2d: JUMPI 00000c2e: PUSH2 0x0100 00000c31: DUP1 00000c32: DUP4 00000c33: SLOAD 00000c34: DIV 00000c35: MUL 00000c36: DUP4 00000c37: MSTORE 00000c38: SWAP2 00000c39: PUSH1 0x20 00000c3b: ADD 00000c3c: SWAP2 00000c3d: PUSH2 0x0c6c 00000c40: JUMP 00000c41: JUMPDEST 00000c42: DUP3 00000c43: ADD 00000c44: SWAP2 00000c45: SWAP1 00000c46: PUSH1 0x00 00000c48: MSTORE 00000c49: PUSH1 0x20 00000c4b: PUSH1 0x00 00000c4d: KECCAK256 00000c4e: SWAP1 00000c4f: JUMPDEST 00000c50: DUP2 00000c51: SLOAD 00000c52: DUP2 00000c53: MSTORE 00000c54: SWAP1 00000c55: PUSH1 0x01 00000c57: ADD 00000c58: SWAP1 00000c59: PUSH1 0x20 00000c5b: ADD 00000c5c: DUP1 00000c5d: DUP4 00000c5e: GT 00000c5f: PUSH2 0x0c4f 00000c62: JUMPI 00000c63: DUP3 00000c64: SWAP1 00000c65: SUB 00000c66: PUSH1 0x1f 00000c68: AND 00000c69: DUP3 00000c6a: ADD 00000c6b: SWAP2 00000c6c: JUMPDEST 00000c6d: POP 00000c6e: POP 00000c6f: POP 00000c70: POP 00000c71: POP 00000c72: DUP2 00000c73: JUMP 00000c74: JUMPDEST 00000c75: PUSH1 0x00 00000c77: SLOAD 00000c78: PUSH2 0x0100 00000c7b: SWAP1 00000c7c: DIV 00000c7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c92: AND 00000c93: CALLER 00000c94: EQ 00000c95: PUSH2 0x0cfa 00000c98: JUMPI 00000c99: PUSH1 0x40 00000c9b: MLOAD 00000c9c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000cbd: DUP2 00000cbe: MSTORE 00000cbf: PUSH1 0x20 00000cc1: PUSH1 0x04 00000cc3: DUP3 00000cc4: ADD 00000cc5: MSTORE 00000cc6: PUSH1 0x0a 00000cc8: PUSH1 0x24 00000cca: DUP3 00000ccb: ADD 00000ccc: MSTORE 00000ccd: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00000cee: PUSH1 0x44 00000cf0: DUP3 00000cf1: ADD 00000cf2: MSTORE 00000cf3: PUSH1 0x64 00000cf5: ADD 00000cf6: PUSH2 0x0759 00000cf9: JUMP 00000cfa: JUMPDEST 00000cfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d10: DUP2 00000d11: AND 00000d12: PUSH2 0x0d77 00000d15: JUMPI 00000d16: PUSH1 0x40 00000d18: MLOAD 00000d19: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d3a: DUP2 00000d3b: MSTORE 00000d3c: PUSH1 0x20 00000d3e: PUSH1 0x04 00000d40: DUP3 00000d41: ADD 00000d42: MSTORE 00000d43: PUSH1 0x0c 00000d45: PUSH1 0x24 00000d47: DUP3 00000d48: ADD 00000d49: MSTORE 00000d4a: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000 00000d6b: PUSH1 0x44 00000d6d: DUP3 00000d6e: ADD 00000d6f: MSTORE 00000d70: PUSH1 0x64 00000d72: ADD 00000d73: PUSH2 0x0759 00000d76: JUMP 00000d77: JUMPDEST 00000d78: PUSH1 0x01 00000d7a: SLOAD 00000d7b: PUSH1 0x40 00000d7d: DUP1 00000d7e: MLOAD 00000d7f: CALLER 00000d80: DUP2 00000d81: MSTORE 00000d82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d97: SWAP3 00000d98: DUP4 00000d99: AND 00000d9a: PUSH1 0x20 00000d9c: DUP3 00000d9d: ADD 00000d9e: MSTORE 00000d9f: SWAP2 00000da0: DUP4 00000da1: AND 00000da2: DUP3 00000da3: DUP3 00000da4: ADD 00000da5: MSTORE 00000da6: MLOAD 00000da7: PUSH32 0x9b3d82621a55ae56941a49b01b3111acf42e49f89b2af1a6dea8fb9886d3520c 00000dc8: SWAP2 00000dc9: DUP2 00000dca: SWAP1 00000dcb: SUB 00000dcc: PUSH1 0x60 00000dce: ADD 00000dcf: SWAP1 00000dd0: LOG1 00000dd1: PUSH1 0x01 00000dd3: DUP1 00000dd4: SLOAD 00000dd5: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000df6: AND 00000df7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e0c: SWAP3 00000e0d: SWAP1 00000e0e: SWAP3 00000e0f: AND 00000e10: SWAP2 00000e11: SWAP1 00000e12: SWAP2 00000e13: OR 00000e14: SWAP1 00000e15: SSTORE 00000e16: JUMP 00000e17: JUMPDEST 00000e18: PUSH1 0x00 00000e1a: SLOAD 00000e1b: PUSH2 0x0100 00000e1e: SWAP1 00000e1f: DIV 00000e20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e35: AND 00000e36: CALLER 00000e37: EQ 00000e38: PUSH2 0x0e9d 00000e3b: JUMPI 00000e3c: PUSH1 0x40 00000e3e: MLOAD 00000e3f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e60: DUP2 00000e61: MSTORE 00000e62: PUSH1 0x20 00000e64: PUSH1 0x04 00000e66: DUP3 00000e67: ADD 00000e68: MSTORE 00000e69: PUSH1 0x0a 00000e6b: PUSH1 0x24 00000e6d: DUP3 00000e6e: ADD 00000e6f: MSTORE 00000e70: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00000e91: PUSH1 0x44 00000e93: DUP3 00000e94: ADD 00000e95: MSTORE 00000e96: PUSH1 0x64 00000e98: ADD 00000e99: PUSH2 0x0759 00000e9c: JUMP 00000e9d: JUMPDEST 00000e9e: PUSH1 0x40 00000ea0: DUP1 00000ea1: MLOAD 00000ea2: PUSH2 0xffff 00000ea5: DUP4 00000ea6: AND 00000ea7: DUP2 00000ea8: MSTORE 00000ea9: CALLER 00000eaa: PUSH1 0x20 00000eac: DUP3 00000ead: ADD 00000eae: MSTORE 00000eaf: PUSH32 0xa3f2d453e9999c008b07f10a428e6a33ce8dd4b9423bef99ff9cd579cedfb8b5 00000ed0: SWAP2 00000ed1: ADD 00000ed2: PUSH1 0x40 00000ed4: MLOAD 00000ed5: DUP1 00000ed6: SWAP2 00000ed7: SUB 00000ed8: SWAP1 00000ed9: LOG1 00000eda: PUSH1 0x01 00000edc: DUP1 00000edd: SLOAD 00000ede: PUSH2 0xffff 00000ee1: SWAP1 00000ee2: SWAP3 00000ee3: AND 00000ee4: PUSH21 0x010000000000000000000000000000000000000000 00000efa: MUL 00000efb: PUSH32 0xffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff 00000f1c: SWAP1 00000f1d: SWAP3 00000f1e: AND 00000f1f: SWAP2 00000f20: SWAP1 00000f21: SWAP2 00000f22: OR 00000f23: SWAP1 00000f24: SSTORE 00000f25: JUMP 00000f26: JUMPDEST 00000f27: PUSH1 0x08 00000f29: SLOAD 00000f2a: PUSH1 0xff 00000f2c: AND 00000f2d: ISZERO 00000f2e: PUSH2 0x0f93 00000f31: JUMPI 00000f32: PUSH1 0x40 00000f34: MLOAD 00000f35: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000f56: DUP2 00000f57: MSTORE 00000f58: PUSH1 0x20 00000f5a: PUSH1 0x04 00000f5c: DUP3 00000f5d: ADD 00000f5e: MSTORE 00000f5f: PUSH1 0x0a 00000f61: PUSH1 0x24 00000f63: DUP3 00000f64: ADD 00000f65: MSTORE 00000f66: PUSH32 0x6d75746578206c6f636b00000000000000000000000000000000000000000000 00000f87: PUSH1 0x44 00000f89: DUP3 00000f8a: ADD 00000f8b: MSTORE 00000f8c: PUSH1 0x64 00000f8e: ADD 00000f8f: PUSH2 0x0759 00000f92: JUMP 00000f93: JUMPDEST 00000f94: PUSH1 0x08 00000f96: DUP1 00000f97: SLOAD 00000f98: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00000fb9: AND 00000fba: PUSH1 0x01 00000fbc: OR 00000fbd: SWAP1 00000fbe: SSTORE 00000fbf: PUSH1 0x00 00000fc1: SLOAD 00000fc2: PUSH22 0x01000000000000000000000000000000000000000000 00000fd9: SWAP1 00000fda: DIV 00000fdb: PUSH1 0xff 00000fdd: AND 00000fde: ISZERO 00000fdf: PUSH2 0x1044 00000fe2: JUMPI 00000fe3: PUSH1 0x40 00000fe5: MLOAD 00000fe6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001007: DUP2 00001008: MSTORE 00001009: PUSH1 0x20 0000100b: PUSH1 0x04 0000100d: DUP3 0000100e: ADD 0000100f: MSTORE 00001010: PUSH1 0x06 00001012: PUSH1 0x24 00001014: DUP3 00001015: ADD 00001016: MSTORE 00001017: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000 00001038: PUSH1 0x44 0000103a: DUP3 0000103b: ADD 0000103c: MSTORE 0000103d: PUSH1 0x64 0000103f: ADD 00001040: PUSH2 0x0759 00001043: JUMP 00001044: JUMPDEST 00001045: PUSH1 0x00 00001047: SLOAD 00001048: PUSH1 0xff 0000104a: AND 0000104b: PUSH2 0x10b0 0000104e: JUMPI 0000104f: PUSH1 0x40 00001051: MLOAD 00001052: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001073: DUP2 00001074: MSTORE 00001075: PUSH1 0x20 00001077: PUSH1 0x04 00001079: DUP3 0000107a: ADD 0000107b: MSTORE 0000107c: PUSH1 0x0f 0000107e: PUSH1 0x24 00001080: DUP3 00001081: ADD 00001082: MSTORE 00001083: PUSH32 0x6e6f7420696e697469616c697a65640000000000000000000000000000000000 000010a4: PUSH1 0x44 000010a6: DUP3 000010a7: ADD 000010a8: MSTORE 000010a9: PUSH1 0x64 000010ab: ADD 000010ac: PUSH2 0x0759 000010af: JUMP 000010b0: JUMPDEST 000010b1: PUSH2 0xffff 000010b4: DUP7 000010b5: AND 000010b6: PUSH1 0x00 000010b8: SWAP1 000010b9: DUP2 000010ba: MSTORE 000010bb: PUSH1 0x06 000010bd: PUSH1 0x20 000010bf: MSTORE 000010c0: PUSH1 0x40 000010c2: SWAP1 000010c3: KECCAK256 000010c4: SLOAD 000010c5: PUSH1 0xff 000010c7: AND 000010c8: PUSH2 0x112d 000010cb: JUMPI 000010cc: PUSH1 0x40 000010ce: MLOAD 000010cf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000010f0: DUP2 000010f1: MSTORE 000010f2: PUSH1 0x20 000010f4: PUSH1 0x04 000010f6: DUP3 000010f7: ADD 000010f8: MSTORE 000010f9: PUSH1 0x1a 000010fb: PUSH1 0x24 000010fd: DUP3 000010fe: ADD 000010ff: MSTORE 00001100: PUSH32 0x657865637574696f6e20636861696e2069732064697361626c65000000000000 00001121: PUSH1 0x44 00001123: DUP3 00001124: ADD 00001125: MSTORE 00001126: PUSH1 0x64 00001128: ADD 00001129: PUSH2 0x0759 0000112c: JUMP 0000112d: JUMPDEST 0000112e: PUSH2 0xffff 00001131: DUP7 00001132: AND 00001133: PUSH1 0x00 00001135: SWAP1 00001136: DUP2 00001137: MSTORE 00001138: PUSH1 0x09 0000113a: PUSH1 0x20 0000113c: MSTORE 0000113d: PUSH1 0x40 0000113f: DUP1 00001140: DUP3 00001141: KECCAK256 00001142: DUP2 00001143: MLOAD 00001144: PUSH1 0xe0 00001146: DUP2 00001147: ADD 00001148: SWAP1 00001149: SWAP3 0000114a: MSTORE 0000114b: DUP1 0000114c: SLOAD 0000114d: DUP3 0000114e: SWAP1 0000114f: DUP3 00001150: SWAP1 00001151: PUSH2 0x1159 00001154: SWAP1 00001155: PUSH2 0x2f75 00001158: JUMP 00001159: JUMPDEST 0000115a: DUP1 0000115b: PUSH1 0x1f 0000115d: ADD 0000115e: PUSH1 0x20 00001160: DUP1 00001161: SWAP2 00001162: DIV 00001163: MUL 00001164: PUSH1 0x20 00001166: ADD 00001167: PUSH1 0x40 00001169: MLOAD 0000116a: SWAP1 0000116b: DUP2 0000116c: ADD 0000116d: PUSH1 0x40 0000116f: MSTORE 00001170: DUP1 00001171: SWAP3 00001172: SWAP2 00001173: SWAP1 00001174: DUP2 00001175: DUP2 00001176: MSTORE 00001177: PUSH1 0x20 00001179: ADD 0000117a: DUP3 0000117b: DUP1 0000117c: SLOAD 0000117d: PUSH2 0x1185 00001180: SWAP1 00001181: PUSH2 0x2f75 00001184: JUMP 00001185: JUMPDEST 00001186: DUP1 00001187: ISZERO 00001188: PUSH2 0x11d2 0000118b: JUMPI 0000118c: DUP1 0000118d: PUSH1 0x1f 0000118f: LT 00001190: PUSH2 0x11a7 00001193: JUMPI 00001194: PUSH2 0x0100 00001197: DUP1 00001198: DUP4 00001199: SLOAD 0000119a: DIV 0000119b: MUL 0000119c: DUP4 0000119d: MSTORE 0000119e: SWAP2 0000119f: PUSH1 0x20 000011a1: ADD 000011a2: SWAP2 000011a3: PUSH2 0x11d2 000011a6: JUMP 000011a7: JUMPDEST 000011a8: DUP3 000011a9: ADD 000011aa: SWAP2 000011ab: SWAP1 000011ac: PUSH1 0x00 000011ae: MSTORE 000011af: PUSH1 0x20 000011b1: PUSH1 0x00 000011b3: KECCAK256 000011b4: SWAP1 000011b5: JUMPDEST 000011b6: DUP2 000011b7: SLOAD 000011b8: DUP2 000011b9: MSTORE 000011ba: SWAP1 000011bb: PUSH1 0x01 000011bd: ADD 000011be: SWAP1 000011bf: PUSH1 0x20 000011c1: ADD 000011c2: DUP1 000011c3: DUP4 000011c4: GT 000011c5: PUSH2 0x11b5 000011c8: JUMPI 000011c9: DUP3 000011ca: SWAP1 000011cb: SUB 000011cc: PUSH1 0x1f 000011ce: AND 000011cf: DUP3 000011d0: ADD 000011d1: SWAP2 000011d2: JUMPDEST 000011d3: POP 000011d4: POP 000011d5: POP 000011d6: SWAP2 000011d7: DUP4 000011d8: MSTORE 000011d9: POP 000011da: POP 000011db: PUSH1 0x01 000011dd: DUP3 000011de: ADD 000011df: SLOAD 000011e0: PUSH1 0x20 000011e2: DUP3 000011e3: ADD 000011e4: MSTORE 000011e5: PUSH1 0x02 000011e7: DUP3 000011e8: ADD 000011e9: SLOAD 000011ea: PUSH1 0x40 000011ec: DUP3 000011ed: ADD 000011ee: MSTORE 000011ef: PUSH1 0x03 000011f1: DUP3 000011f2: ADD 000011f3: SLOAD 000011f4: PUSH1 0x60 000011f6: DUP3 000011f7: ADD 000011f8: MSTORE 000011f9: PUSH1 0x04 000011fb: DUP3 000011fc: ADD 000011fd: SLOAD 000011fe: PUSH16 0xffffffffffffffffffffffffffffffff 0000120f: DUP1 00001210: DUP3 00001211: AND 00001212: PUSH1 0x80 00001214: DUP5 00001215: ADD 00001216: MSTORE 00001217: PUSH17 0x0100000000000000000000000000000000 00001229: SWAP1 0000122a: SWAP2 0000122b: DIV 0000122c: AND 0000122d: PUSH1 0xa0 0000122f: DUP3 00001230: ADD 00001231: MSTORE 00001232: PUSH1 0x05 00001234: SWAP1 00001235: SWAP2 00001236: ADD 00001237: SLOAD 00001238: PUSH1 0xff 0000123a: AND 0000123b: ISZERO 0000123c: ISZERO 0000123d: PUSH1 0xc0 0000123f: SWAP2 00001240: DUP3 00001241: ADD 00001242: MSTORE 00001243: DUP2 00001244: ADD 00001245: MLOAD 00001246: SWAP1 00001247: SWAP2 00001248: POP 00001249: PUSH2 0x12ae 0000124c: JUMPI 0000124d: PUSH1 0x40 0000124f: MLOAD 00001250: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001271: DUP2 00001272: MSTORE 00001273: PUSH1 0x20 00001275: PUSH1 0x04 00001277: DUP3 00001278: ADD 00001279: MSTORE 0000127a: PUSH1 0x11 0000127c: PUSH1 0x24 0000127e: DUP3 0000127f: ADD 00001280: MSTORE 00001281: PUSH32 0x746f6b656e2069732064697361626c6564000000000000000000000000000000 000012a2: PUSH1 0x44 000012a4: DUP3 000012a5: ADD 000012a6: MSTORE 000012a7: PUSH1 0x64 000012a9: ADD 000012aa: PUSH2 0x0759 000012ad: JUMP 000012ae: JUMPDEST 000012af: DUP1 000012b0: PUSH1 0x20 000012b2: ADD 000012b3: MLOAD 000012b4: CALLVALUE 000012b5: LT 000012b6: ISZERO 000012b7: PUSH2 0x131c 000012ba: JUMPI 000012bb: PUSH1 0x40 000012bd: MLOAD 000012be: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000012df: DUP2 000012e0: MSTORE 000012e1: PUSH1 0x20 000012e3: PUSH1 0x04 000012e5: DUP3 000012e6: ADD 000012e7: MSTORE 000012e8: PUSH1 0x14 000012ea: PUSH1 0x24 000012ec: DUP3 000012ed: ADD 000012ee: MSTORE 000012ef: PUSH32 0x6c657373207468616e206d696e20616d6f756e74000000000000000000000000 00001310: PUSH1 0x44 00001312: DUP3 00001313: ADD 00001314: MSTORE 00001315: PUSH1 0x64 00001317: ADD 00001318: PUSH2 0x0759 0000131b: JUMP 0000131c: JUMPDEST 0000131d: PUSH1 0x00 0000131f: DUP2 00001320: PUSH1 0x60 00001322: ADD 00001323: MLOAD 00001324: CALLVALUE 00001325: GT 00001326: PUSH2 0x1333 00001329: JUMPI 0000132a: DUP2 0000132b: PUSH1 0x80 0000132d: ADD 0000132e: MLOAD 0000132f: PUSH2 0x1339 00001332: JUMP 00001333: JUMPDEST 00001334: DUP2 00001335: PUSH1 0xa0 00001337: ADD 00001338: MLOAD 00001339: JUMPDEST 0000133a: SWAP1 0000133b: POP 0000133c: PUSH1 0x00 0000133e: PUSH3 0x0f4240 00001342: PUSH2 0x135d 00001345: PUSH16 0xffffffffffffffffffffffffffffffff 00001356: DUP5 00001357: AND 00001358: CALLVALUE 00001359: PUSH2 0x315f 0000135c: JUMP 0000135d: JUMPDEST 0000135e: PUSH2 0x1367 00001361: SWAP2 00001362: SWAP1 00001363: PUSH2 0x317c 00001366: JUMP 00001367: JUMPDEST 00001368: DUP4 00001369: PUSH1 0x40 0000136b: ADD 0000136c: MLOAD 0000136d: PUSH2 0x1376 00001370: SWAP2 00001371: SWAP1 00001372: PUSH2 0x31b7 00001375: JUMP 00001376: JUMPDEST 00001377: SWAP1 00001378: POP 00001379: DUP1 0000137a: CALLVALUE 0000137b: GT 0000137c: PUSH2 0x13e1 0000137f: JUMPI 00001380: PUSH1 0x40 00001382: MLOAD 00001383: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013a4: DUP2 000013a5: MSTORE 000013a6: PUSH1 0x20 000013a8: PUSH1 0x04 000013aa: DUP3 000013ab: ADD 000013ac: MSTORE 000013ad: PUSH1 0x14 000013af: PUSH1 0x24 000013b1: DUP3 000013b2: ADD 000013b3: MSTORE 000013b4: PUSH32 0x666565206d6f7265207468616e20616d6f756e74000000000000000000000000 000013d5: PUSH1 0x44 000013d7: DUP3 000013d8: ADD 000013d9: MSTORE 000013da: PUSH1 0x64 000013dc: ADD 000013dd: PUSH2 0x0759 000013e0: JUMP 000013e1: JUMPDEST 000013e2: CALLVALUE 000013e3: DUP2 000013e4: SWAP1 000013e5: SUB 000013e6: DUP5 000013e7: DUP2 000013e8: GT 000013e9: PUSH2 0x144e 000013ec: JUMPI 000013ed: PUSH1 0x40 000013ef: MLOAD 000013f0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001411: DUP2 00001412: MSTORE 00001413: PUSH1 0x20 00001415: PUSH1 0x04 00001417: DUP3 00001418: ADD 00001419: DUP2 0000141a: SWAP1 0000141b: MSTORE 0000141c: PUSH1 0x24 0000141e: DUP3 0000141f: ADD 00001420: MSTORE 00001421: PUSH32 0x676173736c65737320726577617264206d6f7265207468616e20616d6f756e74 00001442: PUSH1 0x44 00001444: DUP3 00001445: ADD 00001446: MSTORE 00001447: PUSH1 0x64 00001449: ADD 0000144a: PUSH2 0x0759 0000144d: JUMP 0000144e: JUMPDEST 0000144f: PUSH2 0xffff 00001452: DUP11 00001453: AND 00001454: PUSH1 0x00 00001456: SWAP1 00001457: DUP2 00001458: MSTORE 00001459: PUSH1 0x07 0000145b: PUSH1 0x20 0000145d: MSTORE 0000145e: PUSH1 0x40 00001460: DUP1 00001461: DUP3 00001462: KECCAK256 00001463: SWAP1 00001464: MLOAD 00001465: PUSH3 0x0f4240 00001469: SWAP2 0000146a: SWAP1 0000146b: PUSH2 0x1477 0000146e: SWAP1 0000146f: DUP12 00001470: SWAP1 00001471: DUP12 00001472: SWAP1 00001473: PUSH2 0x31ca 00001476: JUMP 00001477: JUMPDEST 00001478: SWAP1 00001479: DUP2 0000147a: MSTORE 0000147b: PUSH1 0x40 0000147d: MLOAD 0000147e: SWAP1 0000147f: DUP2 00001480: SWAP1 00001481: SUB 00001482: PUSH1 0x20 00001484: ADD 00001485: SWAP1 00001486: KECCAK256 00001487: SLOAD 00001488: PUSH2 0x14a3 0000148b: SWAP1 0000148c: PUSH16 0xffffffffffffffffffffffffffffffff 0000149d: AND 0000149e: DUP6 0000149f: PUSH2 0x315f 000014a2: JUMP 000014a3: JUMPDEST 000014a4: PUSH2 0x14ad 000014a7: SWAP2 000014a8: SWAP1 000014a9: PUSH2 0x317c 000014ac: JUMP 000014ad: JUMPDEST 000014ae: SWAP1 000014af: POP 000014b0: PUSH2 0x14b9 000014b3: DUP2 000014b4: DUP5 000014b5: PUSH2 0x31da 000014b8: JUMP 000014b9: JUMPDEST 000014ba: PUSH1 0x0a 000014bc: PUSH1 0x00 000014be: DUP3 000014bf: DUP3 000014c0: SLOAD 000014c1: PUSH2 0x14ca 000014c4: SWAP2 000014c5: SWAP1 000014c6: PUSH2 0x31b7 000014c9: JUMP 000014ca: JUMPDEST 000014cb: SWAP1 000014cc: SWAP2 000014cd: SSTORE 000014ce: POP 000014cf: PUSH2 0x14da 000014d2: SWAP1 000014d3: POP 000014d4: DUP2 000014d5: DUP4 000014d6: PUSH2 0x31b7 000014d9: JUMP 000014da: JUMPDEST 000014db: PUSH1 0x0b 000014dd: PUSH1 0x00 000014df: DUP3 000014e0: DUP3 000014e1: SLOAD 000014e2: PUSH2 0x14eb 000014e5: SWAP2 000014e6: SWAP1 000014e7: PUSH2 0x31b7 000014ea: JUMP 000014eb: JUMPDEST 000014ec: SWAP1 000014ed: SWAP2 000014ee: SSTORE 000014ef: POP 000014f0: PUSH32 0xbd5f70a23e54b5a3880fb16392520f3c3cb0fb9e78a2f6a218e7a7f37a61c7fd 00001511: SWAP1 00001512: POP 00001513: DUP12 00001514: DUP4 00001515: DUP13 00001516: DUP13 00001517: DUP11 00001518: DUP14 00001519: DUP14 0000151a: DUP9 0000151b: PUSH2 0x1524 0000151e: DUP2 0000151f: DUP14 00001520: PUSH2 0x31da 00001523: JUMP 00001524: JUMPDEST 00001525: PUSH1 0x40 00001527: MLOAD 00001528: PUSH2 0x1539 0000152b: SWAP10 0000152c: SWAP9 0000152d: SWAP8 0000152e: SWAP7 0000152f: SWAP6 00001530: SWAP5 00001531: SWAP4 00001532: SWAP3 00001533: SWAP2 00001534: SWAP1 00001535: PUSH2 0x3236 00001538: JUMP 00001539: JUMPDEST 0000153a: PUSH1 0x40 0000153c: MLOAD 0000153d: DUP1 0000153e: SWAP2 0000153f: SUB 00001540: SWAP1 00001541: LOG1 00001542: PUSH1 0x03 00001544: SLOAD 00001545: DUP6 00001546: MLOAD 00001547: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000155c: SWAP1 0000155d: SWAP2 0000155e: AND 0000155f: SWAP1 00001560: PUSH4 0xf3f8db33 00001565: SWAP1 00001566: DUP14 00001567: SWAP1 00001568: PUSH2 0x1576 0000156b: PUSH5 0xe8d4a51000 00001571: DUP8 00001572: PUSH2 0x317c 00001575: JUMP 00001576: JUMPDEST 00001577: DUP15 00001578: DUP15 00001579: PUSH2 0x1587 0000157c: PUSH5 0xe8d4a51000 00001582: DUP15 00001583: PUSH2 0x317c 00001586: JUMP 00001587: JUMPDEST 00001588: DUP16 00001589: DUP16 0000158a: PUSH2 0x1598 0000158d: PUSH5 0xe8d4a51000 00001593: DUP13 00001594: PUSH2 0x317c 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH1 0x40 0000159b: MLOAD 0000159c: DUP11 0000159d: PUSH4 0xffffffff 000015a2: AND 000015a3: PUSH1 0xe0 000015a5: SHL 000015a6: DUP2 000015a7: MSTORE 000015a8: PUSH1 0x04 000015aa: ADD 000015ab: PUSH2 0x15bc 000015ae: SWAP10 000015af: SWAP9 000015b0: SWAP8 000015b1: SWAP7 000015b2: SWAP6 000015b3: SWAP5 000015b4: SWAP4 000015b5: SWAP3 000015b6: SWAP2 000015b7: SWAP1 000015b8: PUSH2 0x328c 000015bb: JUMP 000015bc: JUMPDEST 000015bd: PUSH1 0x00 000015bf: PUSH1 0x40 000015c1: MLOAD 000015c2: DUP1 000015c3: DUP4 000015c4: SUB 000015c5: DUP2 000015c6: PUSH1 0x00 000015c8: DUP8 000015c9: DUP1 000015ca: EXTCODESIZE 000015cb: ISZERO 000015cc: DUP1 000015cd: ISZERO 000015ce: PUSH2 0x15d6 000015d1: JUMPI 000015d2: PUSH1 0x00 000015d4: DUP1 000015d5: REVERT 000015d6: JUMPDEST 000015d7: POP 000015d8: GAS 000015d9: CALL 000015da: ISZERO 000015db: DUP1 000015dc: ISZERO 000015dd: PUSH2 0x15ea 000015e0: JUMPI 000015e1: RETURNDATASIZE 000015e2: PUSH1 0x00 000015e4: DUP1 000015e5: RETURNDATACOPY 000015e6: RETURNDATASIZE 000015e7: PUSH1 0x00 000015e9: REVERT 000015ea: JUMPDEST 000015eb: POP 000015ec: POP 000015ed: PUSH1 0x08 000015ef: DUP1 000015f0: SLOAD 000015f1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001612: AND 00001613: SWAP1 00001614: SSTORE 00001615: POP 00001616: POP 00001617: POP 00001618: POP 00001619: POP 0000161a: POP 0000161b: POP 0000161c: POP 0000161d: POP 0000161e: POP 0000161f: POP 00001620: POP 00001621: POP 00001622: JUMP 00001623: JUMPDEST 00001624: PUSH1 0x00 00001626: SLOAD 00001627: PUSH22 0x01000000000000000000000000000000000000000000 0000163e: SWAP1 0000163f: DIV 00001640: PUSH1 0xff 00001642: AND 00001643: ISZERO 00001644: PUSH2 0x16a9 00001647: JUMPI 00001648: PUSH1 0x40 0000164a: MLOAD 0000164b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000166c: DUP2 0000166d: MSTORE 0000166e: PUSH1 0x20 00001670: PUSH1 0x04 00001672: DUP3 00001673: ADD 00001674: MSTORE 00001675: PUSH1 0x06 00001677: PUSH1 0x24 00001679: DUP3 0000167a: ADD 0000167b: MSTORE 0000167c: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000 0000169d: PUSH1 0x44 0000169f: DUP3 000016a0: ADD 000016a1: MSTORE 000016a2: PUSH1 0x64 000016a4: ADD 000016a5: PUSH2 0x0759 000016a8: JUMP 000016a9: JUMPDEST 000016aa: PUSH1 0x01 000016ac: SLOAD 000016ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c2: AND 000016c3: CALLER 000016c4: EQ 000016c5: PUSH2 0x172a 000016c8: JUMPI 000016c9: PUSH1 0x40 000016cb: MLOAD 000016cc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016ed: DUP2 000016ee: MSTORE 000016ef: PUSH1 0x20 000016f1: PUSH1 0x04 000016f3: DUP3 000016f4: ADD 000016f5: MSTORE 000016f6: PUSH1 0x0b 000016f8: PUSH1 0x24 000016fa: DUP3 000016fb: ADD 000016fc: MSTORE 000016fd: PUSH32 0x6f6e6c7920706175736572000000000000000000000000000000000000000000 0000171e: PUSH1 0x44 00001720: DUP3 00001721: ADD 00001722: MSTORE 00001723: PUSH1 0x64 00001725: ADD 00001726: PUSH2 0x0759 00001729: JUMP 0000172a: JUMPDEST 0000172b: PUSH1 0x00 0000172d: DUP1 0000172e: SLOAD 0000172f: PUSH32 0xffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff 00001750: AND 00001751: PUSH22 0x01000000000000000000000000000000000000000000 00001768: OR 00001769: SWAP1 0000176a: SSTORE 0000176b: PUSH1 0x40 0000176d: MLOAD 0000176e: CALLER 0000176f: DUP2 00001770: MSTORE 00001771: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00001792: SWAP1 00001793: PUSH1 0x20 00001795: ADD 00001796: PUSH2 0x0bdc 00001799: JUMP 0000179a: JUMPDEST 0000179b: PUSH1 0x08 0000179d: SLOAD 0000179e: PUSH1 0xff 000017a0: AND 000017a1: ISZERO 000017a2: PUSH2 0x1807 000017a5: JUMPI 000017a6: PUSH1 0x40 000017a8: MLOAD 000017a9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000017ca: DUP2 000017cb: MSTORE 000017cc: PUSH1 0x20 000017ce: PUSH1 0x04 000017d0: DUP3 000017d1: ADD 000017d2: MSTORE 000017d3: PUSH1 0x0a 000017d5: PUSH1 0x24 000017d7: DUP3 000017d8: ADD 000017d9: MSTORE 000017da: PUSH32 0x6d75746578206c6f636b00000000000000000000000000000000000000000000 000017fb: PUSH1 0x44 000017fd: DUP3 000017fe: ADD 000017ff: MSTORE 00001800: PUSH1 0x64 00001802: ADD 00001803: PUSH2 0x0759 00001806: JUMP 00001807: JUMPDEST 00001808: PUSH1 0x08 0000180a: DUP1 0000180b: SLOAD 0000180c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 0000182d: AND 0000182e: PUSH1 0x01 00001830: OR 00001831: SWAP1 00001832: SSTORE 00001833: PUSH1 0x00 00001835: SLOAD 00001836: PUSH22 0x01000000000000000000000000000000000000000000 0000184d: SWAP1 0000184e: DIV 0000184f: PUSH1 0xff 00001851: AND 00001852: ISZERO 00001853: PUSH2 0x18b8 00001856: JUMPI 00001857: PUSH1 0x40 00001859: MLOAD 0000185a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000187b: DUP2 0000187c: MSTORE 0000187d: PUSH1 0x20 0000187f: PUSH1 0x04 00001881: DUP3 00001882: ADD 00001883: MSTORE 00001884: PUSH1 0x06 00001886: PUSH1 0x24 00001888: DUP3 00001889: ADD 0000188a: MSTORE 0000188b: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000 000018ac: PUSH1 0x44 000018ae: DUP3 000018af: ADD 000018b0: MSTORE 000018b1: PUSH1 0x64 000018b3: ADD 000018b4: PUSH2 0x0759 000018b7: JUMP 000018b8: JUMPDEST 000018b9: PUSH1 0x00 000018bb: SLOAD 000018bc: PUSH1 0xff 000018be: AND 000018bf: PUSH2 0x1924 000018c2: JUMPI 000018c3: PUSH1 0x40 000018c5: MLOAD 000018c6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000018e7: DUP2 000018e8: MSTORE 000018e9: PUSH1 0x20 000018eb: PUSH1 0x04 000018ed: DUP3 000018ee: ADD 000018ef: MSTORE 000018f0: PUSH1 0x0f 000018f2: PUSH1 0x24 000018f4: DUP3 000018f5: ADD 000018f6: MSTORE 000018f7: PUSH32 0x6e6f7420696e697469616c697a65640000000000000000000000000000000000 00001918: PUSH1 0x44 0000191a: DUP3 0000191b: ADD 0000191c: MSTORE 0000191d: PUSH1 0x64 0000191f: ADD 00001920: PUSH2 0x0759 00001923: JUMP 00001924: JUMPDEST 00001925: PUSH1 0x04 00001927: SLOAD 00001928: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000193d: AND 0000193e: CALLER 0000193f: EQ 00001940: PUSH2 0x19a5 00001943: JUMPI 00001944: PUSH1 0x40 00001946: MLOAD 00001947: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001968: DUP2 00001969: MSTORE 0000196a: PUSH1 0x20 0000196c: PUSH1 0x04 0000196e: DUP3 0000196f: ADD 00001970: MSTORE 00001971: PUSH1 0x0d 00001973: PUSH1 0x24 00001975: DUP3 00001976: ADD 00001977: MSTORE 00001978: PUSH32 0x6f6e6c79206578656375746f7200000000000000000000000000000000000000 00001999: PUSH1 0x44 0000199b: DUP3 0000199c: ADD 0000199d: MSTORE 0000199e: PUSH1 0x64 000019a0: ADD 000019a1: PUSH2 0x0759 000019a4: JUMP 000019a5: JUMPDEST 000019a6: DUP4 000019a7: PUSH1 0x05 000019a9: SLOAD 000019aa: EQ 000019ab: PUSH2 0x1a10 000019ae: JUMPI 000019af: PUSH1 0x40 000019b1: MLOAD 000019b2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000019d3: DUP2 000019d4: MSTORE 000019d5: PUSH1 0x20 000019d7: PUSH1 0x04 000019d9: DUP3 000019da: ADD 000019db: MSTORE 000019dc: PUSH1 0x14 000019de: PUSH1 0x24 000019e0: DUP3 000019e1: ADD 000019e2: MSTORE 000019e3: PUSH32 0x6f6e6c792063616c6c657220636f6e7472616374000000000000000000000000 00001a04: PUSH1 0x44 00001a06: DUP3 00001a07: ADD 00001a08: MSTORE 00001a09: PUSH1 0x64 00001a0b: ADD 00001a0c: PUSH2 0x0759 00001a0f: JUMP 00001a10: JUMPDEST 00001a11: PUSH1 0x0b 00001a13: SLOAD 00001a14: PUSH2 0x1a22 00001a17: PUSH5 0xe8d4a51000 00001a1d: DUP5 00001a1e: PUSH2 0x315f 00001a21: JUMP 00001a22: JUMPDEST 00001a23: SWAP3 00001a24: POP 00001a25: PUSH2 0x1a33 00001a28: PUSH5 0xe8d4a51000 00001a2e: DUP4 00001a2f: PUSH2 0x315f 00001a32: JUMP 00001a33: JUMPDEST 00001a34: SWAP2 00001a35: POP 00001a36: DUP3 00001a37: DUP2 00001a38: LT 00001a39: ISZERO 00001a3a: PUSH2 0x1a9f 00001a3d: JUMPI 00001a3e: PUSH1 0x40 00001a40: MLOAD 00001a41: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a62: DUP2 00001a63: MSTORE 00001a64: PUSH1 0x20 00001a66: PUSH1 0x04 00001a68: DUP3 00001a69: ADD 00001a6a: MSTORE 00001a6b: PUSH1 0x12 00001a6d: PUSH1 0x24 00001a6f: DUP3 00001a70: ADD 00001a71: MSTORE 00001a72: PUSH32 0x696e73756666696369656e742066756e64730000000000000000000000000000 00001a93: PUSH1 0x44 00001a95: DUP3 00001a96: ADD 00001a97: MSTORE 00001a98: PUSH1 0x64 00001a9a: ADD 00001a9b: PUSH2 0x0759 00001a9e: JUMP 00001a9f: JUMPDEST 00001aa0: DUP3 00001aa1: DUP2 00001aa2: SUB 00001aa3: PUSH1 0x0b 00001aa5: SSTORE 00001aa6: PUSH1 0x40 00001aa8: DUP1 00001aa9: MLOAD 00001aaa: DUP5 00001aab: DUP2 00001aac: MSTORE 00001aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ac2: DUP7 00001ac3: AND 00001ac4: PUSH1 0x20 00001ac6: DUP3 00001ac7: ADD 00001ac8: MSTORE 00001ac9: SWAP1 00001aca: DUP2 00001acb: ADD 00001acc: DUP4 00001acd: SWAP1 00001ace: MSTORE 00001acf: ORIGIN 00001ad0: PUSH1 0x60 00001ad2: DUP3 00001ad3: ADD 00001ad4: MSTORE 00001ad5: PUSH32 0x962ba7162f4c833675515d18cddc45390cfe1ea38dd381d4b5b3119cc05d14d1 00001af6: SWAP1 00001af7: PUSH1 0x80 00001af9: ADD 00001afa: PUSH1 0x40 00001afc: MLOAD 00001afd: DUP1 00001afe: SWAP2 00001aff: SUB 00001b00: SWAP1 00001b01: LOG1 00001b02: PUSH1 0x00 00001b04: DUP3 00001b05: GT 00001b06: DUP1 00001b07: ISZERO 00001b08: PUSH2 0x1b27 00001b0b: JUMPI 00001b0c: POP 00001b0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b22: DUP5 00001b23: AND 00001b24: ORIGIN 00001b25: EQ 00001b26: ISZERO 00001b27: JUMPDEST 00001b28: ISZERO 00001b29: PUSH2 0x1bac 00001b2c: JUMPI 00001b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b42: DUP5 00001b43: AND 00001b44: PUSH2 0x08fc 00001b47: PUSH2 0x1b50 00001b4a: DUP5 00001b4b: DUP7 00001b4c: PUSH2 0x31da 00001b4f: JUMP 00001b50: JUMPDEST 00001b51: PUSH1 0x40 00001b53: MLOAD 00001b54: DUP2 00001b55: ISZERO 00001b56: SWAP1 00001b57: SWAP3 00001b58: MUL 00001b59: SWAP2 00001b5a: PUSH1 0x00 00001b5c: DUP2 00001b5d: DUP2 00001b5e: DUP2 00001b5f: DUP6 00001b60: DUP9 00001b61: DUP9 00001b62: CALL 00001b63: SWAP4 00001b64: POP 00001b65: POP 00001b66: POP 00001b67: POP 00001b68: ISZERO 00001b69: DUP1 00001b6a: ISZERO 00001b6b: PUSH2 0x1b78 00001b6e: JUMPI 00001b6f: RETURNDATASIZE 00001b70: PUSH1 0x00 00001b72: DUP1 00001b73: RETURNDATACOPY 00001b74: RETURNDATASIZE 00001b75: PUSH1 0x00 00001b77: REVERT 00001b78: JUMPDEST 00001b79: POP 00001b7a: PUSH1 0x40 00001b7c: MLOAD 00001b7d: ORIGIN 00001b7e: SWAP1 00001b7f: DUP4 00001b80: ISZERO 00001b81: PUSH2 0x08fc 00001b84: MUL 00001b85: SWAP1 00001b86: DUP5 00001b87: SWAP1 00001b88: PUSH1 0x00 00001b8a: DUP2 00001b8b: DUP2 00001b8c: DUP2 00001b8d: DUP6 00001b8e: DUP9 00001b8f: DUP9 00001b90: CALL 00001b91: SWAP4 00001b92: POP 00001b93: POP 00001b94: POP 00001b95: POP 00001b96: ISZERO 00001b97: DUP1 00001b98: ISZERO 00001b99: PUSH2 0x1ba6 00001b9c: JUMPI 00001b9d: RETURNDATASIZE 00001b9e: PUSH1 0x00 00001ba0: DUP1 00001ba1: RETURNDATACOPY 00001ba2: RETURNDATASIZE 00001ba3: PUSH1 0x00 00001ba5: REVERT 00001ba6: JUMPDEST 00001ba7: POP 00001ba8: PUSH2 0x1bf1 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH1 0x40 00001baf: MLOAD 00001bb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bc5: DUP6 00001bc6: AND 00001bc7: SWAP1 00001bc8: DUP5 00001bc9: ISZERO 00001bca: PUSH2 0x08fc 00001bcd: MUL 00001bce: SWAP1 00001bcf: DUP6 00001bd0: SWAP1 00001bd1: PUSH1 0x00 00001bd3: DUP2 00001bd4: DUP2 00001bd5: DUP2 00001bd6: DUP6 00001bd7: DUP9 00001bd8: DUP9 00001bd9: CALL 00001bda: SWAP4 00001bdb: POP 00001bdc: POP 00001bdd: POP 00001bde: POP 00001bdf: ISZERO 00001be0: DUP1 00001be1: ISZERO 00001be2: PUSH2 0x1bef 00001be5: JUMPI 00001be6: RETURNDATASIZE 00001be7: PUSH1 0x00 00001be9: DUP1 00001bea: RETURNDATACOPY 00001beb: RETURNDATASIZE 00001bec: PUSH1 0x00 00001bee: REVERT 00001bef: JUMPDEST 00001bf0: POP 00001bf1: JUMPDEST 00001bf2: POP 00001bf3: POP 00001bf4: PUSH1 0x08 00001bf6: DUP1 00001bf7: SLOAD 00001bf8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001c19: AND 00001c1a: SWAP1 00001c1b: SSTORE 00001c1c: POP 00001c1d: POP 00001c1e: POP 00001c1f: JUMP 00001c20: JUMPDEST 00001c21: PUSH1 0x08 00001c23: SLOAD 00001c24: PUSH1 0xff 00001c26: AND 00001c27: ISZERO 00001c28: PUSH2 0x1c8d 00001c2b: JUMPI 00001c2c: PUSH1 0x40 00001c2e: MLOAD 00001c2f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c50: DUP2 00001c51: MSTORE 00001c52: PUSH1 0x20 00001c54: PUSH1 0x04 00001c56: DUP3 00001c57: ADD 00001c58: MSTORE 00001c59: PUSH1 0x0a 00001c5b: PUSH1 0x24 00001c5d: DUP3 00001c5e: ADD 00001c5f: MSTORE 00001c60: PUSH32 0x6d75746578206c6f636b00000000000000000000000000000000000000000000 00001c81: PUSH1 0x44 00001c83: DUP3 00001c84: ADD 00001c85: MSTORE 00001c86: PUSH1 0x64 00001c88: ADD 00001c89: PUSH2 0x0759 00001c8c: JUMP 00001c8d: JUMPDEST 00001c8e: PUSH1 0x08 00001c90: DUP1 00001c91: SLOAD 00001c92: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001cb3: AND 00001cb4: PUSH1 0x01 00001cb6: OR 00001cb7: SWAP1 00001cb8: SSTORE 00001cb9: PUSH1 0x00 00001cbb: SLOAD 00001cbc: PUSH22 0x01000000000000000000000000000000000000000000 00001cd3: SWAP1 00001cd4: DIV 00001cd5: PUSH1 0xff 00001cd7: AND 00001cd8: ISZERO 00001cd9: PUSH2 0x1d3e 00001cdc: JUMPI 00001cdd: PUSH1 0x40 00001cdf: MLOAD 00001ce0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001d01: DUP2 00001d02: MSTORE 00001d03: PUSH1 0x20 00001d05: PUSH1 0x04 00001d07: DUP3 00001d08: ADD 00001d09: MSTORE 00001d0a: PUSH1 0x06 00001d0c: PUSH1 0x24 00001d0e: DUP3 00001d0f: ADD 00001d10: MSTORE 00001d11: PUSH32 0x7061757365640000000000000000000000000000000000000000000000000000 00001d32: PUSH1 0x44 00001d34: DUP3 00001d35: ADD 00001d36: MSTORE 00001d37: PUSH1 0x64 00001d39: ADD 00001d3a: PUSH2 0x0759 00001d3d: JUMP 00001d3e: JUMPDEST 00001d3f: PUSH1 0x00 00001d41: SLOAD 00001d42: PUSH1 0xff 00001d44: AND 00001d45: PUSH2 0x1daa 00001d48: JUMPI 00001d49: PUSH1 0x40 00001d4b: MLOAD 00001d4c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001d6d: DUP2 00001d6e: MSTORE 00001d6f: PUSH1 0x20 00001d71: PUSH1 0x04 00001d73: DUP3 00001d74: ADD 00001d75: MSTORE 00001d76: PUSH1 0x0f 00001d78: PUSH1 0x24 00001d7a: DUP3 00001d7b: ADD 00001d7c: MSTORE 00001d7d: PUSH32 0x6e6f7420696e697469616c697a65640000000000000000000000000000000000 00001d9e: PUSH1 0x44 00001da0: DUP3 00001da1: ADD 00001da2: MSTORE 00001da3: PUSH1 0x64 00001da5: ADD 00001da6: PUSH2 0x0759 00001da9: JUMP 00001daa: JUMPDEST 00001dab: PUSH1 0x01 00001dad: SLOAD 00001dae: PUSH21 0x010000000000000000000000000000000000000000 00001dc4: SWAP1 00001dc5: DIV 00001dc6: PUSH2 0xffff 00001dc9: AND 00001dca: PUSH1 0x00 00001dcc: DUP2 00001dcd: DUP2 00001dce: MSTORE 00001dcf: PUSH1 0x06 00001dd1: PUSH1 0x20 00001dd3: MSTORE 00001dd4: PUSH1 0x40 00001dd6: SWAP1 00001dd7: KECCAK256 00001dd8: SLOAD 00001dd9: PUSH1 0xff 00001ddb: AND 00001ddc: PUSH2 0x1e41 00001ddf: JUMPI 00001de0: PUSH1 0x40 00001de2: MLOAD 00001de3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001e04: DUP2 00001e05: MSTORE 00001e06: PUSH1 0x20 00001e08: PUSH1 0x04 00001e0a: DUP3 00001e0b: ADD 00001e0c: MSTORE 00001e0d: PUSH1 0x10 00001e0f: PUSH1 0x24 00001e11: DUP3 00001e12: ADD 00001e13: MSTORE 00001e14: PUSH32 0x636861696e2069732064697361626c6500000000000000000000000000000000 00001e35: PUSH1 0x44 00001e37: DUP3 00001e38: ADD 00001e39: MSTORE 00001e3a: PUSH1 0x64 00001e3c: ADD 00001e3d: PUSH2 0x0759 00001e40: JUMP 00001e41: JUMPDEST 00001e42: PUSH2 0xffff 00001e45: DUP2 00001e46: AND 00001e47: PUSH1 0x00 00001e49: SWAP1 00001e4a: DUP2 00001e4b: MSTORE 00001e4c: PUSH1 0x09 00001e4e: PUSH1 0x20 00001e50: MSTORE 00001e51: PUSH1 0x40 00001e53: DUP1 00001e54: DUP3 00001e55: KECCAK256 00001e56: DUP2 00001e57: MLOAD 00001e58: PUSH1 0xe0 00001e5a: DUP2 00001e5b: ADD 00001e5c: SWAP1 00001e5d: SWAP3 00001e5e: MSTORE 00001e5f: DUP1 00001e60: SLOAD 00001e61: DUP3 00001e62: SWAP1 00001e63: DUP3 00001e64: SWAP1 00001e65: PUSH2 0x1e6d 00001e68: SWAP1 00001e69: PUSH2 0x2f75 00001e6c: JUMP 00001e6d: JUMPDEST 00001e6e: DUP1 00001e6f: PUSH1 0x1f 00001e71: ADD 00001e72: PUSH1 0x20 00001e74: DUP1 00001e75: SWAP2 00001e76: DIV 00001e77: MUL 00001e78: PUSH1 0x20 00001e7a: ADD 00001e7b: PUSH1 0x40 00001e7d: MLOAD 00001e7e: SWAP1 00001e7f: DUP2 00001e80: ADD 00001e81: PUSH1 0x40 00001e83: MSTORE 00001e84: DUP1 00001e85: SWAP3 00001e86: SWAP2 00001e87: SWAP1 00001e88: DUP2 00001e89: DUP2 00001e8a: MSTORE 00001e8b: PUSH1 0x20 00001e8d: ADD 00001e8e: DUP3 00001e8f: DUP1 00001e90: SLOAD 00001e91: PUSH2 0x1e99 00001e94: SWAP1 00001e95: PUSH2 0x2f75 00001e98: JUMP 00001e99: JUMPDEST 00001e9a: DUP1 00001e9b: ISZERO 00001e9c: PUSH2 0x1ee6 00001e9f: JUMPI 00001ea0: DUP1 00001ea1: PUSH1 0x1f 00001ea3: LT 00001ea4: PUSH2 0x1ebb 00001ea7: JUMPI 00001ea8: PUSH2 0x0100 00001eab: DUP1 00001eac: DUP4 00001ead: SLOAD 00001eae: DIV 00001eaf: MUL 00001eb0: DUP4 00001eb1: MSTORE 00001eb2: SWAP2 00001eb3: PUSH1 0x20 00001eb5: ADD 00001eb6: SWAP2 00001eb7: PUSH2 0x1ee6 00001eba: JUMP 00001ebb: JUMPDEST 00001ebc: DUP3 00001ebd: ADD 00001ebe: SWAP2 00001ebf: SWAP1 00001ec0: PUSH1 0x00 00001ec2: MSTORE 00001ec3: PUSH1 0x20 00001ec5: PUSH1 0x00 00001ec7: KECCAK256 00001ec8: SWAP1 00001ec9: JUMPDEST 00001eca: DUP2 00001ecb: SLOAD 00001ecc: DUP2 00001ecd: MSTORE 00001ece: SWAP1 00001ecf: PUSH1 0x01 00001ed1: ADD 00001ed2: SWAP1 00001ed3: PUSH1 0x20 00001ed5: ADD 00001ed6: DUP1 00001ed7: DUP4 00001ed8: GT 00001ed9: PUSH2 0x1ec9 00001edc: JUMPI 00001edd: DUP3 00001ede: SWAP1 00001edf: SUB 00001ee0: PUSH1 0x1f 00001ee2: AND 00001ee3: DUP3 00001ee4: ADD 00001ee5: SWAP2 00001ee6: JUMPDEST 00001ee7: POP 00001ee8: POP 00001ee9: POP 00001eea: SWAP2 00001eeb: DUP4 00001eec: MSTORE 00001eed: POP 00001eee: POP 00001eef: PUSH1 0x01 00001ef1: DUP3 00001ef2: ADD 00001ef3: SLOAD 00001ef4: PUSH1 0x20 00001ef6: DUP3 00001ef7: ADD 00001ef8: MSTORE 00001ef9: PUSH1 0x02 00001efb: DUP3 00001efc: ADD 00001efd: SLOAD 00001efe: PUSH1 0x40 00001f00: DUP3 00001f01: ADD 00001f02: MSTORE 00001f03: PUSH1 0x03 00001f05: DUP3 00001f06: ADD 00001f07: SLOAD 00001f08: PUSH1 0x60 00001f0a: DUP3 00001f0b: ADD 00001f0c: MSTORE 00001f0d: PUSH1 0x04 00001f0f: DUP3 00001f10: ADD 00001f11: SLOAD 00001f12: PUSH16 0xffffffffffffffffffffffffffffffff 00001f23: DUP1 00001f24: DUP3 00001f25: AND 00001f26: PUSH1 0x80 00001f28: DUP5 00001f29: ADD 00001f2a: MSTORE 00001f2b: PUSH17 0x0100000000000000000000000000000000 00001f3d: SWAP1 00001f3e: SWAP2 00001f3f: DIV 00001f40: AND 00001f41: PUSH1 0xa0 00001f43: DUP3 00001f44: ADD 00001f45: MSTORE 00001f46: PUSH1 0x05 00001f48: SWAP1 00001f49: SWAP2 00001f4a: ADD 00001f4b: SLOAD 00001f4c: PUSH1 0xff 00001f4e: AND 00001f4f: ISZERO 00001f50: ISZERO 00001f51: PUSH1 0xc0 00001f53: SWAP2 00001f54: DUP3 00001f55: ADD 00001f56: MSTORE 00001f57: DUP2 00001f58: ADD 00001f59: MLOAD 00001f5a: SWAP1 00001f5b: SWAP2 00001f5c: POP 00001f5d: PUSH2 0x1fc2 00001f60: JUMPI 00001f61: PUSH1 0x40 00001f63: MLOAD 00001f64: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001f85: DUP2 00001f86: MSTORE 00001f87: PUSH1 0x20 00001f89: PUSH1 0x04 00001f8b: DUP3 00001f8c: ADD 00001f8d: MSTORE 00001f8e: PUSH1 0x11 00001f90: PUSH1 0x24 00001f92: DUP3 00001f93: ADD 00001f94: MSTORE 00001f95: PUSH32 0x746f6b656e2069732064697361626c6564000000000000000000000000000000 00001fb6: PUSH1 0x44 00001fb8: DUP3 00001fb9: ADD 00001fba: MSTORE 00001fbb: PUSH1 0x64 00001fbd: ADD 00001fbe: PUSH2 0x0759 00001fc1: JUMP 00001fc2: JUMPDEST 00001fc3: PUSH1 0x0a 00001fc5: SLOAD 00001fc6: PUSH1 0x20 00001fc8: DUP3 00001fc9: ADD 00001fca: MLOAD 00001fcb: DUP2 00001fcc: LT 00001fcd: ISZERO 00001fce: PUSH2 0x2033 00001fd1: JUMPI 00001fd2: PUSH1 0x40 00001fd4: MLOAD 00001fd5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001ff6: DUP2 00001ff7: MSTORE 00001ff8: PUSH1 0x20 00001ffa: PUSH1 0x04 00001ffc: DUP3 00001ffd: ADD 00001ffe: MSTORE 00001fff: PUSH1 0x14 00002001: PUSH1 0x24 00002003: DUP3 00002004: ADD 00002005: MSTORE 00002006: PUSH32 0x6c657373207468616e206d696e20616d6f756e74000000000000000000000000 00002027: PUSH1 0x44 00002029: DUP3 0000202a: ADD 0000202b: MSTORE 0000202c: PUSH1 0x64 0000202e: ADD 0000202f: PUSH2 0x0759 00002032: JUMP 00002033: JUMPDEST 00002034: DUP1 00002035: PUSH1 0x0b 00002037: PUSH1 0x00 00002039: DUP3 0000203a: DUP3 0000203b: SLOAD 0000203c: PUSH2 0x2045 0000203f: SWAP2 00002040: SWAP1 00002041: PUSH2 0x31b7 00002044: JUMP 00002045: JUMPDEST 00002046: SWAP1 00002047: SWAP2 00002048: SSTORE 00002049: POP 0000204a: POP 0000204b: PUSH1 0x00 0000204d: PUSH1 0x0a 0000204f: SSTORE 00002050: PUSH2 0x205e 00002053: PUSH5 0xe8d4a51000 00002059: DUP3 0000205a: PUSH2 0x317c 0000205d: JUMP 0000205e: JUMPDEST 0000205f: SWAP1 00002060: POP 00002061: PUSH1 0x00 00002063: PUSH1 0x02 00002065: DUP1 00002066: SLOAD 00002067: PUSH2 0x206f 0000206a: SWAP1 0000206b: PUSH2 0x2f75 0000206e: JUMP 0000206f: JUMPDEST 00002070: DUP1 00002071: PUSH1 0x1f 00002073: ADD 00002074: PUSH1 0x20 00002076: DUP1 00002077: SWAP2 00002078: DIV 00002079: MUL 0000207a: PUSH1 0x20 0000207c: ADD 0000207d: PUSH1 0x40 0000207f: MLOAD 00002080: SWAP1 00002081: DUP2 00002082: ADD 00002083: PUSH1 0x40 00002085: MSTORE 00002086: DUP1 00002087: SWAP3 00002088: SWAP2 00002089: SWAP1 0000208a: DUP2 0000208b: DUP2 0000208c: MSTORE 0000208d: PUSH1 0x20 0000208f: ADD 00002090: DUP3 00002091: DUP1 00002092: SLOAD 00002093: PUSH2 0x209b 00002096: SWAP1 00002097: PUSH2 0x2f75 0000209a: JUMP 0000209b: JUMPDEST 0000209c: DUP1 0000209d: ISZERO 0000209e: PUSH2 0x20e8 000020a1: JUMPI 000020a2: DUP1 000020a3: PUSH1 0x1f 000020a5: LT 000020a6: PUSH2 0x20bd 000020a9: JUMPI 000020aa: PUSH2 0x0100 000020ad: DUP1 000020ae: DUP4 000020af: SLOAD 000020b0: DIV 000020b1: MUL 000020b2: DUP4 000020b3: MSTORE 000020b4: SWAP2 000020b5: PUSH1 0x20 000020b7: ADD 000020b8: SWAP2 000020b9: PUSH2 0x20e8 000020bc: JUMP 000020bd: JUMPDEST 000020be: DUP3 000020bf: ADD 000020c0: SWAP2 000020c1: SWAP1 000020c2: PUSH1 0x00 000020c4: MSTORE 000020c5: PUSH1 0x20 000020c7: PUSH1 0x00 000020c9: KECCAK256 000020ca: SWAP1 000020cb: JUMPDEST 000020cc: DUP2 000020cd: SLOAD 000020ce: DUP2 000020cf: MSTORE 000020d0: SWAP1 000020d1: PUSH1 0x01 000020d3: ADD 000020d4: SWAP1 000020d5: PUSH1 0x20 000020d7: ADD 000020d8: DUP1 000020d9: DUP4 000020da: GT 000020db: PUSH2 0x20cb 000020de: JUMPI 000020df: DUP3 000020e0: SWAP1 000020e1: SUB 000020e2: PUSH1 0x1f 000020e4: AND 000020e5: DUP3 000020e6: ADD 000020e7: SWAP2 000020e8: JUMPDEST 000020e9: POP 000020ea: POP 000020eb: POP 000020ec: POP 000020ed: POP 000020ee: SWAP1 000020ef: POP 000020f0: PUSH32 0x96437ac80e46ae10e2d87d1e818cd46867714023a3eb1e12484429d8cfa43922 00002111: DUP5 00002112: DUP4 00002113: DUP4 00002114: PUSH1 0x40 00002116: MLOAD 00002117: PUSH2 0x2122 0000211a: SWAP4 0000211b: SWAP3 0000211c: SWAP2 0000211d: SWAP1 0000211e: PUSH2 0x32f4 00002121: JUMP 00002122: JUMPDEST 00002123: PUSH1 0x40 00002125: MLOAD 00002126: DUP1 00002127: SWAP2 00002128: SUB 00002129: SWAP1 0000212a: LOG1 0000212b: PUSH1 0x03 0000212d: SLOAD 0000212e: DUP4 0000212f: MLOAD 00002130: PUSH1 0x40 00002132: MLOAD 00002133: PUSH32 0xf3f8db3300000000000000000000000000000000000000000000000000000000 00002154: DUP2 00002155: MSTORE 00002156: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000216b: SWAP1 0000216c: SWAP3 0000216d: AND 0000216e: SWAP2 0000216f: PUSH4 0xf3f8db33 00002174: SWAP2 00002175: PUSH2 0x218c 00002178: SWAP2 00002179: DUP9 0000217a: SWAP2 0000217b: SWAP1 0000217c: DUP8 0000217d: SWAP1 0000217e: DUP8 0000217f: SWAP1 00002180: PUSH1 0x00 00002182: SWAP1 00002183: DUP2 00002184: SWAP1 00002185: PUSH1 0x04 00002187: ADD 00002188: PUSH2 0x3320 0000218b: JUMP 0000218c: JUMPDEST 0000218d: PUSH1 0x00 0000218f: PUSH1 0x40 00002191: MLOAD 00002192: DUP1 00002193: DUP4 00002194: SUB 00002195: DUP2 00002196: PUSH1 0x00 00002198: DUP8 00002199: DUP1 0000219a: EXTCODESIZE 0000219b: ISZERO 0000219c: DUP1 0000219d: ISZERO 0000219e: PUSH2 0x21a6 000021a1: JUMPI 000021a2: PUSH1 0x00 000021a4: DUP1 000021a5: REVERT 000021a6: JUMPDEST 000021a7: POP 000021a8: GAS 000021a9: CALL 000021aa: ISZERO 000021ab: DUP1 000021ac: ISZERO 000021ad: PUSH2 0x21ba 000021b0: JUMPI 000021b1: RETURNDATASIZE 000021b2: PUSH1 0x00 000021b4: DUP1 000021b5: RETURNDATACOPY 000021b6: RETURNDATASIZE 000021b7: PUSH1 0x00 000021b9: REVERT 000021ba: JUMPDEST 000021bb: POP 000021bc: POP 000021bd: PUSH1 0x08 000021bf: DUP1 000021c0: SLOAD 000021c1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000021e2: AND 000021e3: SWAP1 000021e4: SSTORE 000021e5: POP 000021e6: POP 000021e7: POP 000021e8: POP 000021e9: POP 000021ea: POP 000021eb: JUMP 000021ec: JUMPDEST 000021ed: PUSH1 0x00 000021ef: SLOAD 000021f0: PUSH1 0xff 000021f2: AND 000021f3: ISZERO 000021f4: PUSH2 0x2259 000021f7: JUMPI 000021f8: PUSH1 0x40 000021fa: MLOAD 000021fb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000221c: DUP2 0000221d: MSTORE 0000221e: PUSH1 0x20 00002220: PUSH1 0x04 00002222: DUP3 00002223: ADD 00002224: MSTORE 00002225: PUSH1 0x13 00002227: PUSH1 0x24 00002229: DUP3 0000222a: ADD 0000222b: MSTORE 0000222c: PUSH32 0x616c726561647920696e697469616c697a656400000000000000000000000000 0000224d: PUSH1 0x44 0000224f: DUP3 00002250: ADD 00002251: MSTORE 00002252: PUSH1 0x64 00002254: ADD 00002255: PUSH2 0x0759 00002258: JUMP 00002259: JUMPDEST 0000225a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000226f: DUP8 00002270: AND 00002271: PUSH2 0x22d6 00002274: JUMPI 00002275: PUSH1 0x40 00002277: MLOAD 00002278: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002299: DUP2 0000229a: MSTORE 0000229b: PUSH1 0x20 0000229d: PUSH1 0x04 0000229f: DUP3 000022a0: ADD 000022a1: MSTORE 000022a2: PUSH1 0x0c 000022a4: PUSH1 0x24 000022a6: DUP3 000022a7: ADD 000022a8: MSTORE 000022a9: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000 000022ca: PUSH1 0x44 000022cc: DUP3 000022cd: ADD 000022ce: MSTORE 000022cf: PUSH1 0x64 000022d1: ADD 000022d2: PUSH2 0x0759 000022d5: JUMP 000022d6: JUMPDEST 000022d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022ec: DUP7 000022ed: AND 000022ee: PUSH2 0x2353 000022f1: JUMPI 000022f2: PUSH1 0x40 000022f4: MLOAD 000022f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002316: DUP2 00002317: MSTORE 00002318: PUSH1 0x20 0000231a: PUSH1 0x04 0000231c: DUP3 0000231d: ADD 0000231e: MSTORE 0000231f: PUSH1 0x0c 00002321: PUSH1 0x24 00002323: DUP3 00002324: ADD 00002325: MSTORE 00002326: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000 00002347: PUSH1 0x44 00002349: DUP3 0000234a: ADD 0000234b: MSTORE 0000234c: PUSH1 0x64 0000234e: ADD 0000234f: PUSH2 0x0759 00002352: JUMP 00002353: JUMPDEST 00002354: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002369: DUP3 0000236a: AND 0000236b: PUSH2 0x23d0 0000236e: JUMPI 0000236f: PUSH1 0x40 00002371: MLOAD 00002372: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002393: DUP2 00002394: MSTORE 00002395: PUSH1 0x20 00002397: PUSH1 0x04 00002399: DUP3 0000239a: ADD 0000239b: MSTORE 0000239c: PUSH1 0x0c 0000239e: PUSH1 0x24 000023a0: DUP3 000023a1: ADD 000023a2: MSTORE 000023a3: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000 000023c4: PUSH1 0x44 000023c6: DUP3 000023c7: ADD 000023c8: MSTORE 000023c9: PUSH1 0x64 000023cb: ADD 000023cc: PUSH2 0x0759 000023cf: JUMP 000023d0: JUMPDEST 000023d1: PUSH1 0x01 000023d3: DUP1 000023d4: SLOAD 000023d5: PUSH32 0xffffffffffffffffffff00000000000000000000000000000000000000000000 000023f6: AND 000023f7: PUSH21 0x010000000000000000000000000000000000000000 0000240d: PUSH2 0xffff 00002410: DUP9 00002411: AND 00002412: MUL 00002413: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002434: AND 00002435: OR 00002436: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000244b: DUP10 0000244c: AND 0000244d: SWAP1 0000244e: DUP2 0000244f: OR 00002450: SWAP1 00002451: SWAP2 00002452: SSTORE 00002453: PUSH1 0x00 00002455: DUP1 00002456: SLOAD 00002457: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff 00002478: AND 00002479: PUSH2 0x0100 0000247c: SWAP1 0000247d: SWAP3 0000247e: MUL 0000247f: SWAP2 00002480: SWAP1 00002481: SWAP2 00002482: OR 00002483: SWAP1 00002484: SSTORE 00002485: PUSH1 0x02 00002487: PUSH2 0x2491 0000248a: DUP5 0000248b: DUP7 0000248c: DUP4 0000248d: PUSH2 0x337a 00002490: JUMP 00002491: JUMPDEST 00002492: POP 00002493: PUSH1 0x03 00002495: DUP1 00002496: SLOAD 00002497: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024ac: SWAP8 000024ad: DUP9 000024ae: AND 000024af: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000024d0: SWAP2 000024d1: DUP3 000024d2: AND 000024d3: OR 000024d4: SWAP1 000024d5: SWAP2 000024d6: SSTORE 000024d7: PUSH1 0x04 000024d9: DUP1 000024da: SLOAD 000024db: SWAP4 000024dc: SWAP1 000024dd: SWAP8 000024de: AND 000024df: SWAP3 000024e0: AND 000024e1: SWAP2 000024e2: SWAP1 000024e3: SWAP2 000024e4: OR 000024e5: SWAP1 000024e6: SWAP5 000024e7: SSTORE 000024e8: POP 000024e9: POP 000024ea: POP 000024eb: PUSH1 0x05 000024ed: SSTORE 000024ee: POP 000024ef: PUSH1 0x00 000024f1: DUP1 000024f2: SLOAD 000024f3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002514: AND 00002515: PUSH1 0x01 00002517: OR 00002518: SWAP1 00002519: SSTORE 0000251a: JUMP 0000251b: JUMPDEST 0000251c: PUSH1 0x00 0000251e: SLOAD 0000251f: PUSH2 0x0100 00002522: SWAP1 00002523: DIV 00002524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002539: AND 0000253a: CALLER 0000253b: EQ 0000253c: PUSH2 0x25a1 0000253f: JUMPI 00002540: PUSH1 0x40 00002542: MLOAD 00002543: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002564: DUP2 00002565: MSTORE 00002566: PUSH1 0x20 00002568: PUSH1 0x04 0000256a: DUP3 0000256b: ADD 0000256c: MSTORE 0000256d: PUSH1 0x0a 0000256f: PUSH1 0x24 00002571: DUP3 00002572: ADD 00002573: MSTORE 00002574: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00002595: PUSH1 0x44 00002597: DUP3 00002598: ADD 00002599: MSTORE 0000259a: PUSH1 0x64 0000259c: ADD 0000259d: PUSH2 0x0759 000025a0: JUMP 000025a1: JUMPDEST 000025a2: PUSH3 0x030d40 000025a6: DUP2 000025a7: PUSH16 0xffffffffffffffffffffffffffffffff 000025b8: AND 000025b9: GT 000025ba: ISZERO 000025bb: PUSH2 0x25c3 000025be: JUMPI 000025bf: PUSH1 0x00 000025c1: DUP1 000025c2: REVERT 000025c3: JUMPDEST 000025c4: PUSH16 0xffffffffffffffffffffffffffffffff 000025d5: DUP5 000025d6: AND 000025d7: PUSH1 0x00 000025d9: SWAP1 000025da: DUP2 000025db: MSTORE 000025dc: PUSH1 0x06 000025de: PUSH1 0x20 000025e0: MSTORE 000025e1: PUSH1 0x40 000025e3: SWAP1 000025e4: KECCAK256 000025e5: SLOAD 000025e6: PUSH1 0xff 000025e8: AND 000025e9: PUSH2 0x264e 000025ec: JUMPI 000025ed: PUSH1 0x40 000025ef: MLOAD 000025f0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002611: DUP2 00002612: MSTORE 00002613: PUSH1 0x20 00002615: PUSH1 0x04 00002617: DUP3 00002618: ADD 00002619: MSTORE 0000261a: PUSH1 0x1a 0000261c: PUSH1 0x24 0000261e: DUP3 0000261f: ADD 00002620: MSTORE 00002621: PUSH32 0x657865637574696f6e20636861696e2069732064697361626c65000000000000 00002642: PUSH1 0x44 00002644: DUP3 00002645: ADD 00002646: MSTORE 00002647: PUSH1 0x64 00002649: ADD 0000264a: PUSH2 0x0759 0000264d: JUMP 0000264e: JUMPDEST 0000264f: PUSH32 0x933e13f2c0174ad6202905ed6eb73212911941c4fb8daf560b05445099b52e27 00002670: DUP5 00002671: DUP5 00002672: DUP5 00002673: DUP5 00002674: PUSH1 0x40 00002676: MLOAD 00002677: PUSH2 0x2683 0000267a: SWAP5 0000267b: SWAP4 0000267c: SWAP3 0000267d: SWAP2 0000267e: SWAP1 0000267f: PUSH2 0x3495 00002682: JUMP 00002683: JUMPDEST 00002684: PUSH1 0x40 00002686: MLOAD 00002687: DUP1 00002688: SWAP2 00002689: SUB 0000268a: SWAP1 0000268b: LOG1 0000268c: PUSH16 0xffffffffffffffffffffffffffffffff 0000269d: DUP5 0000269e: AND 0000269f: PUSH1 0x00 000026a1: SWAP1 000026a2: DUP2 000026a3: MSTORE 000026a4: PUSH1 0x07 000026a6: PUSH1 0x20 000026a8: MSTORE 000026a9: PUSH1 0x40 000026ab: SWAP1 000026ac: DUP2 000026ad: SWAP1 000026ae: KECCAK256 000026af: SWAP1 000026b0: MLOAD 000026b1: DUP3 000026b2: SWAP2 000026b3: SWAP1 000026b4: PUSH2 0x26c0 000026b7: SWAP1 000026b8: DUP7 000026b9: SWAP1 000026ba: DUP7 000026bb: SWAP1 000026bc: PUSH2 0x31ca 000026bf: JUMP 000026c0: JUMPDEST 000026c1: SWAP1 000026c2: DUP2 000026c3: MSTORE 000026c4: PUSH1 0x40 000026c6: MLOAD 000026c7: SWAP1 000026c8: DUP2 000026c9: SWAP1 000026ca: SUB 000026cb: PUSH1 0x20 000026cd: ADD 000026ce: SWAP1 000026cf: KECCAK256 000026d0: DUP1 000026d1: SLOAD 000026d2: PUSH16 0xffffffffffffffffffffffffffffffff 000026e3: SWAP3 000026e4: SWAP1 000026e5: SWAP3 000026e6: AND 000026e7: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 00002708: SWAP1 00002709: SWAP3 0000270a: AND 0000270b: SWAP2 0000270c: SWAP1 0000270d: SWAP2 0000270e: OR 0000270f: SWAP1 00002710: SSTORE 00002711: POP 00002712: POP 00002713: POP 00002714: POP 00002715: JUMP 00002716: JUMPDEST 00002717: PUSH1 0x00 00002719: SLOAD 0000271a: PUSH2 0x0100 0000271d: SWAP1 0000271e: DIV 0000271f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002734: AND 00002735: CALLER 00002736: EQ 00002737: PUSH2 0x279c 0000273a: JUMPI 0000273b: PUSH1 0x40 0000273d: MLOAD 0000273e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000275f: DUP2 00002760: MSTORE 00002761: PUSH1 0x20 00002763: PUSH1 0x04 00002765: DUP3 00002766: ADD 00002767: MSTORE 00002768: PUSH1 0x0a 0000276a: PUSH1 0x24 0000276c: DUP3 0000276d: ADD 0000276e: MSTORE 0000276f: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 00002790: PUSH1 0x44 00002792: DUP3 00002793: ADD 00002794: MSTORE 00002795: PUSH1 0x64 00002797: ADD 00002798: PUSH2 0x0759 0000279b: JUMP 0000279c: JUMPDEST 0000279d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027b2: DUP2 000027b3: AND 000027b4: PUSH2 0x2819 000027b7: JUMPI 000027b8: PUSH1 0x40 000027ba: MLOAD 000027bb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000027dc: DUP2 000027dd: MSTORE 000027de: PUSH1 0x20 000027e0: PUSH1 0x04 000027e2: DUP3 000027e3: ADD 000027e4: MSTORE 000027e5: PUSH1 0x0c 000027e7: PUSH1 0x24 000027e9: DUP3 000027ea: ADD 000027eb: MSTORE 000027ec: PUSH32 0x7a65726f20616464726573730000000000000000000000000000000000000000 0000280d: PUSH1 0x44 0000280f: DUP3 00002810: ADD 00002811: MSTORE 00002812: PUSH1 0x64 00002814: ADD 00002815: PUSH2 0x0759 00002818: JUMP 00002819: JUMPDEST 0000281a: PUSH1 0x00 0000281c: SLOAD 0000281d: PUSH1 0x40 0000281f: DUP1 00002820: MLOAD 00002821: CALLER 00002822: DUP2 00002823: MSTORE 00002824: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002839: PUSH2 0x0100 0000283c: SWAP1 0000283d: SWAP4 0000283e: DIV 0000283f: DUP4 00002840: AND 00002841: PUSH1 0x20 00002843: DUP3 00002844: ADD 00002845: MSTORE 00002846: SWAP2 00002847: DUP4 00002848: AND 00002849: DUP3 0000284a: DUP3 0000284b: ADD 0000284c: MSTORE 0000284d: MLOAD 0000284e: PUSH32 0x9f6130d220a6021d90d78c7ed17b7cfb79f530974405b174fef75f671205513c 0000286f: SWAP2 00002870: DUP2 00002871: SWAP1 00002872: SUB 00002873: PUSH1 0x60 00002875: ADD 00002876: SWAP1 00002877: LOG1 00002878: PUSH1 0x00 0000287a: DUP1 0000287b: SLOAD 0000287c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002891: SWAP1 00002892: SWAP3 00002893: AND 00002894: PUSH2 0x0100 00002897: MUL 00002898: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff 000028b9: SWAP1 000028ba: SWAP3 000028bb: AND 000028bc: SWAP2 000028bd: SWAP1 000028be: SWAP2 000028bf: OR 000028c0: SWAP1 000028c1: SSTORE 000028c2: JUMP 000028c3: JUMPDEST 000028c4: PUSH1 0x00 000028c6: SLOAD 000028c7: PUSH2 0x0100 000028ca: SWAP1 000028cb: DIV 000028cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028e1: AND 000028e2: CALLER 000028e3: EQ 000028e4: PUSH2 0x2949 000028e7: JUMPI 000028e8: PUSH1 0x40 000028ea: MLOAD 000028eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000290c: DUP2 0000290d: MSTORE 0000290e: PUSH1 0x20 00002910: PUSH1 0x04 00002912: DUP3 00002913: ADD 00002914: MSTORE 00002915: PUSH1 0x0a 00002917: PUSH1 0x24 00002919: DUP3 0000291a: ADD 0000291b: MSTORE 0000291c: PUSH32 0x6f6e6c792061646d696e00000000000000000000000000000000000000000000 0000293d: PUSH1 0x44 0000293f: DUP3 00002940: ADD 00002941: MSTORE 00002942: PUSH1 0x64 00002944: ADD 00002945: PUSH2 0x0759 00002948: JUMP 00002949: JUMPDEST 0000294a: PUSH32 0x212215b14b6f95abef8735f1a53e5383ebe2be1b7767190b1429c167e9b55a31 0000296b: DUP3 0000296c: DUP3 0000296d: CALLER 0000296e: PUSH1 0x40 00002970: MLOAD 00002971: PUSH2 0x297c 00002974: SWAP4 00002975: SWAP3 00002976: SWAP2 00002977: SWAP1 00002978: PUSH2 0x34d6 0000297b: JUMP 0000297c: JUMPDEST 0000297d: PUSH1 0x40 0000297f: MLOAD 00002980: DUP1 00002981: SWAP2 00002982: SUB 00002983: SWAP1 00002984: LOG1 00002985: PUSH1 0x02 00002987: PUSH2 0x2991 0000298a: DUP3 0000298b: DUP5 0000298c: DUP4 0000298d: PUSH2 0x337a 00002990: JUMP 00002991: JUMPDEST 00002992: POP 00002993: POP 00002994: POP 00002995: JUMP 00002996: JUMPDEST 00002997: DUP1 00002998: CALLDATALOAD 00002999: PUSH16 0xffffffffffffffffffffffffffffffff 000029aa: DUP2 000029ab: AND 000029ac: DUP2 000029ad: EQ 000029ae: PUSH2 0x29b6 000029b1: JUMPI 000029b2: PUSH1 0x00 000029b4: DUP1 000029b5: REVERT 000029b6: JUMPDEST 000029b7: SWAP2 000029b8: SWAP1 000029b9: POP 000029ba: JUMP 000029bb: JUMPDEST 000029bc: PUSH1 0x00 000029be: PUSH1 0x20 000029c0: DUP3 000029c1: DUP5 000029c2: SUB 000029c3: SLT 000029c4: ISZERO 000029c5: PUSH2 0x29cd 000029c8: JUMPI 000029c9: PUSH1 0x00 000029cb: DUP1 000029cc: REVERT 000029cd: JUMPDEST 000029ce: PUSH2 0x29d6 000029d1: DUP3 000029d2: PUSH2 0x2996 000029d5: JUMP 000029d6: JUMPDEST 000029d7: SWAP4 000029d8: SWAP3 000029d9: POP 000029da: POP 000029db: POP 000029dc: JUMP 000029dd: JUMPDEST 000029de: PUSH1 0x00 000029e0: DUP2 000029e1: MLOAD 000029e2: DUP1 000029e3: DUP5 000029e4: MSTORE 000029e5: PUSH1 0x00 000029e7: JUMPDEST 000029e8: DUP2 000029e9: DUP2 000029ea: LT 000029eb: ISZERO 000029ec: PUSH2 0x2a03 000029ef: JUMPI 000029f0: PUSH1 0x20 000029f2: DUP2 000029f3: DUP6 000029f4: ADD 000029f5: DUP2 000029f6: ADD 000029f7: MLOAD 000029f8: DUP7 000029f9: DUP4 000029fa: ADD 000029fb: DUP3 000029fc: ADD 000029fd: MSTORE 000029fe: ADD 000029ff: PUSH2 0x29e7 00002a02: JUMP 00002a03: JUMPDEST 00002a04: POP 00002a05: PUSH1 0x00 00002a07: PUSH1 0x20 00002a09: DUP3 00002a0a: DUP7 00002a0b: ADD 00002a0c: ADD 00002a0d: MSTORE 00002a0e: PUSH1 0x20 00002a10: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002a31: PUSH1 0x1f 00002a33: DUP4 00002a34: ADD 00002a35: AND 00002a36: DUP6 00002a37: ADD 00002a38: ADD 00002a39: SWAP2 00002a3a: POP 00002a3b: POP 00002a3c: SWAP3 00002a3d: SWAP2 00002a3e: POP 00002a3f: POP 00002a40: JUMP 00002a41: JUMPDEST 00002a42: PUSH1 0xe0 00002a44: DUP2 00002a45: MSTORE 00002a46: PUSH1 0x00 00002a48: PUSH2 0x2a54 00002a4b: PUSH1 0xe0 00002a4d: DUP4 00002a4e: ADD 00002a4f: DUP11 00002a50: PUSH2 0x29dd 00002a53: JUMP 00002a54: JUMPDEST 00002a55: PUSH1 0x20 00002a57: DUP4 00002a58: ADD 00002a59: SWAP9 00002a5a: SWAP1 00002a5b: SWAP9 00002a5c: MSTORE 00002a5d: POP 00002a5e: PUSH1 0x40 00002a60: DUP2 00002a61: ADD 00002a62: SWAP6 00002a63: SWAP1 00002a64: SWAP6 00002a65: MSTORE 00002a66: PUSH1 0x60 00002a68: DUP6 00002a69: ADD 00002a6a: SWAP4 00002a6b: SWAP1 00002a6c: SWAP4 00002a6d: MSTORE 00002a6e: PUSH16 0xffffffffffffffffffffffffffffffff 00002a7f: SWAP2 00002a80: DUP3 00002a81: AND 00002a82: PUSH1 0x80 00002a84: DUP6 00002a85: ADD 00002a86: MSTORE 00002a87: AND 00002a88: PUSH1 0xa0 00002a8a: DUP4 00002a8b: ADD 00002a8c: MSTORE 00002a8d: ISZERO 00002a8e: ISZERO 00002a8f: PUSH1 0xc0 00002a91: SWAP1 00002a92: SWAP2 00002a93: ADD 00002a94: MSTORE 00002a95: SWAP2 00002a96: SWAP1 00002a97: POP 00002a98: JUMP 00002a99: JUMPDEST 00002a9a: PUSH1 0x00 00002a9c: PUSH1 0x20 00002a9e: DUP3 00002a9f: DUP5 00002aa0: SUB 00002aa1: SLT 00002aa2: ISZERO 00002aa3: PUSH2 0x2aab 00002aa6: JUMPI 00002aa7: PUSH1 0x00 00002aa9: DUP1 00002aaa: REVERT 00002aab: JUMPDEST 00002aac: POP 00002aad: CALLDATALOAD 00002aae: SWAP2 00002aaf: SWAP1 00002ab0: POP 00002ab1: JUMP 00002ab2: JUMPDEST 00002ab3: DUP1 00002ab4: CALLDATALOAD 00002ab5: DUP1 00002ab6: ISZERO 00002ab7: ISZERO 00002ab8: DUP2 00002ab9: EQ 00002aba: PUSH2 0x29b6 00002abd: JUMPI 00002abe: PUSH1 0x00 00002ac0: DUP1 00002ac1: REVERT 00002ac2: JUMPDEST 00002ac3: PUSH1 0x00 00002ac5: DUP1 00002ac6: PUSH1 0x40 00002ac8: DUP4 00002ac9: DUP6 00002aca: SUB 00002acb: SLT 00002acc: ISZERO 00002acd: PUSH2 0x2ad5 00002ad0: JUMPI 00002ad1: PUSH1 0x00 00002ad3: DUP1 00002ad4: REVERT 00002ad5: JUMPDEST 00002ad6: PUSH2 0x2ade 00002ad9: DUP4 00002ada: PUSH2 0x2996 00002add: JUMP 00002ade: JUMPDEST 00002adf: SWAP2 00002ae0: POP 00002ae1: PUSH2 0x2aec 00002ae4: PUSH1 0x20 00002ae6: DUP5 00002ae7: ADD 00002ae8: PUSH2 0x2ab2 00002aeb: JUMP 00002aec: JUMPDEST 00002aed: SWAP1 00002aee: POP 00002aef: SWAP3 00002af0: POP 00002af1: SWAP3 00002af2: SWAP1 00002af3: POP 00002af4: JUMP 00002af5: JUMPDEST 00002af6: DUP1 00002af7: CALLDATALOAD 00002af8: PUSH2 0xffff 00002afb: DUP2 00002afc: AND 00002afd: DUP2 00002afe: EQ 00002aff: PUSH2 0x29b6 00002b02: JUMPI 00002b03: PUSH1 0x00 00002b05: DUP1 00002b06: REVERT 00002b07: JUMPDEST 00002b08: PUSH1 0x00 00002b0a: DUP1 00002b0b: DUP4 00002b0c: PUSH1 0x1f 00002b0e: DUP5 00002b0f: ADD 00002b10: SLT 00002b11: PUSH2 0x2b19 00002b14: JUMPI 00002b15: PUSH1 0x00 00002b17: DUP1 00002b18: REVERT 00002b19: JUMPDEST 00002b1a: POP 00002b1b: DUP2 00002b1c: CALLDATALOAD 00002b1d: PUSH8 0xffffffffffffffff 00002b26: DUP2 00002b27: GT 00002b28: ISZERO 00002b29: PUSH2 0x2b31 00002b2c: JUMPI 00002b2d: PUSH1 0x00 00002b2f: DUP1 00002b30: REVERT 00002b31: JUMPDEST 00002b32: PUSH1 0x20 00002b34: DUP4 00002b35: ADD 00002b36: SWAP2 00002b37: POP 00002b38: DUP4 00002b39: PUSH1 0x20 00002b3b: DUP3 00002b3c: DUP6 00002b3d: ADD 00002b3e: ADD 00002b3f: GT 00002b40: ISZERO 00002b41: PUSH2 0x2b49 00002b44: JUMPI 00002b45: PUSH1 0x00 00002b47: DUP1 00002b48: REVERT 00002b49: JUMPDEST 00002b4a: SWAP3 00002b4b: POP 00002b4c: SWAP3 00002b4d: SWAP1 00002b4e: POP 00002b4f: JUMP 00002b50: JUMPDEST 00002b51: PUSH1 0x00 00002b53: DUP1 00002b54: PUSH1 0x00 00002b56: DUP1 00002b57: PUSH1 0x00 00002b59: DUP1 00002b5a: PUSH1 0x00 00002b5c: DUP1 00002b5d: PUSH1 0x00 00002b5f: PUSH2 0x0100 00002b62: DUP11 00002b63: DUP13 00002b64: SUB 00002b65: SLT 00002b66: ISZERO 00002b67: PUSH2 0x2b6f 00002b6a: JUMPI 00002b6b: PUSH1 0x00 00002b6d: DUP1 00002b6e: REVERT 00002b6f: JUMPDEST 00002b70: PUSH2 0x2b78 00002b73: DUP11 00002b74: PUSH2 0x2af5 00002b77: JUMP 00002b78: JUMPDEST 00002b79: SWAP9 00002b7a: POP 00002b7b: PUSH1 0x20 00002b7d: DUP11 00002b7e: ADD 00002b7f: CALLDATALOAD 00002b80: PUSH8 0xffffffffffffffff 00002b89: DUP2 00002b8a: GT 00002b8b: ISZERO 00002b8c: PUSH2 0x2b94 00002b8f: JUMPI 00002b90: PUSH1 0x00 00002b92: DUP1 00002b93: REVERT 00002b94: JUMPDEST 00002b95: PUSH2 0x2ba0 00002b98: DUP13 00002b99: DUP3 00002b9a: DUP14 00002b9b: ADD 00002b9c: PUSH2 0x2b07 00002b9f: JUMP 00002ba0: JUMPDEST 00002ba1: SWAP1 00002ba2: SWAP10 00002ba3: POP 00002ba4: SWAP8 00002ba5: POP 00002ba6: POP 00002ba7: PUSH1 0x40 00002ba9: DUP11 00002baa: ADD 00002bab: CALLDATALOAD 00002bac: SWAP6 00002bad: POP 00002bae: PUSH1 0x60 00002bb0: DUP11 00002bb1: ADD 00002bb2: CALLDATALOAD 00002bb3: SWAP5 00002bb4: POP 00002bb5: PUSH1 0x80 00002bb7: DUP11 00002bb8: ADD 00002bb9: CALLDATALOAD 00002bba: SWAP4 00002bbb: POP 00002bbc: PUSH2 0x2bc7 00002bbf: PUSH1 0xa0 00002bc1: DUP12 00002bc2: ADD 00002bc3: PUSH2 0x2996 00002bc6: JUMP 00002bc7: JUMPDEST 00002bc8: SWAP3 00002bc9: POP 00002bca: PUSH2 0x2bd5 00002bcd: PUSH1 0xc0 00002bcf: DUP12 00002bd0: ADD 00002bd1: PUSH2 0x2996 00002bd4: JUMP 00002bd5: JUMPDEST 00002bd6: SWAP2 00002bd7: POP 00002bd8: PUSH2 0x2be3 00002bdb: PUSH1 0xe0 00002bdd: DUP12 00002bde: ADD 00002bdf: PUSH2 0x2ab2 00002be2: JUMP 00002be3: JUMPDEST 00002be4: SWAP1 00002be5: POP 00002be6: SWAP3 00002be7: SWAP6 00002be8: SWAP9 00002be9: POP 00002bea: SWAP3 00002beb: SWAP6 00002bec: SWAP9 00002bed: POP 00002bee: SWAP3 00002bef: SWAP6 00002bf0: SWAP9 00002bf1: JUMP 00002bf2: JUMPDEST 00002bf3: PUSH1 0x20 00002bf5: DUP2 00002bf6: MSTORE 00002bf7: PUSH1 0x00 00002bf9: PUSH2 0x29d6 00002bfc: PUSH1 0x20 00002bfe: DUP4 00002bff: ADD 00002c00: DUP5 00002c01: PUSH2 0x29dd 00002c04: JUMP 00002c05: JUMPDEST 00002c06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c1b: DUP2 00002c1c: AND 00002c1d: DUP2 00002c1e: EQ 00002c1f: PUSH2 0x2c27 00002c22: JUMPI 00002c23: PUSH1 0x00 00002c25: DUP1 00002c26: REVERT 00002c27: JUMPDEST 00002c28: POP 00002c29: JUMP 00002c2a: JUMPDEST 00002c2b: PUSH1 0x00 00002c2d: PUSH1 0x20 00002c2f: DUP3 00002c30: DUP5 00002c31: SUB 00002c32: SLT 00002c33: ISZERO 00002c34: PUSH2 0x2c3c 00002c37: JUMPI 00002c38: PUSH1 0x00 00002c3a: DUP1 00002c3b: REVERT 00002c3c: JUMPDEST 00002c3d: DUP2 00002c3e: CALLDATALOAD 00002c3f: PUSH2 0x29d6 00002c42: DUP2 00002c43: PUSH2 0x2c05 00002c46: JUMP 00002c47: JUMPDEST 00002c48: PUSH1 0x00 00002c4a: PUSH1 0x20 00002c4c: DUP3 00002c4d: DUP5 00002c4e: SUB 00002c4f: SLT 00002c50: ISZERO 00002c51: PUSH2 0x2c59 00002c54: JUMPI 00002c55: PUSH1 0x00 00002c57: DUP1 00002c58: REVERT 00002c59: JUMPDEST 00002c5a: PUSH2 0x29d6 00002c5d: DUP3 00002c5e: PUSH2 0x2af5 00002c61: JUMP 00002c62: JUMPDEST 00002c63: PUSH1 0x00 00002c65: DUP1 00002c66: PUSH1 0x00 00002c68: DUP1 00002c69: PUSH1 0x00 00002c6b: DUP1 00002c6c: PUSH1 0x80 00002c6e: DUP8 00002c6f: DUP10 00002c70: SUB 00002c71: SLT 00002c72: ISZERO 00002c73: PUSH2 0x2c7b 00002c76: JUMPI 00002c77: PUSH1 0x00 00002c79: DUP1 00002c7a: REVERT 00002c7b: JUMPDEST 00002c7c: PUSH2 0x2c84 00002c7f: DUP8 00002c80: PUSH2 0x2af5 00002c83: JUMP 00002c84: JUMPDEST 00002c85: SWAP6 00002c86: POP 00002c87: PUSH1 0x20 00002c89: DUP8 00002c8a: ADD 00002c8b: CALLDATALOAD 00002c8c: PUSH8 0xffffffffffffffff 00002c95: DUP1 00002c96: DUP3 00002c97: GT 00002c98: ISZERO 00002c99: PUSH2 0x2ca1 00002c9c: JUMPI 00002c9d: PUSH1 0x00 00002c9f: DUP1 00002ca0: REVERT 00002ca1: JUMPDEST 00002ca2: PUSH2 0x2cad 00002ca5: DUP11 00002ca6: DUP4 00002ca7: DUP12 00002ca8: ADD 00002ca9: PUSH2 0x2b07 00002cac: JUMP 00002cad: JUMPDEST 00002cae: SWAP1 00002caf: SWAP8 00002cb0: POP 00002cb1: SWAP6 00002cb2: POP 00002cb3: PUSH1 0x40 00002cb5: DUP10 00002cb6: ADD 00002cb7: CALLDATALOAD 00002cb8: SWAP2 00002cb9: POP 00002cba: DUP1 00002cbb: DUP3 00002cbc: GT 00002cbd: ISZERO 00002cbe: PUSH2 0x2cc6 00002cc1: JUMPI 00002cc2: PUSH1 0x00 00002cc4: DUP1 00002cc5: REVERT 00002cc6: JUMPDEST 00002cc7: POP 00002cc8: PUSH2 0x2cd3 00002ccb: DUP10 00002ccc: DUP3 00002ccd: DUP11 00002cce: ADD 00002ccf: PUSH2 0x2b07 00002cd2: JUMP 00002cd3: JUMPDEST 00002cd4: SWAP8 00002cd5: SWAP11 00002cd6: SWAP7 00002cd7: SWAP10 00002cd8: POP 00002cd9: SWAP5 00002cda: SWAP8 00002cdb: SWAP5 00002cdc: SWAP7 00002cdd: SWAP6 00002cde: PUSH1 0x60 00002ce0: SWAP1 00002ce1: SWAP6 00002ce2: ADD 00002ce3: CALLDATALOAD 00002ce4: SWAP5 00002ce5: SWAP4 00002ce6: POP 00002ce7: POP 00002ce8: POP 00002ce9: POP 00002cea: JUMP 00002ceb: JUMPDEST 00002cec: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002d0d: PUSH1 0x00 00002d0f: MSTORE 00002d10: PUSH1 0x41 00002d12: PUSH1 0x04 00002d14: MSTORE 00002d15: PUSH1 0x24 00002d17: PUSH1 0x00 00002d19: REVERT 00002d1a: JUMPDEST 00002d1b: PUSH1 0x00 00002d1d: DUP1 00002d1e: PUSH1 0x40 00002d20: DUP4 00002d21: DUP6 00002d22: SUB 00002d23: SLT 00002d24: ISZERO 00002d25: PUSH2 0x2d2d 00002d28: JUMPI 00002d29: PUSH1 0x00 00002d2b: DUP1 00002d2c: REVERT 00002d2d: JUMPDEST 00002d2e: PUSH2 0x2d36 00002d31: DUP4 00002d32: PUSH2 0x2996 00002d35: JUMP 00002d36: JUMPDEST 00002d37: SWAP2 00002d38: POP 00002d39: PUSH1 0x20 00002d3b: DUP4 00002d3c: ADD 00002d3d: CALLDATALOAD 00002d3e: PUSH8 0xffffffffffffffff 00002d47: DUP1 00002d48: DUP3 00002d49: GT 00002d4a: ISZERO 00002d4b: PUSH2 0x2d53 00002d4e: JUMPI 00002d4f: PUSH1 0x00 00002d51: DUP1 00002d52: REVERT 00002d53: JUMPDEST 00002d54: DUP2 00002d55: DUP6 00002d56: ADD 00002d57: SWAP2 00002d58: POP 00002d59: DUP6 00002d5a: PUSH1 0x1f 00002d5c: DUP4 00002d5d: ADD 00002d5e: SLT 00002d5f: PUSH2 0x2d67 00002d62: JUMPI 00002d63: PUSH1 0x00 00002d65: DUP1 00002d66: REVERT 00002d67: JUMPDEST 00002d68: DUP2 00002d69: CALLDATALOAD 00002d6a: DUP2 00002d6b: DUP2 00002d6c: GT 00002d6d: ISZERO 00002d6e: PUSH2 0x2d79 00002d71: JUMPI 00002d72: PUSH2 0x2d79 00002d75: PUSH2 0x2ceb 00002d78: JUMP 00002d79: JUMPDEST 00002d7a: PUSH1 0x40 00002d7c: MLOAD 00002d7d: PUSH1 0x1f 00002d7f: DUP3 00002d80: ADD 00002d81: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002da2: SWAP1 00002da3: DUP2 00002da4: AND 00002da5: PUSH1 0x3f 00002da7: ADD 00002da8: AND 00002da9: DUP2 00002daa: ADD 00002dab: SWAP1 00002dac: DUP4 00002dad: DUP3 00002dae: GT 00002daf: DUP2 00002db0: DUP4 00002db1: LT 00002db2: OR 00002db3: ISZERO 00002db4: PUSH2 0x2dbf 00002db7: JUMPI 00002db8: PUSH2 0x2dbf 00002dbb: PUSH2 0x2ceb 00002dbe: JUMP 00002dbf: JUMPDEST 00002dc0: DUP2 00002dc1: PUSH1 0x40 00002dc3: MSTORE 00002dc4: DUP3 00002dc5: DUP2 00002dc6: MSTORE 00002dc7: DUP9 00002dc8: PUSH1 0x20 00002dca: DUP5 00002dcb: DUP8 00002dcc: ADD 00002dcd: ADD 00002dce: GT 00002dcf: ISZERO 00002dd0: PUSH2 0x2dd8 00002dd3: JUMPI 00002dd4: PUSH1 0x00 00002dd6: DUP1 00002dd7: REVERT 00002dd8: JUMPDEST 00002dd9: DUP3 00002dda: PUSH1 0x20 00002ddc: DUP7 00002ddd: ADD 00002dde: PUSH1 0x20 00002de0: DUP4 00002de1: ADD 00002de2: CALLDATACOPY 00002de3: PUSH1 0x00 00002de5: PUSH1 0x20 00002de7: DUP5 00002de8: DUP4 00002de9: ADD 00002dea: ADD 00002deb: MSTORE 00002dec: DUP1 00002ded: SWAP6 00002dee: POP 00002def: POP 00002df0: POP 00002df1: POP 00002df2: POP 00002df3: POP 00002df4: SWAP3 00002df5: POP 00002df6: SWAP3 00002df7: SWAP1 00002df8: POP 00002df9: JUMP 00002dfa: JUMPDEST 00002dfb: PUSH1 0x00 00002dfd: DUP1 00002dfe: PUSH1 0x00 00002e00: DUP1 00002e01: PUSH1 0x80 00002e03: DUP6 00002e04: DUP8 00002e05: SUB 00002e06: SLT 00002e07: ISZERO 00002e08: PUSH2 0x2e10 00002e0b: JUMPI 00002e0c: PUSH1 0x00 00002e0e: DUP1 00002e0f: REVERT 00002e10: JUMPDEST 00002e11: DUP5 00002e12: CALLDATALOAD 00002e13: SWAP4 00002e14: POP 00002e15: PUSH1 0x20 00002e17: DUP6 00002e18: ADD 00002e19: CALLDATALOAD 00002e1a: PUSH2 0x2e22 00002e1d: DUP2 00002e1e: PUSH2 0x2c05 00002e21: JUMP 00002e22: JUMPDEST 00002e23: SWAP4 00002e24: SWAP7 00002e25: SWAP4 00002e26: SWAP6 00002e27: POP 00002e28: POP 00002e29: POP 00002e2a: POP 00002e2b: PUSH1 0x40 00002e2d: DUP3 00002e2e: ADD 00002e2f: CALLDATALOAD 00002e30: SWAP2 00002e31: PUSH1 0x60 00002e33: ADD 00002e34: CALLDATALOAD 00002e35: SWAP1 00002e36: JUMP 00002e37: JUMPDEST 00002e38: PUSH1 0x00 00002e3a: DUP1 00002e3b: PUSH1 0x00 00002e3d: DUP1 00002e3e: PUSH1 0x00 00002e40: DUP1 00002e41: PUSH1 0x00 00002e43: PUSH1 0xc0 00002e45: DUP9 00002e46: DUP11 00002e47: SUB 00002e48: SLT 00002e49: ISZERO 00002e4a: PUSH2 0x2e52 00002e4d: JUMPI 00002e4e: PUSH1 0x00 00002e50: DUP1 00002e51: REVERT 00002e52: JUMPDEST 00002e53: DUP8 00002e54: CALLDATALOAD 00002e55: PUSH2 0x2e5d 00002e58: DUP2 00002e59: PUSH2 0x2c05 00002e5c: JUMP 00002e5d: JUMPDEST 00002e5e: SWAP7 00002e5f: POP 00002e60: PUSH1 0x20 00002e62: DUP9 00002e63: ADD 00002e64: CALLDATALOAD 00002e65: PUSH2 0x2e6d 00002e68: DUP2 00002e69: PUSH2 0x2c05 00002e6c: JUMP 00002e6d: JUMPDEST 00002e6e: SWAP6 00002e6f: POP 00002e70: PUSH2 0x2e7b 00002e73: PUSH1 0x40 00002e75: DUP10 00002e76: ADD 00002e77: PUSH2 0x2af5 00002e7a: JUMP 00002e7b: JUMPDEST 00002e7c: SWAP5 00002e7d: POP 00002e7e: PUSH1 0x60 00002e80: DUP9 00002e81: ADD 00002e82: CALLDATALOAD 00002e83: PUSH8 0xffffffffffffffff 00002e8c: DUP2 00002e8d: GT 00002e8e: ISZERO 00002e8f: PUSH2 0x2e97 00002e92: JUMPI 00002e93: PUSH1 0x00 00002e95: DUP1 00002e96: REVERT 00002e97: JUMPDEST 00002e98: PUSH2 0x2ea3 00002e9b: DUP11 00002e9c: DUP3 00002e9d: DUP12 00002e9e: ADD 00002e9f: PUSH2 0x2b07 00002ea2: JUMP 00002ea3: JUMPDEST 00002ea4: SWAP1 00002ea5: SWAP6 00002ea6: POP 00002ea7: SWAP4 00002ea8: POP 00002ea9: POP 00002eaa: PUSH1 0x80 00002eac: DUP9 00002ead: ADD 00002eae: CALLDATALOAD 00002eaf: PUSH2 0x2eb7 00002eb2: DUP2 00002eb3: PUSH2 0x2c05 00002eb6: JUMP 00002eb7: JUMPDEST 00002eb8: DUP1 00002eb9: SWAP3 00002eba: POP 00002ebb: POP 00002ebc: PUSH1 0xa0 00002ebe: DUP9 00002ebf: ADD 00002ec0: CALLDATALOAD 00002ec1: SWAP1 00002ec2: POP 00002ec3: SWAP3 00002ec4: SWAP6 00002ec5: SWAP9 00002ec6: SWAP2 00002ec7: SWAP5 00002ec8: SWAP8 00002ec9: POP 00002eca: SWAP3 00002ecb: SWAP6 00002ecc: POP 00002ecd: JUMP 00002ece: JUMPDEST 00002ecf: PUSH1 0x00 00002ed1: DUP1 00002ed2: PUSH1 0x00 00002ed4: DUP1 00002ed5: PUSH1 0x60 00002ed7: DUP6 00002ed8: DUP8 00002ed9: SUB 00002eda: SLT 00002edb: ISZERO 00002edc: PUSH2 0x2ee4 00002edf: JUMPI 00002ee0: PUSH1 0x00 00002ee2: DUP1 00002ee3: REVERT 00002ee4: JUMPDEST 00002ee5: PUSH2 0x2eed 00002ee8: DUP6 00002ee9: PUSH2 0x2996 00002eec: JUMP 00002eed: JUMPDEST 00002eee: SWAP4 00002eef: POP 00002ef0: PUSH1 0x20 00002ef2: DUP6 00002ef3: ADD 00002ef4: CALLDATALOAD 00002ef5: PUSH8 0xffffffffffffffff 00002efe: DUP2 00002eff: GT 00002f00: ISZERO 00002f01: PUSH2 0x2f09 00002f04: JUMPI 00002f05: PUSH1 0x00 00002f07: DUP1 00002f08: REVERT 00002f09: JUMPDEST 00002f0a: PUSH2 0x2f15 00002f0d: DUP8 00002f0e: DUP3 00002f0f: DUP9 00002f10: ADD 00002f11: PUSH2 0x2b07 00002f14: JUMP 00002f15: JUMPDEST 00002f16: SWAP1 00002f17: SWAP5 00002f18: POP 00002f19: SWAP3 00002f1a: POP 00002f1b: PUSH2 0x2f28 00002f1e: SWAP1 00002f1f: POP 00002f20: PUSH1 0x40 00002f22: DUP7 00002f23: ADD 00002f24: PUSH2 0x2996 00002f27: JUMP 00002f28: JUMPDEST 00002f29: SWAP1 00002f2a: POP 00002f2b: SWAP3 00002f2c: SWAP6 00002f2d: SWAP2 00002f2e: SWAP5 00002f2f: POP 00002f30: SWAP3 00002f31: POP 00002f32: JUMP 00002f33: JUMPDEST 00002f34: PUSH1 0x00 00002f36: DUP1 00002f37: PUSH1 0x20 00002f39: DUP4 00002f3a: DUP6 00002f3b: SUB 00002f3c: SLT 00002f3d: ISZERO 00002f3e: PUSH2 0x2f46 00002f41: JUMPI 00002f42: PUSH1 0x00 00002f44: DUP1 00002f45: REVERT 00002f46: JUMPDEST 00002f47: DUP3 00002f48: CALLDATALOAD 00002f49: PUSH8 0xffffffffffffffff 00002f52: DUP2 00002f53: GT 00002f54: ISZERO 00002f55: PUSH2 0x2f5d 00002f58: JUMPI 00002f59: PUSH1 0x00 00002f5b: DUP1 00002f5c: REVERT 00002f5d: JUMPDEST 00002f5e: PUSH2 0x2f69 00002f61: DUP6 00002f62: DUP3 00002f63: DUP7 00002f64: ADD 00002f65: PUSH2 0x2b07 00002f68: JUMP 00002f69: JUMPDEST 00002f6a: SWAP1 00002f6b: SWAP7 00002f6c: SWAP1 00002f6d: SWAP6 00002f6e: POP 00002f6f: SWAP4 00002f70: POP 00002f71: POP 00002f72: POP 00002f73: POP 00002f74: JUMP 00002f75: JUMPDEST 00002f76: PUSH1 0x01 00002f78: DUP2 00002f79: DUP2 00002f7a: SHR 00002f7b: SWAP1 00002f7c: DUP3 00002f7d: AND 00002f7e: DUP1 00002f7f: PUSH2 0x2f89 00002f82: JUMPI 00002f83: PUSH1 0x7f 00002f85: DUP3 00002f86: AND 00002f87: SWAP2 00002f88: POP 00002f89: JUMPDEST 00002f8a: PUSH1 0x20 00002f8c: DUP3 00002f8d: LT 00002f8e: DUP2 00002f8f: SUB 00002f90: PUSH2 0x2fc2 00002f93: JUMPI 00002f94: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002fb5: PUSH1 0x00 00002fb7: MSTORE 00002fb8: PUSH1 0x22 00002fba: PUSH1 0x04 00002fbc: MSTORE 00002fbd: PUSH1 0x24 00002fbf: PUSH1 0x00 00002fc1: REVERT 00002fc2: JUMPDEST 00002fc3: POP 00002fc4: SWAP2 00002fc5: SWAP1 00002fc6: POP 00002fc7: JUMP 00002fc8: JUMPDEST 00002fc9: PUSH1 0x1f 00002fcb: DUP3 00002fcc: GT 00002fcd: ISZERO 00002fce: PUSH2 0x2991 00002fd1: JUMPI 00002fd2: PUSH1 0x00 00002fd4: DUP2 00002fd5: DUP2 00002fd6: MSTORE 00002fd7: PUSH1 0x20 00002fd9: DUP2 00002fda: KECCAK256 00002fdb: PUSH1 0x1f 00002fdd: DUP6 00002fde: ADD 00002fdf: PUSH1 0x05 00002fe1: SHR 00002fe2: DUP2 00002fe3: ADD 00002fe4: PUSH1 0x20 00002fe6: DUP7 00002fe7: LT 00002fe8: ISZERO 00002fe9: PUSH2 0x2fef 00002fec: JUMPI 00002fed: POP 00002fee: DUP1 00002fef: JUMPDEST 00002ff0: PUSH1 0x1f 00002ff2: DUP6 00002ff3: ADD 00002ff4: PUSH1 0x05 00002ff6: SHR 00002ff7: DUP3 00002ff8: ADD 00002ff9: SWAP2 00002ffa: POP 00002ffb: JUMPDEST 00002ffc: DUP2 00002ffd: DUP2 00002ffe: LT 00002fff: ISZERO 00003000: PUSH2 0x300e 00003003: JUMPI 00003004: DUP3 00003005: DUP2 00003006: SSTORE 00003007: PUSH1 0x01 00003009: ADD 0000300a: PUSH2 0x2ffb 0000300d: JUMP 0000300e: JUMPDEST 0000300f: POP 00003010: POP 00003011: POP 00003012: POP 00003013: POP 00003014: POP 00003015: JUMP 00003016: JUMPDEST 00003017: DUP2 00003018: MLOAD 00003019: PUSH8 0xffffffffffffffff 00003022: DUP2 00003023: GT 00003024: ISZERO 00003025: PUSH2 0x3030 00003028: JUMPI 00003029: PUSH2 0x3030 0000302c: PUSH2 0x2ceb 0000302f: JUMP 00003030: JUMPDEST 00003031: PUSH2 0x3044 00003034: DUP2 00003035: PUSH2 0x303e 00003038: DUP5 00003039: SLOAD 0000303a: PUSH2 0x2f75 0000303d: JUMP 0000303e: JUMPDEST 0000303f: DUP5 00003040: PUSH2 0x2fc8 00003043: JUMP 00003044: JUMPDEST 00003045: PUSH1 0x20 00003047: DUP1 00003048: PUSH1 0x1f 0000304a: DUP4 0000304b: GT 0000304c: PUSH1 0x01 0000304e: DUP2 0000304f: EQ 00003050: PUSH2 0x3097 00003053: JUMPI 00003054: PUSH1 0x00 00003056: DUP5 00003057: ISZERO 00003058: PUSH2 0x3061 0000305b: JUMPI 0000305c: POP 0000305d: DUP6 0000305e: DUP4 0000305f: ADD 00003060: MLOAD 00003061: JUMPDEST 00003062: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003083: PUSH1 0x03 00003085: DUP7 00003086: SWAP1 00003087: SHL 00003088: SHR 00003089: NOT 0000308a: AND 0000308b: PUSH1 0x01 0000308d: DUP6 0000308e: SWAP1 0000308f: SHL 00003090: OR 00003091: DUP6 00003092: SSTORE 00003093: PUSH2 0x300e 00003096: JUMP 00003097: JUMPDEST 00003098: PUSH1 0x00 0000309a: DUP6 0000309b: DUP2 0000309c: MSTORE 0000309d: PUSH1 0x20 0000309f: DUP2 000030a0: KECCAK256 000030a1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000030c2: DUP7 000030c3: AND 000030c4: SWAP2 000030c5: JUMPDEST 000030c6: DUP3 000030c7: DUP2 000030c8: LT 000030c9: ISZERO 000030ca: PUSH2 0x30e4 000030cd: JUMPI 000030ce: DUP9 000030cf: DUP7 000030d0: ADD 000030d1: MLOAD 000030d2: DUP3 000030d3: SSTORE 000030d4: SWAP5 000030d5: DUP5 000030d6: ADD 000030d7: SWAP5 000030d8: PUSH1 0x01 000030da: SWAP1 000030db: SWAP2 000030dc: ADD 000030dd: SWAP1 000030de: DUP5 000030df: ADD 000030e0: PUSH2 0x30c5 000030e3: JUMP 000030e4: JUMPDEST 000030e5: POP 000030e6: DUP6 000030e7: DUP3 000030e8: LT 000030e9: ISZERO 000030ea: PUSH2 0x3120 000030ed: JUMPI 000030ee: DUP8 000030ef: DUP6 000030f0: ADD 000030f1: MLOAD 000030f2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003113: PUSH1 0x03 00003115: DUP9 00003116: SWAP1 00003117: SHL 00003118: PUSH1 0xf8 0000311a: AND 0000311b: SHR 0000311c: NOT 0000311d: AND 0000311e: DUP2 0000311f: SSTORE 00003120: JUMPDEST 00003121: POP 00003122: POP 00003123: POP 00003124: POP 00003125: POP 00003126: PUSH1 0x01 00003128: SWAP1 00003129: DUP2 0000312a: SHL 0000312b: ADD 0000312c: SWAP1 0000312d: SSTORE 0000312e: POP 0000312f: JUMP 00003130: JUMPDEST 00003131: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003152: PUSH1 0x00 00003154: MSTORE 00003155: PUSH1 0x11 00003157: PUSH1 0x04 00003159: MSTORE 0000315a: PUSH1 0x24 0000315c: PUSH1 0x00 0000315e: REVERT 0000315f: JUMPDEST 00003160: DUP1 00003161: DUP3 00003162: MUL 00003163: DUP2 00003164: ISZERO 00003165: DUP3 00003166: DUP3 00003167: DIV 00003168: DUP5 00003169: EQ 0000316a: OR 0000316b: PUSH2 0x3176 0000316e: JUMPI 0000316f: PUSH2 0x3176 00003172: PUSH2 0x3130 00003175: JUMP 00003176: JUMPDEST 00003177: SWAP3 00003178: SWAP2 00003179: POP 0000317a: POP 0000317b: JUMP 0000317c: JUMPDEST 0000317d: PUSH1 0x00 0000317f: DUP3 00003180: PUSH2 0x31b2 00003183: JUMPI 00003184: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000031a5: PUSH1 0x00 000031a7: MSTORE 000031a8: PUSH1 0x12 000031aa: PUSH1 0x04 000031ac: MSTORE 000031ad: PUSH1 0x24 000031af: PUSH1 0x00 000031b1: REVERT 000031b2: JUMPDEST 000031b3: POP 000031b4: DIV 000031b5: SWAP1 000031b6: JUMP 000031b7: JUMPDEST 000031b8: DUP1 000031b9: DUP3 000031ba: ADD 000031bb: DUP1 000031bc: DUP3 000031bd: GT 000031be: ISZERO 000031bf: PUSH2 0x3176 000031c2: JUMPI 000031c3: PUSH2 0x3176 000031c6: PUSH2 0x3130 000031c9: JUMP 000031ca: JUMPDEST 000031cb: DUP2 000031cc: DUP4 000031cd: DUP3 000031ce: CALLDATACOPY 000031cf: PUSH1 0x00 000031d1: SWAP2 000031d2: ADD 000031d3: SWAP1 000031d4: DUP2 000031d5: MSTORE 000031d6: SWAP2 000031d7: SWAP1 000031d8: POP 000031d9: JUMP 000031da: JUMPDEST 000031db: DUP2 000031dc: DUP2 000031dd: SUB 000031de: DUP2 000031df: DUP2 000031e0: GT 000031e1: ISZERO 000031e2: PUSH2 0x3176 000031e5: JUMPI 000031e6: PUSH2 0x3176 000031e9: PUSH2 0x3130 000031ec: JUMP 000031ed: JUMPDEST 000031ee: DUP2 000031ef: DUP4 000031f0: MSTORE 000031f1: DUP2 000031f2: DUP2 000031f3: PUSH1 0x20 000031f5: DUP6 000031f6: ADD 000031f7: CALLDATACOPY 000031f8: POP 000031f9: PUSH1 0x00 000031fb: PUSH1 0x20 000031fd: DUP3 000031fe: DUP5 000031ff: ADD 00003200: ADD 00003201: MSTORE 00003202: PUSH1 0x00 00003204: PUSH1 0x20 00003206: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003227: PUSH1 0x1f 00003229: DUP5 0000322a: ADD 0000322b: AND 0000322c: DUP5 0000322d: ADD 0000322e: ADD 0000322f: SWAP1 00003230: POP 00003231: SWAP3 00003232: SWAP2 00003233: POP 00003234: POP 00003235: JUMP 00003236: JUMPDEST 00003237: PUSH2 0xffff 0000323a: DUP11 0000323b: AND 0000323c: DUP2 0000323d: MSTORE 0000323e: DUP9 0000323f: PUSH1 0x20 00003241: DUP3 00003242: ADD 00003243: MSTORE 00003244: PUSH1 0xe0 00003246: PUSH1 0x40 00003248: DUP3 00003249: ADD 0000324a: MSTORE 0000324b: PUSH1 0x00 0000324d: PUSH2 0x325a 00003250: PUSH1 0xe0 00003252: DUP4 00003253: ADD 00003254: DUP10 00003255: DUP12 00003256: PUSH2 0x31ed 00003259: JUMP 0000325a: JUMPDEST 0000325b: DUP8 0000325c: PUSH1 0x60 0000325e: DUP5 0000325f: ADD 00003260: MSTORE 00003261: DUP3 00003262: DUP2 00003263: SUB 00003264: PUSH1 0x80 00003266: DUP5 00003267: ADD 00003268: MSTORE 00003269: PUSH2 0x3273 0000326c: DUP2 0000326d: DUP8 0000326e: DUP10 0000326f: PUSH2 0x31ed 00003272: JUMP 00003273: JUMPDEST 00003274: PUSH1 0xa0 00003276: DUP5 00003277: ADD 00003278: SWAP6 00003279: SWAP1 0000327a: SWAP6 0000327b: MSTORE 0000327c: POP 0000327d: POP 0000327e: PUSH1 0xc0 00003280: ADD 00003281: MSTORE 00003282: SWAP8 00003283: SWAP7 00003284: POP 00003285: POP 00003286: POP 00003287: POP 00003288: POP 00003289: POP 0000328a: POP 0000328b: JUMP 0000328c: JUMPDEST 0000328d: PUSH2 0xffff 00003290: DUP11 00003291: AND 00003292: DUP2 00003293: MSTORE 00003294: PUSH1 0xe0 00003296: PUSH1 0x20 00003298: DUP3 00003299: ADD 0000329a: MSTORE 0000329b: PUSH1 0x00 0000329d: PUSH2 0x32a9 000032a0: PUSH1 0xe0 000032a2: DUP4 000032a3: ADD 000032a4: DUP12 000032a5: PUSH2 0x29dd 000032a8: JUMP 000032a9: JUMPDEST 000032aa: DUP10 000032ab: PUSH1 0x40 000032ad: DUP5 000032ae: ADD 000032af: MSTORE 000032b0: DUP3 000032b1: DUP2 000032b2: SUB 000032b3: PUSH1 0x60 000032b5: DUP5 000032b6: ADD 000032b7: MSTORE 000032b8: PUSH2 0x32c2 000032bb: DUP2 000032bc: DUP10 000032bd: DUP12 000032be: PUSH2 0x31ed 000032c1: JUMP 000032c2: JUMPDEST 000032c3: SWAP1 000032c4: POP 000032c5: DUP7 000032c6: PUSH1 0x80 000032c8: DUP5 000032c9: ADD 000032ca: MSTORE 000032cb: DUP3 000032cc: DUP2 000032cd: SUB 000032ce: PUSH1 0xa0 000032d0: DUP5 000032d1: ADD 000032d2: MSTORE 000032d3: PUSH2 0x32dd 000032d6: DUP2 000032d7: DUP7 000032d8: DUP9 000032d9: PUSH2 0x31ed 000032dc: JUMP 000032dd: JUMPDEST 000032de: SWAP2 000032df: POP 000032e0: POP 000032e1: DUP3 000032e2: PUSH1 0xc0 000032e4: DUP4 000032e5: ADD 000032e6: MSTORE 000032e7: SWAP11 000032e8: SWAP10 000032e9: POP 000032ea: POP 000032eb: POP 000032ec: POP 000032ed: POP 000032ee: POP 000032ef: POP 000032f0: POP 000032f1: POP 000032f2: POP 000032f3: JUMP 000032f4: JUMPDEST 000032f5: PUSH2 0xffff 000032f8: DUP5 000032f9: AND 000032fa: DUP2 000032fb: MSTORE 000032fc: DUP3 000032fd: PUSH1 0x20 000032ff: DUP3 00003300: ADD 00003301: MSTORE 00003302: PUSH1 0x60 00003304: PUSH1 0x40 00003306: DUP3 00003307: ADD 00003308: MSTORE 00003309: PUSH1 0x00 0000330b: PUSH2 0x3317 0000330e: PUSH1 0x60 00003310: DUP4 00003311: ADD 00003312: DUP5 00003313: PUSH2 0x29dd 00003316: JUMP 00003317: JUMPDEST 00003318: SWAP6 00003319: SWAP5 0000331a: POP 0000331b: POP 0000331c: POP 0000331d: POP 0000331e: POP 0000331f: JUMP 00003320: JUMPDEST 00003321: PUSH2 0xffff 00003324: DUP8 00003325: AND 00003326: DUP2 00003327: MSTORE 00003328: PUSH1 0xe0 0000332a: PUSH1 0x20 0000332c: DUP3 0000332d: ADD 0000332e: MSTORE 0000332f: PUSH1 0x00 00003331: PUSH2 0x333d 00003334: PUSH1 0xe0 00003336: DUP4 00003337: ADD 00003338: DUP9 00003339: PUSH2 0x29dd 0000333c: JUMP 0000333d: JUMPDEST 0000333e: DUP7 0000333f: PUSH1 0x40 00003341: DUP5 00003342: ADD 00003343: MSTORE 00003344: DUP3 00003345: DUP2 00003346: SUB 00003347: PUSH1 0x60 00003349: DUP5 0000334a: ADD 0000334b: MSTORE 0000334c: PUSH2 0x3355 0000334f: DUP2 00003350: DUP8 00003351: PUSH2 0x29dd 00003354: JUMP 00003355: JUMPDEST 00003356: PUSH1 0x80 00003358: DUP5 00003359: ADD 0000335a: SWAP6 0000335b: SWAP1 0000335c: SWAP6 0000335d: MSTORE 0000335e: POP 0000335f: POP 00003360: DUP1 00003361: DUP4 00003362: SUB 00003363: PUSH1 0xa0 00003365: DUP3 00003366: ADD 00003367: MSTORE 00003368: PUSH1 0x00 0000336a: DUP4 0000336b: MSTORE 0000336c: PUSH1 0xc0 0000336e: ADD 0000336f: MSTORE 00003370: PUSH1 0x20 00003372: ADD 00003373: SWAP5 00003374: SWAP4 00003375: POP 00003376: POP 00003377: POP 00003378: POP 00003379: JUMP 0000337a: JUMPDEST 0000337b: PUSH8 0xffffffffffffffff 00003384: DUP4 00003385: GT 00003386: ISZERO 00003387: PUSH2 0x3392 0000338a: JUMPI 0000338b: PUSH2 0x3392 0000338e: PUSH2 0x2ceb 00003391: JUMP 00003392: JUMPDEST 00003393: PUSH2 0x33a6 00003396: DUP4 00003397: PUSH2 0x33a0 0000339a: DUP4 0000339b: SLOAD 0000339c: PUSH2 0x2f75 0000339f: JUMP 000033a0: JUMPDEST 000033a1: DUP4 000033a2: PUSH2 0x2fc8 000033a5: JUMP 000033a6: JUMPDEST 000033a7: PUSH1 0x00 000033a9: PUSH1 0x1f 000033ab: DUP5 000033ac: GT 000033ad: PUSH1 0x01 000033af: DUP2 000033b0: EQ 000033b1: PUSH2 0x33f8 000033b4: JUMPI 000033b5: PUSH1 0x00 000033b7: DUP6 000033b8: ISZERO 000033b9: PUSH2 0x33c2 000033bc: JUMPI 000033bd: POP 000033be: DUP4 000033bf: DUP3 000033c0: ADD 000033c1: CALLDATALOAD 000033c2: JUMPDEST 000033c3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000033e4: PUSH1 0x03 000033e6: DUP8 000033e7: SWAP1 000033e8: SHL 000033e9: SHR 000033ea: NOT 000033eb: AND 000033ec: PUSH1 0x01 000033ee: DUP7 000033ef: SWAP1 000033f0: SHL 000033f1: OR 000033f2: DUP4 000033f3: SSTORE 000033f4: PUSH2 0x348e 000033f7: JUMP 000033f8: JUMPDEST 000033f9: PUSH1 0x00 000033fb: DUP4 000033fc: DUP2 000033fd: MSTORE 000033fe: PUSH1 0x20 00003400: SWAP1 00003401: KECCAK256 00003402: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003423: DUP7 00003424: AND 00003425: SWAP1 00003426: DUP4 00003427: JUMPDEST 00003428: DUP3 00003429: DUP2 0000342a: LT 0000342b: ISZERO 0000342c: PUSH2 0x3447 0000342f: JUMPI 00003430: DUP7 00003431: DUP6 00003432: ADD 00003433: CALLDATALOAD 00003434: DUP3 00003435: SSTORE 00003436: PUSH1 0x20 00003438: SWAP5 00003439: DUP6 0000343a: ADD 0000343b: SWAP5 0000343c: PUSH1 0x01 0000343e: SWAP1 0000343f: SWAP3 00003440: ADD 00003441: SWAP2 00003442: ADD 00003443: PUSH2 0x3427 00003446: JUMP 00003447: JUMPDEST 00003448: POP 00003449: DUP7 0000344a: DUP3 0000344b: LT 0000344c: ISZERO 0000344d: PUSH2 0x3482 00003450: JUMPI 00003451: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003472: PUSH1 0xf8 00003474: DUP9 00003475: PUSH1 0x03 00003477: SHL 00003478: AND 00003479: SHR 0000347a: NOT 0000347b: DUP5 0000347c: DUP8 0000347d: ADD 0000347e: CALLDATALOAD 0000347f: AND 00003480: DUP2 00003481: SSTORE 00003482: JUMPDEST 00003483: POP 00003484: POP 00003485: PUSH1 0x01 00003487: DUP6 00003488: PUSH1 0x01 0000348a: SHL 0000348b: ADD 0000348c: DUP4 0000348d: SSTORE 0000348e: JUMPDEST 0000348f: POP 00003490: POP 00003491: POP 00003492: POP 00003493: POP 00003494: JUMP 00003495: JUMPDEST 00003496: PUSH1 0x00 00003498: PUSH16 0xffffffffffffffffffffffffffffffff 000034a9: DUP1 000034aa: DUP8 000034ab: AND 000034ac: DUP4 000034ad: MSTORE 000034ae: PUSH1 0x60 000034b0: PUSH1 0x20 000034b2: DUP5 000034b3: ADD 000034b4: MSTORE 000034b5: PUSH2 0x34c2 000034b8: PUSH1 0x60 000034ba: DUP5 000034bb: ADD 000034bc: DUP7 000034bd: DUP9 000034be: PUSH2 0x31ed 000034c1: JUMP 000034c2: JUMPDEST 000034c3: SWAP2 000034c4: POP 000034c5: DUP1 000034c6: DUP5 000034c7: AND 000034c8: PUSH1 0x40 000034ca: DUP5 000034cb: ADD 000034cc: MSTORE 000034cd: POP 000034ce: SWAP6 000034cf: SWAP5 000034d0: POP 000034d1: POP 000034d2: POP 000034d3: POP 000034d4: POP 000034d5: JUMP 000034d6: JUMPDEST 000034d7: PUSH1 0x40 000034d9: DUP2 000034da: MSTORE 000034db: PUSH1 0x00 000034dd: PUSH2 0x34ea 000034e0: PUSH1 0x40 000034e2: DUP4 000034e3: ADD 000034e4: DUP6 000034e5: DUP8 000034e6: PUSH2 0x31ed 000034e9: JUMP 000034ea: JUMPDEST 000034eb: SWAP1 000034ec: POP 000034ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003502: DUP4 00003503: AND 00003504: PUSH1 0x20 00003506: DUP4 00003507: ADD 00003508: MSTORE 00003509: SWAP5 0000350a: SWAP4 0000350b: POP 0000350c: POP 0000350d: POP 0000350e: POP 0000350f: JUMP 00003510: INVALID 00003511: LOG2 00003512: PUSH5 0x6970667358 00003518: UNKNOWN(0x22) 00003519: SLT 0000351a: KECCAK256 0000351b: CALLDATALOAD 0000351c: DUP6 0000351d: UNKNOWN(0x0E) 0000351e: PUSH11 0x458868fac9dda5e7464e45 0000352a: UNKNOWN(0xE0) 0000352b: CALLDATALOAD 0000352c: PUSH12 0x0bf3086d27b6845ee6b2730e 00003539: UNKNOWN(0xCE) 0000353a: UNKNOWN(0xB5) 0000353b: PUSH5 0x736f6c6343 00003541: STOP 00003542: ADDMOD 00003543: SLT 00003544: STOP 00003545: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unprotected init() lets attacker become admin/executor and drain bridge funds | 90 | no | — |
viewevidence_json{
"evidence": "`init()` is external and only guarded by `whenNotInitialized`, allowing any first caller to set admin/executor/callerContract arbitrarily.",
"locations": [
"contracts/contracts/bridge/AbstractBridge.sol:44",
"contracts/contracts/bridge/AbstractBridge.sol:51",
"contracts/contracts/bridge/AbstractBridge.sol:55",
"contracts/contracts/bridge/AbstractBridge.sol:60",
"contracts/contracts/bridge/AbstractBridge.sol:61"
],
"recommendation": "Restrict `init()` to a trusted deployer (e.g., onlyProxy/onlyAdmin pattern) and/or use a constructor to set immutable admin/executor or disable the initializer on implementation contracts.",
"exploit_scenario": "1) Monitor for deployment of the bridge proxy/implementation before initialization. 2) Call `init()` first, setting `admin_` and `executor_` to attacker-controlled addresses and `callerContract_` to any chosen value. 3) (Optional) Use admin privileges to configure chains/bindings so users can start locking ETH. 4) As users call `lockTokens`, `balance` increases with ETH held by the bridge. 5) Call `releaseTokens()` as the attacker-controlled executor and pass the matching `callerContract_` to transfer out up to the full `balance` to the attacker. 6) Repeat to drain all subsequent deposits."
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe2f273bd",
"selector": "0xe2f273bd",
"calldata_variants": [
"0xe2f273bd",
"0xe2f273bd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe45da526",
"selector": "0xe45da526",
"calldata_variants": [
"0xe45da526",
"0xe45da5260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf67db96b",
"selector": "0xf67db96b",
"calldata_variants": [
"0xf67db96b",
"0xf67db96b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbac9e1b7",
"selector": "0xbac9e1b7",
"calldata_variants": [
"0xbac9e1b7",
"0xbac9e1b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc34c08e5",
"selector": "0xc34c08e5",
"calldata_variants": [
"0xc34c08e5",
"0xc34c08e50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe22fe72f",
"selector": "0xe22fe72f",
"calldata_variants": [
"0xe22fe72f",
"0xe22fe72f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb187bd26",
"selector": "0xb187bd26",
"calldata_variants": [
"0xb187bd26",
"0xb187bd260000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 6949,
"type": "tx_origin_used"
},
{
"pc": 6863,
"type": "tx_origin_used"
},
{
"pc": 6948,
"type": "tx_origin_used"
},
{
"pc": 7037,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a
call_targets:
0x1bda1227875f0f8bb27625dd720f386b40003e14
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1bda1227875f0f8bb27625dd720f386b40003e14"
],
"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": "0xe2f273bd",
"selector": "0xe2f273bd",
"calldata_variants": [
"0xe2f273bd",
"0xe2f273bd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe45da526",
"selector": "0xe45da526",
"calldata_variants": [
"0xe45da526",
"0xe45da5260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf67db96b",
"selector": "0xf67db96b",
"calldata_variants": [
"0xf67db96b",
"0xf67db96b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbac9e1b7",
"selector": "0xbac9e1b7",
"calldata_variants": [
"0xbac9e1b7",
"0xbac9e1b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc34c08e5",
"selector": "0xc34c08e5",
"calldata_variants": [
"0xc34c08e5",
"0xc34c08e50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe22fe72f",
"selector": "0xe22fe72f",
"calldata_variants": [
"0xe22fe72f",
"0xe22fe72f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb187bd26",
"selector": "0xb187bd26",
"calldata_variants": [
"0xb187bd26",
"0xb187bd260000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5593,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7010,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7056,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [
{
"pc": 6949,
"type": "tx_origin_used"
},
{
"pc": 6863,
"type": "tx_origin_used"
},
{
"pc": 6948,
"type": "tx_origin_used"
},
{
"pc": 7037,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 5
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a
call_targets:
0x1bda1227875f0f8bb27625dd720f386b40003e14
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6bf946ad6a063f933418537715d9de0fed17450746c86e2d17f4fe25720bbb3a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1bda1227875f0f8bb27625dd720f386b40003e14"
],
"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": "0xe2f273bd",
"selector": "0xe2f273bd",
"calldata_variants": [
"0xe2f273bd",
"0xe2f273bd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe45da526",
"selector": "0xe45da526",
"calldata_variants": [
"0xe45da526",
"0xe45da5260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf67db96b",
"selector": "0xf67db96b",
"calldata_variants": [
"0xf67db96b",
"0xf67db96b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbac9e1b7",
"selector": "0xbac9e1b7",
"calldata_variants": [
"0xbac9e1b7",
"0xbac9e1b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc34c08e5",
"selector": "0xc34c08e5",
"calldata_variants": [
"0xc34c08e5",
"0xc34c08e50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe22fe72f",
"selector": "0xe22fe72f",
"calldata_variants": [
"0xe22fe72f",
"0xe22fe72f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb187bd26",
"selector": "0xb187bd26",
"calldata_variants": [
"0xb187bd26",
"0xb187bd260000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5593,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7010,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7056,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": [
{
"pc": 6949,
"type": "tx_origin_used"
},
{
"pc": 6863,
"type": "tx_origin_used"
},
{
"pc": 6948,
"type": "tx_origin_used"
},
{
"pc": 7037,
"type": "tx_origin_used"
}
]
}
|