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

Analysis Run

019bb2d5-fd30-71f7-b28c-904f162f05ba

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 3:32 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Hardcoded 1000 denominator breaks accounting when shares do not sum to 1000
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
39566 artifact.fetch complete 1 / 3 3 months ago
39567 proxy.resolve complete 1 / 3 3 months ago
39568 tool.cast_disasm complete 1 / 3 3 months ago
39569 analysis.bundle complete 1 / 3 3 months ago
39570 capability.graph complete 1 / 3 3 months ago
39571 detector.run complete 1 / 3 3 months ago
39572 validation.fork complete 1 / 3 3 months ago
39721 report.consolidate complete 1 / 6 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
The payment calculation hardcodes a 1000 denominator and never enforces that total shares equal 1000, which can permanently lock or misallocate funds if deployed with any other share sum.
View stdout
{"no_findings":false,"summary":"The payment calculation hardcodes a 1000 denominator and never enforces that total shares equal 1000, which can permanently lock or misallocate funds if deployed with any other share sum.","findings":[{"severity":"medium","category":"math","title":"Hardcoded 1000 denominator breaks accounting when shares do not sum to 1000","exploit_scenario":"If the constructor is configured with shares that do not sum to 1000, payouts are miscomputed. When the total is less than 1000, a portion of ETH/tokens becomes permanently unclaimable (no rescue method). When the total exceeds 1000, the contract becomes insolvent and some payees can never withdraw their computed entitlement, leaving funds stuck or unfairly distributed as deposits arrive.","recommendation":"Use `_totalShares` as the denominator (as in OpenZeppelin PaymentSplitter), or enforce in `_addPayee`/constructor that the total shares must equal 1000 and revert otherwise.","evidence":"`_pendingPayment` divides by a constant 1000 and ignores `_totalShares`, while `_totalShares` is accumulated but never used for payouts.","locations":["contracts/AmbassadorsFund.sol:98","contracts/AmbassadorsFund.sol:103","contracts/AmbassadorsFund.sol:115"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-f67p7cty
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb2e4-0a49-7741-b8a5-b58e6fabde65
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Preparing to audit file contents**
exec
/bin/bash -lc ls in /tmp/codex-f67p7cty succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-f67p7cty succeeded in 27ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/AmbassadorsFund.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Address.sol";
import "@openzeppelin/contracts/utils/Context.sol";

contract AmbassadorsFund is Context, Ownable {
  event PayeeAdded(address account, uint256 shares);
  event PaymentReleased(address to, uint256 amount);
  event ERC20PaymentReleased(IERC20 indexed token, address to, uint256 amount);
  event PaymentReceived(address from, uint256 amount);

thinking
**Verifying bundle completeness**
exec
/bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-f67p7cty succeeded in 7ms:



thinking
**Analyzing PaymentSplitter vulnerabilities**
thinking
**Examining reentrancy and payment calculation flaws**

I'll analyze how reentrancy during ERC20 transfers might inflate payable amounts due to balance timing in token hooks, especially with malicious tokens, and how using a fixed denominator without enforcing total shares causes potential over- or under-distribution and permanent fund locks. I'll also note implications of ETH release access control requiring the payee to call.
exec
/bin/bash -lc 'nl -ba contracts/AmbassadorsFund.sol' in /tmp/codex-f67p7cty succeeded in 28ms:
     1	// SPDX-License-Identifier: MIT
     2	
     3	pragma solidity ^0.8.0;
     4	
     5	import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
     6	import "@openzeppelin/contracts/access/Ownable.sol";
     7	import "@openzeppelin/contracts/utils/Address.sol";
     8	import "@openzeppelin/contracts/utils/Context.sol";
     9	
    10	contract AmbassadorsFund is Context, Ownable {
    11	  event PayeeAdded(address account, uint256 shares);
    12	  event PaymentReleased(address to, uint256 amount);
    13	  event ERC20PaymentReleased(IERC20 indexed token, address to, uint256 amount);
    14	  event PaymentReceived(address from, uint256 amount);
    15	
    16	  uint256 private _totalShares;
    17	  uint256 private _totalReleased;
    18	
    19	  mapping(address => uint256) private _shares;
    20	  mapping(address => uint256) private _released;

thinking
**Preparing vulnerability report data**
codex
{"no_findings":false,"summary":"The payment calculation hardcodes a 1000 denominator and never enforces that total shares equal 1000, which can permanently lock or misallocate funds if deployed with any other share sum.","findings":[{"severity":"medium","category":"math","title":"Hardcoded 1000 denominator breaks accounting when shares do not sum to 1000","exploit_scenario":"If the constructor is configured with shares that do not sum to 1000, payouts are miscomputed. When the total is less than 1000, a portion of ETH/tokens becomes permanently unclaimable (no rescue method). When the total exceeds 1000, the contract becomes insolvent and some payees can never withdraw their computed entitlement, leaving funds stuck or unfairly distributed as deposits arrive.","recommendation":"Use `_totalShares` as the denominator (as in OpenZeppelin PaymentSplitter), or enforce in `_addPayee`/constructor that the total shares must equal 1000 and revert otherwise.","evidence":"`_pendingPayment` divides by a constant 1000 and ignores `_totalShares`, while `_totalShares` is accumulated but never used for payouts.","locations":["contracts/AmbassadorsFund.sol:98","contracts/AmbassadorsFund.sol:103","contracts/AmbassadorsFund.sol:115"]}]}
tokens used
14,596
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T15:49:49.986297+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 6,
        "import_count": 7,
        "first_party_contracts_count": 1
    },
    "summary": "The payment calculation hardcodes a 1000 denominator and never enforces that total shares equal 1000, which can permanently lock or misallocate funds if deployed with any other share sum.",
    "raw_final": {
        "summary": "The payment calculation hardcodes a 1000 denominator and never enforces that total shares equal 1000, which can permanently lock or misallocate funds if deployed with any other share sum.",
        "findings": [
            {
                "title": "Hardcoded 1000 denominator breaks accounting when shares do not sum to 1000",
                "category": "math",
                "evidence": "`_pendingPayment` divides by a constant 1000 and ignores `_totalShares`, while `_totalShares` is accumulated but never used for payouts.",
                "severity": "medium",
                "locations": [
                    "contracts/AmbassadorsFund.sol:98",
                    "contracts/AmbassadorsFund.sol:103",
                    "contracts/AmbassadorsFund.sol:115"
                ],
                "recommendation": "Use `_totalShares` as the denominator (as in OpenZeppelin PaymentSplitter), or enforce in `_addPayee`/constructor that the total shares must equal 1000 and revert otherwise.",
                "exploit_scenario": "If the constructor is configured with shares that do not sum to 1000, payouts are miscomputed. When the total is less than 1000, a portion of ETH/tokens becomes permanently unclaimable (no rescue method). When the total exceeds 1000, the contract becomes insolvent and some payees can never withdraw their computed entitlement, leaving funds stuck or unfairly distributed as deposits arrive."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
2
Total opcodes
3590
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00ab
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8da5cb5b
00000019: GT
0000001a: PUSH2 0x0064
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x8da5cb5b
00000024: EQ
00000025: PUSH2 0x0205
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x9852595c
0000002f: EQ
00000030: PUSH2 0x0230
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xce7c2ac2
0000003a: EQ
0000003b: PUSH2 0x026d
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd79779b2
00000045: EQ
00000046: PUSH2 0x02aa
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe33b7de3
00000050: EQ
00000051: PUSH2 0x02e7
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf2fde38b
0000005b: EQ
0000005c: PUSH2 0x0312
0000005f: JUMPI
00000060: PUSH2 0x00f2
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x19165587
0000006b: EQ
0000006c: PUSH2 0x00f7
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x3a98ef39
00000076: EQ
00000077: PUSH2 0x0120
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x406072a9
00000081: EQ
00000082: PUSH2 0x014b
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x48b75044
0000008c: EQ
0000008d: PUSH2 0x0188
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x715018a6
00000097: EQ
00000098: PUSH2 0x01b1
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x8b83209b
000000a2: EQ
000000a3: PUSH2 0x01c8
000000a6: JUMPI
000000a7: PUSH2 0x00f2
000000aa: JUMP
000000ab: JUMPDEST
000000ac: CALLDATASIZE
000000ad: PUSH2 0x00f2
000000b0: JUMPI
000000b1: PUSH32 0x6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770
000000d2: PUSH2 0x00d9
000000d5: PUSH2 0x033b
000000d8: JUMP
000000d9: JUMPDEST
000000da: CALLVALUE
000000db: PUSH1 0x40
000000dd: MLOAD
000000de: PUSH2 0x00e8
000000e1: SWAP3
000000e2: SWAP2
000000e3: SWAP1
000000e4: PUSH2 0x172a
000000e7: JUMP
000000e8: JUMPDEST
000000e9: PUSH1 0x40
000000eb: MLOAD
000000ec: DUP1
000000ed: SWAP2
000000ee: SUB
000000ef: SWAP1
000000f0: LOG1
000000f1: STOP
000000f2: JUMPDEST
000000f3: PUSH1 0x00
000000f5: DUP1
000000f6: REVERT
000000f7: JUMPDEST
000000f8: CALLVALUE
000000f9: DUP1
000000fa: ISZERO
000000fb: PUSH2 0x0103
000000fe: JUMPI
000000ff: PUSH1 0x00
00000101: DUP1
00000102: REVERT
00000103: JUMPDEST
00000104: POP
00000105: PUSH2 0x011e
00000108: PUSH1 0x04
0000010a: DUP1
0000010b: CALLDATASIZE
0000010c: SUB
0000010d: DUP2
0000010e: ADD
0000010f: SWAP1
00000110: PUSH2 0x0119
00000113: SWAP2
00000114: SWAP1
00000115: PUSH2 0x1176
00000118: JUMP
00000119: JUMPDEST
0000011a: PUSH2 0x0343
0000011d: JUMP
0000011e: JUMPDEST
0000011f: STOP
00000120: JUMPDEST
00000121: CALLVALUE
00000122: DUP1
00000123: ISZERO
00000124: PUSH2 0x012c
00000127: JUMPI
00000128: PUSH1 0x00
0000012a: DUP1
0000012b: REVERT
0000012c: JUMPDEST
0000012d: POP
0000012e: PUSH2 0x0135
00000131: PUSH2 0x055c
00000134: JUMP
00000135: JUMPDEST
00000136: PUSH1 0x40
00000138: MLOAD
00000139: PUSH2 0x0142
0000013c: SWAP2
0000013d: SWAP1
0000013e: PUSH2 0x18b5
00000141: JUMP
00000142: JUMPDEST
00000143: PUSH1 0x40
00000145: MLOAD
00000146: DUP1
00000147: SWAP2
00000148: SUB
00000149: SWAP1
0000014a: RETURN
0000014b: JUMPDEST
0000014c: CALLVALUE
0000014d: DUP1
0000014e: ISZERO
0000014f: PUSH2 0x0157
00000152: JUMPI
00000153: PUSH1 0x00
00000155: DUP1
00000156: REVERT
00000157: JUMPDEST
00000158: POP
00000159: PUSH2 0x0172
0000015c: PUSH1 0x04
0000015e: DUP1
0000015f: CALLDATASIZE
00000160: SUB
00000161: DUP2
00000162: ADD
00000163: SWAP1
00000164: PUSH2 0x016d
00000167: SWAP2
00000168: SWAP1
00000169: PUSH2 0x11f1
0000016c: JUMP
0000016d: JUMPDEST
0000016e: PUSH2 0x0566
00000171: JUMP
00000172: JUMPDEST
00000173: PUSH1 0x40
00000175: MLOAD
00000176: PUSH2 0x017f
00000179: SWAP2
0000017a: SWAP1
0000017b: PUSH2 0x18b5
0000017e: JUMP
0000017f: JUMPDEST
00000180: PUSH1 0x40
00000182: MLOAD
00000183: DUP1
00000184: SWAP2
00000185: SUB
00000186: SWAP1
00000187: RETURN
00000188: JUMPDEST
00000189: CALLVALUE
0000018a: DUP1
0000018b: ISZERO
0000018c: PUSH2 0x0194
0000018f: JUMPI
00000190: PUSH1 0x00
00000192: DUP1
00000193: REVERT
00000194: JUMPDEST
00000195: POP
00000196: PUSH2 0x01af
00000199: PUSH1 0x04
0000019b: DUP1
0000019c: CALLDATASIZE
0000019d: SUB
0000019e: DUP2
0000019f: ADD
000001a0: SWAP1
000001a1: PUSH2 0x01aa
000001a4: SWAP2
000001a5: SWAP1
000001a6: PUSH2 0x11f1
000001a9: JUMP
000001aa: JUMPDEST
000001ab: PUSH2 0x05ed
000001ae: JUMP
000001af: JUMPDEST
000001b0: STOP
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: PUSH2 0x01c6
000001c2: PUSH2 0x08b5
000001c5: JUMP
000001c6: JUMPDEST
000001c7: STOP
000001c8: JUMPDEST
000001c9: CALLVALUE
000001ca: DUP1
000001cb: ISZERO
000001cc: PUSH2 0x01d4
000001cf: JUMPI
000001d0: PUSH1 0x00
000001d2: DUP1
000001d3: REVERT
000001d4: JUMPDEST
000001d5: POP
000001d6: PUSH2 0x01ef
000001d9: PUSH1 0x04
000001db: DUP1
000001dc: CALLDATASIZE
000001dd: SUB
000001de: DUP2
000001df: ADD
000001e0: SWAP1
000001e1: PUSH2 0x01ea
000001e4: SWAP2
000001e5: SWAP1
000001e6: PUSH2 0x122d
000001e9: JUMP
000001ea: JUMPDEST
000001eb: PUSH2 0x093d
000001ee: JUMP
000001ef: JUMPDEST
000001f0: PUSH1 0x40
000001f2: MLOAD
000001f3: PUSH2 0x01fc
000001f6: SWAP2
000001f7: SWAP1
000001f8: PUSH2 0x16e6
000001fb: JUMP
000001fc: JUMPDEST
000001fd: PUSH1 0x40
000001ff: MLOAD
00000200: DUP1
00000201: SWAP2
00000202: SUB
00000203: SWAP1
00000204: RETURN
00000205: JUMPDEST
00000206: CALLVALUE
00000207: DUP1
00000208: ISZERO
00000209: PUSH2 0x0211
0000020c: JUMPI
0000020d: PUSH1 0x00
0000020f: DUP1
00000210: REVERT
00000211: JUMPDEST
00000212: POP
00000213: PUSH2 0x021a
00000216: PUSH2 0x09ab
00000219: JUMP
0000021a: JUMPDEST
0000021b: PUSH1 0x40
0000021d: MLOAD
0000021e: PUSH2 0x0227
00000221: SWAP2
00000222: SWAP1
00000223: PUSH2 0x16e6
00000226: JUMP
00000227: JUMPDEST
00000228: PUSH1 0x40
0000022a: MLOAD
0000022b: DUP1
0000022c: SWAP2
0000022d: SUB
0000022e: SWAP1
0000022f: RETURN
00000230: JUMPDEST
00000231: CALLVALUE
00000232: DUP1
00000233: ISZERO
00000234: PUSH2 0x023c
00000237: JUMPI
00000238: PUSH1 0x00
0000023a: DUP1
0000023b: REVERT
0000023c: JUMPDEST
0000023d: POP
0000023e: PUSH2 0x0257
00000241: PUSH1 0x04
00000243: DUP1
00000244: CALLDATASIZE
00000245: SUB
00000246: DUP2
00000247: ADD
00000248: SWAP1
00000249: PUSH2 0x0252
0000024c: SWAP2
0000024d: SWAP1
0000024e: PUSH2 0x114d
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH2 0x09d4
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH1 0x40
0000025a: MLOAD
0000025b: PUSH2 0x0264
0000025e: SWAP2
0000025f: SWAP1
00000260: PUSH2 0x18b5
00000263: JUMP
00000264: JUMPDEST
00000265: PUSH1 0x40
00000267: MLOAD
00000268: DUP1
00000269: SWAP2
0000026a: SUB
0000026b: SWAP1
0000026c: RETURN
0000026d: JUMPDEST
0000026e: CALLVALUE
0000026f: DUP1
00000270: ISZERO
00000271: PUSH2 0x0279
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: POP
0000027b: PUSH2 0x0294
0000027e: PUSH1 0x04
00000280: DUP1
00000281: CALLDATASIZE
00000282: SUB
00000283: DUP2
00000284: ADD
00000285: SWAP1
00000286: PUSH2 0x028f
00000289: SWAP2
0000028a: SWAP1
0000028b: PUSH2 0x114d
0000028e: JUMP
0000028f: JUMPDEST
00000290: PUSH2 0x0a1d
00000293: JUMP
00000294: JUMPDEST
00000295: PUSH1 0x40
00000297: MLOAD
00000298: PUSH2 0x02a1
0000029b: SWAP2
0000029c: SWAP1
0000029d: PUSH2 0x18b5
000002a0: JUMP
000002a1: JUMPDEST
000002a2: PUSH1 0x40
000002a4: MLOAD
000002a5: DUP1
000002a6: SWAP2
000002a7: SUB
000002a8: SWAP1
000002a9: RETURN
000002aa: JUMPDEST
000002ab: CALLVALUE
000002ac: DUP1
000002ad: ISZERO
000002ae: PUSH2 0x02b6
000002b1: JUMPI
000002b2: PUSH1 0x00
000002b4: DUP1
000002b5: REVERT
000002b6: JUMPDEST
000002b7: POP
000002b8: PUSH2 0x02d1
000002bb: PUSH1 0x04
000002bd: DUP1
000002be: CALLDATASIZE
000002bf: SUB
000002c0: DUP2
000002c1: ADD
000002c2: SWAP1
000002c3: PUSH2 0x02cc
000002c6: SWAP2
000002c7: SWAP1
000002c8: PUSH2 0x11c8
000002cb: JUMP
000002cc: JUMPDEST
000002cd: PUSH2 0x0a66
000002d0: JUMP
000002d1: JUMPDEST
000002d2: PUSH1 0x40
000002d4: MLOAD
000002d5: PUSH2 0x02de
000002d8: SWAP2
000002d9: SWAP1
000002da: PUSH2 0x18b5
000002dd: JUMP
000002de: JUMPDEST
000002df: PUSH1 0x40
000002e1: MLOAD
000002e2: DUP1
000002e3: SWAP2
000002e4: SUB
000002e5: SWAP1
000002e6: RETURN
000002e7: JUMPDEST
000002e8: CALLVALUE
000002e9: DUP1
000002ea: ISZERO
000002eb: PUSH2 0x02f3
000002ee: JUMPI
000002ef: PUSH1 0x00
000002f1: DUP1
000002f2: REVERT
000002f3: JUMPDEST
000002f4: POP
000002f5: PUSH2 0x02fc
000002f8: PUSH2 0x0aaf
000002fb: JUMP
000002fc: JUMPDEST
000002fd: PUSH1 0x40
000002ff: MLOAD
00000300: PUSH2 0x0309
00000303: SWAP2
00000304: SWAP1
00000305: PUSH2 0x18b5
00000308: JUMP
00000309: JUMPDEST
0000030a: PUSH1 0x40
0000030c: MLOAD
0000030d: DUP1
0000030e: SWAP2
0000030f: SUB
00000310: SWAP1
00000311: RETURN
00000312: JUMPDEST
00000313: CALLVALUE
00000314: DUP1
00000315: ISZERO
00000316: PUSH2 0x031e
00000319: JUMPI
0000031a: PUSH1 0x00
0000031c: DUP1
0000031d: REVERT
0000031e: JUMPDEST
0000031f: POP
00000320: PUSH2 0x0339
00000323: PUSH1 0x04
00000325: DUP1
00000326: CALLDATASIZE
00000327: SUB
00000328: DUP2
00000329: ADD
0000032a: SWAP1
0000032b: PUSH2 0x0334
0000032e: SWAP2
0000032f: SWAP1
00000330: PUSH2 0x114d
00000333: JUMP
00000334: JUMPDEST
00000335: PUSH2 0x0ab9
00000338: JUMP
00000339: JUMPDEST
0000033a: STOP
0000033b: JUMPDEST
0000033c: PUSH1 0x00
0000033e: CALLER
0000033f: SWAP1
00000340: POP
00000341: SWAP1
00000342: JUMP
00000343: JUMPDEST
00000344: DUP1
00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035a: AND
0000035b: CALLER
0000035c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000371: AND
00000372: EQ
00000373: PUSH2 0x03b1
00000376: JUMPI
00000377: PUSH1 0x40
00000379: MLOAD
0000037a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000039b: DUP2
0000039c: MSTORE
0000039d: PUSH1 0x04
0000039f: ADD
000003a0: PUSH2 0x03a8
000003a3: SWAP1
000003a4: PUSH2 0x17b5
000003a7: JUMP
000003a8: JUMPDEST
000003a9: PUSH1 0x40
000003ab: MLOAD
000003ac: DUP1
000003ad: SWAP2
000003ae: SUB
000003af: SWAP1
000003b0: REVERT
000003b1: JUMPDEST
000003b2: PUSH1 0x00
000003b4: PUSH1 0x03
000003b6: PUSH1 0x00
000003b8: DUP4
000003b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ce: AND
000003cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003e4: AND
000003e5: DUP2
000003e6: MSTORE
000003e7: PUSH1 0x20
000003e9: ADD
000003ea: SWAP1
000003eb: DUP2
000003ec: MSTORE
000003ed: PUSH1 0x20
000003ef: ADD
000003f0: PUSH1 0x00
000003f2: KECCAK256
000003f3: SLOAD
000003f4: GT
000003f5: PUSH2 0x0433
000003f8: JUMPI
000003f9: PUSH1 0x40
000003fb: MLOAD
000003fc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000041d: DUP2
0000041e: MSTORE
0000041f: PUSH1 0x04
00000421: ADD
00000422: PUSH2 0x042a
00000425: SWAP1
00000426: PUSH2 0x1795
00000429: JUMP
0000042a: JUMPDEST
0000042b: PUSH1 0x40
0000042d: MLOAD
0000042e: DUP1
0000042f: SWAP2
00000430: SUB
00000431: SWAP1
00000432: REVERT
00000433: JUMPDEST
00000434: PUSH1 0x00
00000436: PUSH2 0x043d
00000439: PUSH2 0x0aaf
0000043c: JUMP
0000043d: JUMPDEST
0000043e: SELFBALANCE
0000043f: PUSH2 0x0448
00000442: SWAP2
00000443: SWAP1
00000444: PUSH2 0x1902
00000447: JUMP
00000448: JUMPDEST
00000449: SWAP1
0000044a: POP
0000044b: PUSH1 0x00
0000044d: PUSH2 0x045f
00000450: DUP4
00000451: DUP4
00000452: PUSH2 0x045a
00000455: DUP7
00000456: PUSH2 0x09d4
00000459: JUMP
0000045a: JUMPDEST
0000045b: PUSH2 0x0bb1
0000045e: JUMP
0000045f: JUMPDEST
00000460: SWAP1
00000461: POP
00000462: PUSH1 0x00
00000464: DUP2
00000465: EQ
00000466: ISZERO
00000467: PUSH2 0x04a5
0000046a: JUMPI
0000046b: PUSH1 0x40
0000046d: MLOAD
0000046e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000048f: DUP2
00000490: MSTORE
00000491: PUSH1 0x04
00000493: ADD
00000494: PUSH2 0x049c
00000497: SWAP1
00000498: PUSH2 0x1835
0000049b: JUMP
0000049c: JUMPDEST
0000049d: PUSH1 0x40
0000049f: MLOAD
000004a0: DUP1
000004a1: SWAP2
000004a2: SUB
000004a3: SWAP1
000004a4: REVERT
000004a5: JUMPDEST
000004a6: DUP1
000004a7: PUSH1 0x04
000004a9: PUSH1 0x00
000004ab: DUP6
000004ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004c1: AND
000004c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004d7: AND
000004d8: DUP2
000004d9: MSTORE
000004da: PUSH1 0x20
000004dc: ADD
000004dd: SWAP1
000004de: DUP2
000004df: MSTORE
000004e0: PUSH1 0x20
000004e2: ADD
000004e3: PUSH1 0x00
000004e5: KECCAK256
000004e6: PUSH1 0x00
000004e8: DUP3
000004e9: DUP3
000004ea: SLOAD
000004eb: PUSH2 0x04f4
000004ee: SWAP2
000004ef: SWAP1
000004f0: PUSH2 0x1902
000004f3: JUMP
000004f4: JUMPDEST
000004f5: SWAP3
000004f6: POP
000004f7: POP
000004f8: DUP2
000004f9: SWAP1
000004fa: SSTORE
000004fb: POP
000004fc: DUP1
000004fd: PUSH1 0x02
000004ff: PUSH1 0x00
00000501: DUP3
00000502: DUP3
00000503: SLOAD
00000504: PUSH2 0x050d
00000507: SWAP2
00000508: SWAP1
00000509: PUSH2 0x1902
0000050c: JUMP
0000050d: JUMPDEST
0000050e: SWAP3
0000050f: POP
00000510: POP
00000511: DUP2
00000512: SWAP1
00000513: SSTORE
00000514: POP
00000515: PUSH2 0x051e
00000518: DUP4
00000519: DUP3
0000051a: PUSH2 0x0c24
0000051d: JUMP
0000051e: JUMPDEST
0000051f: PUSH32 0xdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056
00000540: DUP4
00000541: DUP3
00000542: PUSH1 0x40
00000544: MLOAD
00000545: PUSH2 0x054f
00000548: SWAP3
00000549: SWAP2
0000054a: SWAP1
0000054b: PUSH2 0x1701
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH1 0x40
00000552: MLOAD
00000553: DUP1
00000554: SWAP2
00000555: SUB
00000556: SWAP1
00000557: LOG1
00000558: POP
00000559: POP
0000055a: POP
0000055b: JUMP
0000055c: JUMPDEST
0000055d: PUSH1 0x00
0000055f: PUSH1 0x01
00000561: SLOAD
00000562: SWAP1
00000563: POP
00000564: SWAP1
00000565: JUMP
00000566: JUMPDEST
00000567: PUSH1 0x00
00000569: PUSH1 0x07
0000056b: PUSH1 0x00
0000056d: DUP5
0000056e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000583: AND
00000584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000599: AND
0000059a: DUP2
0000059b: MSTORE
0000059c: PUSH1 0x20
0000059e: ADD
0000059f: SWAP1
000005a0: DUP2
000005a1: MSTORE
000005a2: PUSH1 0x20
000005a4: ADD
000005a5: PUSH1 0x00
000005a7: KECCAK256
000005a8: PUSH1 0x00
000005aa: DUP4
000005ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c0: AND
000005c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005d6: AND
000005d7: DUP2
000005d8: MSTORE
000005d9: PUSH1 0x20
000005db: ADD
000005dc: SWAP1
000005dd: DUP2
000005de: MSTORE
000005df: PUSH1 0x20
000005e1: ADD
000005e2: PUSH1 0x00
000005e4: KECCAK256
000005e5: SLOAD
000005e6: SWAP1
000005e7: POP
000005e8: SWAP3
000005e9: SWAP2
000005ea: POP
000005eb: POP
000005ec: JUMP
000005ed: JUMPDEST
000005ee: PUSH1 0x00
000005f0: PUSH1 0x03
000005f2: PUSH1 0x00
000005f4: DUP4
000005f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000060a: AND
0000060b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000620: AND
00000621: DUP2
00000622: MSTORE
00000623: PUSH1 0x20
00000625: ADD
00000626: SWAP1
00000627: DUP2
00000628: MSTORE
00000629: PUSH1 0x20
0000062b: ADD
0000062c: PUSH1 0x00
0000062e: KECCAK256
0000062f: SLOAD
00000630: GT
00000631: PUSH2 0x066f
00000634: JUMPI
00000635: PUSH1 0x40
00000637: MLOAD
00000638: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000659: DUP2
0000065a: MSTORE
0000065b: PUSH1 0x04
0000065d: ADD
0000065e: PUSH2 0x0666
00000661: SWAP1
00000662: PUSH2 0x1795
00000665: JUMP
00000666: JUMPDEST
00000667: PUSH1 0x40
00000669: MLOAD
0000066a: DUP1
0000066b: SWAP2
0000066c: SUB
0000066d: SWAP1
0000066e: REVERT
0000066f: JUMPDEST
00000670: PUSH1 0x00
00000672: PUSH2 0x067a
00000675: DUP4
00000676: PUSH2 0x0a66
00000679: JUMP
0000067a: JUMPDEST
0000067b: DUP4
0000067c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000691: AND
00000692: PUSH4 0x70a08231
00000697: ADDRESS
00000698: PUSH1 0x40
0000069a: MLOAD
0000069b: DUP3
0000069c: PUSH4 0xffffffff
000006a1: AND
000006a2: PUSH1 0xe0
000006a4: SHL
000006a5: DUP2
000006a6: MSTORE
000006a7: PUSH1 0x04
000006a9: ADD
000006aa: PUSH2 0x06b3
000006ad: SWAP2
000006ae: SWAP1
000006af: PUSH2 0x16e6
000006b2: JUMP
000006b3: JUMPDEST
000006b4: PUSH1 0x20
000006b6: PUSH1 0x40
000006b8: MLOAD
000006b9: DUP1
000006ba: DUP4
000006bb: SUB
000006bc: DUP2
000006bd: DUP7
000006be: DUP1
000006bf: EXTCODESIZE
000006c0: ISZERO
000006c1: DUP1
000006c2: ISZERO
000006c3: PUSH2 0x06cb
000006c6: JUMPI
000006c7: PUSH1 0x00
000006c9: DUP1
000006ca: REVERT
000006cb: JUMPDEST
000006cc: POP
000006cd: GAS
000006ce: STATICCALL
000006cf: ISZERO
000006d0: DUP1
000006d1: ISZERO
000006d2: PUSH2 0x06df
000006d5: JUMPI
000006d6: RETURNDATASIZE
000006d7: PUSH1 0x00
000006d9: DUP1
000006da: RETURNDATACOPY
000006db: RETURNDATASIZE
000006dc: PUSH1 0x00
000006de: REVERT
000006df: JUMPDEST
000006e0: POP
000006e1: POP
000006e2: POP
000006e3: POP
000006e4: PUSH1 0x40
000006e6: MLOAD
000006e7: RETURNDATASIZE
000006e8: PUSH1 0x1f
000006ea: NOT
000006eb: PUSH1 0x1f
000006ed: DUP3
000006ee: ADD
000006ef: AND
000006f0: DUP3
000006f1: ADD
000006f2: DUP1
000006f3: PUSH1 0x40
000006f5: MSTORE
000006f6: POP
000006f7: DUP2
000006f8: ADD
000006f9: SWAP1
000006fa: PUSH2 0x0703
000006fd: SWAP2
000006fe: SWAP1
000006ff: PUSH2 0x1256
00000702: JUMP
00000703: JUMPDEST
00000704: PUSH2 0x070d
00000707: SWAP2
00000708: SWAP1
00000709: PUSH2 0x1902
0000070c: JUMP
0000070d: JUMPDEST
0000070e: SWAP1
0000070f: POP
00000710: PUSH1 0x00
00000712: PUSH2 0x0725
00000715: DUP4
00000716: DUP4
00000717: PUSH2 0x0720
0000071a: DUP8
0000071b: DUP8
0000071c: PUSH2 0x0566
0000071f: JUMP
00000720: JUMPDEST
00000721: PUSH2 0x0bb1
00000724: JUMP
00000725: JUMPDEST
00000726: SWAP1
00000727: POP
00000728: PUSH1 0x00
0000072a: DUP2
0000072b: EQ
0000072c: ISZERO
0000072d: PUSH2 0x076b
00000730: JUMPI
00000731: PUSH1 0x40
00000733: MLOAD
00000734: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000755: DUP2
00000756: MSTORE
00000757: PUSH1 0x04
00000759: ADD
0000075a: PUSH2 0x0762
0000075d: SWAP1
0000075e: PUSH2 0x1835
00000761: JUMP
00000762: JUMPDEST
00000763: PUSH1 0x40
00000765: MLOAD
00000766: DUP1
00000767: SWAP2
00000768: SUB
00000769: SWAP1
0000076a: REVERT
0000076b: JUMPDEST
0000076c: DUP1
0000076d: PUSH1 0x07
0000076f: PUSH1 0x00
00000771: DUP7
00000772: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000787: AND
00000788: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000079d: AND
0000079e: DUP2
0000079f: MSTORE
000007a0: PUSH1 0x20
000007a2: ADD
000007a3: SWAP1
000007a4: DUP2
000007a5: MSTORE
000007a6: PUSH1 0x20
000007a8: ADD
000007a9: PUSH1 0x00
000007ab: KECCAK256
000007ac: PUSH1 0x00
000007ae: DUP6
000007af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c4: AND
000007c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007da: AND
000007db: DUP2
000007dc: MSTORE
000007dd: PUSH1 0x20
000007df: ADD
000007e0: SWAP1
000007e1: DUP2
000007e2: MSTORE
000007e3: PUSH1 0x20
000007e5: ADD
000007e6: PUSH1 0x00
000007e8: KECCAK256
000007e9: PUSH1 0x00
000007eb: DUP3
000007ec: DUP3
000007ed: SLOAD
000007ee: PUSH2 0x07f7
000007f1: SWAP2
000007f2: SWAP1
000007f3: PUSH2 0x1902
000007f6: JUMP
000007f7: JUMPDEST
000007f8: SWAP3
000007f9: POP
000007fa: POP
000007fb: DUP2
000007fc: SWAP1
000007fd: SSTORE
000007fe: POP
000007ff: DUP1
00000800: PUSH1 0x06
00000802: PUSH1 0x00
00000804: DUP7
00000805: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000081a: AND
0000081b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000830: AND
00000831: DUP2
00000832: MSTORE
00000833: PUSH1 0x20
00000835: ADD
00000836: SWAP1
00000837: DUP2
00000838: MSTORE
00000839: PUSH1 0x20
0000083b: ADD
0000083c: PUSH1 0x00
0000083e: KECCAK256
0000083f: PUSH1 0x00
00000841: DUP3
00000842: DUP3
00000843: SLOAD
00000844: PUSH2 0x084d
00000847: SWAP2
00000848: SWAP1
00000849: PUSH2 0x1902
0000084c: JUMP
0000084d: JUMPDEST
0000084e: SWAP3
0000084f: POP
00000850: POP
00000851: DUP2
00000852: SWAP1
00000853: SSTORE
00000854: POP
00000855: PUSH2 0x085f
00000858: DUP5
00000859: DUP5
0000085a: DUP4
0000085b: PUSH2 0x0d18
0000085e: JUMP
0000085f: JUMPDEST
00000860: DUP4
00000861: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000876: AND
00000877: PUSH32 0x3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a
00000898: DUP5
00000899: DUP4
0000089a: PUSH1 0x40
0000089c: MLOAD
0000089d: PUSH2 0x08a7
000008a0: SWAP3
000008a1: SWAP2
000008a2: SWAP1
000008a3: PUSH2 0x172a
000008a6: JUMP
000008a7: JUMPDEST
000008a8: PUSH1 0x40
000008aa: MLOAD
000008ab: DUP1
000008ac: SWAP2
000008ad: SUB
000008ae: SWAP1
000008af: LOG2
000008b0: POP
000008b1: POP
000008b2: POP
000008b3: POP
000008b4: JUMP
000008b5: JUMPDEST
000008b6: PUSH2 0x08bd
000008b9: PUSH2 0x033b
000008bc: JUMP
000008bd: JUMPDEST
000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d3: AND
000008d4: PUSH2 0x08db
000008d7: PUSH2 0x09ab
000008da: JUMP
000008db: JUMPDEST
000008dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008f1: AND
000008f2: EQ
000008f3: PUSH2 0x0931
000008f6: JUMPI
000008f7: PUSH1 0x40
000008f9: MLOAD
000008fa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000091b: DUP2
0000091c: MSTORE
0000091d: PUSH1 0x04
0000091f: ADD
00000920: PUSH2 0x0928
00000923: SWAP1
00000924: PUSH2 0x1855
00000927: JUMP
00000928: JUMPDEST
00000929: PUSH1 0x40
0000092b: MLOAD
0000092c: DUP1
0000092d: SWAP2
0000092e: SUB
0000092f: SWAP1
00000930: REVERT
00000931: JUMPDEST
00000932: PUSH2 0x093b
00000935: PUSH1 0x00
00000937: PUSH2 0x0d9e
0000093a: JUMP
0000093b: JUMPDEST
0000093c: JUMP
0000093d: JUMPDEST
0000093e: PUSH1 0x00
00000940: PUSH1 0x05
00000942: DUP3
00000943: DUP2
00000944: SLOAD
00000945: DUP2
00000946: LT
00000947: PUSH2 0x0979
0000094a: JUMPI
0000094b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000096c: PUSH1 0x00
0000096e: MSTORE
0000096f: PUSH1 0x32
00000971: PUSH1 0x04
00000973: MSTORE
00000974: PUSH1 0x24
00000976: PUSH1 0x00
00000978: REVERT
00000979: JUMPDEST
0000097a: SWAP1
0000097b: PUSH1 0x00
0000097d: MSTORE
0000097e: PUSH1 0x20
00000980: PUSH1 0x00
00000982: KECCAK256
00000983: ADD
00000984: PUSH1 0x00
00000986: SWAP1
00000987: SLOAD
00000988: SWAP1
00000989: PUSH2 0x0100
0000098c: EXP
0000098d: SWAP1
0000098e: DIV
0000098f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a4: AND
000009a5: SWAP1
000009a6: POP
000009a7: SWAP2
000009a8: SWAP1
000009a9: POP
000009aa: JUMP
000009ab: JUMPDEST
000009ac: PUSH1 0x00
000009ae: DUP1
000009af: PUSH1 0x00
000009b1: SWAP1
000009b2: SLOAD
000009b3: SWAP1
000009b4: PUSH2 0x0100
000009b7: EXP
000009b8: SWAP1
000009b9: DIV
000009ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009cf: AND
000009d0: SWAP1
000009d1: POP
000009d2: SWAP1
000009d3: JUMP
000009d4: JUMPDEST
000009d5: PUSH1 0x00
000009d7: PUSH1 0x04
000009d9: PUSH1 0x00
000009db: DUP4
000009dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009f1: AND
000009f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a07: AND
00000a08: DUP2
00000a09: MSTORE
00000a0a: PUSH1 0x20
00000a0c: ADD
00000a0d: SWAP1
00000a0e: DUP2
00000a0f: MSTORE
00000a10: PUSH1 0x20
00000a12: ADD
00000a13: PUSH1 0x00
00000a15: KECCAK256
00000a16: SLOAD
00000a17: SWAP1
00000a18: POP
00000a19: SWAP2
00000a1a: SWAP1
00000a1b: POP
00000a1c: JUMP
00000a1d: JUMPDEST
00000a1e: PUSH1 0x00
00000a20: PUSH1 0x03
00000a22: PUSH1 0x00
00000a24: DUP4
00000a25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a3a: AND
00000a3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a50: AND
00000a51: DUP2
00000a52: MSTORE
00000a53: PUSH1 0x20
00000a55: ADD
00000a56: SWAP1
00000a57: DUP2
00000a58: MSTORE
00000a59: PUSH1 0x20
00000a5b: ADD
00000a5c: PUSH1 0x00
00000a5e: KECCAK256
00000a5f: SLOAD
00000a60: SWAP1
00000a61: POP
00000a62: SWAP2
00000a63: SWAP1
00000a64: POP
00000a65: JUMP
00000a66: JUMPDEST
00000a67: PUSH1 0x00
00000a69: PUSH1 0x06
00000a6b: PUSH1 0x00
00000a6d: DUP4
00000a6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a83: AND
00000a84: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a99: AND
00000a9a: DUP2
00000a9b: MSTORE
00000a9c: PUSH1 0x20
00000a9e: ADD
00000a9f: SWAP1
00000aa0: DUP2
00000aa1: MSTORE
00000aa2: PUSH1 0x20
00000aa4: ADD
00000aa5: PUSH1 0x00
00000aa7: KECCAK256
00000aa8: SLOAD
00000aa9: SWAP1
00000aaa: POP
00000aab: SWAP2
00000aac: SWAP1
00000aad: POP
00000aae: JUMP
00000aaf: JUMPDEST
00000ab0: PUSH1 0x00
00000ab2: PUSH1 0x02
00000ab4: SLOAD
00000ab5: SWAP1
00000ab6: POP
00000ab7: SWAP1
00000ab8: JUMP
00000ab9: JUMPDEST
00000aba: PUSH2 0x0ac1
00000abd: PUSH2 0x033b
00000ac0: JUMP
00000ac1: JUMPDEST
00000ac2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ad7: AND
00000ad8: PUSH2 0x0adf
00000adb: PUSH2 0x09ab
00000ade: JUMP
00000adf: JUMPDEST
00000ae0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af5: AND
00000af6: EQ
00000af7: PUSH2 0x0b35
00000afa: JUMPI
00000afb: PUSH1 0x40
00000afd: MLOAD
00000afe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b1f: DUP2
00000b20: MSTORE
00000b21: PUSH1 0x04
00000b23: ADD
00000b24: PUSH2 0x0b2c
00000b27: SWAP1
00000b28: PUSH2 0x1855
00000b2b: JUMP
00000b2c: JUMPDEST
00000b2d: PUSH1 0x40
00000b2f: MLOAD
00000b30: DUP1
00000b31: SWAP2
00000b32: SUB
00000b33: SWAP1
00000b34: REVERT
00000b35: JUMPDEST
00000b36: PUSH1 0x00
00000b38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b4d: AND
00000b4e: DUP2
00000b4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b64: AND
00000b65: EQ
00000b66: ISZERO
00000b67: PUSH2 0x0ba5
00000b6a: JUMPI
00000b6b: PUSH1 0x40
00000b6d: MLOAD
00000b6e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b8f: DUP2
00000b90: MSTORE
00000b91: PUSH1 0x04
00000b93: ADD
00000b94: PUSH2 0x0b9c
00000b97: SWAP1
00000b98: PUSH2 0x1775
00000b9b: JUMP
00000b9c: JUMPDEST
00000b9d: PUSH1 0x40
00000b9f: MLOAD
00000ba0: DUP1
00000ba1: SWAP2
00000ba2: SUB
00000ba3: SWAP1
00000ba4: REVERT
00000ba5: JUMPDEST
00000ba6: PUSH2 0x0bae
00000ba9: DUP2
00000baa: PUSH2 0x0d9e
00000bad: JUMP
00000bae: JUMPDEST
00000baf: POP
00000bb0: JUMP
00000bb1: JUMPDEST
00000bb2: PUSH1 0x00
00000bb4: DUP1
00000bb5: PUSH2 0x03e8
00000bb8: PUSH1 0x03
00000bba: PUSH1 0x00
00000bbc: DUP8
00000bbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd2: AND
00000bd3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000be8: AND
00000be9: DUP2
00000bea: MSTORE
00000beb: PUSH1 0x20
00000bed: ADD
00000bee: SWAP1
00000bef: DUP2
00000bf0: MSTORE
00000bf1: PUSH1 0x20
00000bf3: ADD
00000bf4: PUSH1 0x00
00000bf6: KECCAK256
00000bf7: SLOAD
00000bf8: DUP6
00000bf9: PUSH2 0x0c02
00000bfc: SWAP2
00000bfd: SWAP1
00000bfe: PUSH2 0x1989
00000c01: JUMP
00000c02: JUMPDEST
00000c03: PUSH2 0x0c0c
00000c06: SWAP2
00000c07: SWAP1
00000c08: PUSH2 0x1958
00000c0b: JUMP
00000c0c: JUMPDEST
00000c0d: SWAP1
00000c0e: POP
00000c0f: DUP3
00000c10: DUP2
00000c11: PUSH2 0x0c1a
00000c14: SWAP2
00000c15: SWAP1
00000c16: PUSH2 0x19e3
00000c19: JUMP
00000c1a: JUMPDEST
00000c1b: SWAP2
00000c1c: POP
00000c1d: POP
00000c1e: SWAP4
00000c1f: SWAP3
00000c20: POP
00000c21: POP
00000c22: POP
00000c23: JUMP
00000c24: JUMPDEST
00000c25: DUP1
00000c26: SELFBALANCE
00000c27: LT
00000c28: ISZERO
00000c29: PUSH2 0x0c67
00000c2c: JUMPI
00000c2d: PUSH1 0x40
00000c2f: MLOAD
00000c30: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c51: DUP2
00000c52: MSTORE
00000c53: PUSH1 0x04
00000c55: ADD
00000c56: PUSH2 0x0c5e
00000c59: SWAP1
00000c5a: PUSH2 0x17f5
00000c5d: JUMP
00000c5e: JUMPDEST
00000c5f: PUSH1 0x40
00000c61: MLOAD
00000c62: DUP1
00000c63: SWAP2
00000c64: SUB
00000c65: SWAP1
00000c66: REVERT
00000c67: JUMPDEST
00000c68: PUSH1 0x00
00000c6a: DUP3
00000c6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c80: AND
00000c81: DUP3
00000c82: PUSH1 0x40
00000c84: MLOAD
00000c85: PUSH2 0x0c8d
00000c88: SWAP1
00000c89: PUSH2 0x16d1
00000c8c: JUMP
00000c8d: JUMPDEST
00000c8e: PUSH1 0x00
00000c90: PUSH1 0x40
00000c92: MLOAD
00000c93: DUP1
00000c94: DUP4
00000c95: SUB
00000c96: DUP2
00000c97: DUP6
00000c98: DUP8
00000c99: GAS
00000c9a: CALL
00000c9b: SWAP3
00000c9c: POP
00000c9d: POP
00000c9e: POP
00000c9f: RETURNDATASIZE
00000ca0: DUP1
00000ca1: PUSH1 0x00
00000ca3: DUP2
00000ca4: EQ
00000ca5: PUSH2 0x0cca
00000ca8: JUMPI
00000ca9: PUSH1 0x40
00000cab: MLOAD
00000cac: SWAP2
00000cad: POP
00000cae: PUSH1 0x1f
00000cb0: NOT
00000cb1: PUSH1 0x3f
00000cb3: RETURNDATASIZE
00000cb4: ADD
00000cb5: AND
00000cb6: DUP3
00000cb7: ADD
00000cb8: PUSH1 0x40
00000cba: MSTORE
00000cbb: RETURNDATASIZE
00000cbc: DUP3
00000cbd: MSTORE
00000cbe: RETURNDATASIZE
00000cbf: PUSH1 0x00
00000cc1: PUSH1 0x20
00000cc3: DUP5
00000cc4: ADD
00000cc5: RETURNDATACOPY
00000cc6: PUSH2 0x0ccf
00000cc9: JUMP
00000cca: JUMPDEST
00000ccb: PUSH1 0x60
00000ccd: SWAP2
00000cce: POP
00000ccf: JUMPDEST
00000cd0: POP
00000cd1: POP
00000cd2: SWAP1
00000cd3: POP
00000cd4: DUP1
00000cd5: PUSH2 0x0d13
00000cd8: JUMPI
00000cd9: PUSH1 0x40
00000cdb: MLOAD
00000cdc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cfd: DUP2
00000cfe: MSTORE
00000cff: PUSH1 0x04
00000d01: ADD
00000d02: PUSH2 0x0d0a
00000d05: SWAP1
00000d06: PUSH2 0x17d5
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: PUSH1 0x40
00000d0d: MLOAD
00000d0e: DUP1
00000d0f: SWAP2
00000d10: SUB
00000d11: SWAP1
00000d12: REVERT
00000d13: JUMPDEST
00000d14: POP
00000d15: POP
00000d16: POP
00000d17: JUMP
00000d18: JUMPDEST
00000d19: PUSH2 0x0d99
00000d1c: DUP4
00000d1d: PUSH4 0xa9059cbb
00000d22: PUSH1 0xe0
00000d24: SHL
00000d25: DUP5
00000d26: DUP5
00000d27: PUSH1 0x40
00000d29: MLOAD
00000d2a: PUSH1 0x24
00000d2c: ADD
00000d2d: PUSH2 0x0d37
00000d30: SWAP3
00000d31: SWAP2
00000d32: SWAP1
00000d33: PUSH2 0x172a
00000d36: JUMP
00000d37: JUMPDEST
00000d38: PUSH1 0x40
00000d3a: MLOAD
00000d3b: PUSH1 0x20
00000d3d: DUP2
00000d3e: DUP4
00000d3f: SUB
00000d40: SUB
00000d41: DUP2
00000d42: MSTORE
00000d43: SWAP1
00000d44: PUSH1 0x40
00000d46: MSTORE
00000d47: SWAP1
00000d48: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000d65: NOT
00000d66: AND
00000d67: PUSH1 0x20
00000d69: DUP3
00000d6a: ADD
00000d6b: DUP1
00000d6c: MLOAD
00000d6d: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000d8a: DUP4
00000d8b: DUP2
00000d8c: DUP4
00000d8d: AND
00000d8e: OR
00000d8f: DUP4
00000d90: MSTORE
00000d91: POP
00000d92: POP
00000d93: POP
00000d94: POP
00000d95: PUSH2 0x0e62
00000d98: JUMP
00000d99: JUMPDEST
00000d9a: POP
00000d9b: POP
00000d9c: POP
00000d9d: JUMP
00000d9e: JUMPDEST
00000d9f: PUSH1 0x00
00000da1: DUP1
00000da2: PUSH1 0x00
00000da4: SWAP1
00000da5: SLOAD
00000da6: SWAP1
00000da7: PUSH2 0x0100
00000daa: EXP
00000dab: SWAP1
00000dac: DIV
00000dad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dc2: AND
00000dc3: SWAP1
00000dc4: POP
00000dc5: DUP2
00000dc6: PUSH1 0x00
00000dc8: DUP1
00000dc9: PUSH2 0x0100
00000dcc: EXP
00000dcd: DUP2
00000dce: SLOAD
00000dcf: DUP2
00000dd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de5: MUL
00000de6: NOT
00000de7: AND
00000de8: SWAP1
00000de9: DUP4
00000dea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dff: AND
00000e00: MUL
00000e01: OR
00000e02: SWAP1
00000e03: SSTORE
00000e04: POP
00000e05: DUP2
00000e06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e1b: AND
00000e1c: DUP2
00000e1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e32: AND
00000e33: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000e54: PUSH1 0x40
00000e56: MLOAD
00000e57: PUSH1 0x40
00000e59: MLOAD
00000e5a: DUP1
00000e5b: SWAP2
00000e5c: SUB
00000e5d: SWAP1
00000e5e: LOG3
00000e5f: POP
00000e60: POP
00000e61: JUMP
00000e62: JUMPDEST
00000e63: PUSH1 0x00
00000e65: PUSH2 0x0ec4
00000e68: DUP3
00000e69: PUSH1 0x40
00000e6b: MLOAD
00000e6c: DUP1
00000e6d: PUSH1 0x40
00000e6f: ADD
00000e70: PUSH1 0x40
00000e72: MSTORE
00000e73: DUP1
00000e74: PUSH1 0x20
00000e76: DUP2
00000e77: MSTORE
00000e78: PUSH1 0x20
00000e7a: ADD
00000e7b: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00000e9c: DUP2
00000e9d: MSTORE
00000e9e: POP
00000e9f: DUP6
00000ea0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eb5: AND
00000eb6: PUSH2 0x0f29
00000eb9: SWAP1
00000eba: SWAP3
00000ebb: SWAP2
00000ebc: SWAP1
00000ebd: PUSH4 0xffffffff
00000ec2: AND
00000ec3: JUMP
00000ec4: JUMPDEST
00000ec5: SWAP1
00000ec6: POP
00000ec7: PUSH1 0x00
00000ec9: DUP2
00000eca: MLOAD
00000ecb: GT
00000ecc: ISZERO
00000ecd: PUSH2 0x0f24
00000ed0: JUMPI
00000ed1: DUP1
00000ed2: DUP1
00000ed3: PUSH1 0x20
00000ed5: ADD
00000ed6: SWAP1
00000ed7: MLOAD
00000ed8: DUP2
00000ed9: ADD
00000eda: SWAP1
00000edb: PUSH2 0x0ee4
00000ede: SWAP2
00000edf: SWAP1
00000ee0: PUSH2 0x119f
00000ee3: JUMP
00000ee4: JUMPDEST
00000ee5: PUSH2 0x0f23
00000ee8: JUMPI
00000ee9: PUSH1 0x40
00000eeb: MLOAD
00000eec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f0d: DUP2
00000f0e: MSTORE
00000f0f: PUSH1 0x04
00000f11: ADD
00000f12: PUSH2 0x0f1a
00000f15: SWAP1
00000f16: PUSH2 0x1895
00000f19: JUMP
00000f1a: JUMPDEST
00000f1b: PUSH1 0x40
00000f1d: MLOAD
00000f1e: DUP1
00000f1f: SWAP2
00000f20: SUB
00000f21: SWAP1
00000f22: REVERT
00000f23: JUMPDEST
00000f24: JUMPDEST
00000f25: POP
00000f26: POP
00000f27: POP
00000f28: JUMP
00000f29: JUMPDEST
00000f2a: PUSH1 0x60
00000f2c: PUSH2 0x0f38
00000f2f: DUP5
00000f30: DUP5
00000f31: PUSH1 0x00
00000f33: DUP6
00000f34: PUSH2 0x0f41
00000f37: JUMP
00000f38: JUMPDEST
00000f39: SWAP1
00000f3a: POP
00000f3b: SWAP4
00000f3c: SWAP3
00000f3d: POP
00000f3e: POP
00000f3f: POP
00000f40: JUMP
00000f41: JUMPDEST
00000f42: PUSH1 0x60
00000f44: DUP3
00000f45: SELFBALANCE
00000f46: LT
00000f47: ISZERO
00000f48: PUSH2 0x0f86
00000f4b: JUMPI
00000f4c: PUSH1 0x40
00000f4e: MLOAD
00000f4f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f70: DUP2
00000f71: MSTORE
00000f72: PUSH1 0x04
00000f74: ADD
00000f75: PUSH2 0x0f7d
00000f78: SWAP1
00000f79: PUSH2 0x1815
00000f7c: JUMP
00000f7d: JUMPDEST
00000f7e: PUSH1 0x40
00000f80: MLOAD
00000f81: DUP1
00000f82: SWAP2
00000f83: SUB
00000f84: SWAP1
00000f85: REVERT
00000f86: JUMPDEST
00000f87: PUSH2 0x0f8f
00000f8a: DUP6
00000f8b: PUSH2 0x1055
00000f8e: JUMP
00000f8f: JUMPDEST
00000f90: PUSH2 0x0fce
00000f93: JUMPI
00000f94: PUSH1 0x40
00000f96: MLOAD
00000f97: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000fb8: DUP2
00000fb9: MSTORE
00000fba: PUSH1 0x04
00000fbc: ADD
00000fbd: PUSH2 0x0fc5
00000fc0: SWAP1
00000fc1: PUSH2 0x1875
00000fc4: JUMP
00000fc5: JUMPDEST
00000fc6: PUSH1 0x40
00000fc8: MLOAD
00000fc9: DUP1
00000fca: SWAP2
00000fcb: SUB
00000fcc: SWAP1
00000fcd: REVERT
00000fce: JUMPDEST
00000fcf: PUSH1 0x00
00000fd1: DUP1
00000fd2: DUP7
00000fd3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fe8: AND
00000fe9: DUP6
00000fea: DUP8
00000feb: PUSH1 0x40
00000fed: MLOAD
00000fee: PUSH2 0x0ff7
00000ff1: SWAP2
00000ff2: SWAP1
00000ff3: PUSH2 0x16ba
00000ff6: JUMP
00000ff7: JUMPDEST
00000ff8: PUSH1 0x00
00000ffa: PUSH1 0x40
00000ffc: MLOAD
00000ffd: DUP1
00000ffe: DUP4
00000fff: SUB
00001000: DUP2
00001001: DUP6
00001002: DUP8
00001003: GAS
00001004: CALL
00001005: SWAP3
00001006: POP
00001007: POP
00001008: POP
00001009: RETURNDATASIZE
0000100a: DUP1
0000100b: PUSH1 0x00
0000100d: DUP2
0000100e: EQ
0000100f: PUSH2 0x1034
00001012: JUMPI
00001013: PUSH1 0x40
00001015: MLOAD
00001016: SWAP2
00001017: POP
00001018: PUSH1 0x1f
0000101a: NOT
0000101b: PUSH1 0x3f
0000101d: RETURNDATASIZE
0000101e: ADD
0000101f: AND
00001020: DUP3
00001021: ADD
00001022: PUSH1 0x40
00001024: MSTORE
00001025: RETURNDATASIZE
00001026: DUP3
00001027: MSTORE
00001028: RETURNDATASIZE
00001029: PUSH1 0x00
0000102b: PUSH1 0x20
0000102d: DUP5
0000102e: ADD
0000102f: RETURNDATACOPY
00001030: PUSH2 0x1039
00001033: JUMP
00001034: JUMPDEST
00001035: PUSH1 0x60
00001037: SWAP2
00001038: POP
00001039: JUMPDEST
0000103a: POP
0000103b: SWAP2
0000103c: POP
0000103d: SWAP2
0000103e: POP
0000103f: PUSH2 0x1049
00001042: DUP3
00001043: DUP3
00001044: DUP7
00001045: PUSH2 0x1068
00001048: JUMP
00001049: JUMPDEST
0000104a: SWAP3
0000104b: POP
0000104c: POP
0000104d: POP
0000104e: SWAP5
0000104f: SWAP4
00001050: POP
00001051: POP
00001052: POP
00001053: POP
00001054: JUMP
00001055: JUMPDEST
00001056: PUSH1 0x00
00001058: DUP1
00001059: DUP3
0000105a: EXTCODESIZE
0000105b: SWAP1
0000105c: POP
0000105d: PUSH1 0x00
0000105f: DUP2
00001060: GT
00001061: SWAP2
00001062: POP
00001063: POP
00001064: SWAP2
00001065: SWAP1
00001066: POP
00001067: JUMP
00001068: JUMPDEST
00001069: PUSH1 0x60
0000106b: DUP4
0000106c: ISZERO
0000106d: PUSH2 0x1078
00001070: JUMPI
00001071: DUP3
00001072: SWAP1
00001073: POP
00001074: PUSH2 0x10c8
00001077: JUMP
00001078: JUMPDEST
00001079: PUSH1 0x00
0000107b: DUP4
0000107c: MLOAD
0000107d: GT
0000107e: ISZERO
0000107f: PUSH2 0x108b
00001082: JUMPI
00001083: DUP3
00001084: MLOAD
00001085: DUP1
00001086: DUP5
00001087: PUSH1 0x20
00001089: ADD
0000108a: REVERT
0000108b: JUMPDEST
0000108c: DUP2
0000108d: PUSH1 0x40
0000108f: MLOAD
00001090: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010b1: DUP2
000010b2: MSTORE
000010b3: PUSH1 0x04
000010b5: ADD
000010b6: PUSH2 0x10bf
000010b9: SWAP2
000010ba: SWAP1
000010bb: PUSH2 0x1753
000010be: JUMP
000010bf: JUMPDEST
000010c0: PUSH1 0x40
000010c2: MLOAD
000010c3: DUP1
000010c4: SWAP2
000010c5: SUB
000010c6: SWAP1
000010c7: REVERT
000010c8: JUMPDEST
000010c9: SWAP4
000010ca: SWAP3
000010cb: POP
000010cc: POP
000010cd: POP
000010ce: JUMP
000010cf: JUMPDEST
000010d0: PUSH1 0x00
000010d2: DUP2
000010d3: CALLDATALOAD
000010d4: SWAP1
000010d5: POP
000010d6: PUSH2 0x10de
000010d9: DUP2
000010da: PUSH2 0x1b5b
000010dd: JUMP
000010de: JUMPDEST
000010df: SWAP3
000010e0: SWAP2
000010e1: POP
000010e2: POP
000010e3: JUMP
000010e4: JUMPDEST
000010e5: PUSH1 0x00
000010e7: DUP2
000010e8: CALLDATALOAD
000010e9: SWAP1
000010ea: POP
000010eb: PUSH2 0x10f3
000010ee: DUP2
000010ef: PUSH2 0x1b72
000010f2: JUMP
000010f3: JUMPDEST
000010f4: SWAP3
000010f5: SWAP2
000010f6: POP
000010f7: POP
000010f8: JUMP
000010f9: JUMPDEST
000010fa: PUSH1 0x00
000010fc: DUP2
000010fd: MLOAD
000010fe: SWAP1
000010ff: POP
00001100: PUSH2 0x1108
00001103: DUP2
00001104: PUSH2 0x1b89
00001107: JUMP
00001108: JUMPDEST
00001109: SWAP3
0000110a: SWAP2
0000110b: POP
0000110c: POP
0000110d: JUMP
0000110e: JUMPDEST
0000110f: PUSH1 0x00
00001111: DUP2
00001112: CALLDATALOAD
00001113: SWAP1
00001114: POP
00001115: PUSH2 0x111d
00001118: DUP2
00001119: PUSH2 0x1ba0
0000111c: JUMP
0000111d: JUMPDEST
0000111e: SWAP3
0000111f: SWAP2
00001120: POP
00001121: POP
00001122: JUMP
00001123: JUMPDEST
00001124: PUSH1 0x00
00001126: DUP2
00001127: CALLDATALOAD
00001128: SWAP1
00001129: POP
0000112a: PUSH2 0x1132
0000112d: DUP2
0000112e: PUSH2 0x1bb7
00001131: JUMP
00001132: JUMPDEST
00001133: SWAP3
00001134: SWAP2
00001135: POP
00001136: POP
00001137: JUMP
00001138: JUMPDEST
00001139: PUSH1 0x00
0000113b: DUP2
0000113c: MLOAD
0000113d: SWAP1
0000113e: POP
0000113f: PUSH2 0x1147
00001142: DUP2
00001143: PUSH2 0x1bb7
00001146: JUMP
00001147: JUMPDEST
00001148: SWAP3
00001149: SWAP2
0000114a: POP
0000114b: POP
0000114c: JUMP
0000114d: JUMPDEST
0000114e: PUSH1 0x00
00001150: PUSH1 0x20
00001152: DUP3
00001153: DUP5
00001154: SUB
00001155: SLT
00001156: ISZERO
00001157: PUSH2 0x115f
0000115a: JUMPI
0000115b: PUSH1 0x00
0000115d: DUP1
0000115e: REVERT
0000115f: JUMPDEST
00001160: PUSH1 0x00
00001162: PUSH2 0x116d
00001165: DUP5
00001166: DUP3
00001167: DUP6
00001168: ADD
00001169: PUSH2 0x10cf
0000116c: JUMP
0000116d: JUMPDEST
0000116e: SWAP2
0000116f: POP
00001170: POP
00001171: SWAP3
00001172: SWAP2
00001173: POP
00001174: POP
00001175: JUMP
00001176: JUMPDEST
00001177: PUSH1 0x00
00001179: PUSH1 0x20
0000117b: DUP3
0000117c: DUP5
0000117d: SUB
0000117e: SLT
0000117f: ISZERO
00001180: PUSH2 0x1188
00001183: JUMPI
00001184: PUSH1 0x00
00001186: DUP1
00001187: REVERT
00001188: JUMPDEST
00001189: PUSH1 0x00
0000118b: PUSH2 0x1196
0000118e: DUP5
0000118f: DUP3
00001190: DUP6
00001191: ADD
00001192: PUSH2 0x10e4
00001195: JUMP
00001196: JUMPDEST
00001197: SWAP2
00001198: POP
00001199: POP
0000119a: SWAP3
0000119b: SWAP2
0000119c: POP
0000119d: POP
0000119e: JUMP
0000119f: JUMPDEST
000011a0: PUSH1 0x00
000011a2: PUSH1 0x20
000011a4: DUP3
000011a5: DUP5
000011a6: SUB
000011a7: SLT
000011a8: ISZERO
000011a9: PUSH2 0x11b1
000011ac: JUMPI
000011ad: PUSH1 0x00
000011af: DUP1
000011b0: REVERT
000011b1: JUMPDEST
000011b2: PUSH1 0x00
000011b4: PUSH2 0x11bf
000011b7: DUP5
000011b8: DUP3
000011b9: DUP6
000011ba: ADD
000011bb: PUSH2 0x10f9
000011be: JUMP
000011bf: JUMPDEST
000011c0: SWAP2
000011c1: POP
000011c2: POP
000011c3: SWAP3
000011c4: SWAP2
000011c5: POP
000011c6: POP
000011c7: JUMP
000011c8: JUMPDEST
000011c9: PUSH1 0x00
000011cb: PUSH1 0x20
000011cd: DUP3
000011ce: DUP5
000011cf: SUB
000011d0: SLT
000011d1: ISZERO
000011d2: PUSH2 0x11da
000011d5: JUMPI
000011d6: PUSH1 0x00
000011d8: DUP1
000011d9: REVERT
000011da: JUMPDEST
000011db: PUSH1 0x00
000011dd: PUSH2 0x11e8
000011e0: DUP5
000011e1: DUP3
000011e2: DUP6
000011e3: ADD
000011e4: PUSH2 0x110e
000011e7: JUMP
000011e8: JUMPDEST
000011e9: SWAP2
000011ea: POP
000011eb: POP
000011ec: SWAP3
000011ed: SWAP2
000011ee: POP
000011ef: POP
000011f0: JUMP
000011f1: JUMPDEST
000011f2: PUSH1 0x00
000011f4: DUP1
000011f5: PUSH1 0x40
000011f7: DUP4
000011f8: DUP6
000011f9: SUB
000011fa: SLT
000011fb: ISZERO
000011fc: PUSH2 0x1204
000011ff: JUMPI
00001200: PUSH1 0x00
00001202: DUP1
00001203: REVERT
00001204: JUMPDEST
00001205: PUSH1 0x00
00001207: PUSH2 0x1212
0000120a: DUP6
0000120b: DUP3
0000120c: DUP7
0000120d: ADD
0000120e: PUSH2 0x110e
00001211: JUMP
00001212: JUMPDEST
00001213: SWAP3
00001214: POP
00001215: POP
00001216: PUSH1 0x20
00001218: PUSH2 0x1223
0000121b: DUP6
0000121c: DUP3
0000121d: DUP7
0000121e: ADD
0000121f: PUSH2 0x10cf
00001222: JUMP
00001223: JUMPDEST
00001224: SWAP2
00001225: POP
00001226: POP
00001227: SWAP3
00001228: POP
00001229: SWAP3
0000122a: SWAP1
0000122b: POP
0000122c: JUMP
0000122d: JUMPDEST
0000122e: PUSH1 0x00
00001230: PUSH1 0x20
00001232: DUP3
00001233: DUP5
00001234: SUB
00001235: SLT
00001236: ISZERO
00001237: PUSH2 0x123f
0000123a: JUMPI
0000123b: PUSH1 0x00
0000123d: DUP1
0000123e: REVERT
0000123f: JUMPDEST
00001240: PUSH1 0x00
00001242: PUSH2 0x124d
00001245: DUP5
00001246: DUP3
00001247: DUP6
00001248: ADD
00001249: PUSH2 0x1123
0000124c: JUMP
0000124d: JUMPDEST
0000124e: SWAP2
0000124f: POP
00001250: POP
00001251: SWAP3
00001252: SWAP2
00001253: POP
00001254: POP
00001255: JUMP
00001256: JUMPDEST
00001257: PUSH1 0x00
00001259: PUSH1 0x20
0000125b: DUP3
0000125c: DUP5
0000125d: SUB
0000125e: SLT
0000125f: ISZERO
00001260: PUSH2 0x1268
00001263: JUMPI
00001264: PUSH1 0x00
00001266: DUP1
00001267: REVERT
00001268: JUMPDEST
00001269: PUSH1 0x00
0000126b: PUSH2 0x1276
0000126e: DUP5
0000126f: DUP3
00001270: DUP6
00001271: ADD
00001272: PUSH2 0x1138
00001275: JUMP
00001276: JUMPDEST
00001277: SWAP2
00001278: POP
00001279: POP
0000127a: SWAP3
0000127b: SWAP2
0000127c: POP
0000127d: POP
0000127e: JUMP
0000127f: JUMPDEST
00001280: PUSH2 0x1288
00001283: DUP2
00001284: PUSH2 0x1a83
00001287: JUMP
00001288: JUMPDEST
00001289: DUP3
0000128a: MSTORE
0000128b: POP
0000128c: POP
0000128d: JUMP
0000128e: JUMPDEST
0000128f: PUSH2 0x1297
00001292: DUP2
00001293: PUSH2 0x1a17
00001296: JUMP
00001297: JUMPDEST
00001298: DUP3
00001299: MSTORE
0000129a: POP
0000129b: POP
0000129c: JUMP
0000129d: JUMPDEST
0000129e: PUSH1 0x00
000012a0: PUSH2 0x12a8
000012a3: DUP3
000012a4: PUSH2 0x18d0
000012a7: JUMP
000012a8: JUMPDEST
000012a9: PUSH2 0x12b2
000012ac: DUP2
000012ad: DUP6
000012ae: PUSH2 0x18e6
000012b1: JUMP
000012b2: JUMPDEST
000012b3: SWAP4
000012b4: POP
000012b5: PUSH2 0x12c2
000012b8: DUP2
000012b9: DUP6
000012ba: PUSH1 0x20
000012bc: DUP7
000012bd: ADD
000012be: PUSH2 0x1ab9
000012c1: JUMP
000012c2: JUMPDEST
000012c3: DUP1
000012c4: DUP5
000012c5: ADD
000012c6: SWAP2
000012c7: POP
000012c8: POP
000012c9: SWAP3
000012ca: SWAP2
000012cb: POP
000012cc: POP
000012cd: JUMP
000012ce: JUMPDEST
000012cf: PUSH1 0x00
000012d1: PUSH2 0x12d9
000012d4: DUP3
000012d5: PUSH2 0x18db
000012d8: JUMP
000012d9: JUMPDEST
000012da: PUSH2 0x12e3
000012dd: DUP2
000012de: DUP6
000012df: PUSH2 0x18f1
000012e2: JUMP
000012e3: JUMPDEST
000012e4: SWAP4
000012e5: POP
000012e6: PUSH2 0x12f3
000012e9: DUP2
000012ea: DUP6
000012eb: PUSH1 0x20
000012ed: DUP7
000012ee: ADD
000012ef: PUSH2 0x1ab9
000012f2: JUMP
000012f3: JUMPDEST
000012f4: PUSH2 0x12fc
000012f7: DUP2
000012f8: PUSH2 0x1b4a
000012fb: JUMP
000012fc: JUMPDEST
000012fd: DUP5
000012fe: ADD
000012ff: SWAP2
00001300: POP
00001301: POP
00001302: SWAP3
00001303: SWAP2
00001304: POP
00001305: POP
00001306: JUMP
00001307: JUMPDEST
00001308: PUSH1 0x00
0000130a: PUSH2 0x1314
0000130d: PUSH1 0x26
0000130f: DUP4
00001310: PUSH2 0x18f1
00001313: JUMP
00001314: JUMPDEST
00001315: SWAP2
00001316: POP
00001317: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00001338: PUSH1 0x00
0000133a: DUP4
0000133b: ADD
0000133c: MSTORE
0000133d: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
0000135e: PUSH1 0x20
00001360: DUP4
00001361: ADD
00001362: MSTORE
00001363: PUSH1 0x40
00001365: DUP3
00001366: ADD
00001367: SWAP1
00001368: POP
00001369: SWAP2
0000136a: SWAP1
0000136b: POP
0000136c: JUMP
0000136d: JUMPDEST
0000136e: PUSH1 0x00
00001370: PUSH2 0x137a
00001373: PUSH1 0x26
00001375: DUP4
00001376: PUSH2 0x18f1
00001379: JUMP
0000137a: JUMPDEST
0000137b: SWAP2
0000137c: POP
0000137d: PUSH32 0x5061796d656e7453706c69747465723a206163636f756e7420686173206e6f20
0000139e: PUSH1 0x00
000013a0: DUP4
000013a1: ADD
000013a2: MSTORE
000013a3: PUSH32 0x7368617265730000000000000000000000000000000000000000000000000000
000013c4: PUSH1 0x20
000013c6: DUP4
000013c7: ADD
000013c8: MSTORE
000013c9: PUSH1 0x40
000013cb: DUP3
000013cc: ADD
000013cd: SWAP1
000013ce: POP
000013cf: SWAP2
000013d0: SWAP1
000013d1: POP
000013d2: JUMP
000013d3: JUMPDEST
000013d4: PUSH1 0x00
000013d6: PUSH2 0x13e0
000013d9: PUSH1 0x2e
000013db: DUP4
000013dc: PUSH2 0x18f1
000013df: JUMP
000013e0: JUMPDEST
000013e1: SWAP2
000013e2: POP
000013e3: PUSH32 0x596f7520617265206e6f7420617574686f72697a656420746f20706572666f72
00001404: PUSH1 0x00
00001406: DUP4
00001407: ADD
00001408: MSTORE
00001409: PUSH32 0x6d207468697320616374696f6e2e000000000000000000000000000000000000
0000142a: PUSH1 0x20
0000142c: DUP4
0000142d: ADD
0000142e: MSTORE
0000142f: PUSH1 0x40
00001431: DUP3
00001432: ADD
00001433: SWAP1
00001434: POP
00001435: SWAP2
00001436: SWAP1
00001437: POP
00001438: JUMP
00001439: JUMPDEST
0000143a: PUSH1 0x00
0000143c: PUSH2 0x1446
0000143f: PUSH1 0x3a
00001441: DUP4
00001442: PUSH2 0x18f1
00001445: JUMP
00001446: JUMPDEST
00001447: SWAP2
00001448: POP
00001449: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
0000146a: PUSH1 0x00
0000146c: DUP4
0000146d: ADD
0000146e: MSTORE
0000146f: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
00001490: PUSH1 0x20
00001492: DUP4
00001493: ADD
00001494: MSTORE
00001495: PUSH1 0x40
00001497: DUP3
00001498: ADD
00001499: SWAP1
0000149a: POP
0000149b: SWAP2
0000149c: SWAP1
0000149d: POP
0000149e: JUMP
0000149f: JUMPDEST
000014a0: PUSH1 0x00
000014a2: PUSH2 0x14ac
000014a5: PUSH1 0x1d
000014a7: DUP4
000014a8: PUSH2 0x18f1
000014ab: JUMP
000014ac: JUMPDEST
000014ad: SWAP2
000014ae: POP
000014af: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
000014d0: PUSH1 0x00
000014d2: DUP4
000014d3: ADD
000014d4: MSTORE
000014d5: PUSH1 0x20
000014d7: DUP3
000014d8: ADD
000014d9: SWAP1
000014da: POP
000014db: SWAP2
000014dc: SWAP1
000014dd: POP
000014de: JUMP
000014df: JUMPDEST
000014e0: PUSH1 0x00
000014e2: PUSH2 0x14ec
000014e5: PUSH1 0x26
000014e7: DUP4
000014e8: PUSH2 0x18f1
000014eb: JUMP
000014ec: JUMPDEST
000014ed: SWAP2
000014ee: POP
000014ef: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00001510: PUSH1 0x00
00001512: DUP4
00001513: ADD
00001514: MSTORE
00001515: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
00001536: PUSH1 0x20
00001538: DUP4
00001539: ADD
0000153a: MSTORE
0000153b: PUSH1 0x40
0000153d: DUP3
0000153e: ADD
0000153f: SWAP1
00001540: POP
00001541: SWAP2
00001542: SWAP1
00001543: POP
00001544: JUMP
00001545: JUMPDEST
00001546: PUSH1 0x00
00001548: PUSH2 0x1552
0000154b: PUSH1 0x2b
0000154d: DUP4
0000154e: PUSH2 0x18f1
00001551: JUMP
00001552: JUMPDEST
00001553: SWAP2
00001554: POP
00001555: PUSH32 0x5061796d656e7453706c69747465723a206163636f756e74206973206e6f7420
00001576: PUSH1 0x00
00001578: DUP4
00001579: ADD
0000157a: MSTORE
0000157b: PUSH32 0x647565207061796d656e74000000000000000000000000000000000000000000
0000159c: PUSH1 0x20
0000159e: DUP4
0000159f: ADD
000015a0: MSTORE
000015a1: PUSH1 0x40
000015a3: DUP3
000015a4: ADD
000015a5: SWAP1
000015a6: POP
000015a7: SWAP2
000015a8: SWAP1
000015a9: POP
000015aa: JUMP
000015ab: JUMPDEST
000015ac: PUSH1 0x00
000015ae: PUSH2 0x15b8
000015b1: PUSH1 0x20
000015b3: DUP4
000015b4: PUSH2 0x18f1
000015b7: JUMP
000015b8: JUMPDEST
000015b9: SWAP2
000015ba: POP
000015bb: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000015dc: PUSH1 0x00
000015de: DUP4
000015df: ADD
000015e0: MSTORE
000015e1: PUSH1 0x20
000015e3: DUP3
000015e4: ADD
000015e5: SWAP1
000015e6: POP
000015e7: SWAP2
000015e8: SWAP1
000015e9: POP
000015ea: JUMP
000015eb: JUMPDEST
000015ec: PUSH1 0x00
000015ee: PUSH2 0x15f8
000015f1: PUSH1 0x00
000015f3: DUP4
000015f4: PUSH2 0x18e6
000015f7: JUMP
000015f8: JUMPDEST
000015f9: SWAP2
000015fa: POP
000015fb: PUSH1 0x00
000015fd: DUP3
000015fe: ADD
000015ff: SWAP1
00001600: POP
00001601: SWAP2
00001602: SWAP1
00001603: POP
00001604: JUMP
00001605: JUMPDEST
00001606: PUSH1 0x00
00001608: PUSH2 0x1612
0000160b: PUSH1 0x1d
0000160d: DUP4
0000160e: PUSH2 0x18f1
00001611: JUMP
00001612: JUMPDEST
00001613: SWAP2
00001614: POP
00001615: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001636: PUSH1 0x00
00001638: DUP4
00001639: ADD
0000163a: MSTORE
0000163b: PUSH1 0x20
0000163d: DUP3
0000163e: ADD
0000163f: SWAP1
00001640: POP
00001641: SWAP2
00001642: SWAP1
00001643: POP
00001644: JUMP
00001645: JUMPDEST
00001646: PUSH1 0x00
00001648: PUSH2 0x1652
0000164b: PUSH1 0x2a
0000164d: DUP4
0000164e: PUSH2 0x18f1
00001651: JUMP
00001652: JUMPDEST
00001653: SWAP2
00001654: POP
00001655: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00001676: PUSH1 0x00
00001678: DUP4
00001679: ADD
0000167a: MSTORE
0000167b: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
0000169c: PUSH1 0x20
0000169e: DUP4
0000169f: ADD
000016a0: MSTORE
000016a1: PUSH1 0x40
000016a3: DUP3
000016a4: ADD
000016a5: SWAP1
000016a6: POP
000016a7: SWAP2
000016a8: SWAP1
000016a9: POP
000016aa: JUMP
000016ab: JUMPDEST
000016ac: PUSH2 0x16b4
000016af: DUP2
000016b0: PUSH2 0x1a79
000016b3: JUMP
000016b4: JUMPDEST
000016b5: DUP3
000016b6: MSTORE
000016b7: POP
000016b8: POP
000016b9: JUMP
000016ba: JUMPDEST
000016bb: PUSH1 0x00
000016bd: PUSH2 0x16c6
000016c0: DUP3
000016c1: DUP5
000016c2: PUSH2 0x129d
000016c5: JUMP
000016c6: JUMPDEST
000016c7: SWAP2
000016c8: POP
000016c9: DUP2
000016ca: SWAP1
000016cb: POP
000016cc: SWAP3
000016cd: SWAP2
000016ce: POP
000016cf: POP
000016d0: JUMP
000016d1: JUMPDEST
000016d2: PUSH1 0x00
000016d4: PUSH2 0x16dc
000016d7: DUP3
000016d8: PUSH2 0x15eb
000016db: JUMP
000016dc: JUMPDEST
000016dd: SWAP2
000016de: POP
000016df: DUP2
000016e0: SWAP1
000016e1: POP
000016e2: SWAP2
000016e3: SWAP1
000016e4: POP
000016e5: JUMP
000016e6: JUMPDEST
000016e7: PUSH1 0x00
000016e9: PUSH1 0x20
000016eb: DUP3
000016ec: ADD
000016ed: SWAP1
000016ee: POP
000016ef: PUSH2 0x16fb
000016f2: PUSH1 0x00
000016f4: DUP4
000016f5: ADD
000016f6: DUP5
000016f7: PUSH2 0x128e
000016fa: JUMP
000016fb: JUMPDEST
000016fc: SWAP3
000016fd: SWAP2
000016fe: POP
000016ff: POP
00001700: JUMP
00001701: JUMPDEST
00001702: PUSH1 0x00
00001704: PUSH1 0x40
00001706: DUP3
00001707: ADD
00001708: SWAP1
00001709: POP
0000170a: PUSH2 0x1716
0000170d: PUSH1 0x00
0000170f: DUP4
00001710: ADD
00001711: DUP6
00001712: PUSH2 0x127f
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH2 0x1723
0000171a: PUSH1 0x20
0000171c: DUP4
0000171d: ADD
0000171e: DUP5
0000171f: PUSH2 0x16ab
00001722: JUMP
00001723: JUMPDEST
00001724: SWAP4
00001725: SWAP3
00001726: POP
00001727: POP
00001728: POP
00001729: JUMP
0000172a: JUMPDEST
0000172b: PUSH1 0x00
0000172d: PUSH1 0x40
0000172f: DUP3
00001730: ADD
00001731: SWAP1
00001732: POP
00001733: PUSH2 0x173f
00001736: PUSH1 0x00
00001738: DUP4
00001739: ADD
0000173a: DUP6
0000173b: PUSH2 0x128e
0000173e: JUMP
0000173f: JUMPDEST
00001740: PUSH2 0x174c
00001743: PUSH1 0x20
00001745: DUP4
00001746: ADD
00001747: DUP5
00001748: PUSH2 0x16ab
0000174b: JUMP
0000174c: JUMPDEST
0000174d: SWAP4
0000174e: SWAP3
0000174f: POP
00001750: POP
00001751: POP
00001752: JUMP
00001753: JUMPDEST
00001754: PUSH1 0x00
00001756: PUSH1 0x20
00001758: DUP3
00001759: ADD
0000175a: SWAP1
0000175b: POP
0000175c: DUP2
0000175d: DUP2
0000175e: SUB
0000175f: PUSH1 0x00
00001761: DUP4
00001762: ADD
00001763: MSTORE
00001764: PUSH2 0x176d
00001767: DUP2
00001768: DUP5
00001769: PUSH2 0x12ce
0000176c: JUMP
0000176d: JUMPDEST
0000176e: SWAP1
0000176f: POP
00001770: SWAP3
00001771: SWAP2
00001772: POP
00001773: POP
00001774: JUMP
00001775: JUMPDEST
00001776: PUSH1 0x00
00001778: PUSH1 0x20
0000177a: DUP3
0000177b: ADD
0000177c: SWAP1
0000177d: POP
0000177e: DUP2
0000177f: DUP2
00001780: SUB
00001781: PUSH1 0x00
00001783: DUP4
00001784: ADD
00001785: MSTORE
00001786: PUSH2 0x178e
00001789: DUP2
0000178a: PUSH2 0x1307
0000178d: JUMP
0000178e: JUMPDEST
0000178f: SWAP1
00001790: POP
00001791: SWAP2
00001792: SWAP1
00001793: POP
00001794: JUMP
00001795: JUMPDEST
00001796: PUSH1 0x00
00001798: PUSH1 0x20
0000179a: DUP3
0000179b: ADD
0000179c: SWAP1
0000179d: POP
0000179e: DUP2
0000179f: DUP2
000017a0: SUB
000017a1: PUSH1 0x00
000017a3: DUP4
000017a4: ADD
000017a5: MSTORE
000017a6: PUSH2 0x17ae
000017a9: DUP2
000017aa: PUSH2 0x136d
000017ad: JUMP
000017ae: JUMPDEST
000017af: SWAP1
000017b0: POP
000017b1: SWAP2
000017b2: SWAP1
000017b3: POP
000017b4: JUMP
000017b5: JUMPDEST
000017b6: PUSH1 0x00
000017b8: PUSH1 0x20
000017ba: DUP3
000017bb: ADD
000017bc: SWAP1
000017bd: POP
000017be: DUP2
000017bf: DUP2
000017c0: SUB
000017c1: PUSH1 0x00
000017c3: DUP4
000017c4: ADD
000017c5: MSTORE
000017c6: PUSH2 0x17ce
000017c9: DUP2
000017ca: PUSH2 0x13d3
000017cd: JUMP
000017ce: JUMPDEST
000017cf: SWAP1
000017d0: POP
000017d1: SWAP2
000017d2: SWAP1
000017d3: POP
000017d4: JUMP
000017d5: JUMPDEST
000017d6: PUSH1 0x00
000017d8: PUSH1 0x20
000017da: DUP3
000017db: ADD
000017dc: SWAP1
000017dd: POP
000017de: DUP2
000017df: DUP2
000017e0: SUB
000017e1: PUSH1 0x00
000017e3: DUP4
000017e4: ADD
000017e5: MSTORE
000017e6: PUSH2 0x17ee
000017e9: DUP2
000017ea: PUSH2 0x1439
000017ed: JUMP
000017ee: JUMPDEST
000017ef: SWAP1
000017f0: POP
000017f1: SWAP2
000017f2: SWAP1
000017f3: POP
000017f4: JUMP
000017f5: JUMPDEST
000017f6: PUSH1 0x00
000017f8: PUSH1 0x20
000017fa: DUP3
000017fb: ADD
000017fc: SWAP1
000017fd: POP
000017fe: DUP2
000017ff: DUP2
00001800: SUB
00001801: PUSH1 0x00
00001803: DUP4
00001804: ADD
00001805: MSTORE
00001806: PUSH2 0x180e
00001809: DUP2
0000180a: PUSH2 0x149f
0000180d: JUMP
0000180e: JUMPDEST
0000180f: SWAP1
00001810: POP
00001811: SWAP2
00001812: SWAP1
00001813: POP
00001814: JUMP
00001815: JUMPDEST
00001816: PUSH1 0x00
00001818: PUSH1 0x20
0000181a: DUP3
0000181b: ADD
0000181c: SWAP1
0000181d: POP
0000181e: DUP2
0000181f: DUP2
00001820: SUB
00001821: PUSH1 0x00
00001823: DUP4
00001824: ADD
00001825: MSTORE
00001826: PUSH2 0x182e
00001829: DUP2
0000182a: PUSH2 0x14df
0000182d: JUMP
0000182e: JUMPDEST
0000182f: SWAP1
00001830: POP
00001831: SWAP2
00001832: SWAP1
00001833: POP
00001834: JUMP
00001835: JUMPDEST
00001836: PUSH1 0x00
00001838: PUSH1 0x20
0000183a: DUP3
0000183b: ADD
0000183c: SWAP1
0000183d: POP
0000183e: DUP2
0000183f: DUP2
00001840: SUB
00001841: PUSH1 0x00
00001843: DUP4
00001844: ADD
00001845: MSTORE
00001846: PUSH2 0x184e
00001849: DUP2
0000184a: PUSH2 0x1545
0000184d: JUMP
0000184e: JUMPDEST
0000184f: SWAP1
00001850: POP
00001851: SWAP2
00001852: SWAP1
00001853: POP
00001854: JUMP
00001855: JUMPDEST
00001856: PUSH1 0x00
00001858: PUSH1 0x20
0000185a: DUP3
0000185b: ADD
0000185c: SWAP1
0000185d: POP
0000185e: DUP2
0000185f: DUP2
00001860: SUB
00001861: PUSH1 0x00
00001863: DUP4
00001864: ADD
00001865: MSTORE
00001866: PUSH2 0x186e
00001869: DUP2
0000186a: PUSH2 0x15ab
0000186d: JUMP
0000186e: JUMPDEST
0000186f: SWAP1
00001870: POP
00001871: SWAP2
00001872: SWAP1
00001873: POP
00001874: JUMP
00001875: JUMPDEST
00001876: PUSH1 0x00
00001878: PUSH1 0x20
0000187a: DUP3
0000187b: ADD
0000187c: SWAP1
0000187d: POP
0000187e: DUP2
0000187f: DUP2
00001880: SUB
00001881: PUSH1 0x00
00001883: DUP4
00001884: ADD
00001885: MSTORE
00001886: PUSH2 0x188e
00001889: DUP2
0000188a: PUSH2 0x1605
0000188d: JUMP
0000188e: JUMPDEST
0000188f: SWAP1
00001890: POP
00001891: SWAP2
00001892: SWAP1
00001893: POP
00001894: JUMP
00001895: JUMPDEST
00001896: PUSH1 0x00
00001898: PUSH1 0x20
0000189a: DUP3
0000189b: ADD
0000189c: SWAP1
0000189d: POP
0000189e: DUP2
0000189f: DUP2
000018a0: SUB
000018a1: PUSH1 0x00
000018a3: DUP4
000018a4: ADD
000018a5: MSTORE
000018a6: PUSH2 0x18ae
000018a9: DUP2
000018aa: PUSH2 0x1645
000018ad: JUMP
000018ae: JUMPDEST
000018af: SWAP1
000018b0: POP
000018b1: SWAP2
000018b2: SWAP1
000018b3: POP
000018b4: JUMP
000018b5: JUMPDEST
000018b6: PUSH1 0x00
000018b8: PUSH1 0x20
000018ba: DUP3
000018bb: ADD
000018bc: SWAP1
000018bd: POP
000018be: PUSH2 0x18ca
000018c1: PUSH1 0x00
000018c3: DUP4
000018c4: ADD
000018c5: DUP5
000018c6: PUSH2 0x16ab
000018c9: JUMP
000018ca: JUMPDEST
000018cb: SWAP3
000018cc: SWAP2
000018cd: POP
000018ce: POP
000018cf: JUMP
000018d0: JUMPDEST
000018d1: PUSH1 0x00
000018d3: DUP2
000018d4: MLOAD
000018d5: SWAP1
000018d6: POP
000018d7: SWAP2
000018d8: SWAP1
000018d9: POP
000018da: JUMP
000018db: JUMPDEST
000018dc: PUSH1 0x00
000018de: DUP2
000018df: MLOAD
000018e0: SWAP1
000018e1: POP
000018e2: SWAP2
000018e3: SWAP1
000018e4: POP
000018e5: JUMP
000018e6: JUMPDEST
000018e7: PUSH1 0x00
000018e9: DUP2
000018ea: SWAP1
000018eb: POP
000018ec: SWAP3
000018ed: SWAP2
000018ee: POP
000018ef: POP
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH1 0x00
000018f4: DUP3
000018f5: DUP3
000018f6: MSTORE
000018f7: PUSH1 0x20
000018f9: DUP3
000018fa: ADD
000018fb: SWAP1
000018fc: POP
000018fd: SWAP3
000018fe: SWAP2
000018ff: POP
00001900: POP
00001901: JUMP
00001902: JUMPDEST
00001903: PUSH1 0x00
00001905: PUSH2 0x190d
00001908: DUP3
00001909: PUSH2 0x1a79
0000190c: JUMP
0000190d: JUMPDEST
0000190e: SWAP2
0000190f: POP
00001910: PUSH2 0x1918
00001913: DUP4
00001914: PUSH2 0x1a79
00001917: JUMP
00001918: JUMPDEST
00001919: SWAP3
0000191a: POP
0000191b: DUP3
0000191c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000193d: SUB
0000193e: DUP3
0000193f: GT
00001940: ISZERO
00001941: PUSH2 0x194d
00001944: JUMPI
00001945: PUSH2 0x194c
00001948: PUSH2 0x1aec
0000194b: JUMP
0000194c: JUMPDEST
0000194d: JUMPDEST
0000194e: DUP3
0000194f: DUP3
00001950: ADD
00001951: SWAP1
00001952: POP
00001953: SWAP3
00001954: SWAP2
00001955: POP
00001956: POP
00001957: JUMP
00001958: JUMPDEST
00001959: PUSH1 0x00
0000195b: PUSH2 0x1963
0000195e: DUP3
0000195f: PUSH2 0x1a79
00001962: JUMP
00001963: JUMPDEST
00001964: SWAP2
00001965: POP
00001966: PUSH2 0x196e
00001969: DUP4
0000196a: PUSH2 0x1a79
0000196d: JUMP
0000196e: JUMPDEST
0000196f: SWAP3
00001970: POP
00001971: DUP3
00001972: PUSH2 0x197e
00001975: JUMPI
00001976: PUSH2 0x197d
00001979: PUSH2 0x1b1b
0000197c: JUMP
0000197d: JUMPDEST
0000197e: JUMPDEST
0000197f: DUP3
00001980: DUP3
00001981: DIV
00001982: SWAP1
00001983: POP
00001984: SWAP3
00001985: SWAP2
00001986: POP
00001987: POP
00001988: JUMP
00001989: JUMPDEST
0000198a: PUSH1 0x00
0000198c: PUSH2 0x1994
0000198f: DUP3
00001990: PUSH2 0x1a79
00001993: JUMP
00001994: JUMPDEST
00001995: SWAP2
00001996: POP
00001997: PUSH2 0x199f
0000199a: DUP4
0000199b: PUSH2 0x1a79
0000199e: JUMP
0000199f: JUMPDEST
000019a0: SWAP3
000019a1: POP
000019a2: DUP2
000019a3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000019c4: DIV
000019c5: DUP4
000019c6: GT
000019c7: DUP3
000019c8: ISZERO
000019c9: ISZERO
000019ca: AND
000019cb: ISZERO
000019cc: PUSH2 0x19d8
000019cf: JUMPI
000019d0: PUSH2 0x19d7
000019d3: PUSH2 0x1aec
000019d6: JUMP
000019d7: JUMPDEST
000019d8: JUMPDEST
000019d9: DUP3
000019da: DUP3
000019db: MUL
000019dc: SWAP1
000019dd: POP
000019de: SWAP3
000019df: SWAP2
000019e0: POP
000019e1: POP
000019e2: JUMP
000019e3: JUMPDEST
000019e4: PUSH1 0x00
000019e6: PUSH2 0x19ee
000019e9: DUP3
000019ea: PUSH2 0x1a79
000019ed: JUMP
000019ee: JUMPDEST
000019ef: SWAP2
000019f0: POP
000019f1: PUSH2 0x19f9
000019f4: DUP4
000019f5: PUSH2 0x1a79
000019f8: JUMP
000019f9: JUMPDEST
000019fa: SWAP3
000019fb: POP
000019fc: DUP3
000019fd: DUP3
000019fe: LT
000019ff: ISZERO
00001a00: PUSH2 0x1a0c
00001a03: JUMPI
00001a04: PUSH2 0x1a0b
00001a07: PUSH2 0x1aec
00001a0a: JUMP
00001a0b: JUMPDEST
00001a0c: JUMPDEST
00001a0d: DUP3
00001a0e: DUP3
00001a0f: SUB
00001a10: SWAP1
00001a11: POP
00001a12: SWAP3
00001a13: SWAP2
00001a14: POP
00001a15: POP
00001a16: JUMP
00001a17: JUMPDEST
00001a18: PUSH1 0x00
00001a1a: PUSH2 0x1a22
00001a1d: DUP3
00001a1e: PUSH2 0x1a59
00001a21: JUMP
00001a22: JUMPDEST
00001a23: SWAP1
00001a24: POP
00001a25: SWAP2
00001a26: SWAP1
00001a27: POP
00001a28: JUMP
00001a29: JUMPDEST
00001a2a: PUSH1 0x00
00001a2c: PUSH2 0x1a34
00001a2f: DUP3
00001a30: PUSH2 0x1a59
00001a33: JUMP
00001a34: JUMPDEST
00001a35: SWAP1
00001a36: POP
00001a37: SWAP2
00001a38: SWAP1
00001a39: POP
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: PUSH1 0x00
00001a3e: DUP2
00001a3f: ISZERO
00001a40: ISZERO
00001a41: SWAP1
00001a42: POP
00001a43: SWAP2
00001a44: SWAP1
00001a45: POP
00001a46: JUMP
00001a47: JUMPDEST
00001a48: PUSH1 0x00
00001a4a: PUSH2 0x1a52
00001a4d: DUP3
00001a4e: PUSH2 0x1a17
00001a51: JUMP
00001a52: JUMPDEST
00001a53: SWAP1
00001a54: POP
00001a55: SWAP2
00001a56: SWAP1
00001a57: POP
00001a58: JUMP
00001a59: JUMPDEST
00001a5a: PUSH1 0x00
00001a5c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a71: DUP3
00001a72: AND
00001a73: SWAP1
00001a74: POP
00001a75: SWAP2
00001a76: SWAP1
00001a77: POP
00001a78: JUMP
00001a79: JUMPDEST
00001a7a: PUSH1 0x00
00001a7c: DUP2
00001a7d: SWAP1
00001a7e: POP
00001a7f: SWAP2
00001a80: SWAP1
00001a81: POP
00001a82: JUMP
00001a83: JUMPDEST
00001a84: PUSH1 0x00
00001a86: PUSH2 0x1a8e
00001a89: DUP3
00001a8a: PUSH2 0x1a95
00001a8d: JUMP
00001a8e: JUMPDEST
00001a8f: SWAP1
00001a90: POP
00001a91: SWAP2
00001a92: SWAP1
00001a93: POP
00001a94: JUMP
00001a95: JUMPDEST
00001a96: PUSH1 0x00
00001a98: PUSH2 0x1aa0
00001a9b: DUP3
00001a9c: PUSH2 0x1aa7
00001a9f: JUMP
00001aa0: JUMPDEST
00001aa1: SWAP1
00001aa2: POP
00001aa3: SWAP2
00001aa4: SWAP1
00001aa5: POP
00001aa6: JUMP
00001aa7: JUMPDEST
00001aa8: PUSH1 0x00
00001aaa: PUSH2 0x1ab2
00001aad: DUP3
00001aae: PUSH2 0x1a59
00001ab1: JUMP
00001ab2: JUMPDEST
00001ab3: SWAP1
00001ab4: POP
00001ab5: SWAP2
00001ab6: SWAP1
00001ab7: POP
00001ab8: JUMP
00001ab9: JUMPDEST
00001aba: PUSH1 0x00
00001abc: JUMPDEST
00001abd: DUP4
00001abe: DUP2
00001abf: LT
00001ac0: ISZERO
00001ac1: PUSH2 0x1ad7
00001ac4: JUMPI
00001ac5: DUP1
00001ac6: DUP3
00001ac7: ADD
00001ac8: MLOAD
00001ac9: DUP2
00001aca: DUP5
00001acb: ADD
00001acc: MSTORE
00001acd: PUSH1 0x20
00001acf: DUP2
00001ad0: ADD
00001ad1: SWAP1
00001ad2: POP
00001ad3: PUSH2 0x1abc
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: DUP4
00001ad9: DUP2
00001ada: GT
00001adb: ISZERO
00001adc: PUSH2 0x1ae6
00001adf: JUMPI
00001ae0: PUSH1 0x00
00001ae2: DUP5
00001ae3: DUP5
00001ae4: ADD
00001ae5: MSTORE
00001ae6: JUMPDEST
00001ae7: POP
00001ae8: POP
00001ae9: POP
00001aea: POP
00001aeb: JUMP
00001aec: JUMPDEST
00001aed: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001b0e: PUSH1 0x00
00001b10: MSTORE
00001b11: PUSH1 0x11
00001b13: PUSH1 0x04
00001b15: MSTORE
00001b16: PUSH1 0x24
00001b18: PUSH1 0x00
00001b1a: REVERT
00001b1b: JUMPDEST
00001b1c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001b3d: PUSH1 0x00
00001b3f: MSTORE
00001b40: PUSH1 0x12
00001b42: PUSH1 0x04
00001b44: MSTORE
00001b45: PUSH1 0x24
00001b47: PUSH1 0x00
00001b49: REVERT
00001b4a: JUMPDEST
00001b4b: PUSH1 0x00
00001b4d: PUSH1 0x1f
00001b4f: NOT
00001b50: PUSH1 0x1f
00001b52: DUP4
00001b53: ADD
00001b54: AND
00001b55: SWAP1
00001b56: POP
00001b57: SWAP2
00001b58: SWAP1
00001b59: POP
00001b5a: JUMP
00001b5b: JUMPDEST
00001b5c: PUSH2 0x1b64
00001b5f: DUP2
00001b60: PUSH2 0x1a17
00001b63: JUMP
00001b64: JUMPDEST
00001b65: DUP2
00001b66: EQ
00001b67: PUSH2 0x1b6f
00001b6a: JUMPI
00001b6b: PUSH1 0x00
00001b6d: DUP1
00001b6e: REVERT
00001b6f: JUMPDEST
00001b70: POP
00001b71: JUMP
00001b72: JUMPDEST
00001b73: PUSH2 0x1b7b
00001b76: DUP2
00001b77: PUSH2 0x1a29
00001b7a: JUMP
00001b7b: JUMPDEST
00001b7c: DUP2
00001b7d: EQ
00001b7e: PUSH2 0x1b86
00001b81: JUMPI
00001b82: PUSH1 0x00
00001b84: DUP1
00001b85: REVERT
00001b86: JUMPDEST
00001b87: POP
00001b88: JUMP
00001b89: JUMPDEST
00001b8a: PUSH2 0x1b92
00001b8d: DUP2
00001b8e: PUSH2 0x1a3b
00001b91: JUMP
00001b92: JUMPDEST
00001b93: DUP2
00001b94: EQ
00001b95: PUSH2 0x1b9d
00001b98: JUMPI
00001b99: PUSH1 0x00
00001b9b: DUP1
00001b9c: REVERT
00001b9d: JUMPDEST
00001b9e: POP
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: PUSH2 0x1ba9
00001ba4: DUP2
00001ba5: PUSH2 0x1a47
00001ba8: JUMP
00001ba9: JUMPDEST
00001baa: DUP2
00001bab: EQ
00001bac: PUSH2 0x1bb4
00001baf: JUMPI
00001bb0: PUSH1 0x00
00001bb2: DUP1
00001bb3: REVERT
00001bb4: JUMPDEST
00001bb5: POP
00001bb6: JUMP
00001bb7: JUMPDEST
00001bb8: PUSH2 0x1bc0
00001bbb: DUP2
00001bbc: PUSH2 0x1a79
00001bbf: JUMP
00001bc0: JUMPDEST
00001bc1: DUP2
00001bc2: EQ
00001bc3: PUSH2 0x1bcb
00001bc6: JUMPI
00001bc7: PUSH1 0x00
00001bc9: DUP1
00001bca: REVERT
00001bcb: JUMPDEST
00001bcc: POP
00001bcd: JUMP
00001bce: INVALID
00001bcf: LOG2
00001bd0: PUSH5 0x6970667358
00001bd6: UNKNOWN(0x22)
00001bd7: SLT
00001bd8: KECCAK256
00001bd9: UNKNOWN(0xE6)
00001bda: EXP
00001bdb: COINBASE
00001bdc: MSIZE
00001bdd: PUSH22 0x5224e674c13eb31fe6109d2fe1328329b0d9f6262adf
00001bf4: UNKNOWN(0x2C)
00001bf5: UNKNOWN(0xD6)
00001bf6: ADDMOD
00001bf7: SWAP13
00001bf8: PUSH2 0x6473
00001bfb: PUSH16

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium math codex Hardcoded 1000 denominator breaks accounting when shares do not sum to 1000 75 no
view
evidence_json
{
    "evidence": "`_pendingPayment` divides by a constant 1000 and ignores `_totalShares`, while `_totalShares` is accumulated but never used for payouts.",
    "locations": [
        "contracts/AmbassadorsFund.sol:98",
        "contracts/AmbassadorsFund.sol:103",
        "contracts/AmbassadorsFund.sol:115"
    ],
    "recommendation": "Use `_totalShares` as the denominator (as in OpenZeppelin PaymentSplitter), or enforce in `_addPayee`/constructor that the total shares must equal 1000 and revert otherwise.",
    "exploit_scenario": "If the constructor is configured with shares that do not sum to 1000, payouts are miscomputed. When the total is less than 1000, a portion of ETH/tokens becomes permanently unclaimable (no rescue method). When the total exceeds 1000, the contract becomes insolvent and some payees can never withdraw their computed entitlement, leaving funds stuck or unfairly distributed as deposits arrive."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xa42c7b2585f54a1802ae6f3f690ca078cd6b958dc8a014e317184aeb82dba354
call_targets: 0xe9426198aec621203ba1fe07cf292b3796ba6248
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa42c7b2585f54a1802ae6f3f690ca078cd6b958dc8a014e317184aeb82dba354",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe9426198aec621203ba1fe07cf292b3796ba6248"
    ],
    "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": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9852595c",
            "selector": "0x9852595c",
            "calldata_variants": [
                "0x9852595c",
                "0x9852595c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce7c2ac2",
            "selector": "0xce7c2ac2",
            "calldata_variants": [
                "0xce7c2ac2",
                "0xce7c2ac20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd79779b2",
            "selector": "0xd79779b2",
            "calldata_variants": [
                "0xd79779b2",
                "0xd79779b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe33b7de3",
            "selector": "0xe33b7de3",
            "calldata_variants": [
                "0xe33b7de3",
                "0xe33b7de30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19165587",
            "selector": "0x19165587",
            "calldata_variants": [
                "0x19165587",
                "0x191655870000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3a98ef39",
            "selector": "0x3a98ef39",
            "calldata_variants": [
                "0x3a98ef39",
                "0x3a98ef390000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3226,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4100,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 859,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xa42c7b2585f54a1802ae6f3f690ca078cd6b958dc8a014e317184aeb82dba354
call_targets: 0xe9426198aec621203ba1fe07cf292b3796ba6248
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa42c7b2585f54a1802ae6f3f690ca078cd6b958dc8a014e317184aeb82dba354",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe9426198aec621203ba1fe07cf292b3796ba6248"
    ],
    "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": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9852595c",
            "selector": "0x9852595c",
            "calldata_variants": [
                "0x9852595c",
                "0x9852595c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce7c2ac2",
            "selector": "0xce7c2ac2",
            "calldata_variants": [
                "0xce7c2ac2",
                "0xce7c2ac20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd79779b2",
            "selector": "0xd79779b2",
            "calldata_variants": [
                "0xd79779b2",
                "0xd79779b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe33b7de3",
            "selector": "0xe33b7de3",
            "calldata_variants": [
                "0xe33b7de3",
                "0xe33b7de30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19165587",
            "selector": "0x19165587",
            "calldata_variants": [
                "0x19165587",
                "0x191655870000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3a98ef39",
            "selector": "0x3a98ef39",
            "calldata_variants": [
                "0x3a98ef39",
                "0x3a98ef390000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3226,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4100,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 859,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}