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

Analysis Run

019bb50b-e146-7046-b442-d004a2f4b5a8

complete
Chain ID
1
Address
Block Number
Created
Tue, Jan 13, 2026 1:50 AM
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
Bytecode only
Review Backing
Present
Best current signal
SELFDESTRUCT present
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
40359 artifact.fetch complete 1 / 3 3 months ago
40360 proxy.resolve complete 1 / 3 3 months ago
40361 tool.cast_disasm complete 1 / 3 3 months ago
40362 analysis.bundle complete 1 / 3 3 months ago
40363 capability.graph complete 1 / 3 3 months ago
40364 detector.run complete 1 / 3 3 months ago
40365 validation.fork complete 1 / 3 3 months ago
40487 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.
View stdout
{"no_findings":false,"summary":"Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.","findings":[{"severity":"medium","category":"other","title":"Potentially reachable SELFDESTRUCT kill-switch","exploit_scenario":"If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain.","recommendation":"Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.","evidence":"Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.","locations":["pc:18351"]},{"severity":"low","category":"other","title":"CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out","exploit_scenario":"If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths.","recommendation":"Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.","evidence":"Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.","locations":["pc:5347","pc:6695","pc:9845","pc:10332","pc:11107"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-46xpes5c
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb522-da5d-7eb0-9070-9a56e2a15788
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.

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.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers

thinking
**Reading BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-46xpes5c succeeded in 8ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-46xpes5c succeeded in 35ms:
{
  "analysis_artifact": {
    "address": "0x19d683cea643a8e5f2384bd48716b5399baa3616",
    "artifact_hash": "0x2f064b13e5e4a12b7e83a7ea88fb76c7bddcffd57602e6ef2a63e577086fa978",
    "artifact_json": {
      "auth": {
        "guards": [
          {
            "pc": 2388,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 2938,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 3181,
            "type": "msg_sender_eq_const",

thinking
**Planning heuristic searches**
exec
/bin/bash -lc 'rg -n "proxy|eip1967|beacon|minimal|delegatecall" BYTECODE_BUNDLE.json' in /tmp/codex-46xpes5c succeeded in 28ms:
21367:            "delegatecall": 0,
21637:            "delegatecall": 0,
21907:            "delegatecall": 0,
22177:            "delegatecall": 0,
22447:            "delegatecall": 0,
22717:            "delegatecall": 0,
22987:            "delegatecall": 0,
23257:            "delegatecall": 0,
23527:            "delegatecall": 0,
23797:            "delegatecall": 0,
24067:            "delegatecall": 0,
24337:            "delegatecall": 0,
24607:            "delegatecall": 0,
24877:            "delegatecall": 0,
25147:            "delegatecall": 0,
25417:            "delegatecall": 0,
25687:            "delegatecall": 0,
25957:            "delegatecall": 0,
26227:            "delegatecall": 0,
26497:            "delegatecall": 0,

thinking
**Analyzing BYTECODE_BUNDLE for suspicious guards and selfdestruct**
exec
/bin/bash -lc 'rg -n "SELFDESTRUCT|selfdestruct" BYTECODE_BUNDLE.json' in /tmp/codex-46xpes5c succeeded in 32ms:
16657:            "SELFDESTRUCT"
21368:            "selfdestruct": 1,
21638:            "selfdestruct": 1,
21908:            "selfdestruct": 1,
22178:            "selfdestruct": 1,
22448:            "selfdestruct": 1,
22718:            "selfdestruct": 1,
22988:            "selfdestruct": 1,
23258:            "selfdestruct": 1,
23528:            "selfdestruct": 1,
23798:            "selfdestruct": 1,
24068:            "selfdestruct": 1,
24338:            "selfdestruct": 1,
24608:            "selfdestruct": 1,
24878:            "selfdestruct": 1,
25148:            "selfdestruct": 1,
25418:            "selfdestruct": 1,
25688:            "selfdestruct": 1,
25958:            "selfdestruct": 1,
26228:            "selfdestruct": 1,

thinking
**Searching for SELFDESTRUCT opcode location**
exec
/bin/bash -lc "sed -n '16640,16675p' BYTECODE_BUNDLE.json" in /tmp/codex-46xpes5c succeeded in 7ms:
          "start_pc": 18350
        },
        {
          "end_pc": 18367,
          "hash": "0x13a67fef5cc484b2cc601e3e61298683f5cde04edbcb7b84c0afaaa6487dc2c3",
          "opcodes": [
            "OP_A2",
            "PUSH5",
            "OP_22",
            "SLT",
            "SHA3",
            "OP_EA",
            "OP_CF",
            "OP_83",
            "OP_28",
            "OP_4E",
            "MULMOD",
            "SELFDESTRUCT"
          ],
          "start_pc": 18351

thinking
**Analyzing self-call and callsite risks**
exec
/bin/bash -lc 'rg -n "storage|slot|mapping|keccak" BYTECODE_BUNDLE.json | head -n 20' in /tmp/codex-46xpes5c succeeded in 9ms:
21371:          "storage": {
21373:            "slots": [
21377:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
21382:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
21387:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
21392:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21397:                "slot": "0x00000000000000000000000000000000000000000000000000000000000003f3"
21402:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21407:                "slot": "0x00000000000000000000000000000000000000000000000000000000000003f3"
21412:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
21417:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
21422:                "slot": "0x00000000000000000000000000000000000000000000000000000000000003f4"
21427:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21432:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21437:                "slot": "0x00000000000000000000000000000000000000000000000000000000000003f2"
21442:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21447:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21452:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
21457:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
21462:                "slot": "0x00000000000000000000000000000000000000000000000000000000000003f3"

thinking
**Planning callsites and selfdestruct analysis**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
p=Path('BYTECODE_BUNDLE.json')
obj=json.loads(p.read_text())
print(obj.keys())
print('detector_findings',len(obj.get('detector_findings',[])))
print('heuristics_summary',obj.get('heuristics_summary'))
# find callsites list from analysis_artifact artifact_json maybe?
artifact=obj['analysis_artifact']['artifact_json']
# callsites in basic_blocks? Actually graph nodes include callsite entries.
# gather callsites from artifact_json['basic_blocks'] or maybe separate list of nodes at end? We'll search for dicts with type 'callsite'
callsites=[]
for bb in artifact.get('basic_blocks',[]):
    if isinstance(bb, dict) and bb.get('type')=='callsite':
        callsites.append(bb)
print('callsites',callsites)
# find callsites in some other key maybe 'capability_graph' or 'nodes'
for key in artifact:
    if isinstance(artifact[key], list):
        if any(isinstance(x, dict) and x.get('type')=='callsite' for x in artifact[key]):
            print('callsites in', key)
            print([x for x in artifact[key] if isinstance(x, dict) and x.get('type')=='callsite'][:10])
PY" in /tmp/codex-46xpes5c succeeded in 43ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
detector_findings 3
heuristics_summary {'create2_count': 0, 'delegatecall_count': 0, 'flags': ['selfdestruct_present', 'heavy_ext_balance_usage'], 'selfdestruct_count': 1}
callsites []

thinking
**Inspecting capability_graph entries**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj.get('capability_graph',{})
print(cap.keys())
for key in cap:
    if isinstance(cap[key], list):
        if any(isinstance(x, dict) and x.get('type')=='callsite' for x in cap[key]):
            print('callsites in', key)
            print([x for x in cap[key] if isinstance(x, dict) and x.get('type')=='callsite'])
PY" in /tmp/codex-46xpes5c succeeded in 36ms:
dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])

thinking
**Inspecting cap graph_json**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
print(cap.keys())
# find callsites
callsites=[]
for key,val in cap.items():
    if isinstance(val, list):
        for x in val:
            if isinstance(x, dict) and x.get('type')=='callsite':
                callsites.append(x)
        if any(isinstance(x, dict) and x.get('type')=='callsite' for x in val):
            print('callsites in', key)
print('num callsites',len(callsites))
print(callsites[:10])
PY" in /tmp/codex-46xpes5c succeeded in 53ms:
dict_keys(['edges', 'nodes', 'version'])
callsites in nodes
num callsites 6
[{'id': 'call:5347', 'opcode': 'CALL', 'pc': 5347, 'type': 'callsite'}, {'id': 'call:5694', 'opcode': 'STATICCALL', 'pc': 5694, 'type': 'callsite'}, {'id': 'call:6695', 'opcode': 'CALL', 'pc': 6695, 'type': 'callsite'}, {'id': 'call:9845', 'opcode': 'CALL', 'pc': 9845, 'type': 'callsite'}, {'id': 'call:10332', 'opcode': 'CALL', 'pc': 10332, 'type': 'callsite'}, {'id': 'call:11107', 'opcode': 'CALL', 'pc': 11107, 'type': 'callsite'}]

thinking
**Examining potential external call points**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
artifact=obj.get('artifact',{})
print(artifact.keys())
# maybe has storage slots or selector list
for key in ['storage','storage_slots','slots','functions','selectors','proxy','proxy_evidence']:
    if key in artifact:
        print('artifact', key, artifact[key])
PY" in /tmp/codex-46xpes5c succeeded in 56ms:
dict_keys(['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source'])

thinking
**Checking for is_proxy in artifact**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
print(obj['artifact'])
PY" in /tmp/codex-46xpes5c succeeded in 51ms:
{'codehash': '0x6672af9c05fde3c7e55a0c698a0fdb96608542e7dc1058d37ed882f20acd93bb', 'compiler_json': {'compiler_version': None, 'etherscan': {'contract_name': None, 'implementation': None, 'license': 'Unknown', 'proxy': '0', 'swarm_source': None}, 'optimizer_enabled': False, 'optimizer_runs': 0, 'proxy_evidence': {'status': 'not_proxy'}}, 'implementation_address': None, 'is_proxy': False, 'runtime_bytecode': {'full': '0x6080604052600436106101ba5760003560e01c806350c86de5116100ec578063bd85b0391161008a578063eec12f9711610064578063eec12f9714610630578063eed007cd1461064c578063f242432a14610675578063f2aa82181461069e576101c1565b8063bd85b0391461058b578063d72d79d9146105c8578063e985e9c5146105f3576101c1565b806389a89002116100c657806389a89002146104e15780638d5b87b61461050c57806395d89b4114610537578063a22cb46514610562576101c1565b806350c86de514610460578063512bb91c1461048b57806381881527146104b6576101c1565b80632eb2c2d6116101595780633a6521e8116101335780633a6521e8146103905780634dd8bd89146103bb5780634e1273f4146103e65780634f558e7914610423576101c1565b80632eb2c2d61461031557806332cec96d1461033e5780633760911b14610367576101c1565b806306fdde031161019557806306fdde031461026b57806308fdf78b146102965780630e89341c146102ad57806313d36c5c146102ea576101c1565b8062fdd58e146101c657806301ffc9a714610203578063053f14da14610240576101c1565b366101c157005b600080fd5b3480156101d257600080fd5b506101ed60048036038101906101e891906130ab565b6106db565b6040516101fa9190613b4c565b60405180910390f35b34801561020f57600080fd5b5061022a6004803603810190610225919061317c565b6107a4565b604051610237919061384f565b60405180910390f35b34801561024c57600080fd5b50610255610886565b6040516102629190613b4c565b60405180910390f35b34801561027757600080fd5b5061028061088c565b60405161028d919061386a565b60405180910390f35b3480156102a257600080fd5b506102ab61091a565b005b3480156102b957600080fd5b506102d460048036038101906102cf91906131ce565b610a04565b6040516102e1919061386a565b60405180910390f35b3480156102f657600080fd5b506102ff610a98565b60405161030c9190613b4c565b60405180910390f35b34801561032157600080fd5b5061033c60048036038101906103379190612f21565b610a9f565b005b34801561034a57600080fd5b50610365600480360381019061036091906131ce565b610b40565b005b34801561037357600080fd5b5061038e60048036038101906103899190612e80565b610c33565b005b34801561039c57600080fd5b506103a5610d77565b6040516103b29190613b4c565b60405180910390f35b3480156103c757600080fd5b506103d0610d7c565b6040516103dd9190613b4c565b60405180910390f35b3480156103f257600080fd5b5061040d600480360381019061040891906130e7565b610d83565b60405161041a91906137f6565b60405180910390f35b34801561042f57600080fd5b5061044a600480360381019061044591906131ce565b610f34565b604051610457919061384f565b60405180910390f35b34801561046c57600080fd5b50610475610f48565b6040516104829190613b4c565b60405180910390f35b34801561049757600080fd5b506104a0610f4d565b6040516104ad91906136d5565b60405180910390f35b3480156104c257600080fd5b506104cb610f73565b6040516104d89190613b4c565b60405180910390f35b3480156104ed57600080fd5b506104f6610f78565b6040516105039190613b4c565b60405180910390f35b34801561051857600080fd5b50610521610f7d565b60405161052e91906136f0565b60405180910390f35b34801561054357600080fd5b5061054c610fa3565b604051610559919061386a565b60405180910390f35b34801561056e57600080fd5b506105896004803603810190610584919061306f565b611031565b005b34801561059757600080fd5b506105b260048036038101906105ad91906131ce565b6111b2565b6040516105bf9190613b4c565b60405180910390f35b3480156105d457600080fd5b506105dd6111cf565b6040516105ea9190613b4c565b60405180910390f35b3480156105ff57600080fd5b5061061a60048036038101906106159190612ee5565b6111d6565b604051610627919061384f565b60405180910390f35b61064a60048036038101906106459190612ea9565b6111e2565b005b34801561065857600080fd5b50610673600480360381019061066e9190612e57565b611558565b005b34801561068157600080fd5b5061069c60048036038101906106979190612fe0565b6116c6565b005b3480156106aa57600080fd5b506106c560048036038101906106c091906131ce565b611767565b6040516106d291906136f0565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561074c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610743906138cc565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061086f57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061087f575061087e82611947565b5b9050919050565b60075481565b6005805461089990613e97565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590613e97565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b505050505081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a190613a2c565b60405180910390fd5b600047905060006103f354826109c09190613d9b565b1115610a0157610a00600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166103f354836109fb9190613d9b565b6119b1565b5b50565b606060028054610a1390613e97565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3f90613e97565b8015610a8c5780601f10610a6157610100808354040283529160200191610a8c565b820191906000526020600020905b815481529060010190602001808311610a6f57829003601f168201915b50505050509050919050565b6103f45481565b610aa7611aa5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610aed5750610aec85610ae7611aa5565b6111d6565b5b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b23906139ac565b60405180910390fd5b610b398585858585611aad565b5050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc790613a2c565b60405180910390fd5b600081118015610be95750610be560016111b2565b8111155b610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f906139cc565b60405180910390fd5b806103f48190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90613a2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a90613a4c565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602881565b6103f25481565b60608151835114610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc090613acc565b60405180910390fd5b6000835167ffffffffffffffff811115610e0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610e3a5781602001602082028036833780820191505090505b50905060005b8451811015610f2957610ed3858281518110610e85577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151858381518110610ec6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516106db565b828281518110610f0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080610f2290613efa565b9050610e40565b508091505092915050565b600080610f40836111b2565b119050919050565b603281565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a81565b600181565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054610fb090613e97565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdc90613e97565b80156110295780601f10610ffe57610100808354040283529160200191611029565b820191906000526020600020905b81548152906001019060200180831161100c57829003601f168201915b505050505081565b8173ffffffffffffffffffffffffffffffffffffffff16611050611aa5565b73ffffffffffffffffffffffffffffffffffffffff1614156110a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109e90613a8c565b60405180910390fd5b80600160006110b4611aa5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611161611aa5565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111a6919061384f565b60405180910390a35050565b600060036000838152602001908152602001600020549050919050565b6103f35481565b60006001905092915050565b60026004541415611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121f90613b2c565b60405180910390fd5b60026004819055506103f454811115611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90613a0c565b60405180910390fd5b61127f81611e0d565b60005b818110156113fa57600061129660016111b2565b6103f2546112a49190613f43565b905060008073ffffffffffffffffffffffffffffffffffffffff16600a836103e881106112fa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461139957600a826103e88110611372577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113bd565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90506113dc8186600180604051806020016040528060008152506116c6565b6113e585611f3d565b505080806113f290613efa565b915050611282565b5060006103e860323461140d9190613d41565b6114179190613d10565b905060006103e8600a3461142b9190613d41565b6114359190613d10565b9050600082111561146d5761146c600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836119b1565b5b60008111156114fa57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637079fb67826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050505b8373ffffffffffffffffffffffffffffffffffffffff167f31d8410029cba7bb8656f8b8c43961cfe8e425907121c3b2f979e4328db051f38434604051611542929190613b67565b60405180910390a2505060016004819055505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115df90613a2c565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161162391906136d5565b60206040518083038186803b15801561163b57600080fd5b505afa15801561164f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167391906131f7565b90506116c2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff1661221d9092919063ffffffff16565b5050565b6116ce611aa5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061171457506117138561170e611aa5565b6111d6565b5b611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a906138ec565b60405180910390fd5b61176085858585856122a3565b5050505050565b600a816103e8811061177857600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590613b0c565b60405180910390fd5b6000611818611aa5565b90506118398160008761182a88612525565b61183388612525565b876125eb565b8260008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118989190613cba565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611916929190613b67565b60405180910390a461192d816000878787876125f3565b5050505050565b600080823b905060008111915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b804710156119f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119eb9061394c565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611a1a906136c0565b60006040518083038185875af1925050503d8060008114611a57576040519150601f19603f3d011682016040523d82523d6000602084013e611a5c565b606091505b5050905080611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a979061392c565b60405180910390fd5b505050565b600033905090565b8151835114611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae890613aec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b589061398c565b60405180910390fd5b6000611b6b611aa5565b9050611b7b8187878787876125eb565b60005b8451811015611d78576000858281518110611bc2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000858381518110611c07577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906139ec565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d5d9190613cba565b9250508190555050505080611d7190613efa565b9050611b7e565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611def929190613818565b60405180910390a4611e058187878787876127da565b505050505050565b6000611e1960016111b2565b90506000816103f254611e2c9190613f43565b82611e379190613d9b565b905082811115611ea157826002600754611e519190613d41565b611e5b9190613d41565b3414611e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e939061390c565b60405180910390fd5b611f38565b600081905060008185611eb49190613d9b565b9050806004600754611ec69190613d41565b611ed09190613d41565b826002600754611ee09190613d41565b611eea9190613d41565b611ef49190613cba565b3414611f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2c9061390c565b60405180910390fd5b50505b505050565b60006002600754611f4e9190613d41565b90506000611f5c60016111b2565b90506000816103f254611f6f9190613f43565b905060008073ffffffffffffffffffffffffffffffffffffffff16600a836103e88110611fc5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206457600a826103e8811061203d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612088565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905084600a836103e881106120c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001836121129190613d9b565b82141561212157836007819055505b60006103e86032866121339190613d41565b61213d9190613d10565b905060006103e86028876121519190613d41565b61215b9190613d10565b905060006103e8600a8861216f9190613d41565b6121799190613d10565b90506000866103f2541061219b57866103f3546121969190613d10565b61219e565b60005b905082816103f3546121b09190613d9b565b6121ba9190613cba565b6103f38190555060016103f260008282546121d59190613cba565b9250508190555061221285828486888d6121ef9190613d9b565b6121f99190613d9b565b6122039190613d9b565b61220d9190613cba565b6119b1565b505050505050505050565b61229e8363a9059cbb60e01b848460405160240161223c9291906137cd565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506129c1565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230a9061398c565b60405180910390fd5b600061231d611aa5565b905061233d81878761232e88612525565b61233788612525565b876125eb565b600080600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb906139ec565b60405180910390fd5b83810360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124899190613cba565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051612506929190613b67565b60405180910390a461251c8288888888886125f3565b50505050505050565b60606000600167ffffffffffffffff81111561256a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156125985781602001602082028036833780820191505090505b50905082816000815181106125d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080915050919050565b505050505050565b6126128473ffffffffffffffffffffffffffffffffffffffff16611934565b156127d2578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612658959493929190613773565b602060405180830381600087803b15801561267257600080fd5b505af19250505080156126a357506040513d601f19601f820116820180604052508101906126a091906131a5565b60015b612749576126af614030565b806308c379a0141561270c57506126c46146a5565b806126cf575061270e565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612703919061386a565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127409061388c565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146127d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c7906138ac565b60405180910390fd5b505b505050505050565b6127f98473ffffffffffffffffffffffffffffffffffffffff16611934565b156129b9578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161283f95949392919061370b565b602060405180830381600087803b15801561285957600080fd5b505af192505050801561288a57506040513d601f19601f8201168201806040525081019061288791906131a5565b60015b61293057612896614030565b806308c379a014156128f357506128ab6146a5565b806128b657506128f5565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ea919061386a565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129279061388c565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ae906138ac565b60405180910390fd5b505b505050505050565b6000612a23826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612a889092919063ffffffff16565b9050600081511115612a835780806020019051810190612a439190613153565b612a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7990613aac565b60405180910390fd5b5b505050565b6060612a978484600085612aa0565b90509392505050565b606082471015612ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612adc9061396c565b60405180910390fd5b612aee85611934565b612b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2490613a6c565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612b5691906136a9565b60006040518083038185875af1925050503d8060008114612b93576040519150601f19603f3d011682016040523d82523d6000602084013e612b98565b606091505b5091509150612ba8828286612bb4565b92505050949350505050565b60608315612bc457829050612c14565b600083511115612bd75782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0b919061386a565b60405180910390fd5b9392505050565b6000612c2e612c2984613bb5565b613b90565b90508083825260208201905082856020860282011115612c4d57600080fd5b60005b85811015612c7d5781612c638882612d31565b845260208401935060208301925050600181019050612c50565b5050509392505050565b6000612c9a612c9584613be1565b613b90565b90508083825260208201905082856020860282011115612cb957600080fd5b60005b85811015612ce95781612ccf8882612e2d565b845260208401935060208301925050600181019050612cbc565b5050509392505050565b6000612d06612d0184613c0d565b613b90565b905082815260208101848484011115612d1e57600080fd5b612d29848285613e55565b509392505050565b600081359050612d408161473b565b92915050565b600081359050612d5581614752565b92915050565b600082601f830112612d6c57600080fd5b8135612d7c848260208601612c1b565b91505092915050565b600082601f830112612d9657600080fd5b8135612da6848260208601612c87565b91505092915050565b600081359050612dbe81614769565b92915050565b600081519050612dd381614769565b92915050565b600081359050612de881614780565b92915050565b600081519050612dfd81614780565b92915050565b600082601f830112612e1457600080fd5b8135612e24848260208601612cf3565b91505092915050565b600081359050612e3c81614797565b92915050565b600081519050612e5181614797565b92915050565b600060208284031215612e6957600080fd5b6000612e7784828501612d31565b91505092915050565b600060208284031215612e9257600080fd5b6000612ea084828501612d46565b91505092915050565b60008060408385031215612ebc57600080fd5b6000612eca85828601612d46565b9250506020612edb85828601612e2d565b9150509250929050565b60008060408385031215612ef857600080fd5b6000612f0685828601612d31565b9250506020612f1785828601612d31565b9150509250929050565b600080600080600060a08688031215612f3957600080fd5b6000612f4788828901612d31565b9550506020612f5888828901612d31565b945050604086013567ffffffffffffffff811115612f7557600080fd5b612f8188828901612d85565b935050606086013567ffffffffffffffff811115612f9e57600080fd5b612faa88828901612d85565b925050608086013567ffffffffffffffff811115612fc757600080fd5b612fd388828901612e03565b9150509295509295909350565b600080600080600060a08688031215612ff857600080fd5b600061300688828901612d31565b955050602061301788828901612d31565b945050604061302888828901612e2d565b935050606061303988828901612e2d565b925050608086013567ffffffffffffffff81111561305657600080fd5b61306288828901612e03565b9150509295509295909350565b6000806040838503121561308257600080fd5b600061309085828601612d31565b92505060206130a185828601612daf565b9150509250929050565b600080604083850312156130be57600080fd5b60006130cc85828601612d31565b92505060206130dd85828601612e2d565b9150509250929050565b600080604083850312156130fa57600080fd5b600083013567ffffffffffffffff81111561311457600080fd5b61312085828601612d5b565b925050602083013567ffffffffffffffff81111561313d57600080fd5b61314985828601612d85565b9150509250929050565b60006020828403121561316557600080fd5b600061317384828501612dc4565b91505092915050565b60006020828403121561318e57600080fd5b600061319c84828501612dd9565b91505092915050565b6000602082840312156131b757600080fd5b60006131c584828501612dee565b91505092915050565b6000602082840312156131e057600080fd5b60006131ee84828501612e2d565b91505092915050565b60006020828403121561320957600080fd5b600061321784828501612e42565b91505092915050565b600061322c838361368b565b60208301905092915050565b61324181613de1565b82525050565b61325081613dcf565b82525050565b600061326182613c4e565b61326b8185613c7c565b935061327683613c3e565b8060005b838110156132a757815161328e8882613220565b975061329983613c6f565b92505060018101905061327a565b5085935050505092915050565b6132bd81613df3565b82525050565b60006132ce82613c59565b6132d88185613c8d565b93506132e8818560208601613e64565b6132f181614052565b840191505092915050565b600061330782613c59565b6133118185613c9e565b9350613321818560208601613e64565b80840191505092915050565b600061333882613c64565b6133428185613ca9565b9350613352818560208601613e64565b61335b81614052565b840191505092915050565b6000613373603483613ca9565b915061337e82614070565b604082019050919050565b6000613396602883613ca9565b91506133a1826140bf565b604082019050919050565b60006133b9602b83613ca9565b91506133c48261410e565b604082019050919050565b60006133dc602983613ca9565b91506133e78261415d565b604082019050919050565b60006133ff603383613ca9565b915061340a826141ac565b604082019050919050565b6000613422603a83613ca9565b915061342d826141fb565b604082019050919050565b6000613445601d83613ca9565b91506134508261424a565b602082019050919050565b6000613468602683613ca9565b915061347382614273565b604082019050919050565b600061348b602583613ca9565b9150613496826142c2565b604082019050919050565b60006134ae603283613ca9565b91506134b982614311565b604082019050919050565b60006134d1603283613ca9565b91506134dc82614360565b604082019050919050565b60006134f4602a83613ca9565b91506134ff826143af565b604082019050919050565b6000613517602683613ca9565b9150613522826143fe565b604082019050919050565b600061353a602c83613ca9565b91506135458261444d565b604082019050919050565b600061355d601d83613ca9565b91506135688261449c565b602082019050919050565b6000613580600083613c9e565b915061358b826144c5565b600082019050919050565b60006135a3601d83613ca9565b91506135ae826144c8565b602082019050919050565b60006135c6602983613ca9565b91506135d1826144f1565b604082019050919050565b60006135e9602a83613ca9565b91506135f482614540565b604082019050919050565b600061360c602983613ca9565b91506136178261458f565b604082019050919050565b600061362f602883613ca9565b915061363a826145de565b604082019050919050565b6000613652602183613ca9565b915061365d8261462d565b604082019050919050565b6000613675601f83613ca9565b91506136808261467c565b602082019050919050565b61369481613e4b565b82525050565b6136a381613e4b565b82525050565b60006136b582846132fc565b915081905092915050565b60006136cb82613573565b9150819050919050565b60006020820190506136ea6000830184613247565b92915050565b60006020820190506137056000830184613238565b92915050565b600060a0820190506137206000830188613247565b61372d6020830187613247565b818103604083015261373f8186613256565b905081810360608301526137538185613256565b9050818103608083015261376781846132c3565b90509695505050505050565b600060a0820190506137886000830188613247565b6137956020830187613247565b6137a2604083018661369a565b6137af606083018561369a565b81810360808301526137c181846132c3565b90509695505050505050565b60006040820190506137e26000830185613247565b6137ef602083018461369a565b9392505050565b600060208201905081810360008301526138108184613256565b905092915050565b600060408201905081810360008301526138328185613256565b905081810360208301526138468184613256565b90509392505050565b600060208201905061386460008301846132b4565b92915050565b60006020820190508181036000830152613884818461332d565b905092915050565b600060208201905081810360008301526138a581613366565b9050919050565b600060208201905081810360008301526138c581613389565b9050919050565b600060208201905081810360008301526138e5816133ac565b9050919050565b60006020820190508181036000830152613905816133cf565b9050919050565b60006020820190508181036000830152613925816133f2565b9050919050565b6000602082019050818103600083015261394581613415565b9050919050565b6000602082019050818103600083015261396581613438565b9050919050565b600060208201905081810360008301526139858161345b565b9050919050565b600060208201905081810360008301526139a58161347e565b9050919050565b600060208201905081810360008301526139c5816134a1565b9050919050565b600060208201905081810360008301526139e5816134c4565b9050919050565b60006020820190508181036000830152613a05816134e7565b9050919050565b60006020820190508181036000830152613a258161350a565b9050919050565b60006020820190508181036000830152613a458161352d565b9050919050565b60006020820190508181036000830152613a6581613550565b9050919050565b60006020820190508181036000830152613a8581613596565b9050919050565b60006020820190508181036000830152613aa5816135b9565b9050919050565b60006020820190508181036000830152613ac5816135dc565b9050919050565b60006020820190508181036000830152613ae5816135ff565b9050919050565b60006020820190508181036000830152613b0581613622565b9050919050565b60006020820190508181036000830152613b2581613645565b9050919050565b60006020820190508181036000830152613b4581613668565b9050919050565b6000602082019050613b61600083018461369a565b92915050565b6000604082019050613b7c600083018561369a565b613b89602083018461369a565b9392505050565b6000613b9a613bab565b9050613ba68282613ec9565b919050565b6000604051905090565b600067ffffffffffffffff821115613bd057613bcf614001565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613bfc57613bfb614001565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613c2857613c27614001565b5b613c3182614052565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613cc582613e4b565b9150613cd083613e4b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d0557613d04613f74565b5b828201905092915050565b6000613d1b82613e4b565b9150613d2683613e4b565b925082613d3657613d35613fa3565b5b828204905092915050565b6000613d4c82613e4b565b9150613d5783613e4b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613d9057613d8f613f74565b5b828202905092915050565b6000613da682613e4b565b9150613db183613e4b565b925082821015613dc457613dc3613f74565b5b828203905092915050565b6000613dda82613e2b565b9050919050565b6000613dec82613e2b565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613e82578082015181840152602081019050613e67565b83811115613e91576000848401525b50505050565b60006002820490506001821680613eaf57607f821691505b60208210811415613ec357613ec2613fd2565b5b50919050565b613ed282614052565b810181811067ffffffffffffffff82111715613ef157613ef0614001565b5b80604052505050565b6000613f0582613e4b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613f3857613f37613f74565b5b600182019050919050565b6000613f4e82613e4b565b9150613f5983613e4b565b925082613f6957613f68613fa3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d111561404f5760046000803e61404c600051614063565b90505b90565b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b7f596f75206e65656420746f2073656e642074776963652074686520616d6f756e60008201527f74206f662070726576696f757320707269636500000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f4d61782062757973206d7573742062652061626f7665207a65726f20616e642060008201527f62656c6f7720746f74616c20737570706c790000000000000000000000000000602082015250565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b7f547279696e6720746f20627579206d6f7265207468616e20616c6c6f7765642060008201527f616d6f756e740000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c79207365727669636520616464726573732063616e2063616c6c20746860008201527f69732066756e6374696f6e2e0000000000000000000000000000000000000000602082015250565b7f5365727669636520616464726573732063616e2774206265207a65726f000000600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b600060443d10156146b557614738565b6146bd613bab565b60043d036004823e80513d602482011167ffffffffffffffff821117156146e5575050614738565b808201805167ffffffffffffffff8111156147035750505050614738565b80602083010160043d038501811115614720575050505050614738565b61472f82602001850186613ec9565b82955050505050505b90565b61474481613dcf565b811461474f57600080fd5b50565b61475b81613de1565b811461476657600080fd5b50565b61477281613df3565b811461477d57600080fd5b50565b61478981613dff565b811461479457600080fd5b50565b6147a081613e4b565b81146147ab57600080fd5b5056fea2646970667358221220eacf83284e09ff0b94d25fa6465cb147db459eecf6ae7ef9bc5ceb8e98add5e864736f6c63430008040033', 'head': None, 'length': 36810, 'tail': None, 'truncated': False}, 'verified_source': False}

thinking
**Analyzing potential contract vulnerabilities**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
edges=cap['edges']
# edges might be tuples? Let's inspect a few
print('edge sample', edges[:5])
# find edges that mention call:5347 etc
call_ids={'call:5347','call:5694','call:6695','call:9845','call:10332','call:11107'}
related=[e for e in edges if any(isinstance(x,str) and x in call_ids for x in e.values())]
print('related edges', related[:20])
PY" in /tmp/codex-46xpes5c succeeded in 44ms:
edge sample [{'from': 'bb:0', 'to': 'bb:442', 'type': 'control_flow'}, {'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}, {'from': 'bb:13', 'to': 'bb:236', 'type': 'control_flow'}, {'from': 'bb:13', 'to': 'bb:30', 'type': 'control_flow_fallthrough'}, {'from': 'bb:30', 'to': 'bb:138', 'type': 'control_flow'}]
related edges [{'from': 'bb:5344', 'to': 'call:5347', 'type': 'contains'}, {'from': 'call:5347', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:5691', 'to': 'call:5694', 'type': 'contains'}, {'from': 'call:5694', 'to': 'sink:staticcall', 'type': 'capability'}, {'from': 'bb:6682', 'to': 'call:6695', 'type': 'contains'}, {'from': 'call:6695', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:9842', 'to': 'call:9845', 'type': 'contains'}, {'from': 'call:9845', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:10329', 'to': 'call:10332', 'type': 'contains'}, {'from': 'call:10332', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:11094', 'to': 'call:11107', 'type': 'contains'}, {'from': 'call:11107', 'to': 'sink:call', 'type': 'capability'}]

thinking
**Inspecting function-to-basic-block edges**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
edges=cap['edges']
# map bb to function id if direct edges exist
bb_to_fn={}
for e in edges:
    if e.get('type') in ('contains','entry'):
        fr=e.get('from'); to=e.get('to')
        if isinstance(fr,str) and fr.startswith('fn:') and isinstance(to,str) and to.startswith('bb:'):
            bb_to_fn[to]=fr
# for each callsite bb
call_bbs=['bb:5344','bb:5691','bb:6682','bb:9842','bb:10329','bb:11094']
for bb in call_bbs:
    print(bb,'fn',bb_to_fn.get(bb))
# maybe there are edges function->bb for start blocks only. Let's try to find any function path to call bb using BFS.
from collections import deque, defaultdict
# build adjacency
adj=defaultdict(list)
for e in edges:
    adj[e['from']].append(e['to'])
# BFS from functions to call bb
call_bbs=set(call_bbs)
fn_nodes=[n['id'] for n in cap['nodes'] if n.get('type')=='function']
for fn in fn_nodes:
    # BFS limited depth
    q=deque([fn])
    seen=set([fn])
    found=False
    while q and not found:
        cur=q.popleft()
        for nxt in adj.get(cur,[]):
            if nxt in seen: continue
            seen.add(nxt)
            if nxt in call_bbs:
                print('fn',fn,'reaches',nxt)
                found=True
                break
            # limit BFS to avoid huge search? We'll break if size large
            if len(seen)>5000: break
            q.append(nxt)
    # if large break? continue
PY" in /tmp/codex-46xpes5c succeeded in 92ms:
bb:5344 fn None
bb:5691 fn None
bb:6682 fn None
bb:9842 fn None
bb:10329 fn None
bb:11094 fn None

thinking
**Inspecting graph edges from functions**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
edges=cap['edges']
# show some edges with from fn
fn_edges=[e for e in edges if isinstance(e.get('from'),str) and e['from'].startswith('fn:')]
print('fn_edges',len(fn_edges))
print(fn_edges[:10])
PY" in /tmp/codex-46xpes5c succeeded in 36ms:
fn_edges 19
[{'from': 'fn:0xeec12f97', 'to': 'bb:4005638039', 'type': 'entry'}, {'from': 'fn:0xeed007cd', 'to': 'bb:4064428842', 'type': 'entry'}, {'from': 'fn:0xf242432a', 'to': 'bb:4071260696', 'type': 'entry'}, {'from': 'fn:0xbd85b039', 'to': 'bb:3610081753', 'type': 'entry'}, {'from': 'fn:0xd72d79d9', 'to': 'bb:3917867461', 'type': 'entry'}, {'from': 'fn:0x89a89002', 'to': 'bb:2309525506', 'type': 'entry'}, {'from': 'fn:0x8d5b87b6', 'to': 'bb:2514000705', 'type': 'entry'}, {'from': 'fn:0x95d89b41', 'to': 'bb:2720838757', 'type': 'entry'}, {'from': 'fn:0x50c86de5', 'to': 'bb:1361819932', 'type': 'entry'}, {'from': 'fn:0x512bb91c', 'to': 'bb:2173179175', 'type': 'entry'}]

thinking
**Summarizing bytecode security findings**

I’m putting together a JSON summary reporting an ERC1155-like contract bytecode with detected SELFDESTRUCT opcode (medium severity, other category) and external CALLs with computed targets and values (low severity). The findings will cautiously mention uncertain validation around access control and return data checks, grounding exploit scenarios and recommendations in the limited evidence available.
codex
{"no_findings":false,"summary":"Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.","findings":[{"severity":"medium","category":"other","title":"Potentially reachable SELFDESTRUCT kill-switch","exploit_scenario":"If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain.","recommendation":"Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.","evidence":"Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.","locations":["pc:18351"]},{"severity":"low","category":"other","title":"CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out","exploit_scenario":"If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths.","recommendation":"Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.","evidence":"Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.","locations":["pc:5347","pc:6695","pc:9845","pc:10332","pc:11107"]}]}
tokens used
70,619
Metadata
{
    "codex": {
        "ran_at": "2026-01-13T02:17:54.159064+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 36810,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.",
    "raw_final": {
        "summary": "Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.",
        "findings": [
            {
                "title": "Potentially reachable SELFDESTRUCT kill-switch",
                "category": "other",
                "evidence": "Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.",
                "severity": "medium",
                "locations": [
                    "pc:18351"
                ],
                "recommendation": "Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.",
                "exploit_scenario": "If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain."
            },
            {
                "title": "CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out",
                "category": "other",
                "evidence": "Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.",
                "severity": "low",
                "locations": [
                    "pc:5347",
                    "pc:6695",
                    "pc:9845",
                    "pc:10332",
                    "pc:11107"
                ],
                "recommendation": "Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.",
                "exploit_scenario": "If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
6
EXT*/BALANCE
5
Total opcodes
9331
Flags
selfdestruct_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01ba
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x50c86de5
00000019: GT
0000001a: PUSH2 0x00ec
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xbd85b039
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xeec12f97
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xeec12f97
0000003a: EQ
0000003b: PUSH2 0x0630
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xeed007cd
00000045: EQ
00000046: PUSH2 0x064c
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf242432a
00000050: EQ
00000051: PUSH2 0x0675
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf2aa8218
0000005b: EQ
0000005c: PUSH2 0x069e
0000005f: JUMPI
00000060: PUSH2 0x01c1
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xbd85b039
0000006b: EQ
0000006c: PUSH2 0x058b
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xd72d79d9
00000076: EQ
00000077: PUSH2 0x05c8
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe985e9c5
00000081: EQ
00000082: PUSH2 0x05f3
00000085: JUMPI
00000086: PUSH2 0x01c1
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x89a89002
00000091: GT
00000092: PUSH2 0x00c6
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x89a89002
0000009c: EQ
0000009d: PUSH2 0x04e1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x8d5b87b6
000000a7: EQ
000000a8: PUSH2 0x050c
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x95d89b41
000000b2: EQ
000000b3: PUSH2 0x0537
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xa22cb465
000000bd: EQ
000000be: PUSH2 0x0562
000000c1: JUMPI
000000c2: PUSH2 0x01c1
000000c5: JUMP
000000c6: JUMPDEST
000000c7: DUP1
000000c8: PUSH4 0x50c86de5
000000cd: EQ
000000ce: PUSH2 0x0460
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x512bb91c
000000d8: EQ
000000d9: PUSH2 0x048b
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x81881527
000000e3: EQ
000000e4: PUSH2 0x04b6
000000e7: JUMPI
000000e8: PUSH2 0x01c1
000000eb: JUMP
000000ec: JUMPDEST
000000ed: DUP1
000000ee: PUSH4 0x2eb2c2d6
000000f3: GT
000000f4: PUSH2 0x0159
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x3a6521e8
000000fe: GT
000000ff: PUSH2 0x0133
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x3a6521e8
00000109: EQ
0000010a: PUSH2 0x0390
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x4dd8bd89
00000114: EQ
00000115: PUSH2 0x03bb
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x4e1273f4
0000011f: EQ
00000120: PUSH2 0x03e6
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x4f558e79
0000012a: EQ
0000012b: PUSH2 0x0423
0000012e: JUMPI
0000012f: PUSH2 0x01c1
00000132: JUMP
00000133: JUMPDEST
00000134: DUP1
00000135: PUSH4 0x2eb2c2d6
0000013a: EQ
0000013b: PUSH2 0x0315
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x32cec96d
00000145: EQ
00000146: PUSH2 0x033e
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0x3760911b
00000150: EQ
00000151: PUSH2 0x0367
00000154: JUMPI
00000155: PUSH2 0x01c1
00000158: JUMP
00000159: JUMPDEST
0000015a: DUP1
0000015b: PUSH4 0x06fdde03
00000160: GT
00000161: PUSH2 0x0195
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x06fdde03
0000016b: EQ
0000016c: PUSH2 0x026b
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x08fdf78b
00000176: EQ
00000177: PUSH2 0x0296
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x0e89341c
00000181: EQ
00000182: PUSH2 0x02ad
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x13d36c5c
0000018c: EQ
0000018d: PUSH2 0x02ea
00000190: JUMPI
00000191: PUSH2 0x01c1
00000194: JUMP
00000195: JUMPDEST
00000196: DUP1
00000197: PUSH3 0xfdd58e
0000019b: EQ
0000019c: PUSH2 0x01c6
0000019f: JUMPI
000001a0: DUP1
000001a1: PUSH4 0x01ffc9a7
000001a6: EQ
000001a7: PUSH2 0x0203
000001aa: JUMPI
000001ab: DUP1
000001ac: PUSH4 0x053f14da
000001b1: EQ
000001b2: PUSH2 0x0240
000001b5: JUMPI
000001b6: PUSH2 0x01c1
000001b9: JUMP
000001ba: JUMPDEST
000001bb: CALLDATASIZE
000001bc: PUSH2 0x01c1
000001bf: JUMPI
000001c0: STOP
000001c1: JUMPDEST
000001c2: PUSH1 0x00
000001c4: DUP1
000001c5: REVERT
000001c6: JUMPDEST
000001c7: CALLVALUE
000001c8: DUP1
000001c9: ISZERO
000001ca: PUSH2 0x01d2
000001cd: JUMPI
000001ce: PUSH1 0x00
000001d0: DUP1
000001d1: REVERT
000001d2: JUMPDEST
000001d3: POP
000001d4: PUSH2 0x01ed
000001d7: PUSH1 0x04
000001d9: DUP1
000001da: CALLDATASIZE
000001db: SUB
000001dc: DUP2
000001dd: ADD
000001de: SWAP1
000001df: PUSH2 0x01e8
000001e2: SWAP2
000001e3: SWAP1
000001e4: PUSH2 0x30ab
000001e7: JUMP
000001e8: JUMPDEST
000001e9: PUSH2 0x06db
000001ec: JUMP
000001ed: JUMPDEST
000001ee: PUSH1 0x40
000001f0: MLOAD
000001f1: PUSH2 0x01fa
000001f4: SWAP2
000001f5: SWAP1
000001f6: PUSH2 0x3b4c
000001f9: JUMP
000001fa: JUMPDEST
000001fb: PUSH1 0x40
000001fd: MLOAD
000001fe: DUP1
000001ff: SWAP2
00000200: SUB
00000201: SWAP1
00000202: RETURN
00000203: JUMPDEST
00000204: CALLVALUE
00000205: DUP1
00000206: ISZERO
00000207: PUSH2 0x020f
0000020a: JUMPI
0000020b: PUSH1 0x00
0000020d: DUP1
0000020e: REVERT
0000020f: JUMPDEST
00000210: POP
00000211: PUSH2 0x022a
00000214: PUSH1 0x04
00000216: DUP1
00000217: CALLDATASIZE
00000218: SUB
00000219: DUP2
0000021a: ADD
0000021b: SWAP1
0000021c: PUSH2 0x0225
0000021f: SWAP2
00000220: SWAP1
00000221: PUSH2 0x317c
00000224: JUMP
00000225: JUMPDEST
00000226: PUSH2 0x07a4
00000229: JUMP
0000022a: JUMPDEST
0000022b: PUSH1 0x40
0000022d: MLOAD
0000022e: PUSH2 0x0237
00000231: SWAP2
00000232: SWAP1
00000233: PUSH2 0x384f
00000236: JUMP
00000237: JUMPDEST
00000238: PUSH1 0x40
0000023a: MLOAD
0000023b: DUP1
0000023c: SWAP2
0000023d: SUB
0000023e: SWAP1
0000023f: RETURN
00000240: JUMPDEST
00000241: CALLVALUE
00000242: DUP1
00000243: ISZERO
00000244: PUSH2 0x024c
00000247: JUMPI
00000248: PUSH1 0x00
0000024a: DUP1
0000024b: REVERT
0000024c: JUMPDEST
0000024d: POP
0000024e: PUSH2 0x0255
00000251: PUSH2 0x0886
00000254: JUMP
00000255: JUMPDEST
00000256: PUSH1 0x40
00000258: MLOAD
00000259: PUSH2 0x0262
0000025c: SWAP2
0000025d: SWAP1
0000025e: PUSH2 0x3b4c
00000261: JUMP
00000262: JUMPDEST
00000263: PUSH1 0x40
00000265: MLOAD
00000266: DUP1
00000267: SWAP2
00000268: SUB
00000269: SWAP1
0000026a: RETURN
0000026b: JUMPDEST
0000026c: CALLVALUE
0000026d: DUP1
0000026e: ISZERO
0000026f: PUSH2 0x0277
00000272: JUMPI
00000273: PUSH1 0x00
00000275: DUP1
00000276: REVERT
00000277: JUMPDEST
00000278: POP
00000279: PUSH2 0x0280
0000027c: PUSH2 0x088c
0000027f: JUMP
00000280: JUMPDEST
00000281: PUSH1 0x40
00000283: MLOAD
00000284: PUSH2 0x028d
00000287: SWAP2
00000288: SWAP1
00000289: PUSH2 0x386a
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH1 0x40
00000290: MLOAD
00000291: DUP1
00000292: SWAP2
00000293: SUB
00000294: SWAP1
00000295: RETURN
00000296: JUMPDEST
00000297: CALLVALUE
00000298: DUP1
00000299: ISZERO
0000029a: PUSH2 0x02a2
0000029d: JUMPI
0000029e: PUSH1 0x00
000002a0: DUP1
000002a1: REVERT
000002a2: JUMPDEST
000002a3: POP
000002a4: PUSH2 0x02ab
000002a7: PUSH2 0x091a
000002aa: JUMP
000002ab: JUMPDEST
000002ac: STOP
000002ad: JUMPDEST
000002ae: CALLVALUE
000002af: DUP1
000002b0: ISZERO
000002b1: PUSH2 0x02b9
000002b4: JUMPI
000002b5: PUSH1 0x00
000002b7: DUP1
000002b8: REVERT
000002b9: JUMPDEST
000002ba: POP
000002bb: PUSH2 0x02d4
000002be: PUSH1 0x04
000002c0: DUP1
000002c1: CALLDATASIZE
000002c2: SUB
000002c3: DUP2
000002c4: ADD
000002c5: SWAP1
000002c6: PUSH2 0x02cf
000002c9: SWAP2
000002ca: SWAP1
000002cb: PUSH2 0x31ce
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH2 0x0a04
000002d3: JUMP
000002d4: JUMPDEST
000002d5: PUSH1 0x40
000002d7: MLOAD
000002d8: PUSH2 0x02e1
000002db: SWAP2
000002dc: SWAP1
000002dd: PUSH2 0x386a
000002e0: JUMP
000002e1: JUMPDEST
000002e2: PUSH1 0x40
000002e4: MLOAD
000002e5: DUP1
000002e6: SWAP2
000002e7: SUB
000002e8: SWAP1
000002e9: RETURN
000002ea: JUMPDEST
000002eb: CALLVALUE
000002ec: DUP1
000002ed: ISZERO
000002ee: PUSH2 0x02f6
000002f1: JUMPI
000002f2: PUSH1 0x00
000002f4: DUP1
000002f5: REVERT
000002f6: JUMPDEST
000002f7: POP
000002f8: PUSH2 0x02ff
000002fb: PUSH2 0x0a98
000002fe: JUMP
000002ff: JUMPDEST
00000300: PUSH1 0x40
00000302: MLOAD
00000303: PUSH2 0x030c
00000306: SWAP2
00000307: SWAP1
00000308: PUSH2 0x3b4c
0000030b: JUMP
0000030c: JUMPDEST
0000030d: PUSH1 0x40
0000030f: MLOAD
00000310: DUP1
00000311: SWAP2
00000312: SUB
00000313: SWAP1
00000314: RETURN
00000315: JUMPDEST
00000316: CALLVALUE
00000317: DUP1
00000318: ISZERO
00000319: PUSH2 0x0321
0000031c: JUMPI
0000031d: PUSH1 0x00
0000031f: DUP1
00000320: REVERT
00000321: JUMPDEST
00000322: POP
00000323: PUSH2 0x033c
00000326: PUSH1 0x04
00000328: DUP1
00000329: CALLDATASIZE
0000032a: SUB
0000032b: DUP2
0000032c: ADD
0000032d: SWAP1
0000032e: PUSH2 0x0337
00000331: SWAP2
00000332: SWAP1
00000333: PUSH2 0x2f21
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x0a9f
0000033b: JUMP
0000033c: JUMPDEST
0000033d: STOP
0000033e: JUMPDEST
0000033f: CALLVALUE
00000340: DUP1
00000341: ISZERO
00000342: PUSH2 0x034a
00000345: JUMPI
00000346: PUSH1 0x00
00000348: DUP1
00000349: REVERT
0000034a: JUMPDEST
0000034b: POP
0000034c: PUSH2 0x0365
0000034f: PUSH1 0x04
00000351: DUP1
00000352: CALLDATASIZE
00000353: SUB
00000354: DUP2
00000355: ADD
00000356: SWAP1
00000357: PUSH2 0x0360
0000035a: SWAP2
0000035b: SWAP1
0000035c: PUSH2 0x31ce
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x0b40
00000364: JUMP
00000365: JUMPDEST
00000366: STOP
00000367: JUMPDEST
00000368: CALLVALUE
00000369: DUP1
0000036a: ISZERO
0000036b: PUSH2 0x0373
0000036e: JUMPI
0000036f: PUSH1 0x00
00000371: DUP1
00000372: REVERT
00000373: JUMPDEST
00000374: POP
00000375: PUSH2 0x038e
00000378: PUSH1 0x04
0000037a: DUP1
0000037b: CALLDATASIZE
0000037c: SUB
0000037d: DUP2
0000037e: ADD
0000037f: SWAP1
00000380: PUSH2 0x0389
00000383: SWAP2
00000384: SWAP1
00000385: PUSH2 0x2e80
00000388: JUMP
00000389: JUMPDEST
0000038a: PUSH2 0x0c33
0000038d: JUMP
0000038e: JUMPDEST
0000038f: STOP
00000390: JUMPDEST
00000391: CALLVALUE
00000392: DUP1
00000393: ISZERO
00000394: PUSH2 0x039c
00000397: JUMPI
00000398: PUSH1 0x00
0000039a: DUP1
0000039b: REVERT
0000039c: JUMPDEST
0000039d: POP
0000039e: PUSH2 0x03a5
000003a1: PUSH2 0x0d77
000003a4: JUMP
000003a5: JUMPDEST
000003a6: PUSH1 0x40
000003a8: MLOAD
000003a9: PUSH2 0x03b2
000003ac: SWAP2
000003ad: SWAP1
000003ae: PUSH2 0x3b4c
000003b1: JUMP
000003b2: JUMPDEST
000003b3: PUSH1 0x40
000003b5: MLOAD
000003b6: DUP1
000003b7: SWAP2
000003b8: SUB
000003b9: SWAP1
000003ba: RETURN
000003bb: JUMPDEST
000003bc: CALLVALUE
000003bd: DUP1
000003be: ISZERO
000003bf: PUSH2 0x03c7
000003c2: JUMPI
000003c3: PUSH1 0x00
000003c5: DUP1
000003c6: REVERT
000003c7: JUMPDEST
000003c8: POP
000003c9: PUSH2 0x03d0
000003cc: PUSH2 0x0d7c
000003cf: JUMP
000003d0: JUMPDEST
000003d1: PUSH1 0x40
000003d3: MLOAD
000003d4: PUSH2 0x03dd
000003d7: SWAP2
000003d8: SWAP1
000003d9: PUSH2 0x3b4c
000003dc: JUMP
000003dd: JUMPDEST
000003de: PUSH1 0x40
000003e0: MLOAD
000003e1: DUP1
000003e2: SWAP2
000003e3: SUB
000003e4: SWAP1
000003e5: RETURN
000003e6: JUMPDEST
000003e7: CALLVALUE
000003e8: DUP1
000003e9: ISZERO
000003ea: PUSH2 0x03f2
000003ed: JUMPI
000003ee: PUSH1 0x00
000003f0: DUP1
000003f1: REVERT
000003f2: JUMPDEST
000003f3: POP
000003f4: PUSH2 0x040d
000003f7: PUSH1 0x04
000003f9: DUP1
000003fa: CALLDATASIZE
000003fb: SUB
000003fc: DUP2
000003fd: ADD
000003fe: SWAP1
000003ff: PUSH2 0x0408
00000402: SWAP2
00000403: SWAP1
00000404: PUSH2 0x30e7
00000407: JUMP
00000408: JUMPDEST
00000409: PUSH2 0x0d83
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH1 0x40
00000410: MLOAD
00000411: PUSH2 0x041a
00000414: SWAP2
00000415: SWAP1
00000416: PUSH2 0x37f6
00000419: JUMP
0000041a: JUMPDEST
0000041b: PUSH1 0x40
0000041d: MLOAD
0000041e: DUP1
0000041f: SWAP2
00000420: SUB
00000421: SWAP1
00000422: RETURN
00000423: JUMPDEST
00000424: CALLVALUE
00000425: DUP1
00000426: ISZERO
00000427: PUSH2 0x042f
0000042a: JUMPI
0000042b: PUSH1 0x00
0000042d: DUP1
0000042e: REVERT
0000042f: JUMPDEST
00000430: POP
00000431: PUSH2 0x044a
00000434: PUSH1 0x04
00000436: DUP1
00000437: CALLDATASIZE
00000438: SUB
00000439: DUP2
0000043a: ADD
0000043b: SWAP1
0000043c: PUSH2 0x0445
0000043f: SWAP2
00000440: SWAP1
00000441: PUSH2 0x31ce
00000444: JUMP
00000445: JUMPDEST
00000446: PUSH2 0x0f34
00000449: JUMP
0000044a: JUMPDEST
0000044b: PUSH1 0x40
0000044d: MLOAD
0000044e: PUSH2 0x0457
00000451: SWAP2
00000452: SWAP1
00000453: PUSH2 0x384f
00000456: JUMP
00000457: JUMPDEST
00000458: PUSH1 0x40
0000045a: MLOAD
0000045b: DUP1
0000045c: SWAP2
0000045d: SUB
0000045e: SWAP1
0000045f: RETURN
00000460: JUMPDEST
00000461: CALLVALUE
00000462: DUP1
00000463: ISZERO
00000464: PUSH2 0x046c
00000467: JUMPI
00000468: PUSH1 0x00
0000046a: DUP1
0000046b: REVERT
0000046c: JUMPDEST
0000046d: POP
0000046e: PUSH2 0x0475
00000471: PUSH2 0x0f48
00000474: JUMP
00000475: JUMPDEST
00000476: PUSH1 0x40
00000478: MLOAD
00000479: PUSH2 0x0482
0000047c: SWAP2
0000047d: SWAP1
0000047e: PUSH2 0x3b4c
00000481: JUMP
00000482: JUMPDEST
00000483: PUSH1 0x40
00000485: MLOAD
00000486: DUP1
00000487: SWAP2
00000488: SUB
00000489: SWAP1
0000048a: RETURN
0000048b: JUMPDEST
0000048c: CALLVALUE
0000048d: DUP1
0000048e: ISZERO
0000048f: PUSH2 0x0497
00000492: JUMPI
00000493: PUSH1 0x00
00000495: DUP1
00000496: REVERT
00000497: JUMPDEST
00000498: POP
00000499: PUSH2 0x04a0
0000049c: PUSH2 0x0f4d
0000049f: JUMP
000004a0: JUMPDEST
000004a1: PUSH1 0x40
000004a3: MLOAD
000004a4: PUSH2 0x04ad
000004a7: SWAP2
000004a8: SWAP1
000004a9: PUSH2 0x36d5
000004ac: JUMP
000004ad: JUMPDEST
000004ae: PUSH1 0x40
000004b0: MLOAD
000004b1: DUP1
000004b2: SWAP2
000004b3: SUB
000004b4: SWAP1
000004b5: RETURN
000004b6: JUMPDEST
000004b7: CALLVALUE
000004b8: DUP1
000004b9: ISZERO
000004ba: PUSH2 0x04c2
000004bd: JUMPI
000004be: PUSH1 0x00
000004c0: DUP1
000004c1: REVERT
000004c2: JUMPDEST
000004c3: POP
000004c4: PUSH2 0x04cb
000004c7: PUSH2 0x0f73
000004ca: JUMP
000004cb: JUMPDEST
000004cc: PUSH1 0x40
000004ce: MLOAD
000004cf: PUSH2 0x04d8
000004d2: SWAP2
000004d3: SWAP1
000004d4: PUSH2 0x3b4c
000004d7: JUMP
000004d8: JUMPDEST
000004d9: PUSH1 0x40
000004db: MLOAD
000004dc: DUP1
000004dd: SWAP2
000004de: SUB
000004df: SWAP1
000004e0: RETURN
000004e1: JUMPDEST
000004e2: CALLVALUE
000004e3: DUP1
000004e4: ISZERO
000004e5: PUSH2 0x04ed
000004e8: JUMPI
000004e9: PUSH1 0x00
000004eb: DUP1
000004ec: REVERT
000004ed: JUMPDEST
000004ee: POP
000004ef: PUSH2 0x04f6
000004f2: PUSH2 0x0f78
000004f5: JUMP
000004f6: JUMPDEST
000004f7: PUSH1 0x40
000004f9: MLOAD
000004fa: PUSH2 0x0503
000004fd: SWAP2
000004fe: SWAP1
000004ff: PUSH2 0x3b4c
00000502: JUMP
00000503: JUMPDEST
00000504: PUSH1 0x40
00000506: MLOAD
00000507: DUP1
00000508: SWAP2
00000509: SUB
0000050a: SWAP1
0000050b: RETURN
0000050c: JUMPDEST
0000050d: CALLVALUE
0000050e: DUP1
0000050f: ISZERO
00000510: PUSH2 0x0518
00000513: JUMPI
00000514: PUSH1 0x00
00000516: DUP1
00000517: REVERT
00000518: JUMPDEST
00000519: POP
0000051a: PUSH2 0x0521
0000051d: PUSH2 0x0f7d
00000520: JUMP
00000521: JUMPDEST
00000522: PUSH1 0x40
00000524: MLOAD
00000525: PUSH2 0x052e
00000528: SWAP2
00000529: SWAP1
0000052a: PUSH2 0x36f0
0000052d: JUMP
0000052e: JUMPDEST
0000052f: PUSH1 0x40
00000531: MLOAD
00000532: DUP1
00000533: SWAP2
00000534: SUB
00000535: SWAP1
00000536: RETURN
00000537: JUMPDEST
00000538: CALLVALUE
00000539: DUP1
0000053a: ISZERO
0000053b: PUSH2 0x0543
0000053e: JUMPI
0000053f: PUSH1 0x00
00000541: DUP1
00000542: REVERT
00000543: JUMPDEST
00000544: POP
00000545: PUSH2 0x054c
00000548: PUSH2 0x0fa3
0000054b: JUMP
0000054c: JUMPDEST
0000054d: PUSH1 0x40
0000054f: MLOAD
00000550: PUSH2 0x0559
00000553: SWAP2
00000554: SWAP1
00000555: PUSH2 0x386a
00000558: JUMP
00000559: JUMPDEST
0000055a: PUSH1 0x40
0000055c: MLOAD
0000055d: DUP1
0000055e: SWAP2
0000055f: SUB
00000560: SWAP1
00000561: RETURN
00000562: JUMPDEST
00000563: CALLVALUE
00000564: DUP1
00000565: ISZERO
00000566: PUSH2 0x056e
00000569: JUMPI
0000056a: PUSH1 0x00
0000056c: DUP1
0000056d: REVERT
0000056e: JUMPDEST
0000056f: POP
00000570: PUSH2 0x0589
00000573: PUSH1 0x04
00000575: DUP1
00000576: CALLDATASIZE
00000577: SUB
00000578: DUP2
00000579: ADD
0000057a: SWAP1
0000057b: PUSH2 0x0584
0000057e: SWAP2
0000057f: SWAP1
00000580: PUSH2 0x306f
00000583: JUMP
00000584: JUMPDEST
00000585: PUSH2 0x1031
00000588: JUMP
00000589: JUMPDEST
0000058a: STOP
0000058b: JUMPDEST
0000058c: CALLVALUE
0000058d: DUP1
0000058e: ISZERO
0000058f: PUSH2 0x0597
00000592: JUMPI
00000593: PUSH1 0x00
00000595: DUP1
00000596: REVERT
00000597: JUMPDEST
00000598: POP
00000599: PUSH2 0x05b2
0000059c: PUSH1 0x04
0000059e: DUP1
0000059f: CALLDATASIZE
000005a0: SUB
000005a1: DUP2
000005a2: ADD
000005a3: SWAP1
000005a4: PUSH2 0x05ad
000005a7: SWAP2
000005a8: SWAP1
000005a9: PUSH2 0x31ce
000005ac: JUMP
000005ad: JUMPDEST
000005ae: PUSH2 0x11b2
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH1 0x40
000005b5: MLOAD
000005b6: PUSH2 0x05bf
000005b9: SWAP2
000005ba: SWAP1
000005bb: PUSH2 0x3b4c
000005be: JUMP
000005bf: JUMPDEST
000005c0: PUSH1 0x40
000005c2: MLOAD
000005c3: DUP1
000005c4: SWAP2
000005c5: SUB
000005c6: SWAP1
000005c7: RETURN
000005c8: JUMPDEST
000005c9: CALLVALUE
000005ca: DUP1
000005cb: ISZERO
000005cc: PUSH2 0x05d4
000005cf: JUMPI
000005d0: PUSH1 0x00
000005d2: DUP1
000005d3: REVERT
000005d4: JUMPDEST
000005d5: POP
000005d6: PUSH2 0x05dd
000005d9: PUSH2 0x11cf
000005dc: JUMP
000005dd: JUMPDEST
000005de: PUSH1 0x40
000005e0: MLOAD
000005e1: PUSH2 0x05ea
000005e4: SWAP2
000005e5: SWAP1
000005e6: PUSH2 0x3b4c
000005e9: JUMP
000005ea: JUMPDEST
000005eb: PUSH1 0x40
000005ed: MLOAD
000005ee: DUP1
000005ef: SWAP2
000005f0: SUB
000005f1: SWAP1
000005f2: RETURN
000005f3: JUMPDEST
000005f4: CALLVALUE
000005f5: DUP1
000005f6: ISZERO
000005f7: PUSH2 0x05ff
000005fa: JUMPI
000005fb: PUSH1 0x00
000005fd: DUP1
000005fe: REVERT
000005ff: JUMPDEST
00000600: POP
00000601: PUSH2 0x061a
00000604: PUSH1 0x04
00000606: DUP1
00000607: CALLDATASIZE
00000608: SUB
00000609: DUP2
0000060a: ADD
0000060b: SWAP1
0000060c: PUSH2 0x0615
0000060f: SWAP2
00000610: SWAP1
00000611: PUSH2 0x2ee5
00000614: JUMP
00000615: JUMPDEST
00000616: PUSH2 0x11d6
00000619: JUMP
0000061a: JUMPDEST
0000061b: PUSH1 0x40
0000061d: MLOAD
0000061e: PUSH2 0x0627
00000621: SWAP2
00000622: SWAP1
00000623: PUSH2 0x384f
00000626: JUMP
00000627: JUMPDEST
00000628: PUSH1 0x40
0000062a: MLOAD
0000062b: DUP1
0000062c: SWAP2
0000062d: SUB
0000062e: SWAP1
0000062f: RETURN
00000630: JUMPDEST
00000631: PUSH2 0x064a
00000634: PUSH1 0x04
00000636: DUP1
00000637: CALLDATASIZE
00000638: SUB
00000639: DUP2
0000063a: ADD
0000063b: SWAP1
0000063c: PUSH2 0x0645
0000063f: SWAP2
00000640: SWAP1
00000641: PUSH2 0x2ea9
00000644: JUMP
00000645: JUMPDEST
00000646: PUSH2 0x11e2
00000649: JUMP
0000064a: JUMPDEST
0000064b: STOP
0000064c: JUMPDEST
0000064d: CALLVALUE
0000064e: DUP1
0000064f: ISZERO
00000650: PUSH2 0x0658
00000653: JUMPI
00000654: PUSH1 0x00
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: POP
0000065a: PUSH2 0x0673
0000065d: PUSH1 0x04
0000065f: DUP1
00000660: CALLDATASIZE
00000661: SUB
00000662: DUP2
00000663: ADD
00000664: SWAP1
00000665: PUSH2 0x066e
00000668: SWAP2
00000669: SWAP1
0000066a: PUSH2 0x2e57
0000066d: JUMP
0000066e: JUMPDEST
0000066f: PUSH2 0x1558
00000672: JUMP
00000673: JUMPDEST
00000674: STOP
00000675: JUMPDEST
00000676: CALLVALUE
00000677: DUP1
00000678: ISZERO
00000679: PUSH2 0x0681
0000067c: JUMPI
0000067d: PUSH1 0x00
0000067f: DUP1
00000680: REVERT
00000681: JUMPDEST
00000682: POP
00000683: PUSH2 0x069c
00000686: PUSH1 0x04
00000688: DUP1
00000689: CALLDATASIZE
0000068a: SUB
0000068b: DUP2
0000068c: ADD
0000068d: SWAP1
0000068e: PUSH2 0x0697
00000691: SWAP2
00000692: SWAP1
00000693: PUSH2 0x2fe0
00000696: JUMP
00000697: JUMPDEST
00000698: PUSH2 0x16c6
0000069b: JUMP
0000069c: JUMPDEST
0000069d: STOP
0000069e: JUMPDEST
0000069f: CALLVALUE
000006a0: DUP1
000006a1: ISZERO
000006a2: PUSH2 0x06aa
000006a5: JUMPI
000006a6: PUSH1 0x00
000006a8: DUP1
000006a9: REVERT
000006aa: JUMPDEST
000006ab: POP
000006ac: PUSH2 0x06c5
000006af: PUSH1 0x04
000006b1: DUP1
000006b2: CALLDATASIZE
000006b3: SUB
000006b4: DUP2
000006b5: ADD
000006b6: SWAP1
000006b7: PUSH2 0x06c0
000006ba: SWAP2
000006bb: SWAP1
000006bc: PUSH2 0x31ce
000006bf: JUMP
000006c0: JUMPDEST
000006c1: PUSH2 0x1767
000006c4: JUMP
000006c5: JUMPDEST
000006c6: PUSH1 0x40
000006c8: MLOAD
000006c9: PUSH2 0x06d2
000006cc: SWAP2
000006cd: SWAP1
000006ce: PUSH2 0x36f0
000006d1: JUMP
000006d2: JUMPDEST
000006d3: PUSH1 0x40
000006d5: MLOAD
000006d6: DUP1
000006d7: SWAP2
000006d8: SUB
000006d9: SWAP1
000006da: RETURN
000006db: JUMPDEST
000006dc: PUSH1 0x00
000006de: DUP1
000006df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f4: AND
000006f5: DUP4
000006f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070b: AND
0000070c: EQ
0000070d: ISZERO
0000070e: PUSH2 0x074c
00000711: JUMPI
00000712: PUSH1 0x40
00000714: MLOAD
00000715: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000736: DUP2
00000737: MSTORE
00000738: PUSH1 0x04
0000073a: ADD
0000073b: PUSH2 0x0743
0000073e: SWAP1
0000073f: PUSH2 0x38cc
00000742: JUMP
00000743: JUMPDEST
00000744: PUSH1 0x40
00000746: MLOAD
00000747: DUP1
00000748: SWAP2
00000749: SUB
0000074a: SWAP1
0000074b: REVERT
0000074c: JUMPDEST
0000074d: PUSH1 0x00
0000074f: DUP1
00000750: DUP4
00000751: DUP2
00000752: MSTORE
00000753: PUSH1 0x20
00000755: ADD
00000756: SWAP1
00000757: DUP2
00000758: MSTORE
00000759: PUSH1 0x20
0000075b: ADD
0000075c: PUSH1 0x00
0000075e: KECCAK256
0000075f: PUSH1 0x00
00000761: DUP5
00000762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000777: AND
00000778: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000078d: AND
0000078e: DUP2
0000078f: MSTORE
00000790: PUSH1 0x20
00000792: ADD
00000793: SWAP1
00000794: DUP2
00000795: MSTORE
00000796: PUSH1 0x20
00000798: ADD
00000799: PUSH1 0x00
0000079b: KECCAK256
0000079c: SLOAD
0000079d: SWAP1
0000079e: POP
0000079f: SWAP3
000007a0: SWAP2
000007a1: POP
000007a2: POP
000007a3: JUMP
000007a4: JUMPDEST
000007a5: PUSH1 0x00
000007a7: PUSH32 0xd9b67a2600000000000000000000000000000000000000000000000000000000
000007c8: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000007e5: NOT
000007e6: AND
000007e7: DUP3
000007e8: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000805: NOT
00000806: AND
00000807: EQ
00000808: DUP1
00000809: PUSH2 0x086f
0000080c: JUMPI
0000080d: POP
0000080e: PUSH32 0x0e89341c00000000000000000000000000000000000000000000000000000000
0000082f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000084c: NOT
0000084d: AND
0000084e: DUP3
0000084f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000086c: NOT
0000086d: AND
0000086e: EQ
0000086f: JUMPDEST
00000870: DUP1
00000871: PUSH2 0x087f
00000874: JUMPI
00000875: POP
00000876: PUSH2 0x087e
00000879: DUP3
0000087a: PUSH2 0x1947
0000087d: JUMP
0000087e: JUMPDEST
0000087f: JUMPDEST
00000880: SWAP1
00000881: POP
00000882: SWAP2
00000883: SWAP1
00000884: POP
00000885: JUMP
00000886: JUMPDEST
00000887: PUSH1 0x07
00000889: SLOAD
0000088a: DUP2
0000088b: JUMP
0000088c: JUMPDEST
0000088d: PUSH1 0x05
0000088f: DUP1
00000890: SLOAD
00000891: PUSH2 0x0899
00000894: SWAP1
00000895: PUSH2 0x3e97
00000898: JUMP
00000899: JUMPDEST
0000089a: DUP1
0000089b: PUSH1 0x1f
0000089d: ADD
0000089e: PUSH1 0x20
000008a0: DUP1
000008a1: SWAP2
000008a2: DIV
000008a3: MUL
000008a4: PUSH1 0x20
000008a6: ADD
000008a7: PUSH1 0x40
000008a9: MLOAD
000008aa: SWAP1
000008ab: DUP2
000008ac: ADD
000008ad: PUSH1 0x40
000008af: MSTORE
000008b0: DUP1
000008b1: SWAP3
000008b2: SWAP2
000008b3: SWAP1
000008b4: DUP2
000008b5: DUP2
000008b6: MSTORE
000008b7: PUSH1 0x20
000008b9: ADD
000008ba: DUP3
000008bb: DUP1
000008bc: SLOAD
000008bd: PUSH2 0x08c5
000008c0: SWAP1
000008c1: PUSH2 0x3e97
000008c4: JUMP
000008c5: JUMPDEST
000008c6: DUP1
000008c7: ISZERO
000008c8: PUSH2 0x0912
000008cb: JUMPI
000008cc: DUP1
000008cd: PUSH1 0x1f
000008cf: LT
000008d0: PUSH2 0x08e7
000008d3: JUMPI
000008d4: PUSH2 0x0100
000008d7: DUP1
000008d8: DUP4
000008d9: SLOAD
000008da: DIV
000008db: MUL
000008dc: DUP4
000008dd: MSTORE
000008de: SWAP2
000008df: PUSH1 0x20
000008e1: ADD
000008e2: SWAP2
000008e3: PUSH2 0x0912
000008e6: JUMP
000008e7: JUMPDEST
000008e8: DUP3
000008e9: ADD
000008ea: SWAP2
000008eb: SWAP1
000008ec: PUSH1 0x00
000008ee: MSTORE
000008ef: PUSH1 0x20
000008f1: PUSH1 0x00
000008f3: KECCAK256
000008f4: SWAP1
000008f5: JUMPDEST
000008f6: DUP2
000008f7: SLOAD
000008f8: DUP2
000008f9: MSTORE
000008fa: SWAP1
000008fb: PUSH1 0x01
000008fd: ADD
000008fe: SWAP1
000008ff: PUSH1 0x20
00000901: ADD
00000902: DUP1
00000903: DUP4
00000904: GT
00000905: PUSH2 0x08f5
00000908: JUMPI
00000909: DUP3
0000090a: SWAP1
0000090b: SUB
0000090c: PUSH1 0x1f
0000090e: AND
0000090f: DUP3
00000910: ADD
00000911: SWAP2
00000912: JUMPDEST
00000913: POP
00000914: POP
00000915: POP
00000916: POP
00000917: POP
00000918: DUP2
00000919: JUMP
0000091a: JUMPDEST
0000091b: PUSH1 0x08
0000091d: PUSH1 0x00
0000091f: SWAP1
00000920: SLOAD
00000921: SWAP1
00000922: PUSH2 0x0100
00000925: EXP
00000926: SWAP1
00000927: DIV
00000928: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000093d: AND
0000093e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000953: AND
00000954: CALLER
00000955: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000096a: AND
0000096b: EQ
0000096c: PUSH2 0x09aa
0000096f: JUMPI
00000970: PUSH1 0x40
00000972: MLOAD
00000973: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000994: DUP2
00000995: MSTORE
00000996: PUSH1 0x04
00000998: ADD
00000999: PUSH2 0x09a1
0000099c: SWAP1
0000099d: PUSH2 0x3a2c
000009a0: JUMP
000009a1: JUMPDEST
000009a2: PUSH1 0x40
000009a4: MLOAD
000009a5: DUP1
000009a6: SWAP2
000009a7: SUB
000009a8: SWAP1
000009a9: REVERT
000009aa: JUMPDEST
000009ab: PUSH1 0x00
000009ad: SELFBALANCE
000009ae: SWAP1
000009af: POP
000009b0: PUSH1 0x00
000009b2: PUSH2 0x03f3
000009b5: SLOAD
000009b6: DUP3
000009b7: PUSH2 0x09c0
000009ba: SWAP2
000009bb: SWAP1
000009bc: PUSH2 0x3d9b
000009bf: JUMP
000009c0: JUMPDEST
000009c1: GT
000009c2: ISZERO
000009c3: PUSH2 0x0a01
000009c6: JUMPI
000009c7: PUSH2 0x0a00
000009ca: PUSH1 0x08
000009cc: PUSH1 0x00
000009ce: SWAP1
000009cf: SLOAD
000009d0: SWAP1
000009d1: PUSH2 0x0100
000009d4: EXP
000009d5: SWAP1
000009d6: DIV
000009d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ec: AND
000009ed: PUSH2 0x03f3
000009f0: SLOAD
000009f1: DUP4
000009f2: PUSH2 0x09fb
000009f5: SWAP2
000009f6: SWAP1
000009f7: PUSH2 0x3d9b
000009fa: JUMP
000009fb: JUMPDEST
000009fc: PUSH2 0x19b1
000009ff: JUMP
00000a00: JUMPDEST
00000a01: JUMPDEST
00000a02: POP
00000a03: JUMP
00000a04: JUMPDEST
00000a05: PUSH1 0x60
00000a07: PUSH1 0x02
00000a09: DUP1
00000a0a: SLOAD
00000a0b: PUSH2 0x0a13
00000a0e: SWAP1
00000a0f: PUSH2 0x3e97
00000a12: JUMP
00000a13: JUMPDEST
00000a14: DUP1
00000a15: PUSH1 0x1f
00000a17: ADD
00000a18: PUSH1 0x20
00000a1a: DUP1
00000a1b: SWAP2
00000a1c: DIV
00000a1d: MUL
00000a1e: PUSH1 0x20
00000a20: ADD
00000a21: PUSH1 0x40
00000a23: MLOAD
00000a24: SWAP1
00000a25: DUP2
00000a26: ADD
00000a27: PUSH1 0x40
00000a29: MSTORE
00000a2a: DUP1
00000a2b: SWAP3
00000a2c: SWAP2
00000a2d: SWAP1
00000a2e: DUP2
00000a2f: DUP2
00000a30: MSTORE
00000a31: PUSH1 0x20
00000a33: ADD
00000a34: DUP3
00000a35: DUP1
00000a36: SLOAD
00000a37: PUSH2 0x0a3f
00000a3a: SWAP1
00000a3b: PUSH2 0x3e97
00000a3e: JUMP
00000a3f: JUMPDEST
00000a40: DUP1
00000a41: ISZERO
00000a42: PUSH2 0x0a8c
00000a45: JUMPI
00000a46: DUP1
00000a47: PUSH1 0x1f
00000a49: LT
00000a4a: PUSH2 0x0a61
00000a4d: JUMPI
00000a4e: PUSH2 0x0100
00000a51: DUP1
00000a52: DUP4
00000a53: SLOAD
00000a54: DIV
00000a55: MUL
00000a56: DUP4
00000a57: MSTORE
00000a58: SWAP2
00000a59: PUSH1 0x20
00000a5b: ADD
00000a5c: SWAP2
00000a5d: PUSH2 0x0a8c
00000a60: JUMP
00000a61: JUMPDEST
00000a62: DUP3
00000a63: ADD
00000a64: SWAP2
00000a65: SWAP1
00000a66: PUSH1 0x00
00000a68: MSTORE
00000a69: PUSH1 0x20
00000a6b: PUSH1 0x00
00000a6d: KECCAK256
00000a6e: SWAP1
00000a6f: JUMPDEST
00000a70: DUP2
00000a71: SLOAD
00000a72: DUP2
00000a73: MSTORE
00000a74: SWAP1
00000a75: PUSH1 0x01
00000a77: ADD
00000a78: SWAP1
00000a79: PUSH1 0x20
00000a7b: ADD
00000a7c: DUP1
00000a7d: DUP4
00000a7e: GT
00000a7f: PUSH2 0x0a6f
00000a82: JUMPI
00000a83: DUP3
00000a84: SWAP1
00000a85: SUB
00000a86: PUSH1 0x1f
00000a88: AND
00000a89: DUP3
00000a8a: ADD
00000a8b: SWAP2
00000a8c: JUMPDEST
00000a8d: POP
00000a8e: POP
00000a8f: POP
00000a90: POP
00000a91: POP
00000a92: SWAP1
00000a93: POP
00000a94: SWAP2
00000a95: SWAP1
00000a96: POP
00000a97: JUMP
00000a98: JUMPDEST
00000a99: PUSH2 0x03f4
00000a9c: SLOAD
00000a9d: DUP2
00000a9e: JUMP
00000a9f: JUMPDEST
00000aa0: PUSH2 0x0aa7
00000aa3: PUSH2 0x1aa5
00000aa6: JUMP
00000aa7: JUMPDEST
00000aa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000abd: AND
00000abe: DUP6
00000abf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ad4: AND
00000ad5: EQ
00000ad6: DUP1
00000ad7: PUSH2 0x0aed
00000ada: JUMPI
00000adb: POP
00000adc: PUSH2 0x0aec
00000adf: DUP6
00000ae0: PUSH2 0x0ae7
00000ae3: PUSH2 0x1aa5
00000ae6: JUMP
00000ae7: JUMPDEST
00000ae8: PUSH2 0x11d6
00000aeb: JUMP
00000aec: JUMPDEST
00000aed: JUMPDEST
00000aee: PUSH2 0x0b2c
00000af1: JUMPI
00000af2: PUSH1 0x40
00000af4: MLOAD
00000af5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b16: DUP2
00000b17: MSTORE
00000b18: PUSH1 0x04
00000b1a: ADD
00000b1b: PUSH2 0x0b23
00000b1e: SWAP1
00000b1f: PUSH2 0x39ac
00000b22: JUMP
00000b23: JUMPDEST
00000b24: PUSH1 0x40
00000b26: MLOAD
00000b27: DUP1
00000b28: SWAP2
00000b29: SUB
00000b2a: SWAP1
00000b2b: REVERT
00000b2c: JUMPDEST
00000b2d: PUSH2 0x0b39
00000b30: DUP6
00000b31: DUP6
00000b32: DUP6
00000b33: DUP6
00000b34: DUP6
00000b35: PUSH2 0x1aad
00000b38: JUMP
00000b39: JUMPDEST
00000b3a: POP
00000b3b: POP
00000b3c: POP
00000b3d: POP
00000b3e: POP
00000b3f: JUMP
00000b40: JUMPDEST
00000b41: PUSH1 0x08
00000b43: PUSH1 0x00
00000b45: SWAP1
00000b46: SLOAD
00000b47: SWAP1
00000b48: PUSH2 0x0100
00000b4b: EXP
00000b4c: SWAP1
00000b4d: DIV
00000b4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b63: AND
00000b64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b79: AND
00000b7a: CALLER
00000b7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b90: AND
00000b91: EQ
00000b92: PUSH2 0x0bd0
00000b95: JUMPI
00000b96: PUSH1 0x40
00000b98: MLOAD
00000b99: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000bba: DUP2
00000bbb: MSTORE
00000bbc: PUSH1 0x04
00000bbe: ADD
00000bbf: PUSH2 0x0bc7
00000bc2: SWAP1
00000bc3: PUSH2 0x3a2c
00000bc6: JUMP
00000bc7: JUMPDEST
00000bc8: PUSH1 0x40
00000bca: MLOAD
00000bcb: DUP1
00000bcc: SWAP2
00000bcd: SUB
00000bce: SWAP1
00000bcf: REVERT
00000bd0: JUMPDEST
00000bd1: PUSH1 0x00
00000bd3: DUP2
00000bd4: GT
00000bd5: DUP1
00000bd6: ISZERO
00000bd7: PUSH2 0x0be9
00000bda: JUMPI
00000bdb: POP
00000bdc: PUSH2 0x0be5
00000bdf: PUSH1 0x01
00000be1: PUSH2 0x11b2
00000be4: JUMP
00000be5: JUMPDEST
00000be6: DUP2
00000be7: GT
00000be8: ISZERO
00000be9: JUMPDEST
00000bea: PUSH2 0x0c28
00000bed: JUMPI
00000bee: PUSH1 0x40
00000bf0: MLOAD
00000bf1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c12: DUP2
00000c13: MSTORE
00000c14: PUSH1 0x04
00000c16: ADD
00000c17: PUSH2 0x0c1f
00000c1a: SWAP1
00000c1b: PUSH2 0x39cc
00000c1e: JUMP
00000c1f: JUMPDEST
00000c20: PUSH1 0x40
00000c22: MLOAD
00000c23: DUP1
00000c24: SWAP2
00000c25: SUB
00000c26: SWAP1
00000c27: REVERT
00000c28: JUMPDEST
00000c29: DUP1
00000c2a: PUSH2 0x03f4
00000c2d: DUP2
00000c2e: SWAP1
00000c2f: SSTORE
00000c30: POP
00000c31: POP
00000c32: JUMP
00000c33: JUMPDEST
00000c34: PUSH1 0x08
00000c36: PUSH1 0x00
00000c38: SWAP1
00000c39: SLOAD
00000c3a: SWAP1
00000c3b: PUSH2 0x0100
00000c3e: EXP
00000c3f: SWAP1
00000c40: DIV
00000c41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c56: AND
00000c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c6c: AND
00000c6d: CALLER
00000c6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c83: AND
00000c84: EQ
00000c85: PUSH2 0x0cc3
00000c88: JUMPI
00000c89: PUSH1 0x40
00000c8b: MLOAD
00000c8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cad: DUP2
00000cae: MSTORE
00000caf: PUSH1 0x04
00000cb1: ADD
00000cb2: PUSH2 0x0cba
00000cb5: SWAP1
00000cb6: PUSH2 0x3a2c
00000cb9: JUMP
00000cba: JUMPDEST
00000cbb: PUSH1 0x40
00000cbd: MLOAD
00000cbe: DUP1
00000cbf: SWAP2
00000cc0: SUB
00000cc1: SWAP1
00000cc2: REVERT
00000cc3: JUMPDEST
00000cc4: PUSH1 0x00
00000cc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cdb: AND
00000cdc: DUP2
00000cdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf2: AND
00000cf3: EQ
00000cf4: ISZERO
00000cf5: PUSH2 0x0d33
00000cf8: JUMPI
00000cf9: PUSH1 0x40
00000cfb: MLOAD
00000cfc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d1d: DUP2
00000d1e: MSTORE
00000d1f: PUSH1 0x04
00000d21: ADD
00000d22: PUSH2 0x0d2a
00000d25: SWAP1
00000d26: PUSH2 0x3a4c
00000d29: JUMP
00000d2a: JUMPDEST
00000d2b: PUSH1 0x40
00000d2d: MLOAD
00000d2e: DUP1
00000d2f: SWAP2
00000d30: SUB
00000d31: SWAP1
00000d32: REVERT
00000d33: JUMPDEST
00000d34: DUP1
00000d35: PUSH1 0x08
00000d37: PUSH1 0x00
00000d39: PUSH2 0x0100
00000d3c: EXP
00000d3d: DUP2
00000d3e: SLOAD
00000d3f: DUP2
00000d40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d55: MUL
00000d56: NOT
00000d57: AND
00000d58: SWAP1
00000d59: DUP4
00000d5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d6f: AND
00000d70: MUL
00000d71: OR
00000d72: SWAP1
00000d73: SSTORE
00000d74: POP
00000d75: POP
00000d76: JUMP
00000d77: JUMPDEST
00000d78: PUSH1 0x28
00000d7a: DUP2
00000d7b: JUMP
00000d7c: JUMPDEST
00000d7d: PUSH2 0x03f2
00000d80: SLOAD
00000d81: DUP2
00000d82: JUMP
00000d83: JUMPDEST
00000d84: PUSH1 0x60
00000d86: DUP2
00000d87: MLOAD
00000d88: DUP4
00000d89: MLOAD
00000d8a: EQ
00000d8b: PUSH2 0x0dc9
00000d8e: JUMPI
00000d8f: PUSH1 0x40
00000d91: MLOAD
00000d92: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000db3: DUP2
00000db4: MSTORE
00000db5: PUSH1 0x04
00000db7: ADD
00000db8: PUSH2 0x0dc0
00000dbb: SWAP1
00000dbc: PUSH2 0x3acc
00000dbf: JUMP
00000dc0: JUMPDEST
00000dc1: PUSH1 0x40
00000dc3: MLOAD
00000dc4: DUP1
00000dc5: SWAP2
00000dc6: SUB
00000dc7: SWAP1
00000dc8: REVERT
00000dc9: JUMPDEST
00000dca: PUSH1 0x00
00000dcc: DUP4
00000dcd: MLOAD
00000dce: PUSH8 0xffffffffffffffff
00000dd7: DUP2
00000dd8: GT
00000dd9: ISZERO
00000dda: PUSH2 0x0e0c
00000ddd: JUMPI
00000dde: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000dff: PUSH1 0x00
00000e01: MSTORE
00000e02: PUSH1 0x41
00000e04: PUSH1 0x04
00000e06: MSTORE
00000e07: PUSH1 0x24
00000e09: PUSH1 0x00
00000e0b: REVERT
00000e0c: JUMPDEST
00000e0d: PUSH1 0x40
00000e0f: MLOAD
00000e10: SWAP1
00000e11: DUP1
00000e12: DUP3
00000e13: MSTORE
00000e14: DUP1
00000e15: PUSH1 0x20
00000e17: MUL
00000e18: PUSH1 0x20
00000e1a: ADD
00000e1b: DUP3
00000e1c: ADD
00000e1d: PUSH1 0x40
00000e1f: MSTORE
00000e20: DUP1
00000e21: ISZERO
00000e22: PUSH2 0x0e3a
00000e25: JUMPI
00000e26: DUP2
00000e27: PUSH1 0x20
00000e29: ADD
00000e2a: PUSH1 0x20
00000e2c: DUP3
00000e2d: MUL
00000e2e: DUP1
00000e2f: CALLDATASIZE
00000e30: DUP4
00000e31: CALLDATACOPY
00000e32: DUP1
00000e33: DUP3
00000e34: ADD
00000e35: SWAP2
00000e36: POP
00000e37: POP
00000e38: SWAP1
00000e39: POP
00000e3a: JUMPDEST
00000e3b: POP
00000e3c: SWAP1
00000e3d: POP
00000e3e: PUSH1 0x00
00000e40: JUMPDEST
00000e41: DUP5
00000e42: MLOAD
00000e43: DUP2
00000e44: LT
00000e45: ISZERO
00000e46: PUSH2 0x0f29
00000e49: JUMPI
00000e4a: PUSH2 0x0ed3
00000e4d: DUP6
00000e4e: DUP3
00000e4f: DUP2
00000e50: MLOAD
00000e51: DUP2
00000e52: LT
00000e53: PUSH2 0x0e85
00000e56: JUMPI
00000e57: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000e78: PUSH1 0x00
00000e7a: MSTORE
00000e7b: PUSH1 0x32
00000e7d: PUSH1 0x04
00000e7f: MSTORE
00000e80: PUSH1 0x24
00000e82: PUSH1 0x00
00000e84: REVERT
00000e85: JUMPDEST
00000e86: PUSH1 0x20
00000e88: MUL
00000e89: PUSH1 0x20
00000e8b: ADD
00000e8c: ADD
00000e8d: MLOAD
00000e8e: DUP6
00000e8f: DUP4
00000e90: DUP2
00000e91: MLOAD
00000e92: DUP2
00000e93: LT
00000e94: PUSH2 0x0ec6
00000e97: JUMPI
00000e98: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000eb9: PUSH1 0x00
00000ebb: MSTORE
00000ebc: PUSH1 0x32
00000ebe: PUSH1 0x04
00000ec0: MSTORE
00000ec1: PUSH1 0x24
00000ec3: PUSH1 0x00
00000ec5: REVERT
00000ec6: JUMPDEST
00000ec7: PUSH1 0x20
00000ec9: MUL
00000eca: PUSH1 0x20
00000ecc: ADD
00000ecd: ADD
00000ece: MLOAD
00000ecf: PUSH2 0x06db
00000ed2: JUMP
00000ed3: JUMPDEST
00000ed4: DUP3
00000ed5: DUP3
00000ed6: DUP2
00000ed7: MLOAD
00000ed8: DUP2
00000ed9: LT
00000eda: PUSH2 0x0f0c
00000edd: JUMPI
00000ede: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000eff: PUSH1 0x00
00000f01: MSTORE
00000f02: PUSH1 0x32
00000f04: PUSH1 0x04
00000f06: MSTORE
00000f07: PUSH1 0x24
00000f09: PUSH1 0x00
00000f0b: REVERT
00000f0c: JUMPDEST
00000f0d: PUSH1 0x20
00000f0f: MUL
00000f10: PUSH1 0x20
00000f12: ADD
00000f13: ADD
00000f14: DUP2
00000f15: DUP2
00000f16: MSTORE
00000f17: POP
00000f18: POP
00000f19: DUP1
00000f1a: PUSH2 0x0f22
00000f1d: SWAP1
00000f1e: PUSH2 0x3efa
00000f21: JUMP
00000f22: JUMPDEST
00000f23: SWAP1
00000f24: POP
00000f25: PUSH2 0x0e40
00000f28: JUMP
00000f29: JUMPDEST
00000f2a: POP
00000f2b: DUP1
00000f2c: SWAP2
00000f2d: POP
00000f2e: POP
00000f2f: SWAP3
00000f30: SWAP2
00000f31: POP
00000f32: POP
00000f33: JUMP
00000f34: JUMPDEST
00000f35: PUSH1 0x00
00000f37: DUP1
00000f38: PUSH2 0x0f40
00000f3b: DUP4
00000f3c: PUSH2 0x11b2
00000f3f: JUMP
00000f40: JUMPDEST
00000f41: GT
00000f42: SWAP1
00000f43: POP
00000f44: SWAP2
00000f45: SWAP1
00000f46: POP
00000f47: JUMP
00000f48: JUMPDEST
00000f49: PUSH1 0x32
00000f4b: DUP2
00000f4c: JUMP
00000f4d: JUMPDEST
00000f4e: PUSH1 0x09
00000f50: PUSH1 0x00
00000f52: SWAP1
00000f53: SLOAD
00000f54: SWAP1
00000f55: PUSH2 0x0100
00000f58: EXP
00000f59: SWAP1
00000f5a: DIV
00000f5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f70: AND
00000f71: DUP2
00000f72: JUMP
00000f73: JUMPDEST
00000f74: PUSH1 0x0a
00000f76: DUP2
00000f77: JUMP
00000f78: JUMPDEST
00000f79: PUSH1 0x01
00000f7b: DUP2
00000f7c: JUMP
00000f7d: JUMPDEST
00000f7e: PUSH1 0x08
00000f80: PUSH1 0x00
00000f82: SWAP1
00000f83: SLOAD
00000f84: SWAP1
00000f85: PUSH2 0x0100
00000f88: EXP
00000f89: SWAP1
00000f8a: DIV
00000f8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa0: AND
00000fa1: DUP2
00000fa2: JUMP
00000fa3: JUMPDEST
00000fa4: PUSH1 0x06
00000fa6: DUP1
00000fa7: SLOAD
00000fa8: PUSH2 0x0fb0
00000fab: SWAP1
00000fac: PUSH2 0x3e97
00000faf: JUMP
00000fb0: JUMPDEST
00000fb1: DUP1
00000fb2: PUSH1 0x1f
00000fb4: ADD
00000fb5: PUSH1 0x20
00000fb7: DUP1
00000fb8: SWAP2
00000fb9: DIV
00000fba: MUL
00000fbb: PUSH1 0x20
00000fbd: ADD
00000fbe: PUSH1 0x40
00000fc0: MLOAD
00000fc1: SWAP1
00000fc2: DUP2
00000fc3: ADD
00000fc4: PUSH1 0x40
00000fc6: MSTORE
00000fc7: DUP1
00000fc8: SWAP3
00000fc9: SWAP2
00000fca: SWAP1
00000fcb: DUP2
00000fcc: DUP2
00000fcd: MSTORE
00000fce: PUSH1 0x20
00000fd0: ADD
00000fd1: DUP3
00000fd2: DUP1
00000fd3: SLOAD
00000fd4: PUSH2 0x0fdc
00000fd7: SWAP1
00000fd8: PUSH2 0x3e97
00000fdb: JUMP
00000fdc: JUMPDEST
00000fdd: DUP1
00000fde: ISZERO
00000fdf: PUSH2 0x1029
00000fe2: JUMPI
00000fe3: DUP1
00000fe4: PUSH1 0x1f
00000fe6: LT
00000fe7: PUSH2 0x0ffe
00000fea: JUMPI
00000feb: PUSH2 0x0100
00000fee: DUP1
00000fef: DUP4
00000ff0: SLOAD
00000ff1: DIV
00000ff2: MUL
00000ff3: DUP4
00000ff4: MSTORE
00000ff5: SWAP2
00000ff6: PUSH1 0x20
00000ff8: ADD
00000ff9: SWAP2
00000ffa: PUSH2 0x1029
00000ffd: JUMP
00000ffe: JUMPDEST
00000fff: DUP3
00001000: ADD
00001001: SWAP2
00001002: SWAP1
00001003: PUSH1 0x00
00001005: MSTORE
00001006: PUSH1 0x20
00001008: PUSH1 0x00
0000100a: KECCAK256
0000100b: SWAP1
0000100c: JUMPDEST
0000100d: DUP2
0000100e: SLOAD
0000100f: DUP2
00001010: MSTORE
00001011: SWAP1
00001012: PUSH1 0x01
00001014: ADD
00001015: SWAP1
00001016: PUSH1 0x20
00001018: ADD
00001019: DUP1
0000101a: DUP4
0000101b: GT
0000101c: PUSH2 0x100c
0000101f: JUMPI
00001020: DUP3
00001021: SWAP1
00001022: SUB
00001023: PUSH1 0x1f
00001025: AND
00001026: DUP3
00001027: ADD
00001028: SWAP2
00001029: JUMPDEST
0000102a: POP
0000102b: POP
0000102c: POP
0000102d: POP
0000102e: POP
0000102f: DUP2
00001030: JUMP
00001031: JUMPDEST
00001032: DUP2
00001033: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001048: AND
00001049: PUSH2 0x1050
0000104c: PUSH2 0x1aa5
0000104f: JUMP
00001050: JUMPDEST
00001051: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001066: AND
00001067: EQ
00001068: ISZERO
00001069: PUSH2 0x10a7
0000106c: JUMPI
0000106d: PUSH1 0x40
0000106f: MLOAD
00001070: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001091: DUP2
00001092: MSTORE
00001093: PUSH1 0x04
00001095: ADD
00001096: PUSH2 0x109e
00001099: SWAP1
0000109a: PUSH2 0x3a8c
0000109d: JUMP
0000109e: JUMPDEST
0000109f: PUSH1 0x40
000010a1: MLOAD
000010a2: DUP1
000010a3: SWAP2
000010a4: SUB
000010a5: SWAP1
000010a6: REVERT
000010a7: JUMPDEST
000010a8: DUP1
000010a9: PUSH1 0x01
000010ab: PUSH1 0x00
000010ad: PUSH2 0x10b4
000010b0: PUSH2 0x1aa5
000010b3: JUMP
000010b4: JUMPDEST
000010b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ca: AND
000010cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e0: AND
000010e1: DUP2
000010e2: MSTORE
000010e3: PUSH1 0x20
000010e5: ADD
000010e6: SWAP1
000010e7: DUP2
000010e8: MSTORE
000010e9: PUSH1 0x20
000010eb: ADD
000010ec: PUSH1 0x00
000010ee: KECCAK256
000010ef: PUSH1 0x00
000010f1: DUP5
000010f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001107: AND
00001108: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000111d: AND
0000111e: DUP2
0000111f: MSTORE
00001120: PUSH1 0x20
00001122: ADD
00001123: SWAP1
00001124: DUP2
00001125: MSTORE
00001126: PUSH1 0x20
00001128: ADD
00001129: PUSH1 0x00
0000112b: KECCAK256
0000112c: PUSH1 0x00
0000112e: PUSH2 0x0100
00001131: EXP
00001132: DUP2
00001133: SLOAD
00001134: DUP2
00001135: PUSH1 0xff
00001137: MUL
00001138: NOT
00001139: AND
0000113a: SWAP1
0000113b: DUP4
0000113c: ISZERO
0000113d: ISZERO
0000113e: MUL
0000113f: OR
00001140: SWAP1
00001141: SSTORE
00001142: POP
00001143: DUP2
00001144: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001159: AND
0000115a: PUSH2 0x1161
0000115d: PUSH2 0x1aa5
00001160: JUMP
00001161: JUMPDEST
00001162: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001177: AND
00001178: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
00001199: DUP4
0000119a: PUSH1 0x40
0000119c: MLOAD
0000119d: PUSH2 0x11a6
000011a0: SWAP2
000011a1: SWAP1
000011a2: PUSH2 0x384f
000011a5: JUMP
000011a6: JUMPDEST
000011a7: PUSH1 0x40
000011a9: MLOAD
000011aa: DUP1
000011ab: SWAP2
000011ac: SUB
000011ad: SWAP1
000011ae: LOG3
000011af: POP
000011b0: POP
000011b1: JUMP
000011b2: JUMPDEST
000011b3: PUSH1 0x00
000011b5: PUSH1 0x03
000011b7: PUSH1 0x00
000011b9: DUP4
000011ba: DUP2
000011bb: MSTORE
000011bc: PUSH1 0x20
000011be: ADD
000011bf: SWAP1
000011c0: DUP2
000011c1: MSTORE
000011c2: PUSH1 0x20
000011c4: ADD
000011c5: PUSH1 0x00
000011c7: KECCAK256
000011c8: SLOAD
000011c9: SWAP1
000011ca: POP
000011cb: SWAP2
000011cc: SWAP1
000011cd: POP
000011ce: JUMP
000011cf: JUMPDEST
000011d0: PUSH2 0x03f3
000011d3: SLOAD
000011d4: DUP2
000011d5: JUMP
000011d6: JUMPDEST
000011d7: PUSH1 0x00
000011d9: PUSH1 0x01
000011db: SWAP1
000011dc: POP
000011dd: SWAP3
000011de: SWAP2
000011df: POP
000011e0: POP
000011e1: JUMP
000011e2: JUMPDEST
000011e3: PUSH1 0x02
000011e5: PUSH1 0x04
000011e7: SLOAD
000011e8: EQ
000011e9: ISZERO
000011ea: PUSH2 0x1228
000011ed: JUMPI
000011ee: PUSH1 0x40
000011f0: MLOAD
000011f1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001212: DUP2
00001213: MSTORE
00001214: PUSH1 0x04
00001216: ADD
00001217: PUSH2 0x121f
0000121a: SWAP1
0000121b: PUSH2 0x3b2c
0000121e: JUMP
0000121f: JUMPDEST
00001220: PUSH1 0x40
00001222: MLOAD
00001223: DUP1
00001224: SWAP2
00001225: SUB
00001226: SWAP1
00001227: REVERT
00001228: JUMPDEST
00001229: PUSH1 0x02
0000122b: PUSH1 0x04
0000122d: DUP2
0000122e: SWAP1
0000122f: SSTORE
00001230: POP
00001231: PUSH2 0x03f4
00001234: SLOAD
00001235: DUP2
00001236: GT
00001237: ISZERO
00001238: PUSH2 0x1276
0000123b: JUMPI
0000123c: PUSH1 0x40
0000123e: MLOAD
0000123f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001260: DUP2
00001261: MSTORE
00001262: PUSH1 0x04
00001264: ADD
00001265: PUSH2 0x126d
00001268: SWAP1
00001269: PUSH2 0x3a0c
0000126c: JUMP
0000126d: JUMPDEST
0000126e: PUSH1 0x40
00001270: MLOAD
00001271: DUP1
00001272: SWAP2
00001273: SUB
00001274: SWAP1
00001275: REVERT
00001276: JUMPDEST
00001277: PUSH2 0x127f
0000127a: DUP2
0000127b: PUSH2 0x1e0d
0000127e: JUMP
0000127f: JUMPDEST
00001280: PUSH1 0x00
00001282: JUMPDEST
00001283: DUP2
00001284: DUP2
00001285: LT
00001286: ISZERO
00001287: PUSH2 0x13fa
0000128a: JUMPI
0000128b: PUSH1 0x00
0000128d: PUSH2 0x1296
00001290: PUSH1 0x01
00001292: PUSH2 0x11b2
00001295: JUMP
00001296: JUMPDEST
00001297: PUSH2 0x03f2
0000129a: SLOAD
0000129b: PUSH2 0x12a4
0000129e: SWAP2
0000129f: SWAP1
000012a0: PUSH2 0x3f43
000012a3: JUMP
000012a4: JUMPDEST
000012a5: SWAP1
000012a6: POP
000012a7: PUSH1 0x00
000012a9: DUP1
000012aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012bf: AND
000012c0: PUSH1 0x0a
000012c2: DUP4
000012c3: PUSH2 0x03e8
000012c6: DUP2
000012c7: LT
000012c8: PUSH2 0x12fa
000012cb: JUMPI
000012cc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000012ed: PUSH1 0x00
000012ef: MSTORE
000012f0: PUSH1 0x32
000012f2: PUSH1 0x04
000012f4: MSTORE
000012f5: PUSH1 0x24
000012f7: PUSH1 0x00
000012f9: REVERT
000012fa: JUMPDEST
000012fb: ADD
000012fc: PUSH1 0x00
000012fe: SWAP1
000012ff: SLOAD
00001300: SWAP1
00001301: PUSH2 0x0100
00001304: EXP
00001305: SWAP1
00001306: DIV
00001307: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000131c: AND
0000131d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001332: AND
00001333: EQ
00001334: PUSH2 0x1399
00001337: JUMPI
00001338: PUSH1 0x0a
0000133a: DUP3
0000133b: PUSH2 0x03e8
0000133e: DUP2
0000133f: LT
00001340: PUSH2 0x1372
00001343: JUMPI
00001344: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001365: PUSH1 0x00
00001367: MSTORE
00001368: PUSH1 0x32
0000136a: PUSH1 0x04
0000136c: MSTORE
0000136d: PUSH1 0x24
0000136f: PUSH1 0x00
00001371: REVERT
00001372: JUMPDEST
00001373: ADD
00001374: PUSH1 0x00
00001376: SWAP1
00001377: SLOAD
00001378: SWAP1
00001379: PUSH2 0x0100
0000137c: EXP
0000137d: SWAP1
0000137e: DIV
0000137f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001394: AND
00001395: PUSH2 0x13bd
00001398: JUMP
00001399: JUMPDEST
0000139a: PUSH1 0x08
0000139c: PUSH1 0x00
0000139e: SWAP1
0000139f: SLOAD
000013a0: SWAP1
000013a1: PUSH2 0x0100
000013a4: EXP
000013a5: SWAP1
000013a6: DIV
000013a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013bc: AND
000013bd: JUMPDEST
000013be: SWAP1
000013bf: POP
000013c0: PUSH2 0x13dc
000013c3: DUP2
000013c4: DUP7
000013c5: PUSH1 0x01
000013c7: DUP1
000013c8: PUSH1 0x40
000013ca: MLOAD
000013cb: DUP1
000013cc: PUSH1 0x20
000013ce: ADD
000013cf: PUSH1 0x40
000013d1: MSTORE
000013d2: DUP1
000013d3: PUSH1 0x00
000013d5: DUP2
000013d6: MSTORE
000013d7: POP
000013d8: PUSH2 0x16c6
000013db: JUMP
000013dc: JUMPDEST
000013dd: PUSH2 0x13e5
000013e0: DUP6
000013e1: PUSH2 0x1f3d
000013e4: JUMP
000013e5: JUMPDEST
000013e6: POP
000013e7: POP
000013e8: DUP1
000013e9: DUP1
000013ea: PUSH2 0x13f2
000013ed: SWAP1
000013ee: PUSH2 0x3efa
000013f1: JUMP
000013f2: JUMPDEST
000013f3: SWAP2
000013f4: POP
000013f5: POP
000013f6: PUSH2 0x1282
000013f9: JUMP
000013fa: JUMPDEST
000013fb: POP
000013fc: PUSH1 0x00
000013fe: PUSH2 0x03e8
00001401: PUSH1 0x32
00001403: CALLVALUE
00001404: PUSH2 0x140d
00001407: SWAP2
00001408: SWAP1
00001409: PUSH2 0x3d41
0000140c: JUMP
0000140d: JUMPDEST
0000140e: PUSH2 0x1417
00001411: SWAP2
00001412: SWAP1
00001413: PUSH2 0x3d10
00001416: JUMP
00001417: JUMPDEST
00001418: SWAP1
00001419: POP
0000141a: PUSH1 0x00
0000141c: PUSH2 0x03e8
0000141f: PUSH1 0x0a
00001421: CALLVALUE
00001422: PUSH2 0x142b
00001425: SWAP2
00001426: SWAP1
00001427: PUSH2 0x3d41
0000142a: JUMP
0000142b: JUMPDEST
0000142c: PUSH2 0x1435
0000142f: SWAP2
00001430: SWAP1
00001431: PUSH2 0x3d10
00001434: JUMP
00001435: JUMPDEST
00001436: SWAP1
00001437: POP
00001438: PUSH1 0x00
0000143a: DUP3
0000143b: GT
0000143c: ISZERO
0000143d: PUSH2 0x146d
00001440: JUMPI
00001441: PUSH2 0x146c
00001444: PUSH1 0x08
00001446: PUSH1 0x00
00001448: SWAP1
00001449: SLOAD
0000144a: SWAP1
0000144b: PUSH2 0x0100
0000144e: EXP
0000144f: SWAP1
00001450: DIV
00001451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001466: AND
00001467: DUP4
00001468: PUSH2 0x19b1
0000146b: JUMP
0000146c: JUMPDEST
0000146d: JUMPDEST
0000146e: PUSH1 0x00
00001470: DUP2
00001471: GT
00001472: ISZERO
00001473: PUSH2 0x14fa
00001476: JUMPI
00001477: PUSH1 0x09
00001479: PUSH1 0x00
0000147b: SWAP1
0000147c: SLOAD
0000147d: SWAP1
0000147e: PUSH2 0x0100
00001481: EXP
00001482: SWAP1
00001483: DIV
00001484: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001499: AND
0000149a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014af: AND
000014b0: PUSH4 0x7079fb67
000014b5: DUP3
000014b6: PUSH1 0x40
000014b8: MLOAD
000014b9: DUP3
000014ba: PUSH4 0xffffffff
000014bf: AND
000014c0: PUSH1 0xe0
000014c2: SHL
000014c3: DUP2
000014c4: MSTORE
000014c5: PUSH1 0x04
000014c7: ADD
000014c8: PUSH1 0x00
000014ca: PUSH1 0x40
000014cc: MLOAD
000014cd: DUP1
000014ce: DUP4
000014cf: SUB
000014d0: DUP2
000014d1: DUP6
000014d2: DUP9
000014d3: DUP1
000014d4: EXTCODESIZE
000014d5: ISZERO
000014d6: DUP1
000014d7: ISZERO
000014d8: PUSH2 0x14e0
000014db: JUMPI
000014dc: PUSH1 0x00
000014de: DUP1
000014df: REVERT
000014e0: JUMPDEST
000014e1: POP
000014e2: GAS
000014e3: CALL
000014e4: ISZERO
000014e5: DUP1
000014e6: ISZERO
000014e7: PUSH2 0x14f4
000014ea: JUMPI
000014eb: RETURNDATASIZE
000014ec: PUSH1 0x00
000014ee: DUP1
000014ef: RETURNDATACOPY
000014f0: RETURNDATASIZE
000014f1: PUSH1 0x00
000014f3: REVERT
000014f4: JUMPDEST
000014f5: POP
000014f6: POP
000014f7: POP
000014f8: POP
000014f9: POP
000014fa: JUMPDEST
000014fb: DUP4
000014fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001511: AND
00001512: PUSH32 0x31d8410029cba7bb8656f8b8c43961cfe8e425907121c3b2f979e4328db051f3
00001533: DUP5
00001534: CALLVALUE
00001535: PUSH1 0x40
00001537: MLOAD
00001538: PUSH2 0x1542
0000153b: SWAP3
0000153c: SWAP2
0000153d: SWAP1
0000153e: PUSH2 0x3b67
00001541: JUMP
00001542: JUMPDEST
00001543: PUSH1 0x40
00001545: MLOAD
00001546: DUP1
00001547: SWAP2
00001548: SUB
00001549: SWAP1
0000154a: LOG2
0000154b: POP
0000154c: POP
0000154d: PUSH1 0x01
0000154f: PUSH1 0x04
00001551: DUP2
00001552: SWAP1
00001553: SSTORE
00001554: POP
00001555: POP
00001556: POP
00001557: JUMP
00001558: JUMPDEST
00001559: PUSH1 0x08
0000155b: PUSH1 0x00
0000155d: SWAP1
0000155e: SLOAD
0000155f: SWAP1
00001560: PUSH2 0x0100
00001563: EXP
00001564: SWAP1
00001565: DIV
00001566: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000157b: AND
0000157c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001591: AND
00001592: CALLER
00001593: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015a8: AND
000015a9: EQ
000015aa: PUSH2 0x15e8
000015ad: JUMPI
000015ae: PUSH1 0x40
000015b0: MLOAD
000015b1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000015d2: DUP2
000015d3: MSTORE
000015d4: PUSH1 0x04
000015d6: ADD
000015d7: PUSH2 0x15df
000015da: SWAP1
000015db: PUSH2 0x3a2c
000015de: JUMP
000015df: JUMPDEST
000015e0: PUSH1 0x40
000015e2: MLOAD
000015e3: DUP1
000015e4: SWAP2
000015e5: SUB
000015e6: SWAP1
000015e7: REVERT
000015e8: JUMPDEST
000015e9: PUSH1 0x00
000015eb: DUP2
000015ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001601: AND
00001602: PUSH4 0x70a08231
00001607: ADDRESS
00001608: PUSH1 0x40
0000160a: MLOAD
0000160b: DUP3
0000160c: PUSH4 0xffffffff
00001611: AND
00001612: PUSH1 0xe0
00001614: SHL
00001615: DUP2
00001616: MSTORE
00001617: PUSH1 0x04
00001619: ADD
0000161a: PUSH2 0x1623
0000161d: SWAP2
0000161e: SWAP1
0000161f: PUSH2 0x36d5
00001622: JUMP
00001623: JUMPDEST
00001624: PUSH1 0x20
00001626: PUSH1 0x40
00001628: MLOAD
00001629: DUP1
0000162a: DUP4
0000162b: SUB
0000162c: DUP2
0000162d: DUP7
0000162e: DUP1
0000162f: EXTCODESIZE
00001630: ISZERO
00001631: DUP1
00001632: ISZERO
00001633: PUSH2 0x163b
00001636: JUMPI
00001637: PUSH1 0x00
00001639: DUP1
0000163a: REVERT
0000163b: JUMPDEST
0000163c: POP
0000163d: GAS
0000163e: STATICCALL
0000163f: ISZERO
00001640: DUP1
00001641: ISZERO
00001642: PUSH2 0x164f
00001645: JUMPI
00001646: RETURNDATASIZE
00001647: PUSH1 0x00
00001649: DUP1
0000164a: RETURNDATACOPY
0000164b: RETURNDATASIZE
0000164c: PUSH1 0x00
0000164e: REVERT
0000164f: JUMPDEST
00001650: POP
00001651: POP
00001652: POP
00001653: POP
00001654: PUSH1 0x40
00001656: MLOAD
00001657: RETURNDATASIZE
00001658: PUSH1 0x1f
0000165a: NOT
0000165b: PUSH1 0x1f
0000165d: DUP3
0000165e: ADD
0000165f: AND
00001660: DUP3
00001661: ADD
00001662: DUP1
00001663: PUSH1 0x40
00001665: MSTORE
00001666: POP
00001667: DUP2
00001668: ADD
00001669: SWAP1
0000166a: PUSH2 0x1673
0000166d: SWAP2
0000166e: SWAP1
0000166f: PUSH2 0x31f7
00001672: JUMP
00001673: JUMPDEST
00001674: SWAP1
00001675: POP
00001676: PUSH2 0x16c2
00001679: PUSH1 0x08
0000167b: PUSH1 0x00
0000167d: SWAP1
0000167e: SLOAD
0000167f: SWAP1
00001680: PUSH2 0x0100
00001683: EXP
00001684: SWAP1
00001685: DIV
00001686: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000169b: AND
0000169c: DUP3
0000169d: DUP5
0000169e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b3: AND
000016b4: PUSH2 0x221d
000016b7: SWAP1
000016b8: SWAP3
000016b9: SWAP2
000016ba: SWAP1
000016bb: PUSH4 0xffffffff
000016c0: AND
000016c1: JUMP
000016c2: JUMPDEST
000016c3: POP
000016c4: POP
000016c5: JUMP
000016c6: JUMPDEST
000016c7: PUSH2 0x16ce
000016ca: PUSH2 0x1aa5
000016cd: JUMP
000016ce: JUMPDEST
000016cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016e4: AND
000016e5: DUP6
000016e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016fb: AND
000016fc: EQ
000016fd: DUP1
000016fe: PUSH2 0x1714
00001701: JUMPI
00001702: POP
00001703: PUSH2 0x1713
00001706: DUP6
00001707: PUSH2 0x170e
0000170a: PUSH2 0x1aa5
0000170d: JUMP
0000170e: JUMPDEST
0000170f: PUSH2 0x11d6
00001712: JUMP
00001713: JUMPDEST
00001714: JUMPDEST
00001715: PUSH2 0x1753
00001718: JUMPI
00001719: PUSH1 0x40
0000171b: MLOAD
0000171c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000173d: DUP2
0000173e: MSTORE
0000173f: PUSH1 0x04
00001741: ADD
00001742: PUSH2 0x174a
00001745: SWAP1
00001746: PUSH2 0x38ec
00001749: JUMP
0000174a: JUMPDEST
0000174b: PUSH1 0x40
0000174d: MLOAD
0000174e: DUP1
0000174f: SWAP2
00001750: SUB
00001751: SWAP1
00001752: REVERT
00001753: JUMPDEST
00001754: PUSH2 0x1760
00001757: DUP6
00001758: DUP6
00001759: DUP6
0000175a: DUP6
0000175b: DUP6
0000175c: PUSH2 0x22a3
0000175f: JUMP
00001760: JUMPDEST
00001761: POP
00001762: POP
00001763: POP
00001764: POP
00001765: POP
00001766: JUMP
00001767: JUMPDEST
00001768: PUSH1 0x0a
0000176a: DUP2
0000176b: PUSH2 0x03e8
0000176e: DUP2
0000176f: LT
00001770: PUSH2 0x1778
00001773: JUMPI
00001774: PUSH1 0x00
00001776: DUP1
00001777: REVERT
00001778: JUMPDEST
00001779: ADD
0000177a: PUSH1 0x00
0000177c: SWAP2
0000177d: POP
0000177e: SLOAD
0000177f: SWAP1
00001780: PUSH2 0x0100
00001783: EXP
00001784: SWAP1
00001785: DIV
00001786: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000179b: AND
0000179c: DUP2
0000179d: JUMP
0000179e: JUMPDEST
0000179f: PUSH1 0x00
000017a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017b6: AND
000017b7: DUP5
000017b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017cd: AND
000017ce: EQ
000017cf: ISZERO
000017d0: PUSH2 0x180e
000017d3: JUMPI
000017d4: PUSH1 0x40
000017d6: MLOAD
000017d7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017f8: DUP2
000017f9: MSTORE
000017fa: PUSH1 0x04
000017fc: ADD
000017fd: PUSH2 0x1805
00001800: SWAP1
00001801: PUSH2 0x3b0c
00001804: JUMP
00001805: JUMPDEST
00001806: PUSH1 0x40
00001808: MLOAD
00001809: DUP1
0000180a: SWAP2
0000180b: SUB
0000180c: SWAP1
0000180d: REVERT
0000180e: JUMPDEST
0000180f: PUSH1 0x00
00001811: PUSH2 0x1818
00001814: PUSH2 0x1aa5
00001817: JUMP
00001818: JUMPDEST
00001819: SWAP1
0000181a: POP
0000181b: PUSH2 0x1839
0000181e: DUP2
0000181f: PUSH1 0x00
00001821: DUP8
00001822: PUSH2 0x182a
00001825: DUP9
00001826: PUSH2 0x2525
00001829: JUMP
0000182a: JUMPDEST
0000182b: PUSH2 0x1833
0000182e: DUP9
0000182f: PUSH2 0x2525
00001832: JUMP
00001833: JUMPDEST
00001834: DUP8
00001835: PUSH2 0x25eb
00001838: JUMP
00001839: JUMPDEST
0000183a: DUP3
0000183b: PUSH1 0x00
0000183d: DUP1
0000183e: DUP7
0000183f: DUP2
00001840: MSTORE
00001841: PUSH1 0x20
00001843: ADD
00001844: SWAP1
00001845: DUP2
00001846: MSTORE
00001847: PUSH1 0x20
00001849: ADD
0000184a: PUSH1 0x00
0000184c: KECCAK256
0000184d: PUSH1 0x00
0000184f: DUP8
00001850: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001865: AND
00001866: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000187b: AND
0000187c: DUP2
0000187d: MSTORE
0000187e: PUSH1 0x20
00001880: ADD
00001881: SWAP1
00001882: DUP2
00001883: MSTORE
00001884: PUSH1 0x20
00001886: ADD
00001887: PUSH1 0x00
00001889: KECCAK256
0000188a: PUSH1 0x00
0000188c: DUP3
0000188d: DUP3
0000188e: SLOAD
0000188f: PUSH2 0x1898
00001892: SWAP2
00001893: SWAP1
00001894: PUSH2 0x3cba
00001897: JUMP
00001898: JUMPDEST
00001899: SWAP3
0000189a: POP
0000189b: POP
0000189c: DUP2
0000189d: SWAP1
0000189e: SSTORE
0000189f: POP
000018a0: DUP5
000018a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018b6: AND
000018b7: PUSH1 0x00
000018b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018ce: AND
000018cf: DUP3
000018d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018e5: AND
000018e6: PUSH32 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62
00001907: DUP8
00001908: DUP8
00001909: PUSH1 0x40
0000190b: MLOAD
0000190c: PUSH2 0x1916
0000190f: SWAP3
00001910: SWAP2
00001911: SWAP1
00001912: PUSH2 0x3b67
00001915: JUMP
00001916: JUMPDEST
00001917: PUSH1 0x40
00001919: MLOAD
0000191a: DUP1
0000191b: SWAP2
0000191c: SUB
0000191d: SWAP1
0000191e: LOG4
0000191f: PUSH2 0x192d
00001922: DUP2
00001923: PUSH1 0x00
00001925: DUP8
00001926: DUP8
00001927: DUP8
00001928: DUP8
00001929: PUSH2 0x25f3
0000192c: JUMP
0000192d: JUMPDEST
0000192e: POP
0000192f: POP
00001930: POP
00001931: POP
00001932: POP
00001933: JUMP
00001934: JUMPDEST
00001935: PUSH1 0x00
00001937: DUP1
00001938: DUP3
00001939: EXTCODESIZE
0000193a: SWAP1
0000193b: POP
0000193c: PUSH1 0x00
0000193e: DUP2
0000193f: GT
00001940: SWAP2
00001941: POP
00001942: POP
00001943: SWAP2
00001944: SWAP1
00001945: POP
00001946: JUMP
00001947: JUMPDEST
00001948: PUSH1 0x00
0000194a: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
0000196b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001988: NOT
00001989: AND
0000198a: DUP3
0000198b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000019a8: NOT
000019a9: AND
000019aa: EQ
000019ab: SWAP1
000019ac: POP
000019ad: SWAP2
000019ae: SWAP1
000019af: POP
000019b0: JUMP
000019b1: JUMPDEST
000019b2: DUP1
000019b3: SELFBALANCE
000019b4: LT
000019b5: ISZERO
000019b6: PUSH2 0x19f4
000019b9: JUMPI
000019ba: PUSH1 0x40
000019bc: MLOAD
000019bd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000019de: DUP2
000019df: MSTORE
000019e0: PUSH1 0x04
000019e2: ADD
000019e3: PUSH2 0x19eb
000019e6: SWAP1
000019e7: PUSH2 0x394c
000019ea: JUMP
000019eb: JUMPDEST
000019ec: PUSH1 0x40
000019ee: MLOAD
000019ef: DUP1
000019f0: SWAP2
000019f1: SUB
000019f2: SWAP1
000019f3: REVERT
000019f4: JUMPDEST
000019f5: PUSH1 0x00
000019f7: DUP3
000019f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a0d: AND
00001a0e: DUP3
00001a0f: PUSH1 0x40
00001a11: MLOAD
00001a12: PUSH2 0x1a1a
00001a15: SWAP1
00001a16: PUSH2 0x36c0
00001a19: JUMP
00001a1a: JUMPDEST
00001a1b: PUSH1 0x00
00001a1d: PUSH1 0x40
00001a1f: MLOAD
00001a20: DUP1
00001a21: DUP4
00001a22: SUB
00001a23: DUP2
00001a24: DUP6
00001a25: DUP8
00001a26: GAS
00001a27: CALL
00001a28: SWAP3
00001a29: POP
00001a2a: POP
00001a2b: POP
00001a2c: RETURNDATASIZE
00001a2d: DUP1
00001a2e: PUSH1 0x00
00001a30: DUP2
00001a31: EQ
00001a32: PUSH2 0x1a57
00001a35: JUMPI
00001a36: PUSH1 0x40
00001a38: MLOAD
00001a39: SWAP2
00001a3a: POP
00001a3b: PUSH1 0x1f
00001a3d: NOT
00001a3e: PUSH1 0x3f
00001a40: RETURNDATASIZE
00001a41: ADD
00001a42: AND
00001a43: DUP3
00001a44: ADD
00001a45: PUSH1 0x40
00001a47: MSTORE
00001a48: RETURNDATASIZE
00001a49: DUP3
00001a4a: MSTORE
00001a4b: RETURNDATASIZE
00001a4c: PUSH1 0x00
00001a4e: PUSH1 0x20
00001a50: DUP5
00001a51: ADD
00001a52: RETURNDATACOPY
00001a53: PUSH2 0x1a5c
00001a56: JUMP
00001a57: JUMPDEST
00001a58: PUSH1 0x60
00001a5a: SWAP2
00001a5b: POP
00001a5c: JUMPDEST
00001a5d: POP
00001a5e: POP
00001a5f: SWAP1
00001a60: POP
00001a61: DUP1
00001a62: PUSH2 0x1aa0
00001a65: JUMPI
00001a66: PUSH1 0x40
00001a68: MLOAD
00001a69: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001a8a: DUP2
00001a8b: MSTORE
00001a8c: PUSH1 0x04
00001a8e: ADD
00001a8f: PUSH2 0x1a97
00001a92: SWAP1
00001a93: PUSH2 0x392c
00001a96: JUMP
00001a97: JUMPDEST
00001a98: PUSH1 0x40
00001a9a: MLOAD
00001a9b: DUP1
00001a9c: SWAP2
00001a9d: SUB
00001a9e: SWAP1
00001a9f: REVERT
00001aa0: JUMPDEST
00001aa1: POP
00001aa2: POP
00001aa3: POP
00001aa4: JUMP
00001aa5: JUMPDEST
00001aa6: PUSH1 0x00
00001aa8: CALLER
00001aa9: SWAP1
00001aaa: POP
00001aab: SWAP1
00001aac: JUMP
00001aad: JUMPDEST
00001aae: DUP2
00001aaf: MLOAD
00001ab0: DUP4
00001ab1: MLOAD
00001ab2: EQ
00001ab3: PUSH2 0x1af1
00001ab6: JUMPI
00001ab7: PUSH1 0x40
00001ab9: MLOAD
00001aba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001adb: DUP2
00001adc: MSTORE
00001add: PUSH1 0x04
00001adf: ADD
00001ae0: PUSH2 0x1ae8
00001ae3: SWAP1
00001ae4: PUSH2 0x3aec
00001ae7: JUMP
00001ae8: JUMPDEST
00001ae9: PUSH1 0x40
00001aeb: MLOAD
00001aec: DUP1
00001aed: SWAP2
00001aee: SUB
00001aef: SWAP1
00001af0: REVERT
00001af1: JUMPDEST
00001af2: PUSH1 0x00
00001af4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b09: AND
00001b0a: DUP5
00001b0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b20: AND
00001b21: EQ
00001b22: ISZERO
00001b23: PUSH2 0x1b61
00001b26: JUMPI
00001b27: PUSH1 0x40
00001b29: MLOAD
00001b2a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001b4b: DUP2
00001b4c: MSTORE
00001b4d: PUSH1 0x04
00001b4f: ADD
00001b50: PUSH2 0x1b58
00001b53: SWAP1
00001b54: PUSH2 0x398c
00001b57: JUMP
00001b58: JUMPDEST
00001b59: PUSH1 0x40
00001b5b: MLOAD
00001b5c: DUP1
00001b5d: SWAP2
00001b5e: SUB
00001b5f: SWAP1
00001b60: REVERT
00001b61: JUMPDEST
00001b62: PUSH1 0x00
00001b64: PUSH2 0x1b6b
00001b67: PUSH2 0x1aa5
00001b6a: JUMP
00001b6b: JUMPDEST
00001b6c: SWAP1
00001b6d: POP
00001b6e: PUSH2 0x1b7b
00001b71: DUP2
00001b72: DUP8
00001b73: DUP8
00001b74: DUP8
00001b75: DUP8
00001b76: DUP8
00001b77: PUSH2 0x25eb
00001b7a: JUMP
00001b7b: JUMPDEST
00001b7c: PUSH1 0x00
00001b7e: JUMPDEST
00001b7f: DUP5
00001b80: MLOAD
00001b81: DUP2
00001b82: LT
00001b83: ISZERO
00001b84: PUSH2 0x1d78
00001b87: JUMPI
00001b88: PUSH1 0x00
00001b8a: DUP6
00001b8b: DUP3
00001b8c: DUP2
00001b8d: MLOAD
00001b8e: DUP2
00001b8f: LT
00001b90: PUSH2 0x1bc2
00001b93: JUMPI
00001b94: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001bb5: PUSH1 0x00
00001bb7: MSTORE
00001bb8: PUSH1 0x32
00001bba: PUSH1 0x04
00001bbc: MSTORE
00001bbd: PUSH1 0x24
00001bbf: PUSH1 0x00
00001bc1: REVERT
00001bc2: JUMPDEST
00001bc3: PUSH1 0x20
00001bc5: MUL
00001bc6: PUSH1 0x20
00001bc8: ADD
00001bc9: ADD
00001bca: MLOAD
00001bcb: SWAP1
00001bcc: POP
00001bcd: PUSH1 0x00
00001bcf: DUP6
00001bd0: DUP4
00001bd1: DUP2
00001bd2: MLOAD
00001bd3: DUP2
00001bd4: LT
00001bd5: PUSH2 0x1c07
00001bd8: JUMPI
00001bd9: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001bfa: PUSH1 0x00
00001bfc: MSTORE
00001bfd: PUSH1 0x32
00001bff: PUSH1 0x04
00001c01: MSTORE
00001c02: PUSH1 0x24
00001c04: PUSH1 0x00
00001c06: REVERT
00001c07: JUMPDEST
00001c08: PUSH1 0x20
00001c0a: MUL
00001c0b: PUSH1 0x20
00001c0d: ADD
00001c0e: ADD
00001c0f: MLOAD
00001c10: SWAP1
00001c11: POP
00001c12: PUSH1 0x00
00001c14: DUP1
00001c15: PUSH1 0x00
00001c17: DUP5
00001c18: DUP2
00001c19: MSTORE
00001c1a: PUSH1 0x20
00001c1c: ADD
00001c1d: SWAP1
00001c1e: DUP2
00001c1f: MSTORE
00001c20: PUSH1 0x20
00001c22: ADD
00001c23: PUSH1 0x00
00001c25: KECCAK256
00001c26: PUSH1 0x00
00001c28: DUP12
00001c29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c3e: AND
00001c3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c54: AND
00001c55: DUP2
00001c56: MSTORE
00001c57: PUSH1 0x20
00001c59: ADD
00001c5a: SWAP1
00001c5b: DUP2
00001c5c: MSTORE
00001c5d: PUSH1 0x20
00001c5f: ADD
00001c60: PUSH1 0x00
00001c62: KECCAK256
00001c63: SLOAD
00001c64: SWAP1
00001c65: POP
00001c66: DUP2
00001c67: DUP2
00001c68: LT
00001c69: ISZERO
00001c6a: PUSH2 0x1ca8
00001c6d: JUMPI
00001c6e: PUSH1 0x40
00001c70: MLOAD
00001c71: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c92: DUP2
00001c93: MSTORE
00001c94: PUSH1 0x04
00001c96: ADD
00001c97: PUSH2 0x1c9f
00001c9a: SWAP1
00001c9b: PUSH2 0x39ec
00001c9e: JUMP
00001c9f: JUMPDEST
00001ca0: PUSH1 0x40
00001ca2: MLOAD
00001ca3: DUP1
00001ca4: SWAP2
00001ca5: SUB
00001ca6: SWAP1
00001ca7: REVERT
00001ca8: JUMPDEST
00001ca9: DUP2
00001caa: DUP2
00001cab: SUB
00001cac: PUSH1 0x00
00001cae: DUP1
00001caf: DUP6
00001cb0: DUP2
00001cb1: MSTORE
00001cb2: PUSH1 0x20
00001cb4: ADD
00001cb5: SWAP1
00001cb6: DUP2
00001cb7: MSTORE
00001cb8: PUSH1 0x20
00001cba: ADD
00001cbb: PUSH1 0x00
00001cbd: KECCAK256
00001cbe: PUSH1 0x00
00001cc0: DUP13
00001cc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cd6: AND
00001cd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cec: AND
00001ced: DUP2
00001cee: MSTORE
00001cef: PUSH1 0x20
00001cf1: ADD
00001cf2: SWAP1
00001cf3: DUP2
00001cf4: MSTORE
00001cf5: PUSH1 0x20
00001cf7: ADD
00001cf8: PUSH1 0x00
00001cfa: KECCAK256
00001cfb: DUP2
00001cfc: SWAP1
00001cfd: SSTORE
00001cfe: POP
00001cff: DUP2
00001d00: PUSH1 0x00
00001d02: DUP1
00001d03: DUP6
00001d04: DUP2
00001d05: MSTORE
00001d06: PUSH1 0x20
00001d08: ADD
00001d09: SWAP1
00001d0a: DUP2
00001d0b: MSTORE
00001d0c: PUSH1 0x20
00001d0e: ADD
00001d0f: PUSH1 0x00
00001d11: KECCAK256
00001d12: PUSH1 0x00
00001d14: DUP12
00001d15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d2a: AND
00001d2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d40: AND
00001d41: DUP2
00001d42: MSTORE
00001d43: PUSH1 0x20
00001d45: ADD
00001d46: SWAP1
00001d47: DUP2
00001d48: MSTORE
00001d49: PUSH1 0x20
00001d4b: ADD
00001d4c: PUSH1 0x00
00001d4e: KECCAK256
00001d4f: PUSH1 0x00
00001d51: DUP3
00001d52: DUP3
00001d53: SLOAD
00001d54: PUSH2 0x1d5d
00001d57: SWAP2
00001d58: SWAP1
00001d59: PUSH2 0x3cba
00001d5c: JUMP
00001d5d: JUMPDEST
00001d5e: SWAP3
00001d5f: POP
00001d60: POP
00001d61: DUP2
00001d62: SWAP1
00001d63: SSTORE
00001d64: POP
00001d65: POP
00001d66: POP
00001d67: POP
00001d68: DUP1
00001d69: PUSH2 0x1d71
00001d6c: SWAP1
00001d6d: PUSH2 0x3efa
00001d70: JUMP
00001d71: JUMPDEST
00001d72: SWAP1
00001d73: POP
00001d74: PUSH2 0x1b7e
00001d77: JUMP
00001d78: JUMPDEST
00001d79: POP
00001d7a: DUP5
00001d7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d90: AND
00001d91: DUP7
00001d92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001da7: AND
00001da8: DUP3
00001da9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dbe: AND
00001dbf: PUSH32 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb
00001de0: DUP8
00001de1: DUP8
00001de2: PUSH1 0x40
00001de4: MLOAD
00001de5: PUSH2 0x1def
00001de8: SWAP3
00001de9: SWAP2
00001dea: SWAP1
00001deb: PUSH2 0x3818
00001dee: JUMP
00001def: JUMPDEST
00001df0: PUSH1 0x40
00001df2: MLOAD
00001df3: DUP1
00001df4: SWAP2
00001df5: SUB
00001df6: SWAP1
00001df7: LOG4
00001df8: PUSH2 0x1e05
00001dfb: DUP2
00001dfc: DUP8
00001dfd: DUP8
00001dfe: DUP8
00001dff: DUP8
00001e00: DUP8
00001e01: PUSH2 0x27da
00001e04: JUMP
00001e05: JUMPDEST
00001e06: POP
00001e07: POP
00001e08: POP
00001e09: POP
00001e0a: POP
00001e0b: POP
00001e0c: JUMP
00001e0d: JUMPDEST
00001e0e: PUSH1 0x00
00001e10: PUSH2 0x1e19
00001e13: PUSH1 0x01
00001e15: PUSH2 0x11b2
00001e18: JUMP
00001e19: JUMPDEST
00001e1a: SWAP1
00001e1b: POP
00001e1c: PUSH1 0x00
00001e1e: DUP2
00001e1f: PUSH2 0x03f2
00001e22: SLOAD
00001e23: PUSH2 0x1e2c
00001e26: SWAP2
00001e27: SWAP1
00001e28: PUSH2 0x3f43
00001e2b: JUMP
00001e2c: JUMPDEST
00001e2d: DUP3
00001e2e: PUSH2 0x1e37
00001e31: SWAP2
00001e32: SWAP1
00001e33: PUSH2 0x3d9b
00001e36: JUMP
00001e37: JUMPDEST
00001e38: SWAP1
00001e39: POP
00001e3a: DUP3
00001e3b: DUP2
00001e3c: GT
00001e3d: ISZERO
00001e3e: PUSH2 0x1ea1
00001e41: JUMPI
00001e42: DUP3
00001e43: PUSH1 0x02
00001e45: PUSH1 0x07
00001e47: SLOAD
00001e48: PUSH2 0x1e51
00001e4b: SWAP2
00001e4c: SWAP1
00001e4d: PUSH2 0x3d41
00001e50: JUMP
00001e51: JUMPDEST
00001e52: PUSH2 0x1e5b
00001e55: SWAP2
00001e56: SWAP1
00001e57: PUSH2 0x3d41
00001e5a: JUMP
00001e5b: JUMPDEST
00001e5c: CALLVALUE
00001e5d: EQ
00001e5e: PUSH2 0x1e9c
00001e61: JUMPI
00001e62: PUSH1 0x40
00001e64: MLOAD
00001e65: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e86: DUP2
00001e87: MSTORE
00001e88: PUSH1 0x04
00001e8a: ADD
00001e8b: PUSH2 0x1e93
00001e8e: SWAP1
00001e8f: PUSH2 0x390c
00001e92: JUMP
00001e93: JUMPDEST
00001e94: PUSH1 0x40
00001e96: MLOAD
00001e97: DUP1
00001e98: SWAP2
00001e99: SUB
00001e9a: SWAP1
00001e9b: REVERT
00001e9c: JUMPDEST
00001e9d: PUSH2 0x1f38
00001ea0: JUMP
00001ea1: JUMPDEST
00001ea2: PUSH1 0x00
00001ea4: DUP2
00001ea5: SWAP1
00001ea6: POP
00001ea7: PUSH1 0x00
00001ea9: DUP2
00001eaa: DUP6
00001eab: PUSH2 0x1eb4
00001eae: SWAP2
00001eaf: SWAP1
00001eb0: PUSH2 0x3d9b
00001eb3: JUMP
00001eb4: JUMPDEST
00001eb5: SWAP1
00001eb6: POP
00001eb7: DUP1
00001eb8: PUSH1 0x04
00001eba: PUSH1 0x07
00001ebc: SLOAD
00001ebd: PUSH2 0x1ec6
00001ec0: SWAP2
00001ec1: SWAP1
00001ec2: PUSH2 0x3d41
00001ec5: JUMP
00001ec6: JUMPDEST
00001ec7: PUSH2 0x1ed0
00001eca: SWAP2
00001ecb: SWAP1
00001ecc: PUSH2 0x3d41
00001ecf: JUMP
00001ed0: JUMPDEST
00001ed1: DUP3
00001ed2: PUSH1 0x02
00001ed4: PUSH1 0x07
00001ed6: SLOAD
00001ed7: PUSH2 0x1ee0
00001eda: SWAP2
00001edb: SWAP1
00001edc: PUSH2 0x3d41
00001edf: JUMP
00001ee0: JUMPDEST
00001ee1: PUSH2 0x1eea
00001ee4: SWAP2
00001ee5: SWAP1
00001ee6: PUSH2 0x3d41
00001ee9: JUMP
00001eea: JUMPDEST
00001eeb: PUSH2 0x1ef4
00001eee: SWAP2
00001eef: SWAP1
00001ef0: PUSH2 0x3cba
00001ef3: JUMP
00001ef4: JUMPDEST
00001ef5: CALLVALUE
00001ef6: EQ
00001ef7: PUSH2 0x1f35
00001efa: JUMPI
00001efb: PUSH1 0x40
00001efd: MLOAD
00001efe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f1f: DUP2
00001f20: MSTORE
00001f21: PUSH1 0x04
00001f23: ADD
00001f24: PUSH2 0x1f2c
00001f27: SWAP1
00001f28: PUSH2 0x390c
00001f2b: JUMP
00001f2c: JUMPDEST
00001f2d: PUSH1 0x40
00001f2f: MLOAD
00001f30: DUP1
00001f31: SWAP2
00001f32: SUB
00001f33: SWAP1
00001f34: REVERT
00001f35: JUMPDEST
00001f36: POP
00001f37: POP
00001f38: JUMPDEST
00001f39: POP
00001f3a: POP
00001f3b: POP
00001f3c: JUMP
00001f3d: JUMPDEST
00001f3e: PUSH1 0x00
00001f40: PUSH1 0x02
00001f42: PUSH1 0x07
00001f44: SLOAD
00001f45: PUSH2 0x1f4e
00001f48: SWAP2
00001f49: SWAP1
00001f4a: PUSH2 0x3d41
00001f4d: JUMP
00001f4e: JUMPDEST
00001f4f: SWAP1
00001f50: POP
00001f51: PUSH1 0x00
00001f53: PUSH2 0x1f5c
00001f56: PUSH1 0x01
00001f58: PUSH2 0x11b2
00001f5b: JUMP
00001f5c: JUMPDEST
00001f5d: SWAP1
00001f5e: POP
00001f5f: PUSH1 0x00
00001f61: DUP2
00001f62: PUSH2 0x03f2
00001f65: SLOAD
00001f66: PUSH2 0x1f6f
00001f69: SWAP2
00001f6a: SWAP1
00001f6b: PUSH2 0x3f43
00001f6e: JUMP
00001f6f: JUMPDEST
00001f70: SWAP1
00001f71: POP
00001f72: PUSH1 0x00
00001f74: DUP1
00001f75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f8a: AND
00001f8b: PUSH1 0x0a
00001f8d: DUP4
00001f8e: PUSH2 0x03e8
00001f91: DUP2
00001f92: LT
00001f93: PUSH2 0x1fc5
00001f96: JUMPI
00001f97: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001fb8: PUSH1 0x00
00001fba: MSTORE
00001fbb: PUSH1 0x32
00001fbd: PUSH1 0x04
00001fbf: MSTORE
00001fc0: PUSH1 0x24
00001fc2: PUSH1 0x00
00001fc4: REVERT
00001fc5: JUMPDEST
00001fc6: ADD
00001fc7: PUSH1 0x00
00001fc9: SWAP1
00001fca: SLOAD
00001fcb: SWAP1
00001fcc: PUSH2 0x0100
00001fcf: EXP
00001fd0: SWAP1
00001fd1: DIV
00001fd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fe7: AND
00001fe8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ffd: AND
00001ffe: EQ
00001fff: PUSH2 0x2064
00002002: JUMPI
00002003: PUSH1 0x0a
00002005: DUP3
00002006: PUSH2 0x03e8
00002009: DUP2
0000200a: LT
0000200b: PUSH2 0x203d
0000200e: JUMPI
0000200f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002030: PUSH1 0x00
00002032: MSTORE
00002033: PUSH1 0x32
00002035: PUSH1 0x04
00002037: MSTORE
00002038: PUSH1 0x24
0000203a: PUSH1 0x00
0000203c: REVERT
0000203d: JUMPDEST
0000203e: ADD
0000203f: PUSH1 0x00
00002041: SWAP1
00002042: SLOAD
00002043: SWAP1
00002044: PUSH2 0x0100
00002047: EXP
00002048: SWAP1
00002049: DIV
0000204a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000205f: AND
00002060: PUSH2 0x2088
00002063: JUMP
00002064: JUMPDEST
00002065: PUSH1 0x08
00002067: PUSH1 0x00
00002069: SWAP1
0000206a: SLOAD
0000206b: SWAP1
0000206c: PUSH2 0x0100
0000206f: EXP
00002070: SWAP1
00002071: DIV
00002072: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002087: AND
00002088: JUMPDEST
00002089: SWAP1
0000208a: POP
0000208b: DUP5
0000208c: PUSH1 0x0a
0000208e: DUP4
0000208f: PUSH2 0x03e8
00002092: DUP2
00002093: LT
00002094: PUSH2 0x20c6
00002097: JUMPI
00002098: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000020b9: PUSH1 0x00
000020bb: MSTORE
000020bc: PUSH1 0x32
000020be: PUSH1 0x04
000020c0: MSTORE
000020c1: PUSH1 0x24
000020c3: PUSH1 0x00
000020c5: REVERT
000020c6: JUMPDEST
000020c7: ADD
000020c8: PUSH1 0x00
000020ca: PUSH2 0x0100
000020cd: EXP
000020ce: DUP2
000020cf: SLOAD
000020d0: DUP2
000020d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e6: MUL
000020e7: NOT
000020e8: AND
000020e9: SWAP1
000020ea: DUP4
000020eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002100: AND
00002101: MUL
00002102: OR
00002103: SWAP1
00002104: SSTORE
00002105: POP
00002106: PUSH1 0x01
00002108: DUP4
00002109: PUSH2 0x2112
0000210c: SWAP2
0000210d: SWAP1
0000210e: PUSH2 0x3d9b
00002111: JUMP
00002112: JUMPDEST
00002113: DUP3
00002114: EQ
00002115: ISZERO
00002116: PUSH2 0x2121
00002119: JUMPI
0000211a: DUP4
0000211b: PUSH1 0x07
0000211d: DUP2
0000211e: SWAP1
0000211f: SSTORE
00002120: POP
00002121: JUMPDEST
00002122: PUSH1 0x00
00002124: PUSH2 0x03e8
00002127: PUSH1 0x32
00002129: DUP7
0000212a: PUSH2 0x2133
0000212d: SWAP2
0000212e: SWAP1
0000212f: PUSH2 0x3d41
00002132: JUMP
00002133: JUMPDEST
00002134: PUSH2 0x213d
00002137: SWAP2
00002138: SWAP1
00002139: PUSH2 0x3d10
0000213c: JUMP
0000213d: JUMPDEST
0000213e: SWAP1
0000213f: POP
00002140: PUSH1 0x00
00002142: PUSH2 0x03e8
00002145: PUSH1 0x28
00002147: DUP8
00002148: PUSH2 0x2151
0000214b: SWAP2
0000214c: SWAP1
0000214d: PUSH2 0x3d41
00002150: JUMP
00002151: JUMPDEST
00002152: PUSH2 0x215b
00002155: SWAP2
00002156: SWAP1
00002157: PUSH2 0x3d10
0000215a: JUMP
0000215b: JUMPDEST
0000215c: SWAP1
0000215d: POP
0000215e: PUSH1 0x00
00002160: PUSH2 0x03e8
00002163: PUSH1 0x0a
00002165: DUP9
00002166: PUSH2 0x216f
00002169: SWAP2
0000216a: SWAP1
0000216b: PUSH2 0x3d41
0000216e: JUMP
0000216f: JUMPDEST
00002170: PUSH2 0x2179
00002173: SWAP2
00002174: SWAP1
00002175: PUSH2 0x3d10
00002178: JUMP
00002179: JUMPDEST
0000217a: SWAP1
0000217b: POP
0000217c: PUSH1 0x00
0000217e: DUP7
0000217f: PUSH2 0x03f2
00002182: SLOAD
00002183: LT
00002184: PUSH2 0x219b
00002187: JUMPI
00002188: DUP7
00002189: PUSH2 0x03f3
0000218c: SLOAD
0000218d: PUSH2 0x2196
00002190: SWAP2
00002191: SWAP1
00002192: PUSH2 0x3d10
00002195: JUMP
00002196: JUMPDEST
00002197: PUSH2 0x219e
0000219a: JUMP
0000219b: JUMPDEST
0000219c: PUSH1 0x00
0000219e: JUMPDEST
0000219f: SWAP1
000021a0: POP
000021a1: DUP3
000021a2: DUP2
000021a3: PUSH2 0x03f3
000021a6: SLOAD
000021a7: PUSH2 0x21b0
000021aa: SWAP2
000021ab: SWAP1
000021ac: PUSH2 0x3d9b
000021af: JUMP
000021b0: JUMPDEST
000021b1: PUSH2 0x21ba
000021b4: SWAP2
000021b5: SWAP1
000021b6: PUSH2 0x3cba
000021b9: JUMP
000021ba: JUMPDEST
000021bb: PUSH2 0x03f3
000021be: DUP2
000021bf: SWAP1
000021c0: SSTORE
000021c1: POP
000021c2: PUSH1 0x01
000021c4: PUSH2 0x03f2
000021c7: PUSH1 0x00
000021c9: DUP3
000021ca: DUP3
000021cb: SLOAD
000021cc: PUSH2 0x21d5
000021cf: SWAP2
000021d0: SWAP1
000021d1: PUSH2 0x3cba
000021d4: JUMP
000021d5: JUMPDEST
000021d6: SWAP3
000021d7: POP
000021d8: POP
000021d9: DUP2
000021da: SWAP1
000021db: SSTORE
000021dc: POP
000021dd: PUSH2 0x2212
000021e0: DUP6
000021e1: DUP3
000021e2: DUP5
000021e3: DUP7
000021e4: DUP9
000021e5: DUP14
000021e6: PUSH2 0x21ef
000021e9: SWAP2
000021ea: SWAP1
000021eb: PUSH2 0x3d9b
000021ee: JUMP
000021ef: JUMPDEST
000021f0: PUSH2 0x21f9
000021f3: SWAP2
000021f4: SWAP1
000021f5: PUSH2 0x3d9b
000021f8: JUMP
000021f9: JUMPDEST
000021fa: PUSH2 0x2203
000021fd: SWAP2
000021fe: SWAP1
000021ff: PUSH2 0x3d9b
00002202: JUMP
00002203: JUMPDEST
00002204: PUSH2 0x220d
00002207: SWAP2
00002208: SWAP1
00002209: PUSH2 0x3cba
0000220c: JUMP
0000220d: JUMPDEST
0000220e: PUSH2 0x19b1
00002211: JUMP
00002212: JUMPDEST
00002213: POP
00002214: POP
00002215: POP
00002216: POP
00002217: POP
00002218: POP
00002219: POP
0000221a: POP
0000221b: POP
0000221c: JUMP
0000221d: JUMPDEST
0000221e: PUSH2 0x229e
00002221: DUP4
00002222: PUSH4 0xa9059cbb
00002227: PUSH1 0xe0
00002229: SHL
0000222a: DUP5
0000222b: DUP5
0000222c: PUSH1 0x40
0000222e: MLOAD
0000222f: PUSH1 0x24
00002231: ADD
00002232: PUSH2 0x223c
00002235: SWAP3
00002236: SWAP2
00002237: SWAP1
00002238: PUSH2 0x37cd
0000223b: JUMP
0000223c: JUMPDEST
0000223d: PUSH1 0x40
0000223f: MLOAD
00002240: PUSH1 0x20
00002242: DUP2
00002243: DUP4
00002244: SUB
00002245: SUB
00002246: DUP2
00002247: MSTORE
00002248: SWAP1
00002249: PUSH1 0x40
0000224b: MSTORE
0000224c: SWAP1
0000224d: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000226a: NOT
0000226b: AND
0000226c: PUSH1 0x20
0000226e: DUP3
0000226f: ADD
00002270: DUP1
00002271: MLOAD
00002272: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000228f: DUP4
00002290: DUP2
00002291: DUP4
00002292: AND
00002293: OR
00002294: DUP4
00002295: MSTORE
00002296: POP
00002297: POP
00002298: POP
00002299: POP
0000229a: PUSH2 0x29c1
0000229d: JUMP
0000229e: JUMPDEST
0000229f: POP
000022a0: POP
000022a1: POP
000022a2: JUMP
000022a3: JUMPDEST
000022a4: PUSH1 0x00
000022a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022bb: AND
000022bc: DUP5
000022bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022d2: AND
000022d3: EQ
000022d4: ISZERO
000022d5: PUSH2 0x2313
000022d8: JUMPI
000022d9: PUSH1 0x40
000022db: MLOAD
000022dc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000022fd: DUP2
000022fe: MSTORE
000022ff: PUSH1 0x04
00002301: ADD
00002302: PUSH2 0x230a
00002305: SWAP1
00002306: PUSH2 0x398c
00002309: JUMP
0000230a: JUMPDEST
0000230b: PUSH1 0x40
0000230d: MLOAD
0000230e: DUP1
0000230f: SWAP2
00002310: SUB
00002311: SWAP1
00002312: REVERT
00002313: JUMPDEST
00002314: PUSH1 0x00
00002316: PUSH2 0x231d
00002319: PUSH2 0x1aa5
0000231c: JUMP
0000231d: JUMPDEST
0000231e: SWAP1
0000231f: POP
00002320: PUSH2 0x233d
00002323: DUP2
00002324: DUP8
00002325: DUP8
00002326: PUSH2 0x232e
00002329: DUP9
0000232a: PUSH2 0x2525
0000232d: JUMP
0000232e: JUMPDEST
0000232f: PUSH2 0x2337
00002332: DUP9
00002333: PUSH2 0x2525
00002336: JUMP
00002337: JUMPDEST
00002338: DUP8
00002339: PUSH2 0x25eb
0000233c: JUMP
0000233d: JUMPDEST
0000233e: PUSH1 0x00
00002340: DUP1
00002341: PUSH1 0x00
00002343: DUP7
00002344: DUP2
00002345: MSTORE
00002346: PUSH1 0x20
00002348: ADD
00002349: SWAP1
0000234a: DUP2
0000234b: MSTORE
0000234c: PUSH1 0x20
0000234e: ADD
0000234f: PUSH1 0x00
00002351: KECCAK256
00002352: PUSH1 0x00
00002354: DUP9
00002355: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000236a: AND
0000236b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002380: AND
00002381: DUP2
00002382: MSTORE
00002383: PUSH1 0x20
00002385: ADD
00002386: SWAP1
00002387: DUP2
00002388: MSTORE
00002389: PUSH1 0x20
0000238b: ADD
0000238c: PUSH1 0x00
0000238e: KECCAK256
0000238f: SLOAD
00002390: SWAP1
00002391: POP
00002392: DUP4
00002393: DUP2
00002394: LT
00002395: ISZERO
00002396: PUSH2 0x23d4
00002399: JUMPI
0000239a: PUSH1 0x40
0000239c: MLOAD
0000239d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023be: DUP2
000023bf: MSTORE
000023c0: PUSH1 0x04
000023c2: ADD
000023c3: PUSH2 0x23cb
000023c6: SWAP1
000023c7: PUSH2 0x39ec
000023ca: JUMP
000023cb: JUMPDEST
000023cc: PUSH1 0x40
000023ce: MLOAD
000023cf: DUP1
000023d0: SWAP2
000023d1: SUB
000023d2: SWAP1
000023d3: REVERT
000023d4: JUMPDEST
000023d5: DUP4
000023d6: DUP2
000023d7: SUB
000023d8: PUSH1 0x00
000023da: DUP1
000023db: DUP8
000023dc: DUP2
000023dd: MSTORE
000023de: PUSH1 0x20
000023e0: ADD
000023e1: SWAP1
000023e2: DUP2
000023e3: MSTORE
000023e4: PUSH1 0x20
000023e6: ADD
000023e7: PUSH1 0x00
000023e9: KECCAK256
000023ea: PUSH1 0x00
000023ec: DUP10
000023ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002402: AND
00002403: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002418: AND
00002419: DUP2
0000241a: MSTORE
0000241b: PUSH1 0x20
0000241d: ADD
0000241e: SWAP1
0000241f: DUP2
00002420: MSTORE
00002421: PUSH1 0x20
00002423: ADD
00002424: PUSH1 0x00
00002426: KECCAK256
00002427: DUP2
00002428: SWAP1
00002429: SSTORE
0000242a: POP
0000242b: DUP4
0000242c: PUSH1 0x00
0000242e: DUP1
0000242f: DUP8
00002430: DUP2
00002431: MSTORE
00002432: PUSH1 0x20
00002434: ADD
00002435: SWAP1
00002436: DUP2
00002437: MSTORE
00002438: PUSH1 0x20
0000243a: ADD
0000243b: PUSH1 0x00
0000243d: KECCAK256
0000243e: PUSH1 0x00
00002440: DUP9
00002441: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002456: AND
00002457: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000246c: AND
0000246d: DUP2
0000246e: MSTORE
0000246f: PUSH1 0x20
00002471: ADD
00002472: SWAP1
00002473: DUP2
00002474: MSTORE
00002475: PUSH1 0x20
00002477: ADD
00002478: PUSH1 0x00
0000247a: KECCAK256
0000247b: PUSH1 0x00
0000247d: DUP3
0000247e: DUP3
0000247f: SLOAD
00002480: PUSH2 0x2489
00002483: SWAP2
00002484: SWAP1
00002485: PUSH2 0x3cba
00002488: JUMP
00002489: JUMPDEST
0000248a: SWAP3
0000248b: POP
0000248c: POP
0000248d: DUP2
0000248e: SWAP1
0000248f: SSTORE
00002490: POP
00002491: DUP6
00002492: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024a7: AND
000024a8: DUP8
000024a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024be: AND
000024bf: DUP4
000024c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024d5: AND
000024d6: PUSH32 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62
000024f7: DUP9
000024f8: DUP9
000024f9: PUSH1 0x40
000024fb: MLOAD
000024fc: PUSH2 0x2506
000024ff: SWAP3
00002500: SWAP2
00002501: SWAP1
00002502: PUSH2 0x3b67
00002505: JUMP
00002506: JUMPDEST
00002507: PUSH1 0x40
00002509: MLOAD
0000250a: DUP1
0000250b: SWAP2
0000250c: SUB
0000250d: SWAP1
0000250e: LOG4
0000250f: PUSH2 0x251c
00002512: DUP3
00002513: DUP9
00002514: DUP9
00002515: DUP9
00002516: DUP9
00002517: DUP9
00002518: PUSH2 0x25f3
0000251b: JUMP
0000251c: JUMPDEST
0000251d: POP
0000251e: POP
0000251f: POP
00002520: POP
00002521: POP
00002522: POP
00002523: POP
00002524: JUMP
00002525: JUMPDEST
00002526: PUSH1 0x60
00002528: PUSH1 0x00
0000252a: PUSH1 0x01
0000252c: PUSH8 0xffffffffffffffff
00002535: DUP2
00002536: GT
00002537: ISZERO
00002538: PUSH2 0x256a
0000253b: JUMPI
0000253c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000255d: PUSH1 0x00
0000255f: MSTORE
00002560: PUSH1 0x41
00002562: PUSH1 0x04
00002564: MSTORE
00002565: PUSH1 0x24
00002567: PUSH1 0x00
00002569: REVERT
0000256a: JUMPDEST
0000256b: PUSH1 0x40
0000256d: MLOAD
0000256e: SWAP1
0000256f: DUP1
00002570: DUP3
00002571: MSTORE
00002572: DUP1
00002573: PUSH1 0x20
00002575: MUL
00002576: PUSH1 0x20
00002578: ADD
00002579: DUP3
0000257a: ADD
0000257b: PUSH1 0x40
0000257d: MSTORE
0000257e: DUP1
0000257f: ISZERO
00002580: PUSH2 0x2598
00002583: JUMPI
00002584: DUP2
00002585: PUSH1 0x20
00002587: ADD
00002588: PUSH1 0x20
0000258a: DUP3
0000258b: MUL
0000258c: DUP1
0000258d: CALLDATASIZE
0000258e: DUP4
0000258f: CALLDATACOPY
00002590: DUP1
00002591: DUP3
00002592: ADD
00002593: SWAP2
00002594: POP
00002595: POP
00002596: SWAP1
00002597: POP
00002598: JUMPDEST
00002599: POP
0000259a: SWAP1
0000259b: POP
0000259c: DUP3
0000259d: DUP2
0000259e: PUSH1 0x00
000025a0: DUP2
000025a1: MLOAD
000025a2: DUP2
000025a3: LT
000025a4: PUSH2 0x25d6
000025a7: JUMPI
000025a8: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000025c9: PUSH1 0x00
000025cb: MSTORE
000025cc: PUSH1 0x32
000025ce: PUSH1 0x04
000025d0: MSTORE
000025d1: PUSH1 0x24
000025d3: PUSH1 0x00
000025d5: REVERT
000025d6: JUMPDEST
000025d7: PUSH1 0x20
000025d9: MUL
000025da: PUSH1 0x20
000025dc: ADD
000025dd: ADD
000025de: DUP2
000025df: DUP2
000025e0: MSTORE
000025e1: POP
000025e2: POP
000025e3: DUP1
000025e4: SWAP2
000025e5: POP
000025e6: POP
000025e7: SWAP2
000025e8: SWAP1
000025e9: POP
000025ea: JUMP
000025eb: JUMPDEST
000025ec: POP
000025ed: POP
000025ee: POP
000025ef: POP
000025f0: POP
000025f1: POP
000025f2: JUMP
000025f3: JUMPDEST
000025f4: PUSH2 0x2612
000025f7: DUP5
000025f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000260d: AND
0000260e: PUSH2 0x1934
00002611: JUMP
00002612: JUMPDEST
00002613: ISZERO
00002614: PUSH2 0x27d2
00002617: JUMPI
00002618: DUP4
00002619: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000262e: AND
0000262f: PUSH4 0xf23a6e61
00002634: DUP8
00002635: DUP8
00002636: DUP7
00002637: DUP7
00002638: DUP7
00002639: PUSH1 0x40
0000263b: MLOAD
0000263c: DUP7
0000263d: PUSH4 0xffffffff
00002642: AND
00002643: PUSH1 0xe0
00002645: SHL
00002646: DUP2
00002647: MSTORE
00002648: PUSH1 0x04
0000264a: ADD
0000264b: PUSH2 0x2658
0000264e: SWAP6
0000264f: SWAP5
00002650: SWAP4
00002651: SWAP3
00002652: SWAP2
00002653: SWAP1
00002654: PUSH2 0x3773
00002657: JUMP
00002658: JUMPDEST
00002659: PUSH1 0x20
0000265b: PUSH1 0x40
0000265d: MLOAD
0000265e: DUP1
0000265f: DUP4
00002660: SUB
00002661: DUP2
00002662: PUSH1 0x00
00002664: DUP8
00002665: DUP1
00002666: EXTCODESIZE
00002667: ISZERO
00002668: DUP1
00002669: ISZERO
0000266a: PUSH2 0x2672
0000266d: JUMPI
0000266e: PUSH1 0x00
00002670: DUP1
00002671: REVERT
00002672: JUMPDEST
00002673: POP
00002674: GAS
00002675: CALL
00002676: SWAP3
00002677: POP
00002678: POP
00002679: POP
0000267a: DUP1
0000267b: ISZERO
0000267c: PUSH2 0x26a3
0000267f: JUMPI
00002680: POP
00002681: PUSH1 0x40
00002683: MLOAD
00002684: RETURNDATASIZE
00002685: PUSH1 0x1f
00002687: NOT
00002688: PUSH1 0x1f
0000268a: DUP3
0000268b: ADD
0000268c: AND
0000268d: DUP3
0000268e: ADD
0000268f: DUP1
00002690: PUSH1 0x40
00002692: MSTORE
00002693: POP
00002694: DUP2
00002695: ADD
00002696: SWAP1
00002697: PUSH2 0x26a0
0000269a: SWAP2
0000269b: SWAP1
0000269c: PUSH2 0x31a5
0000269f: JUMP
000026a0: JUMPDEST
000026a1: PUSH1 0x01
000026a3: JUMPDEST
000026a4: PUSH2 0x2749
000026a7: JUMPI
000026a8: PUSH2 0x26af
000026ab: PUSH2 0x4030
000026ae: JUMP
000026af: JUMPDEST
000026b0: DUP1
000026b1: PUSH4 0x08c379a0
000026b6: EQ
000026b7: ISZERO
000026b8: PUSH2 0x270c
000026bb: JUMPI
000026bc: POP
000026bd: PUSH2 0x26c4
000026c0: PUSH2 0x46a5
000026c3: JUMP
000026c4: JUMPDEST
000026c5: DUP1
000026c6: PUSH2 0x26cf
000026c9: JUMPI
000026ca: POP
000026cb: PUSH2 0x270e
000026ce: JUMP
000026cf: JUMPDEST
000026d0: DUP1
000026d1: PUSH1 0x40
000026d3: MLOAD
000026d4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000026f5: DUP2
000026f6: MSTORE
000026f7: PUSH1 0x04
000026f9: ADD
000026fa: PUSH2 0x2703
000026fd: SWAP2
000026fe: SWAP1
000026ff: PUSH2 0x386a
00002702: JUMP
00002703: JUMPDEST
00002704: PUSH1 0x40
00002706: MLOAD
00002707: DUP1
00002708: SWAP2
00002709: SUB
0000270a: SWAP1
0000270b: REVERT
0000270c: JUMPDEST
0000270d: POP
0000270e: JUMPDEST
0000270f: PUSH1 0x40
00002711: MLOAD
00002712: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002733: DUP2
00002734: MSTORE
00002735: PUSH1 0x04
00002737: ADD
00002738: PUSH2 0x2740
0000273b: SWAP1
0000273c: PUSH2 0x388c
0000273f: JUMP
00002740: JUMPDEST
00002741: PUSH1 0x40
00002743: MLOAD
00002744: DUP1
00002745: SWAP2
00002746: SUB
00002747: SWAP1
00002748: REVERT
00002749: JUMPDEST
0000274a: PUSH4 0xf23a6e61
0000274f: PUSH1 0xe0
00002751: SHL
00002752: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000276f: NOT
00002770: AND
00002771: DUP2
00002772: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000278f: NOT
00002790: AND
00002791: EQ
00002792: PUSH2 0x27d0
00002795: JUMPI
00002796: PUSH1 0x40
00002798: MLOAD
00002799: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000027ba: DUP2
000027bb: MSTORE
000027bc: PUSH1 0x04
000027be: ADD
000027bf: PUSH2 0x27c7
000027c2: SWAP1
000027c3: PUSH2 0x38ac
000027c6: JUMP
000027c7: JUMPDEST
000027c8: PUSH1 0x40
000027ca: MLOAD
000027cb: DUP1
000027cc: SWAP2
000027cd: SUB
000027ce: SWAP1
000027cf: REVERT
000027d0: JUMPDEST
000027d1: POP
000027d2: JUMPDEST
000027d3: POP
000027d4: POP
000027d5: POP
000027d6: POP
000027d7: POP
000027d8: POP
000027d9: JUMP
000027da: JUMPDEST
000027db: PUSH2 0x27f9
000027de: DUP5
000027df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027f4: AND
000027f5: PUSH2 0x1934
000027f8: JUMP
000027f9: JUMPDEST
000027fa: ISZERO
000027fb: PUSH2 0x29b9
000027fe: JUMPI
000027ff: DUP4
00002800: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002815: AND
00002816: PUSH4 0xbc197c81
0000281b: DUP8
0000281c: DUP8
0000281d: DUP7
0000281e: DUP7
0000281f: DUP7
00002820: PUSH1 0x40
00002822: MLOAD
00002823: DUP7
00002824: PUSH4 0xffffffff
00002829: AND
0000282a: PUSH1 0xe0
0000282c: SHL
0000282d: DUP2
0000282e: MSTORE
0000282f: PUSH1 0x04
00002831: ADD
00002832: PUSH2 0x283f
00002835: SWAP6
00002836: SWAP5
00002837: SWAP4
00002838: SWAP3
00002839: SWAP2
0000283a: SWAP1
0000283b: PUSH2 0x370b
0000283e: JUMP
0000283f: JUMPDEST
00002840: PUSH1 0x20
00002842: PUSH1 0x40
00002844: MLOAD
00002845: DUP1
00002846: DUP4
00002847: SUB
00002848: DUP2
00002849: PUSH1 0x00
0000284b: DUP8
0000284c: DUP1
0000284d: EXTCODESIZE
0000284e: ISZERO
0000284f: DUP1
00002850: ISZERO
00002851: PUSH2 0x2859
00002854: JUMPI
00002855: PUSH1 0x00
00002857: DUP1
00002858: REVERT
00002859: JUMPDEST
0000285a: POP
0000285b: GAS
0000285c: CALL
0000285d: SWAP3
0000285e: POP
0000285f: POP
00002860: POP
00002861: DUP1
00002862: ISZERO
00002863: PUSH2 0x288a
00002866: JUMPI
00002867: POP
00002868: PUSH1 0x40
0000286a: MLOAD
0000286b: RETURNDATASIZE
0000286c: PUSH1 0x1f
0000286e: NOT
0000286f: PUSH1 0x1f
00002871: DUP3
00002872: ADD
00002873: AND
00002874: DUP3
00002875: ADD
00002876: DUP1
00002877: PUSH1 0x40
00002879: MSTORE
0000287a: POP
0000287b: DUP2
0000287c: ADD
0000287d: SWAP1
0000287e: PUSH2 0x2887
00002881: SWAP2
00002882: SWAP1
00002883: PUSH2 0x31a5
00002886: JUMP
00002887: JUMPDEST
00002888: PUSH1 0x01
0000288a: JUMPDEST
0000288b: PUSH2 0x2930
0000288e: JUMPI
0000288f: PUSH2 0x2896
00002892: PUSH2 0x4030
00002895: JUMP
00002896: JUMPDEST
00002897: DUP1
00002898: PUSH4 0x08c379a0
0000289d: EQ
0000289e: ISZERO
0000289f: PUSH2 0x28f3
000028a2: JUMPI
000028a3: POP
000028a4: PUSH2 0x28ab
000028a7: PUSH2 0x46a5
000028aa: JUMP
000028ab: JUMPDEST
000028ac: DUP1
000028ad: PUSH2 0x28b6
000028b0: JUMPI
000028b1: POP
000028b2: PUSH2 0x28f5
000028b5: JUMP
000028b6: JUMPDEST
000028b7: DUP1
000028b8: PUSH1 0x40
000028ba: MLOAD
000028bb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000028dc: DUP2
000028dd: MSTORE
000028de: PUSH1 0x04
000028e0: ADD
000028e1: PUSH2 0x28ea
000028e4: SWAP2
000028e5: SWAP1
000028e6: PUSH2 0x386a
000028e9: JUMP
000028ea: JUMPDEST
000028eb: PUSH1 0x40
000028ed: MLOAD
000028ee: DUP1
000028ef: SWAP2
000028f0: SUB
000028f1: SWAP1
000028f2: REVERT
000028f3: JUMPDEST
000028f4: POP
000028f5: JUMPDEST
000028f6: PUSH1 0x40
000028f8: MLOAD
000028f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000291a: DUP2
0000291b: MSTORE
0000291c: PUSH1 0x04
0000291e: ADD
0000291f: PUSH2 0x2927
00002922: SWAP1
00002923: PUSH2 0x388c
00002926: JUMP
00002927: JUMPDEST
00002928: PUSH1 0x40
0000292a: MLOAD
0000292b: DUP1
0000292c: SWAP2
0000292d: SUB
0000292e: SWAP1
0000292f: REVERT
00002930: JUMPDEST
00002931: PUSH4 0xbc197c81
00002936: PUSH1 0xe0
00002938: SHL
00002939: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002956: NOT
00002957: AND
00002958: DUP2
00002959: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002976: NOT
00002977: AND
00002978: EQ
00002979: PUSH2 0x29b7
0000297c: JUMPI
0000297d: PUSH1 0x40
0000297f: MLOAD
00002980: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000029a1: DUP2
000029a2: MSTORE
000029a3: PUSH1 0x04
000029a5: ADD
000029a6: PUSH2 0x29ae
000029a9: SWAP1
000029aa: PUSH2 0x38ac
000029ad: JUMP
000029ae: JUMPDEST
000029af: PUSH1 0x40
000029b1: MLOAD
000029b2: DUP1
000029b3: SWAP2
000029b4: SUB
000029b5: SWAP1
000029b6: REVERT
000029b7: JUMPDEST
000029b8: POP
000029b9: JUMPDEST
000029ba: POP
000029bb: POP
000029bc: POP
000029bd: POP
000029be: POP
000029bf: POP
000029c0: JUMP
000029c1: JUMPDEST
000029c2: PUSH1 0x00
000029c4: PUSH2 0x2a23
000029c7: DUP3
000029c8: PUSH1 0x40
000029ca: MLOAD
000029cb: DUP1
000029cc: PUSH1 0x40
000029ce: ADD
000029cf: PUSH1 0x40
000029d1: MSTORE
000029d2: DUP1
000029d3: PUSH1 0x20
000029d5: DUP2
000029d6: MSTORE
000029d7: PUSH1 0x20
000029d9: ADD
000029da: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000029fb: DUP2
000029fc: MSTORE
000029fd: POP
000029fe: DUP6
000029ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a14: AND
00002a15: PUSH2 0x2a88
00002a18: SWAP1
00002a19: SWAP3
00002a1a: SWAP2
00002a1b: SWAP1
00002a1c: PUSH4 0xffffffff
00002a21: AND
00002a22: JUMP
00002a23: JUMPDEST
00002a24: SWAP1
00002a25: POP
00002a26: PUSH1 0x00
00002a28: DUP2
00002a29: MLOAD
00002a2a: GT
00002a2b: ISZERO
00002a2c: PUSH2 0x2a83
00002a2f: JUMPI
00002a30: DUP1
00002a31: DUP1
00002a32: PUSH1 0x20
00002a34: ADD
00002a35: SWAP1
00002a36: MLOAD
00002a37: DUP2
00002a38: ADD
00002a39: SWAP1
00002a3a: PUSH2 0x2a43
00002a3d: SWAP2
00002a3e: SWAP1
00002a3f: PUSH2 0x3153
00002a42: JUMP
00002a43: JUMPDEST
00002a44: PUSH2 0x2a82
00002a47: JUMPI
00002a48: PUSH1 0x40
00002a4a: MLOAD
00002a4b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002a6c: DUP2
00002a6d: MSTORE
00002a6e: PUSH1 0x04
00002a70: ADD
00002a71: PUSH2 0x2a79
00002a74: SWAP1
00002a75: PUSH2 0x3aac
00002a78: JUMP
00002a79: JUMPDEST
00002a7a: PUSH1 0x40
00002a7c: MLOAD
00002a7d: DUP1
00002a7e: SWAP2
00002a7f: SUB
00002a80: SWAP1
00002a81: REVERT
00002a82: JUMPDEST
00002a83: JUMPDEST
00002a84: POP
00002a85: POP
00002a86: POP
00002a87: JUMP
00002a88: JUMPDEST
00002a89: PUSH1 0x60
00002a8b: PUSH2 0x2a97
00002a8e: DUP5
00002a8f: DUP5
00002a90: PUSH1 0x00
00002a92: DUP6
00002a93: PUSH2 0x2aa0
00002a96: JUMP
00002a97: JUMPDEST
00002a98: SWAP1
00002a99: POP
00002a9a: SWAP4
00002a9b: SWAP3
00002a9c: POP
00002a9d: POP
00002a9e: POP
00002a9f: JUMP
00002aa0: JUMPDEST
00002aa1: PUSH1 0x60
00002aa3: DUP3
00002aa4: SELFBALANCE
00002aa5: LT
00002aa6: ISZERO
00002aa7: PUSH2 0x2ae5
00002aaa: JUMPI
00002aab: PUSH1 0x40
00002aad: MLOAD
00002aae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002acf: DUP2
00002ad0: MSTORE
00002ad1: PUSH1 0x04
00002ad3: ADD
00002ad4: PUSH2 0x2adc
00002ad7: SWAP1
00002ad8: PUSH2 0x396c
00002adb: JUMP
00002adc: JUMPDEST
00002add: PUSH1 0x40
00002adf: MLOAD
00002ae0: DUP1
00002ae1: SWAP2
00002ae2: SUB
00002ae3: SWAP1
00002ae4: REVERT
00002ae5: JUMPDEST
00002ae6: PUSH2 0x2aee
00002ae9: DUP6
00002aea: PUSH2 0x1934
00002aed: JUMP
00002aee: JUMPDEST
00002aef: PUSH2 0x2b2d
00002af2: JUMPI
00002af3: PUSH1 0x40
00002af5: MLOAD
00002af6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002b17: DUP2
00002b18: MSTORE
00002b19: PUSH1 0x04
00002b1b: ADD
00002b1c: PUSH2 0x2b24
00002b1f: SWAP1
00002b20: PUSH2 0x3a6c
00002b23: JUMP
00002b24: JUMPDEST
00002b25: PUSH1 0x40
00002b27: MLOAD
00002b28: DUP1
00002b29: SWAP2
00002b2a: SUB
00002b2b: SWAP1
00002b2c: REVERT
00002b2d: JUMPDEST
00002b2e: PUSH1 0x00
00002b30: DUP1
00002b31: DUP7
00002b32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b47: AND
00002b48: DUP6
00002b49: DUP8
00002b4a: PUSH1 0x40
00002b4c: MLOAD
00002b4d: PUSH2 0x2b56
00002b50: SWAP2
00002b51: SWAP1
00002b52: PUSH2 0x36a9
00002b55: JUMP
00002b56: JUMPDEST
00002b57: PUSH1 0x00
00002b59: PUSH1 0x40
00002b5b: MLOAD
00002b5c: DUP1
00002b5d: DUP4
00002b5e: SUB
00002b5f: DUP2
00002b60: DUP6
00002b61: DUP8
00002b62: GAS
00002b63: CALL
00002b64: SWAP3
00002b65: POP
00002b66: POP
00002b67: POP
00002b68: RETURNDATASIZE
00002b69: DUP1
00002b6a: PUSH1 0x00
00002b6c: DUP2
00002b6d: EQ
00002b6e: PUSH2 0x2b93
00002b71: JUMPI
00002b72: PUSH1 0x40
00002b74: MLOAD
00002b75: SWAP2
00002b76: POP
00002b77: PUSH1 0x1f
00002b79: NOT
00002b7a: PUSH1 0x3f
00002b7c: RETURNDATASIZE
00002b7d: ADD
00002b7e: AND
00002b7f: DUP3
00002b80: ADD
00002b81: PUSH1 0x40
00002b83: MSTORE
00002b84: RETURNDATASIZE
00002b85: DUP3
00002b86: MSTORE
00002b87: RETURNDATASIZE
00002b88: PUSH1 0x00
00002b8a: PUSH1 0x20
00002b8c: DUP5
00002b8d: ADD
00002b8e: RETURNDATACOPY
00002b8f: PUSH2 0x2b98
00002b92: JUMP
00002b93: JUMPDEST
00002b94: PUSH1 0x60
00002b96: SWAP2
00002b97: POP
00002b98: JUMPDEST
00002b99: POP
00002b9a: SWAP2
00002b9b: POP
00002b9c: SWAP2
00002b9d: POP
00002b9e: PUSH2 0x2ba8
00002ba1: DUP3
00002ba2: DUP3
00002ba3: DUP7
00002ba4: PUSH2 0x2bb4
00002ba7: JUMP
00002ba8: JUMPDEST
00002ba9: SWAP3
00002baa: POP
00002bab: POP
00002bac: POP
00002bad: SWAP5
00002bae: SWAP4
00002baf: POP
00002bb0: POP
00002bb1: POP
00002bb2: POP
00002bb3: JUMP
00002bb4: JUMPDEST
00002bb5: PUSH1 0x60
00002bb7: DUP4
00002bb8: ISZERO
00002bb9: PUSH2 0x2bc4
00002bbc: JUMPI
00002bbd: DUP3
00002bbe: SWAP1
00002bbf: POP
00002bc0: PUSH2 0x2c14
00002bc3: JUMP
00002bc4: JUMPDEST
00002bc5: PUSH1 0x00
00002bc7: DUP4
00002bc8: MLOAD
00002bc9: GT
00002bca: ISZERO
00002bcb: PUSH2 0x2bd7
00002bce: JUMPI
00002bcf: DUP3
00002bd0: MLOAD
00002bd1: DUP1
00002bd2: DUP5
00002bd3: PUSH1 0x20
00002bd5: ADD
00002bd6: REVERT
00002bd7: JUMPDEST
00002bd8: DUP2
00002bd9: PUSH1 0x40
00002bdb: MLOAD
00002bdc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002bfd: DUP2
00002bfe: MSTORE
00002bff: PUSH1 0x04
00002c01: ADD
00002c02: PUSH2 0x2c0b
00002c05: SWAP2
00002c06: SWAP1
00002c07: PUSH2 0x386a
00002c0a: JUMP
00002c0b: JUMPDEST
00002c0c: PUSH1 0x40
00002c0e: MLOAD
00002c0f: DUP1
00002c10: SWAP2
00002c11: SUB
00002c12: SWAP1
00002c13: REVERT
00002c14: JUMPDEST
00002c15: SWAP4
00002c16: SWAP3
00002c17: POP
00002c18: POP
00002c19: POP
00002c1a: JUMP
00002c1b: JUMPDEST
00002c1c: PUSH1 0x00
00002c1e: PUSH2 0x2c2e
00002c21: PUSH2 0x2c29
00002c24: DUP5
00002c25: PUSH2 0x3bb5
00002c28: JUMP
00002c29: JUMPDEST
00002c2a: PUSH2 0x3b90
00002c2d: JUMP
00002c2e: JUMPDEST
00002c2f: SWAP1
00002c30: POP
00002c31: DUP1
00002c32: DUP4
00002c33: DUP3
00002c34: MSTORE
00002c35: PUSH1 0x20
00002c37: DUP3
00002c38: ADD
00002c39: SWAP1
00002c3a: POP
00002c3b: DUP3
00002c3c: DUP6
00002c3d: PUSH1 0x20
00002c3f: DUP7
00002c40: MUL
00002c41: DUP3
00002c42: ADD
00002c43: GT
00002c44: ISZERO
00002c45: PUSH2 0x2c4d
00002c48: JUMPI
00002c49: PUSH1 0x00
00002c4b: DUP1
00002c4c: REVERT
00002c4d: JUMPDEST
00002c4e: PUSH1 0x00
00002c50: JUMPDEST
00002c51: DUP6
00002c52: DUP2
00002c53: LT
00002c54: ISZERO
00002c55: PUSH2 0x2c7d
00002c58: JUMPI
00002c59: DUP2
00002c5a: PUSH2 0x2c63
00002c5d: DUP9
00002c5e: DUP3
00002c5f: PUSH2 0x2d31
00002c62: JUMP
00002c63: JUMPDEST
00002c64: DUP5
00002c65: MSTORE
00002c66: PUSH1 0x20
00002c68: DUP5
00002c69: ADD
00002c6a: SWAP4
00002c6b: POP
00002c6c: PUSH1 0x20
00002c6e: DUP4
00002c6f: ADD
00002c70: SWAP3
00002c71: POP
00002c72: POP
00002c73: PUSH1 0x01
00002c75: DUP2
00002c76: ADD
00002c77: SWAP1
00002c78: POP
00002c79: PUSH2 0x2c50
00002c7c: JUMP
00002c7d: JUMPDEST
00002c7e: POP
00002c7f: POP
00002c80: POP
00002c81: SWAP4
00002c82: SWAP3
00002c83: POP
00002c84: POP
00002c85: POP
00002c86: JUMP
00002c87: JUMPDEST
00002c88: PUSH1 0x00
00002c8a: PUSH2 0x2c9a
00002c8d: PUSH2 0x2c95
00002c90: DUP5
00002c91: PUSH2 0x3be1
00002c94: JUMP
00002c95: JUMPDEST
00002c96: PUSH2 0x3b90
00002c99: JUMP
00002c9a: JUMPDEST
00002c9b: SWAP1
00002c9c: POP
00002c9d: DUP1
00002c9e: DUP4
00002c9f: DUP3
00002ca0: MSTORE
00002ca1: PUSH1 0x20
00002ca3: DUP3
00002ca4: ADD
00002ca5: SWAP1
00002ca6: POP
00002ca7: DUP3
00002ca8: DUP6
00002ca9: PUSH1 0x20
00002cab: DUP7
00002cac: MUL
00002cad: DUP3
00002cae: ADD
00002caf: GT
00002cb0: ISZERO
00002cb1: PUSH2 0x2cb9
00002cb4: JUMPI
00002cb5: PUSH1 0x00
00002cb7: DUP1
00002cb8: REVERT
00002cb9: JUMPDEST
00002cba: PUSH1 0x00
00002cbc: JUMPDEST
00002cbd: DUP6
00002cbe: DUP2
00002cbf: LT
00002cc0: ISZERO
00002cc1: PUSH2 0x2ce9
00002cc4: JUMPI
00002cc5: DUP2
00002cc6: PUSH2 0x2ccf
00002cc9: DUP9
00002cca: DUP3
00002ccb: PUSH2 0x2e2d
00002cce: JUMP
00002ccf: JUMPDEST
00002cd0: DUP5
00002cd1: MSTORE
00002cd2: PUSH1 0x20
00002cd4: DUP5
00002cd5: ADD
00002cd6: SWAP4
00002cd7: POP
00002cd8: PUSH1 0x20
00002cda: DUP4
00002cdb: ADD
00002cdc: SWAP3
00002cdd: POP
00002cde: POP
00002cdf: PUSH1 0x01
00002ce1: DUP2
00002ce2: ADD
00002ce3: SWAP1
00002ce4: POP
00002ce5: PUSH2 0x2cbc
00002ce8: JUMP
00002ce9: JUMPDEST
00002cea: POP
00002ceb: POP
00002cec: POP
00002ced: SWAP4
00002cee: SWAP3
00002cef: POP
00002cf0: POP
00002cf1: POP
00002cf2: JUMP
00002cf3: JUMPDEST
00002cf4: PUSH1 0x00
00002cf6: PUSH2 0x2d06
00002cf9: PUSH2 0x2d01
00002cfc: DUP5
00002cfd: PUSH2 0x3c0d
00002d00: JUMP
00002d01: JUMPDEST
00002d02: PUSH2 0x3b90
00002d05: JUMP
00002d06: JUMPDEST
00002d07: SWAP1
00002d08: POP
00002d09: DUP3
00002d0a: DUP2
00002d0b: MSTORE
00002d0c: PUSH1 0x20
00002d0e: DUP2
00002d0f: ADD
00002d10: DUP5
00002d11: DUP5
00002d12: DUP5
00002d13: ADD
00002d14: GT
00002d15: ISZERO
00002d16: PUSH2 0x2d1e
00002d19: JUMPI
00002d1a: PUSH1 0x00
00002d1c: DUP1
00002d1d: REVERT
00002d1e: JUMPDEST
00002d1f: PUSH2 0x2d29
00002d22: DUP5
00002d23: DUP3
00002d24: DUP6
00002d25: PUSH2 0x3e55
00002d28: JUMP
00002d29: JUMPDEST
00002d2a: POP
00002d2b: SWAP4
00002d2c: SWAP3
00002d2d: POP
00002d2e: POP
00002d2f: POP
00002d30: JUMP
00002d31: JUMPDEST
00002d32: PUSH1 0x00
00002d34: DUP2
00002d35: CALLDATALOAD
00002d36: SWAP1
00002d37: POP
00002d38: PUSH2 0x2d40
00002d3b: DUP2
00002d3c: PUSH2 0x473b
00002d3f: JUMP
00002d40: JUMPDEST
00002d41: SWAP3
00002d42: SWAP2
00002d43: POP
00002d44: POP
00002d45: JUMP
00002d46: JUMPDEST
00002d47: PUSH1 0x00
00002d49: DUP2
00002d4a: CALLDATALOAD
00002d4b: SWAP1
00002d4c: POP
00002d4d: PUSH2 0x2d55
00002d50: DUP2
00002d51: PUSH2 0x4752
00002d54: JUMP
00002d55: JUMPDEST
00002d56: SWAP3
00002d57: SWAP2
00002d58: POP
00002d59: POP
00002d5a: JUMP
00002d5b: JUMPDEST
00002d5c: PUSH1 0x00
00002d5e: DUP3
00002d5f: PUSH1 0x1f
00002d61: DUP4
00002d62: ADD
00002d63: SLT
00002d64: PUSH2 0x2d6c
00002d67: JUMPI
00002d68: PUSH1 0x00
00002d6a: DUP1
00002d6b: REVERT
00002d6c: JUMPDEST
00002d6d: DUP2
00002d6e: CALLDATALOAD
00002d6f: PUSH2 0x2d7c
00002d72: DUP5
00002d73: DUP3
00002d74: PUSH1 0x20
00002d76: DUP7
00002d77: ADD
00002d78: PUSH2 0x2c1b
00002d7b: JUMP
00002d7c: JUMPDEST
00002d7d: SWAP2
00002d7e: POP
00002d7f: POP
00002d80: SWAP3
00002d81: SWAP2
00002d82: POP
00002d83: POP
00002d84: JUMP
00002d85: JUMPDEST
00002d86: PUSH1 0x00
00002d88: DUP3
00002d89: PUSH1 0x1f
00002d8b: DUP4
00002d8c: ADD
00002d8d: SLT
00002d8e: PUSH2 0x2d96
00002d91: JUMPI
00002d92: PUSH1 0x00
00002d94: DUP1
00002d95: REVERT
00002d96: JUMPDEST
00002d97: DUP2
00002d98: CALLDATALOAD
00002d99: PUSH2 0x2da6
00002d9c: DUP5
00002d9d: DUP3
00002d9e: PUSH1 0x20
00002da0: DUP7
00002da1: ADD
00002da2: PUSH2 0x2c87
00002da5: JUMP
00002da6: JUMPDEST
00002da7: SWAP2
00002da8: POP
00002da9: POP
00002daa: SWAP3
00002dab: SWAP2
00002dac: POP
00002dad: POP
00002dae: JUMP
00002daf: JUMPDEST
00002db0: PUSH1 0x00
00002db2: DUP2
00002db3: CALLDATALOAD
00002db4: SWAP1
00002db5: POP
00002db6: PUSH2 0x2dbe
00002db9: DUP2
00002dba: PUSH2 0x4769
00002dbd: JUMP
00002dbe: JUMPDEST
00002dbf: SWAP3
00002dc0: SWAP2
00002dc1: POP
00002dc2: POP
00002dc3: JUMP
00002dc4: JUMPDEST
00002dc5: PUSH1 0x00
00002dc7: DUP2
00002dc8: MLOAD
00002dc9: SWAP1
00002dca: POP
00002dcb: PUSH2 0x2dd3
00002dce: DUP2
00002dcf: PUSH2 0x4769
00002dd2: JUMP
00002dd3: JUMPDEST
00002dd4: SWAP3
00002dd5: SWAP2
00002dd6: POP
00002dd7: POP
00002dd8: JUMP
00002dd9: JUMPDEST
00002dda: PUSH1 0x00
00002ddc: DUP2
00002ddd: CALLDATALOAD
00002dde: SWAP1
00002ddf: POP
00002de0: PUSH2 0x2de8
00002de3: DUP2
00002de4: PUSH2 0x4780
00002de7: JUMP
00002de8: JUMPDEST
00002de9: SWAP3
00002dea: SWAP2
00002deb: POP
00002dec: POP
00002ded: JUMP
00002dee: JUMPDEST
00002def: PUSH1 0x00
00002df1: DUP2
00002df2: MLOAD
00002df3: SWAP1
00002df4: POP
00002df5: PUSH2 0x2dfd
00002df8: DUP2
00002df9: PUSH2 0x4780
00002dfc: JUMP
00002dfd: JUMPDEST
00002dfe: SWAP3
00002dff: SWAP2
00002e00: POP
00002e01: POP
00002e02: JUMP
00002e03: JUMPDEST
00002e04: PUSH1 0x00
00002e06: DUP3
00002e07: PUSH1 0x1f
00002e09: DUP4
00002e0a: ADD
00002e0b: SLT
00002e0c: PUSH2 0x2e14
00002e0f: JUMPI
00002e10: PUSH1 0x00
00002e12: DUP1
00002e13: REVERT
00002e14: JUMPDEST
00002e15: DUP2
00002e16: CALLDATALOAD
00002e17: PUSH2 0x2e24
00002e1a: DUP5
00002e1b: DUP3
00002e1c: PUSH1 0x20
00002e1e: DUP7
00002e1f: ADD
00002e20: PUSH2 0x2cf3
00002e23: JUMP
00002e24: JUMPDEST
00002e25: SWAP2
00002e26: POP
00002e27: POP
00002e28: SWAP3
00002e29: SWAP2
00002e2a: POP
00002e2b: POP
00002e2c: JUMP
00002e2d: JUMPDEST
00002e2e: PUSH1 0x00
00002e30: DUP2
00002e31: CALLDATALOAD
00002e32: SWAP1
00002e33: POP
00002e34: PUSH2 0x2e3c
00002e37: DUP2
00002e38: PUSH2 0x4797
00002e3b: JUMP
00002e3c: JUMPDEST
00002e3d: SWAP3
00002e3e: SWAP2
00002e3f: POP
00002e40: POP
00002e41: JUMP
00002e42: JUMPDEST
00002e43: PUSH1 0x00
00002e45: DUP2
00002e46: MLOAD
00002e47: SWAP1
00002e48: POP
00002e49: PUSH2 0x2e51
00002e4c: DUP2
00002e4d: PUSH2 0x4797
00002e50: JUMP
00002e51: JUMPDEST
00002e52: SWAP3
00002e53: SWAP2
00002e54: POP
00002e55: POP
00002e56: JUMP
00002e57: JUMPDEST
00002e58: PUSH1 0x00
00002e5a: PUSH1 0x20
00002e5c: DUP3
00002e5d: DUP5
00002e5e: SUB
00002e5f: SLT
00002e60: ISZERO
00002e61: PUSH2 0x2e69
00002e64: JUMPI
00002e65: PUSH1 0x00
00002e67: DUP1
00002e68: REVERT
00002e69: JUMPDEST
00002e6a: PUSH1 0x00
00002e6c: PUSH2 0x2e77
00002e6f: DUP5
00002e70: DUP3
00002e71: DUP6
00002e72: ADD
00002e73: PUSH2 0x2d31
00002e76: JUMP
00002e77: JUMPDEST
00002e78: SWAP2
00002e79: POP
00002e7a: POP
00002e7b: SWAP3
00002e7c: SWAP2
00002e7d: POP
00002e7e: POP
00002e7f: JUMP
00002e80: JUMPDEST
00002e81: PUSH1 0x00
00002e83: PUSH1 0x20
00002e85: DUP3
00002e86: DUP5
00002e87: SUB
00002e88: SLT
00002e89: ISZERO
00002e8a: PUSH2 0x2e92
00002e8d: JUMPI
00002e8e: PUSH1 0x00
00002e90: DUP1
00002e91: REVERT
00002e92: JUMPDEST
00002e93: PUSH1 0x00
00002e95: PUSH2 0x2ea0
00002e98: DUP5
00002e99: DUP3
00002e9a: DUP6
00002e9b: ADD
00002e9c: PUSH2 0x2d46
00002e9f: JUMP
00002ea0: JUMPDEST
00002ea1: SWAP2
00002ea2: POP
00002ea3: POP
00002ea4: SWAP3
00002ea5: SWAP2
00002ea6: POP
00002ea7: POP
00002ea8: JUMP
00002ea9: JUMPDEST
00002eaa: PUSH1 0x00
00002eac: DUP1
00002ead: PUSH1 0x40
00002eaf: DUP4
00002eb0: DUP6
00002eb1: SUB
00002eb2: SLT
00002eb3: ISZERO
00002eb4: PUSH2 0x2ebc
00002eb7: JUMPI
00002eb8: PUSH1 0x00
00002eba: DUP1
00002ebb: REVERT
00002ebc: JUMPDEST
00002ebd: PUSH1 0x00
00002ebf: PUSH2 0x2eca
00002ec2: DUP6
00002ec3: DUP3
00002ec4: DUP7
00002ec5: ADD
00002ec6: PUSH2 0x2d46
00002ec9: JUMP
00002eca: JUMPDEST
00002ecb: SWAP3
00002ecc: POP
00002ecd: POP
00002ece: PUSH1 0x20
00002ed0: PUSH2 0x2edb
00002ed3: DUP6
00002ed4: DUP3
00002ed5: DUP7
00002ed6: ADD
00002ed7: PUSH2 0x2e2d
00002eda: JUMP
00002edb: JUMPDEST
00002edc: SWAP2
00002edd: POP
00002ede: POP
00002edf: SWAP3
00002ee0: POP
00002ee1: SWAP3
00002ee2: SWAP1
00002ee3: POP
00002ee4: JUMP
00002ee5: JUMPDEST
00002ee6: PUSH1 0x00
00002ee8: DUP1
00002ee9: PUSH1 0x40
00002eeb: DUP4
00002eec: DUP6
00002eed: SUB
00002eee: SLT
00002eef: ISZERO
00002ef0: PUSH2 0x2ef8
00002ef3: JUMPI
00002ef4: PUSH1 0x00
00002ef6: DUP1
00002ef7: REVERT
00002ef8: JUMPDEST
00002ef9: PUSH1 0x00
00002efb: PUSH2 0x2f06
00002efe: DUP6
00002eff: DUP3
00002f00: DUP7
00002f01: ADD
00002f02: PUSH2 0x2d31
00002f05: JUMP
00002f06: JUMPDEST
00002f07: SWAP3
00002f08: POP
00002f09: POP
00002f0a: PUSH1 0x20
00002f0c: PUSH2 0x2f17
00002f0f: DUP6
00002f10: DUP3
00002f11: DUP7
00002f12: ADD
00002f13: PUSH2 0x2d31
00002f16: JUMP
00002f17: JUMPDEST
00002f18: SWAP2
00002f19: POP
00002f1a: POP
00002f1b: SWAP3
00002f1c: POP
00002f1d: SWAP3
00002f1e: SWAP1
00002f1f: POP
00002f20: JUMP
00002f21: JUMPDEST
00002f22: PUSH1 0x00
00002f24: DUP1
00002f25: PUSH1 0x00
00002f27: DUP1
00002f28: PUSH1 0x00
00002f2a: PUSH1 0xa0
00002f2c: DUP7
00002f2d: DUP9
00002f2e: SUB
00002f2f: SLT
00002f30: ISZERO
00002f31: PUSH2 0x2f39
00002f34: JUMPI
00002f35: PUSH1 0x00
00002f37: DUP1
00002f38: REVERT
00002f39: JUMPDEST
00002f3a: PUSH1 0x00
00002f3c: PUSH2 0x2f47
00002f3f: DUP9
00002f40: DUP3
00002f41: DUP10
00002f42: ADD
00002f43: PUSH2 0x2d31
00002f46: JUMP
00002f47: JUMPDEST
00002f48: SWAP6
00002f49: POP
00002f4a: POP
00002f4b: PUSH1 0x20
00002f4d: PUSH2 0x2f58
00002f50: DUP9
00002f51: DUP3
00002f52: DUP10
00002f53: ADD
00002f54: PUSH2 0x2d31
00002f57: JUMP
00002f58: JUMPDEST
00002f59: SWAP5
00002f5a: POP
00002f5b: POP
00002f5c: PUSH1 0x40
00002f5e: DUP7
00002f5f: ADD
00002f60: CALLDATALOAD
00002f61: PUSH8 0xffffffffffffffff
00002f6a: DUP2
00002f6b: GT
00002f6c: ISZERO
00002f6d: PUSH2 0x2f75
00002f70: JUMPI
00002f71: PUSH1 0x00
00002f73: DUP1
00002f74: REVERT
00002f75: JUMPDEST
00002f76: PUSH2 0x2f81
00002f79: DUP9
00002f7a: DUP3
00002f7b: DUP10
00002f7c: ADD
00002f7d: PUSH2 0x2d85
00002f80: JUMP
00002f81: JUMPDEST
00002f82: SWAP4
00002f83: POP
00002f84: POP
00002f85: PUSH1 0x60
00002f87: DUP7
00002f88: ADD
00002f89: CALLDATALOAD
00002f8a: PUSH8 0xffffffffffffffff
00002f93: DUP2
00002f94: GT
00002f95: ISZERO
00002f96: PUSH2 0x2f9e
00002f99: JUMPI
00002f9a: PUSH1 0x00
00002f9c: DUP1
00002f9d: REVERT
00002f9e: JUMPDEST
00002f9f: PUSH2 0x2faa
00002fa2: DUP9
00002fa3: DUP3
00002fa4: DUP10
00002fa5: ADD
00002fa6: PUSH2 0x2d85
00002fa9: JUMP
00002faa: JUMPDEST
00002fab: SWAP3
00002fac: POP
00002fad: POP
00002fae: PUSH1 0x80
00002fb0: DUP7
00002fb1: ADD
00002fb2: CALLDATALOAD
00002fb3: PUSH8 0xffffffffffffffff
00002fbc: DUP2
00002fbd: GT
00002fbe: ISZERO
00002fbf: PUSH2 0x2fc7
00002fc2: JUMPI
00002fc3: PUSH1 0x00
00002fc5: DUP1
00002fc6: REVERT
00002fc7: JUMPDEST
00002fc8: PUSH2 0x2fd3
00002fcb: DUP9
00002fcc: DUP3
00002fcd: DUP10
00002fce: ADD
00002fcf: PUSH2 0x2e03
00002fd2: JUMP
00002fd3: JUMPDEST
00002fd4: SWAP2
00002fd5: POP
00002fd6: POP
00002fd7: SWAP3
00002fd8: SWAP6
00002fd9: POP
00002fda: SWAP3
00002fdb: SWAP6
00002fdc: SWAP1
00002fdd: SWAP4
00002fde: POP
00002fdf: JUMP
00002fe0: JUMPDEST
00002fe1: PUSH1 0x00
00002fe3: DUP1
00002fe4: PUSH1 0x00
00002fe6: DUP1
00002fe7: PUSH1 0x00
00002fe9: PUSH1 0xa0
00002feb: DUP7
00002fec: DUP9
00002fed: SUB
00002fee: SLT
00002fef: ISZERO
00002ff0: PUSH2 0x2ff8
00002ff3: JUMPI
00002ff4: PUSH1 0x00
00002ff6: DUP1
00002ff7: REVERT
00002ff8: JUMPDEST
00002ff9: PUSH1 0x00
00002ffb: PUSH2 0x3006
00002ffe: DUP9
00002fff: DUP3
00003000: DUP10
00003001: ADD
00003002: PUSH2 0x2d31
00003005: JUMP
00003006: JUMPDEST
00003007: SWAP6
00003008: POP
00003009: POP
0000300a: PUSH1 0x20
0000300c: PUSH2 0x3017
0000300f: DUP9
00003010: DUP3
00003011: DUP10
00003012: ADD
00003013: PUSH2 0x2d31
00003016: JUMP
00003017: JUMPDEST
00003018: SWAP5
00003019: POP
0000301a: POP
0000301b: PUSH1 0x40
0000301d: PUSH2 0x3028
00003020: DUP9
00003021: DUP3
00003022: DUP10
00003023: ADD
00003024: PUSH2 0x2e2d
00003027: JUMP
00003028: JUMPDEST
00003029: SWAP4
0000302a: POP
0000302b: POP
0000302c: PUSH1 0x60
0000302e: PUSH2 0x3039
00003031: DUP9
00003032: DUP3
00003033: DUP10
00003034: ADD
00003035: PUSH2 0x2e2d
00003038: JUMP
00003039: JUMPDEST
0000303a: SWAP3
0000303b: POP
0000303c: POP
0000303d: PUSH1 0x80
0000303f: DUP7
00003040: ADD
00003041: CALLDATALOAD
00003042: PUSH8 0xffffffffffffffff
0000304b: DUP2
0000304c: GT
0000304d: ISZERO
0000304e: PUSH2 0x3056
00003051: JUMPI
00003052: PUSH1 0x00
00003054: DUP1
00003055: REVERT
00003056: JUMPDEST
00003057: PUSH2 0x3062
0000305a: DUP9
0000305b: DUP3
0000305c: DUP10
0000305d: ADD
0000305e: PUSH2 0x2e03
00003061: JUMP
00003062: JUMPDEST
00003063: SWAP2
00003064: POP
00003065: POP
00003066: SWAP3
00003067: SWAP6
00003068: POP
00003069: SWAP3
0000306a: SWAP6
0000306b: SWAP1
0000306c: SWAP4
0000306d: POP
0000306e: JUMP
0000306f: JUMPDEST
00003070: PUSH1 0x00
00003072: DUP1
00003073: PUSH1 0x40
00003075: DUP4
00003076: DUP6
00003077: SUB
00003078: SLT
00003079: ISZERO
0000307a: PUSH2 0x3082
0000307d: JUMPI
0000307e: PUSH1 0x00
00003080: DUP1
00003081: REVERT
00003082: JUMPDEST
00003083: PUSH1 0x00
00003085: PUSH2 0x3090
00003088: DUP6
00003089: DUP3
0000308a: DUP7
0000308b: ADD
0000308c: PUSH2 0x2d31
0000308f: JUMP
00003090: JUMPDEST
00003091: SWAP3
00003092: POP
00003093: POP
00003094: PUSH1 0x20
00003096: PUSH2 0x30a1
00003099: DUP6
0000309a: DUP3
0000309b: DUP7
0000309c: ADD
0000309d: PUSH2 0x2daf
000030a0: JUMP
000030a1: JUMPDEST
000030a2: SWAP2
000030a3: POP
000030a4: POP
000030a5: SWAP3
000030a6: POP
000030a7: SWAP3
000030a8: SWAP1
000030a9: POP
000030aa: JUMP
000030ab: JUMPDEST
000030ac: PUSH1 0x00
000030ae: DUP1
000030af: PUSH1 0x40
000030b1: DUP4
000030b2: DUP6
000030b3: SUB
000030b4: SLT
000030b5: ISZERO
000030b6: PUSH2 0x30be
000030b9: JUMPI
000030ba: PUSH1 0x00
000030bc: DUP1
000030bd: REVERT
000030be: JUMPDEST
000030bf: PUSH1 0x00
000030c1: PUSH2 0x30cc
000030c4: DUP6
000030c5: DUP3
000030c6: DUP7
000030c7: ADD
000030c8: PUSH2 0x2d31
000030cb: JUMP
000030cc: JUMPDEST
000030cd: SWAP3
000030ce: POP
000030cf: POP
000030d0: PUSH1 0x20
000030d2: PUSH2 0x30dd
000030d5: DUP6
000030d6: DUP3
000030d7: DUP7
000030d8: ADD
000030d9: PUSH2 0x2e2d
000030dc: JUMP
000030dd: JUMPDEST
000030de: SWAP2
000030df: POP
000030e0: POP
000030e1: SWAP3
000030e2: POP
000030e3: SWAP3
000030e4: SWAP1
000030e5: POP
000030e6: JUMP
000030e7: JUMPDEST
000030e8: PUSH1 0x00
000030ea: DUP1
000030eb: PUSH1 0x40
000030ed: DUP4
000030ee: DUP6
000030ef: SUB
000030f0: SLT
000030f1: ISZERO
000030f2: PUSH2 0x30fa
000030f5: JUMPI
000030f6: PUSH1 0x00
000030f8: DUP1
000030f9: REVERT
000030fa: JUMPDEST
000030fb: PUSH1 0x00
000030fd: DUP4
000030fe: ADD
000030ff: CALLDATALOAD
00003100: PUSH8 0xffffffffffffffff
00003109: DUP2
0000310a: GT
0000310b: ISZERO
0000310c: PUSH2 0x3114
0000310f: JUMPI
00003110: PUSH1 0x00
00003112: DUP1
00003113: REVERT
00003114: JUMPDEST
00003115: PUSH2 0x3120
00003118: DUP6
00003119: DUP3
0000311a: DUP7
0000311b: ADD
0000311c: PUSH2 0x2d5b
0000311f: JUMP
00003120: JUMPDEST
00003121: SWAP3
00003122: POP
00003123: POP
00003124: PUSH1 0x20
00003126: DUP4
00003127: ADD
00003128: CALLDATALOAD
00003129: PUSH8 0xffffffffffffffff
00003132: DUP2
00003133: GT
00003134: ISZERO
00003135: PUSH2 0x313d
00003138: JUMPI
00003139: PUSH1 0x00
0000313b: DUP1
0000313c: REVERT
0000313d: JUMPDEST
0000313e: PUSH2 0x3149
00003141: DUP6
00003142: DUP3
00003143: DUP7
00003144: ADD
00003145: PUSH2 0x2d85
00003148: JUMP
00003149: JUMPDEST
0000314a: SWAP2
0000314b: POP
0000314c: POP
0000314d: SWAP3
0000314e: POP
0000314f: SWAP3
00003150: SWAP1
00003151: POP
00003152: JUMP
00003153: JUMPDEST
00003154: PUSH1 0x00
00003156: PUSH1 0x20
00003158: DUP3
00003159: DUP5
0000315a: SUB
0000315b: SLT
0000315c: ISZERO
0000315d: PUSH2 0x3165
00003160: JUMPI
00003161: PUSH1 0x00
00003163: DUP1
00003164: REVERT
00003165: JUMPDEST
00003166: PUSH1 0x00
00003168: PUSH2 0x3173
0000316b: DUP5
0000316c: DUP3
0000316d: DUP6
0000316e: ADD
0000316f: PUSH2 0x2dc4
00003172: JUMP
00003173: JUMPDEST
00003174: SWAP2
00003175: POP
00003176: POP
00003177: SWAP3
00003178: SWAP2
00003179: POP
0000317a: POP
0000317b: JUMP
0000317c: JUMPDEST
0000317d: PUSH1 0x00
0000317f: PUSH1 0x20
00003181: DUP3
00003182: DUP5
00003183: SUB
00003184: SLT
00003185: ISZERO
00003186: PUSH2 0x318e
00003189: JUMPI
0000318a: PUSH1 0x00
0000318c: DUP1
0000318d: REVERT
0000318e: JUMPDEST
0000318f: PUSH1 0x00
00003191: PUSH2 0x319c
00003194: DUP5
00003195: DUP3
00003196: DUP6
00003197: ADD
00003198: PUSH2 0x2dd9
0000319b: JUMP
0000319c: JUMPDEST
0000319d: SWAP2
0000319e: POP
0000319f: POP
000031a0: SWAP3
000031a1: SWAP2
000031a2: POP
000031a3: POP
000031a4: JUMP
000031a5: JUMPDEST
000031a6: PUSH1 0x00
000031a8: PUSH1 0x20
000031aa: DUP3
000031ab: DUP5
000031ac: SUB
000031ad: SLT
000031ae: ISZERO
000031af: PUSH2 0x31b7
000031b2: JUMPI
000031b3: PUSH1 0x00
000031b5: DUP1
000031b6: REVERT
000031b7: JUMPDEST
000031b8: PUSH1 0x00
000031ba: PUSH2 0x31c5
000031bd: DUP5
000031be: DUP3
000031bf: DUP6
000031c0: ADD
000031c1: PUSH2 0x2dee
000031c4: JUMP
000031c5: JUMPDEST
000031c6: SWAP2
000031c7: POP
000031c8: POP
000031c9: SWAP3
000031ca: SWAP2
000031cb: POP
000031cc: POP
000031cd: JUMP
000031ce: JUMPDEST
000031cf: PUSH1 0x00
000031d1: PUSH1 0x20
000031d3: DUP3
000031d4: DUP5
000031d5: SUB
000031d6: SLT
000031d7: ISZERO
000031d8: PUSH2 0x31e0
000031db: JUMPI
000031dc: PUSH1 0x00
000031de: DUP1
000031df: REVERT
000031e0: JUMPDEST
000031e1: PUSH1 0x00
000031e3: PUSH2 0x31ee
000031e6: DUP5
000031e7: DUP3
000031e8: DUP6
000031e9: ADD
000031ea: PUSH2 0x2e2d
000031ed: JUMP
000031ee: JUMPDEST
000031ef: SWAP2
000031f0: POP
000031f1: POP
000031f2: SWAP3
000031f3: SWAP2
000031f4: POP
000031f5: POP
000031f6: JUMP
000031f7: JUMPDEST
000031f8: PUSH1 0x00
000031fa: PUSH1 0x20
000031fc: DUP3
000031fd: DUP5
000031fe: SUB
000031ff: SLT
00003200: ISZERO
00003201: PUSH2 0x3209
00003204: JUMPI
00003205: PUSH1 0x00
00003207: DUP1
00003208: REVERT
00003209: JUMPDEST
0000320a: PUSH1 0x00
0000320c: PUSH2 0x3217
0000320f: DUP5
00003210: DUP3
00003211: DUP6
00003212: ADD
00003213: PUSH2 0x2e42
00003216: JUMP
00003217: JUMPDEST
00003218: SWAP2
00003219: POP
0000321a: POP
0000321b: SWAP3
0000321c: SWAP2
0000321d: POP
0000321e: POP
0000321f: JUMP
00003220: JUMPDEST
00003221: PUSH1 0x00
00003223: PUSH2 0x322c
00003226: DUP4
00003227: DUP4
00003228: PUSH2 0x368b
0000322b: JUMP
0000322c: JUMPDEST
0000322d: PUSH1 0x20
0000322f: DUP4
00003230: ADD
00003231: SWAP1
00003232: POP
00003233: SWAP3
00003234: SWAP2
00003235: POP
00003236: POP
00003237: JUMP
00003238: JUMPDEST
00003239: PUSH2 0x3241
0000323c: DUP2
0000323d: PUSH2 0x3de1
00003240: JUMP
00003241: JUMPDEST
00003242: DUP3
00003243: MSTORE
00003244: POP
00003245: POP
00003246: JUMP
00003247: JUMPDEST
00003248: PUSH2 0x3250
0000324b: DUP2
0000324c: PUSH2 0x3dcf
0000324f: JUMP
00003250: JUMPDEST
00003251: DUP3
00003252: MSTORE
00003253: POP
00003254: POP
00003255: JUMP
00003256: JUMPDEST
00003257: PUSH1 0x00
00003259: PUSH2 0x3261
0000325c: DUP3
0000325d: PUSH2 0x3c4e
00003260: JUMP
00003261: JUMPDEST
00003262: PUSH2 0x326b
00003265: DUP2
00003266: DUP6
00003267: PUSH2 0x3c7c
0000326a: JUMP
0000326b: JUMPDEST
0000326c: SWAP4
0000326d: POP
0000326e: PUSH2 0x3276
00003271: DUP4
00003272: PUSH2 0x3c3e
00003275: JUMP
00003276: JUMPDEST
00003277: DUP1
00003278: PUSH1 0x00
0000327a: JUMPDEST
0000327b: DUP4
0000327c: DUP2
0000327d: LT
0000327e: ISZERO
0000327f: PUSH2 0x32a7
00003282: JUMPI
00003283: DUP2
00003284: MLOAD
00003285: PUSH2 0x328e
00003288: DUP9
00003289: DUP3
0000328a: PUSH2 0x3220
0000328d: JUMP
0000328e: JUMPDEST
0000328f: SWAP8
00003290: POP
00003291: PUSH2 0x3299
00003294: DUP4
00003295: PUSH2 0x3c6f
00003298: JUMP
00003299: JUMPDEST
0000329a: SWAP3
0000329b: POP
0000329c: POP
0000329d: PUSH1 0x01
0000329f: DUP2
000032a0: ADD
000032a1: SWAP1
000032a2: POP
000032a3: PUSH2 0x327a
000032a6: JUMP
000032a7: JUMPDEST
000032a8: POP
000032a9: DUP6
000032aa: SWAP4
000032ab: POP
000032ac: POP
000032ad: POP
000032ae: POP
000032af: SWAP3
000032b0: SWAP2
000032b1: POP
000032b2: POP
000032b3: JUMP
000032b4: JUMPDEST
000032b5: PUSH2 0x32bd
000032b8: DUP2
000032b9: PUSH2 0x3df3
000032bc: JUMP
000032bd: JUMPDEST
000032be: DUP3
000032bf: MSTORE
000032c0: POP
000032c1: POP
000032c2: JUMP
000032c3: JUMPDEST
000032c4: PUSH1 0x00
000032c6: PUSH2 0x32ce
000032c9: DUP3
000032ca: PUSH2 0x3c59
000032cd: JUMP
000032ce: JUMPDEST
000032cf: PUSH2 0x32d8
000032d2: DUP2
000032d3: DUP6
000032d4: PUSH2 0x3c8d
000032d7: JUMP
000032d8: JUMPDEST
000032d9: SWAP4
000032da: POP
000032db: PUSH2 0x32e8
000032de: DUP2
000032df: DUP6
000032e0: PUSH1 0x20
000032e2: DUP7
000032e3: ADD
000032e4: PUSH2 0x3e64
000032e7: JUMP
000032e8: JUMPDEST
000032e9: PUSH2 0x32f1
000032ec: DUP2
000032ed: PUSH2 0x4052
000032f0: JUMP
000032f1: JUMPDEST
000032f2: DUP5
000032f3: ADD
000032f4: SWAP2
000032f5: POP
000032f6: POP
000032f7: SWAP3
000032f8: SWAP2
000032f9: POP
000032fa: POP
000032fb: JUMP
000032fc: JUMPDEST
000032fd: PUSH1 0x00
000032ff: PUSH2 0x3307
00003302: DUP3
00003303: PUSH2 0x3c59
00003306: JUMP
00003307: JUMPDEST
00003308: PUSH2 0x3311
0000330b: DUP2
0000330c: DUP6
0000330d: PUSH2 0x3c9e
00003310: JUMP
00003311: JUMPDEST
00003312: SWAP4
00003313: POP
00003314: PUSH2 0x3321
00003317: DUP2
00003318: DUP6
00003319: PUSH1 0x20
0000331b: DUP7
0000331c: ADD
0000331d: PUSH2 0x3e64
00003320: JUMP
00003321: JUMPDEST
00003322: DUP1
00003323: DUP5
00003324: ADD
00003325: SWAP2
00003326: POP
00003327: POP
00003328: SWAP3
00003329: SWAP2
0000332a: POP
0000332b: POP
0000332c: JUMP
0000332d: JUMPDEST
0000332e: PUSH1 0x00
00003330: PUSH2 0x3338
00003333: DUP3
00003334: PUSH2 0x3c64
00003337: JUMP
00003338: JUMPDEST
00003339: PUSH2 0x3342
0000333c: DUP2
0000333d: DUP6
0000333e: PUSH2 0x3ca9
00003341: JUMP
00003342: JUMPDEST
00003343: SWAP4
00003344: POP
00003345: PUSH2 0x3352
00003348: DUP2
00003349: DUP6
0000334a: PUSH1 0x20
0000334c: DUP7
0000334d: ADD
0000334e: PUSH2 0x3e64
00003351: JUMP
00003352: JUMPDEST
00003353: PUSH2 0x335b
00003356: DUP2
00003357: PUSH2 0x4052
0000335a: JUMP
0000335b: JUMPDEST
0000335c: DUP5
0000335d: ADD
0000335e: SWAP2
0000335f: POP
00003360: POP
00003361: SWAP3
00003362: SWAP2
00003363: POP
00003364: POP
00003365: JUMP
00003366: JUMPDEST
00003367: PUSH1 0x00
00003369: PUSH2 0x3373
0000336c: PUSH1 0x34
0000336e: DUP4
0000336f: PUSH2 0x3ca9
00003372: JUMP
00003373: JUMPDEST
00003374: SWAP2
00003375: POP
00003376: PUSH2 0x337e
00003379: DUP3
0000337a: PUSH2 0x4070
0000337d: JUMP
0000337e: JUMPDEST
0000337f: PUSH1 0x40
00003381: DUP3
00003382: ADD
00003383: SWAP1
00003384: POP
00003385: SWAP2
00003386: SWAP1
00003387: POP
00003388: JUMP
00003389: JUMPDEST
0000338a: PUSH1 0x00
0000338c: PUSH2 0x3396
0000338f: PUSH1 0x28
00003391: DUP4
00003392: PUSH2 0x3ca9
00003395: JUMP
00003396: JUMPDEST
00003397: SWAP2
00003398: POP
00003399: PUSH2 0x33a1
0000339c: DUP3
0000339d: PUSH2 0x40bf
000033a0: JUMP
000033a1: JUMPDEST
000033a2: PUSH1 0x40
000033a4: DUP3
000033a5: ADD
000033a6: SWAP1
000033a7: POP
000033a8: SWAP2
000033a9: SWAP1
000033aa: POP
000033ab: JUMP
000033ac: JUMPDEST
000033ad: PUSH1 0x00
000033af: PUSH2 0x33b9
000033b2: PUSH1 0x2b
000033b4: DUP4
000033b5: PUSH2 0x3ca9
000033b8: JUMP
000033b9: JUMPDEST
000033ba: SWAP2
000033bb: POP
000033bc: PUSH2 0x33c4
000033bf: DUP3
000033c0: PUSH2 0x410e
000033c3: JUMP
000033c4: JUMPDEST
000033c5: PUSH1 0x40
000033c7: DUP3
000033c8: ADD
000033c9: SWAP1
000033ca: POP
000033cb: SWAP2
000033cc: SWAP1
000033cd: POP
000033ce: JUMP
000033cf: JUMPDEST
000033d0: PUSH1 0x00
000033d2: PUSH2 0x33dc
000033d5: PUSH1 0x29
000033d7: DUP4
000033d8: PUSH2 0x3ca9
000033db: JUMP
000033dc: JUMPDEST
000033dd: SWAP2
000033de: POP
000033df: PUSH2 0x33e7
000033e2: DUP3
000033e3: PUSH2 0x415d
000033e6: JUMP
000033e7: JUMPDEST
000033e8: PUSH1 0x40
000033ea: DUP3
000033eb: ADD
000033ec: SWAP1
000033ed: POP
000033ee: SWAP2
000033ef: SWAP1
000033f0: POP
000033f1: JUMP
000033f2: JUMPDEST
000033f3: PUSH1 0x00
000033f5: PUSH2 0x33ff
000033f8: PUSH1 0x33
000033fa: DUP4
000033fb: PUSH2 0x3ca9
000033fe: JUMP
000033ff: JUMPDEST
00003400: SWAP2
00003401: POP
00003402: PUSH2 0x340a
00003405: DUP3
00003406: PUSH2 0x41ac
00003409: JUMP
0000340a: JUMPDEST
0000340b: PUSH1 0x40
0000340d: DUP3
0000340e: ADD
0000340f: SWAP1
00003410: POP
00003411: SWAP2
00003412: SWAP1
00003413: POP
00003414: JUMP
00003415: JUMPDEST
00003416: PUSH1 0x00
00003418: PUSH2 0x3422
0000341b: PUSH1 0x3a
0000341d: DUP4
0000341e: PUSH2 0x3ca9
00003421: JUMP
00003422: JUMPDEST
00003423: SWAP2
00003424: POP
00003425: PUSH2 0x342d
00003428: DUP3
00003429: PUSH2 0x41fb
0000342c: JUMP
0000342d: JUMPDEST
0000342e: PUSH1 0x40
00003430: DUP3
00003431: ADD
00003432: SWAP1
00003433: POP
00003434: SWAP2
00003435: SWAP1
00003436: POP
00003437: JUMP
00003438: JUMPDEST
00003439: PUSH1 0x00
0000343b: PUSH2 0x3445
0000343e: PUSH1 0x1d
00003440: DUP4
00003441: PUSH2 0x3ca9
00003444: JUMP
00003445: JUMPDEST
00003446: SWAP2
00003447: POP
00003448: PUSH2 0x3450
0000344b: DUP3
0000344c: PUSH2 0x424a
0000344f: JUMP
00003450: JUMPDEST
00003451: PUSH1 0x20
00003453: DUP3
00003454: ADD
00003455: SWAP1
00003456: POP
00003457: SWAP2
00003458: SWAP1
00003459: POP
0000345a: JUMP
0000345b: JUMPDEST
0000345c: PUSH1 0x00
0000345e: PUSH2 0x3468
00003461: PUSH1 0x26
00003463: DUP4
00003464: PUSH2 0x3ca9
00003467: JUMP
00003468: JUMPDEST
00003469: SWAP2
0000346a: POP
0000346b: PUSH2 0x3473
0000346e: DUP3
0000346f: PUSH2 0x4273
00003472: JUMP
00003473: JUMPDEST
00003474: PUSH1 0x40
00003476: DUP3
00003477: ADD
00003478: SWAP1
00003479: POP
0000347a: SWAP2
0000347b: SWAP1
0000347c: POP
0000347d: JUMP
0000347e: JUMPDEST
0000347f: PUSH1 0x00
00003481: PUSH2 0x348b
00003484: PUSH1 0x25
00003486: DUP4
00003487: PUSH2 0x3ca9
0000348a: JUMP
0000348b: JUMPDEST
0000348c: SWAP2
0000348d: POP
0000348e: PUSH2 0x3496
00003491: DUP3
00003492: PUSH2 0x42c2
00003495: JUMP
00003496: JUMPDEST
00003497: PUSH1 0x40
00003499: DUP3
0000349a: ADD
0000349b: SWAP1
0000349c: POP
0000349d: SWAP2
0000349e: SWAP1
0000349f: POP
000034a0: JUMP
000034a1: JUMPDEST
000034a2: PUSH1 0x00
000034a4: PUSH2 0x34ae
000034a7: PUSH1 0x32
000034a9: DUP4
000034aa: PUSH2 0x3ca9
000034ad: JUMP
000034ae: JUMPDEST
000034af: SWAP2
000034b0: POP
000034b1: PUSH2 0x34b9
000034b4: DUP3
000034b5: PUSH2 0x4311
000034b8: JUMP
000034b9: JUMPDEST
000034ba: PUSH1 0x40
000034bc: DUP3
000034bd: ADD
000034be: SWAP1
000034bf: POP
000034c0: SWAP2
000034c1: SWAP1
000034c2: POP
000034c3: JUMP
000034c4: JUMPDEST
000034c5: PUSH1 0x00
000034c7: PUSH2 0x34d1
000034ca: PUSH1 0x32
000034cc: DUP4
000034cd: PUSH2 0x3ca9
000034d0: JUMP
000034d1: JUMPDEST
000034d2: SWAP2
000034d3: POP
000034d4: PUSH2 0x34dc
000034d7: DUP3
000034d8: PUSH2 0x4360
000034db: JUMP
000034dc: JUMPDEST
000034dd: PUSH1 0x40
000034df: DUP3
000034e0: ADD
000034e1: SWAP1
000034e2: POP
000034e3: SWAP2
000034e4: SWAP1
000034e5: POP
000034e6: JUMP
000034e7: JUMPDEST
000034e8: PUSH1 0x00
000034ea: PUSH2 0x34f4
000034ed: PUSH1 0x2a
000034ef: DUP4
000034f0: PUSH2 0x3ca9
000034f3: JUMP
000034f4: JUMPDEST
000034f5: SWAP2
000034f6: POP
000034f7: PUSH2 0x34ff
000034fa: DUP3
000034fb: PUSH2 0x43af
000034fe: JUMP
000034ff: JUMPDEST
00003500: PUSH1 0x40
00003502: DUP3
00003503: ADD
00003504: SWAP1
00003505: POP
00003506: SWAP2
00003507: SWAP1
00003508: POP
00003509: JUMP
0000350a: JUMPDEST
0000350b: PUSH1 0x00
0000350d: PUSH2 0x3517
00003510: PUSH1 0x26
00003512: DUP4
00003513: PUSH2 0x3ca9
00003516: JUMP
00003517: JUMPDEST
00003518: SWAP2
00003519: POP
0000351a: PUSH2 0x3522
0000351d: DUP3
0000351e: PUSH2 0x43fe
00003521: JUMP
00003522: JUMPDEST
00003523: PUSH1 0x40
00003525: DUP3
00003526: ADD
00003527: SWAP1
00003528: POP
00003529: SWAP2
0000352a: SWAP1
0000352b: POP
0000352c: JUMP
0000352d: JUMPDEST
0000352e: PUSH1 0x00
00003530: PUSH2 0x353a
00003533: PUSH1 0x2c
00003535: DUP4
00003536: PUSH2 0x3ca9
00003539: JUMP
0000353a: JUMPDEST
0000353b: SWAP2
0000353c: POP
0000353d: PUSH2 0x3545
00003540: DUP3
00003541: PUSH2 0x444d
00003544: JUMP
00003545: JUMPDEST
00003546: PUSH1 0x40
00003548: DUP3
00003549: ADD
0000354a: SWAP1
0000354b: POP
0000354c: SWAP2
0000354d: SWAP1
0000354e: POP
0000354f: JUMP
00003550: JUMPDEST
00003551: PUSH1 0x00
00003553: PUSH2 0x355d
00003556: PUSH1 0x1d
00003558: DUP4
00003559: PUSH2 0x3ca9
0000355c: JUMP
0000355d: JUMPDEST
0000355e: SWAP2
0000355f: POP
00003560: PUSH2 0x3568
00003563: DUP3
00003564: PUSH2 0x449c
00003567: JUMP
00003568: JUMPDEST
00003569: PUSH1 0x20
0000356b: DUP3
0000356c: ADD
0000356d: SWAP1
0000356e: POP
0000356f: SWAP2
00003570: SWAP1
00003571: POP
00003572: JUMP
00003573: JUMPDEST
00003574: PUSH1 0x00
00003576: PUSH2 0x3580
00003579: PUSH1 0x00
0000357b: DUP4
0000357c: PUSH2 0x3c9e
0000357f: JUMP
00003580: JUMPDEST
00003581: SWAP2
00003582: POP
00003583: PUSH2 0x358b
00003586: DUP3
00003587: PUSH2 0x44c5
0000358a: JUMP
0000358b: JUMPDEST
0000358c: PUSH1 0x00
0000358e: DUP3
0000358f: ADD
00003590: SWAP1
00003591: POP
00003592: SWAP2
00003593: SWAP1
00003594: POP
00003595: JUMP
00003596: JUMPDEST
00003597: PUSH1 0x00
00003599: PUSH2 0x35a3
0000359c: PUSH1 0x1d
0000359e: DUP4
0000359f: PUSH2 0x3ca9
000035a2: JUMP
000035a3: JUMPDEST
000035a4: SWAP2
000035a5: POP
000035a6: PUSH2 0x35ae
000035a9: DUP3
000035aa: PUSH2 0x44c8
000035ad: JUMP
000035ae: JUMPDEST
000035af: PUSH1 0x20
000035b1: DUP3
000035b2: ADD
000035b3: SWAP1
000035b4: POP
000035b5: SWAP2
000035b6: SWAP1
000035b7: POP
000035b8: JUMP
000035b9: JUMPDEST
000035ba: PUSH1 0x00
000035bc: PUSH2 0x35c6
000035bf: PUSH1 0x29
000035c1: DUP4
000035c2: PUSH2 0x3ca9
000035c5: JUMP
000035c6: JUMPDEST
000035c7: SWAP2
000035c8: POP
000035c9: PUSH2 0x35d1
000035cc: DUP3
000035cd: PUSH2 0x44f1
000035d0: JUMP
000035d1: JUMPDEST
000035d2: PUSH1 0x40
000035d4: DUP3
000035d5: ADD
000035d6: SWAP1
000035d7: POP
000035d8: SWAP2
000035d9: SWAP1
000035da: POP
000035db: JUMP
000035dc: JUMPDEST
000035dd: PUSH1 0x00
000035df: PUSH2 0x35e9
000035e2: PUSH1 0x2a
000035e4: DUP4
000035e5: PUSH2 0x3ca9
000035e8: JUMP
000035e9: JUMPDEST
000035ea: SWAP2
000035eb: POP
000035ec: PUSH2 0x35f4
000035ef: DUP3
000035f0: PUSH2 0x4540
000035f3: JUMP
000035f4: JUMPDEST
000035f5: PUSH1 0x40
000035f7: DUP3
000035f8: ADD
000035f9: SWAP1
000035fa: POP
000035fb: SWAP2
000035fc: SWAP1
000035fd: POP
000035fe: JUMP
000035ff: JUMPDEST
00003600: PUSH1 0x00
00003602: PUSH2 0x360c
00003605: PUSH1 0x29
00003607: DUP4
00003608: PUSH2 0x3ca9
0000360b: JUMP
0000360c: JUMPDEST
0000360d: SWAP2
0000360e: POP
0000360f: PUSH2 0x3617
00003612: DUP3
00003613: PUSH2 0x458f
00003616: JUMP
00003617: JUMPDEST
00003618: PUSH1 0x40
0000361a: DUP3
0000361b: ADD
0000361c: SWAP1
0000361d: POP
0000361e: SWAP2
0000361f: SWAP1
00003620: POP
00003621: JUMP
00003622: JUMPDEST
00003623: PUSH1 0x00
00003625: PUSH2 0x362f
00003628: PUSH1 0x28
0000362a: DUP4
0000362b: PUSH2 0x3ca9
0000362e: JUMP
0000362f: JUMPDEST
00003630: SWAP2
00003631: POP
00003632: PUSH2 0x363a
00003635: DUP3
00003636: PUSH2 0x45de
00003639: JUMP
0000363a: JUMPDEST
0000363b: PUSH1 0x40
0000363d: DUP3
0000363e: ADD
0000363f: SWAP1
00003640: POP
00003641: SWAP2
00003642: SWAP1
00003643: POP
00003644: JUMP
00003645: JUMPDEST
00003646: PUSH1 0x00
00003648: PUSH2 0x3652
0000364b: PUSH1 0x21
0000364d: DUP4
0000364e: PUSH2 0x3ca9
00003651: JUMP
00003652: JUMPDEST
00003653: SWAP2
00003654: POP
00003655: PUSH2 0x365d
00003658: DUP3
00003659: PUSH2 0x462d
0000365c: JUMP
0000365d: JUMPDEST
0000365e: PUSH1 0x40
00003660: DUP3
00003661: ADD
00003662: SWAP1
00003663: POP
00003664: SWAP2
00003665: SWAP1
00003666: POP
00003667: JUMP
00003668: JUMPDEST
00003669: PUSH1 0x00
0000366b: PUSH2 0x3675
0000366e: PUSH1 0x1f
00003670: DUP4
00003671: PUSH2 0x3ca9
00003674: JUMP
00003675: JUMPDEST
00003676: SWAP2
00003677: POP
00003678: PUSH2 0x3680
0000367b: DUP3
0000367c: PUSH2 0x467c
0000367f: JUMP
00003680: JUMPDEST
00003681: PUSH1 0x20
00003683: DUP3
00003684: ADD
00003685: SWAP1
00003686: POP
00003687: SWAP2
00003688: SWAP1
00003689: POP
0000368a: JUMP
0000368b: JUMPDEST
0000368c: PUSH2 0x3694
0000368f: DUP2
00003690: PUSH2 0x3e4b
00003693: JUMP
00003694: JUMPDEST
00003695: DUP3
00003696: MSTORE
00003697: POP
00003698: POP
00003699: JUMP
0000369a: JUMPDEST
0000369b: PUSH2 0x36a3
0000369e: DUP2
0000369f: PUSH2 0x3e4b
000036a2: JUMP
000036a3: JUMPDEST
000036a4: DUP3
000036a5: MSTORE
000036a6: POP
000036a7: POP
000036a8: JUMP
000036a9: JUMPDEST
000036aa: PUSH1 0x00
000036ac: PUSH2 0x36b5
000036af: DUP3
000036b0: DUP5
000036b1: PUSH2 0x32fc
000036b4: JUMP
000036b5: JUMPDEST
000036b6: SWAP2
000036b7: POP
000036b8: DUP2
000036b9: SWAP1
000036ba: POP
000036bb: SWAP3
000036bc: SWAP2
000036bd: POP
000036be: POP
000036bf: JUMP
000036c0: JUMPDEST
000036c1: PUSH1 0x00
000036c3: PUSH2 0x36cb
000036c6: DUP3
000036c7: PUSH2 0x3573
000036ca: JUMP
000036cb: JUMPDEST
000036cc: SWAP2
000036cd: POP
000036ce: DUP2
000036cf: SWAP1
000036d0: POP
000036d1: SWAP2
000036d2: SWAP1
000036d3: POP
000036d4: JUMP
000036d5: JUMPDEST
000036d6: PUSH1 0x00
000036d8: PUSH1 0x20
000036da: DUP3
000036db: ADD
000036dc: SWAP1
000036dd: POP
000036de: PUSH2 0x36ea
000036e1: PUSH1 0x00
000036e3: DUP4
000036e4: ADD
000036e5: DUP5
000036e6: PUSH2 0x3247
000036e9: JUMP
000036ea: JUMPDEST
000036eb: SWAP3
000036ec: SWAP2
000036ed: POP
000036ee: POP
000036ef: JUMP
000036f0: JUMPDEST
000036f1: PUSH1 0x00
000036f3: PUSH1 0x20
000036f5: DUP3
000036f6: ADD
000036f7: SWAP1
000036f8: POP
000036f9: PUSH2 0x3705
000036fc: PUSH1 0x00
000036fe: DUP4
000036ff: ADD
00003700: DUP5
00003701: PUSH2 0x3238
00003704: JUMP
00003705: JUMPDEST
00003706: SWAP3
00003707: SWAP2
00003708: POP
00003709: POP
0000370a: JUMP
0000370b: JUMPDEST
0000370c: PUSH1 0x00
0000370e: PUSH1 0xa0
00003710: DUP3
00003711: ADD
00003712: SWAP1
00003713: POP
00003714: PUSH2 0x3720
00003717: PUSH1 0x00
00003719: DUP4
0000371a: ADD
0000371b: DUP9
0000371c: PUSH2 0x3247
0000371f: JUMP
00003720: JUMPDEST
00003721: PUSH2 0x372d
00003724: PUSH1 0x20
00003726: DUP4
00003727: ADD
00003728: DUP8
00003729: PUSH2 0x3247
0000372c: JUMP
0000372d: JUMPDEST
0000372e: DUP2
0000372f: DUP2
00003730: SUB
00003731: PUSH1 0x40
00003733: DUP4
00003734: ADD
00003735: MSTORE
00003736: PUSH2 0x373f
00003739: DUP2
0000373a: DUP7
0000373b: PUSH2 0x3256
0000373e: JUMP
0000373f: JUMPDEST
00003740: SWAP1
00003741: POP
00003742: DUP2
00003743: DUP2
00003744: SUB
00003745: PUSH1 0x60
00003747: DUP4
00003748: ADD
00003749: MSTORE
0000374a: PUSH2 0x3753
0000374d: DUP2
0000374e: DUP6
0000374f: PUSH2 0x3256
00003752: JUMP
00003753: JUMPDEST
00003754: SWAP1
00003755: POP
00003756: DUP2
00003757: DUP2
00003758: SUB
00003759: PUSH1 0x80
0000375b: DUP4
0000375c: ADD
0000375d: MSTORE
0000375e: PUSH2 0x3767
00003761: DUP2
00003762: DUP5
00003763: PUSH2 0x32c3
00003766: JUMP
00003767: JUMPDEST
00003768: SWAP1
00003769: POP
0000376a: SWAP7
0000376b: SWAP6
0000376c: POP
0000376d: POP
0000376e: POP
0000376f: POP
00003770: POP
00003771: POP
00003772: JUMP
00003773: JUMPDEST
00003774: PUSH1 0x00
00003776: PUSH1 0xa0
00003778: DUP3
00003779: ADD
0000377a: SWAP1
0000377b: POP
0000377c: PUSH2 0x3788
0000377f: PUSH1 0x00
00003781: DUP4
00003782: ADD
00003783: DUP9
00003784: PUSH2 0x3247
00003787: JUMP
00003788: JUMPDEST
00003789: PUSH2 0x3795
0000378c: PUSH1 0x20
0000378e: DUP4
0000378f: ADD
00003790: DUP8
00003791: PUSH2 0x3247
00003794: JUMP
00003795: JUMPDEST
00003796: PUSH2 0x37a2
00003799: PUSH1 0x40
0000379b: DUP4
0000379c: ADD
0000379d: DUP7
0000379e: PUSH2 0x369a
000037a1: JUMP
000037a2: JUMPDEST
000037a3: PUSH2 0x37af
000037a6: PUSH1 0x60
000037a8: DUP4
000037a9: ADD
000037aa: DUP6
000037ab: PUSH2 0x369a
000037ae: JUMP
000037af: JUMPDEST
000037b0: DUP2
000037b1: DUP2
000037b2: SUB
000037b3: PUSH1 0x80
000037b5: DUP4
000037b6: ADD
000037b7: MSTORE
000037b8: PUSH2 0x37c1
000037bb: DUP2
000037bc: DUP5
000037bd: PUSH2 0x32c3
000037c0: JUMP
000037c1: JUMPDEST
000037c2: SWAP1
000037c3: POP
000037c4: SWAP7
000037c5: SWAP6
000037c6: POP
000037c7: POP
000037c8: POP
000037c9: POP
000037ca: POP
000037cb: POP
000037cc: JUMP
000037cd: JUMPDEST
000037ce: PUSH1 0x00
000037d0: PUSH1 0x40
000037d2: DUP3
000037d3: ADD
000037d4: SWAP1
000037d5: POP
000037d6: PUSH2 0x37e2
000037d9: PUSH1 0x00
000037db: DUP4
000037dc: ADD
000037dd: DUP6
000037de: PUSH2 0x3247
000037e1: JUMP
000037e2: JUMPDEST
000037e3: PUSH2 0x37ef
000037e6: PUSH1 0x20
000037e8: DUP4
000037e9: ADD
000037ea: DUP5
000037eb: PUSH2 0x369a
000037ee: JUMP
000037ef: JUMPDEST
000037f0: SWAP4
000037f1: SWAP3
000037f2: POP
000037f3: POP
000037f4: POP
000037f5: JUMP
000037f6: JUMPDEST
000037f7: PUSH1 0x00
000037f9: PUSH1 0x20
000037fb: DUP3
000037fc: ADD
000037fd: SWAP1
000037fe: POP
000037ff: DUP2
00003800: DUP2
00003801: SUB
00003802: PUSH1 0x00
00003804: DUP4
00003805: ADD
00003806: MSTORE
00003807: PUSH2 0x3810
0000380a: DUP2
0000380b: DUP5
0000380c: PUSH2 0x3256
0000380f: JUMP
00003810: JUMPDEST
00003811: SWAP1
00003812: POP
00003813: SWAP3
00003814: SWAP2
00003815: POP
00003816: POP
00003817: JUMP
00003818: JUMPDEST
00003819: PUSH1 0x00
0000381b: PUSH1 0x40
0000381d: DUP3
0000381e: ADD
0000381f: SWAP1
00003820: POP
00003821: DUP2
00003822: DUP2
00003823: SUB
00003824: PUSH1 0x00
00003826: DUP4
00003827: ADD
00003828: MSTORE
00003829: PUSH2 0x3832
0000382c: DUP2
0000382d: DUP6
0000382e: PUSH2 0x3256
00003831: JUMP
00003832: JUMPDEST
00003833: SWAP1
00003834: POP
00003835: DUP2
00003836: DUP2
00003837: SUB
00003838: PUSH1 0x20
0000383a: DUP4
0000383b: ADD
0000383c: MSTORE
0000383d: PUSH2 0x3846
00003840: DUP2
00003841: DUP5
00003842: PUSH2 0x3256
00003845: JUMP
00003846: JUMPDEST
00003847: SWAP1
00003848: POP
00003849: SWAP4
0000384a: SWAP3
0000384b: POP
0000384c: POP
0000384d: POP
0000384e: JUMP
0000384f: JUMPDEST
00003850: PUSH1 0x00
00003852: PUSH1 0x20
00003854: DUP3
00003855: ADD
00003856: SWAP1
00003857: POP
00003858: PUSH2 0x3864
0000385b: PUSH1 0x00
0000385d: DUP4
0000385e: ADD
0000385f: DUP5
00003860: PUSH2 0x32b4
00003863: JUMP
00003864: JUMPDEST
00003865: SWAP3
00003866: SWAP2
00003867: POP
00003868: POP
00003869: JUMP
0000386a: JUMPDEST
0000386b: PUSH1 0x00
0000386d: PUSH1 0x20
0000386f: DUP3
00003870: ADD
00003871: SWAP1
00003872: POP
00003873: DUP2
00003874: DUP2
00003875: SUB
00003876: PUSH1 0x00
00003878: DUP4
00003879: ADD
0000387a: MSTORE
0000387b: PUSH2 0x3884
0000387e: DUP2
0000387f: DUP5
00003880: PUSH2 0x332d
00003883: JUMP
00003884: JUMPDEST
00003885: SWAP1
00003886: POP
00003887: SWAP3
00003888: SWAP2
00003889: POP
0000388a: POP
0000388b: JUMP
0000388c: JUMPDEST
0000388d: PUSH1 0x00
0000388f: PUSH1 0x20
00003891: DUP3
00003892: ADD
00003893: SWAP1
00003894: POP
00003895: DUP2
00003896: DUP2
00003897: SUB
00003898: PUSH1 0x00
0000389a: DUP4
0000389b: ADD
0000389c: MSTORE
0000389d: PUSH2 0x38a5
000038a0: DUP2
000038a1: PUSH2 0x3366
000038a4: JUMP
000038a5: JUMPDEST
000038a6: SWAP1
000038a7: POP
000038a8: SWAP2
000038a9: SWAP1
000038aa: POP
000038ab: JUMP
000038ac: JUMPDEST
000038ad: PUSH1 0x00
000038af: PUSH1 0x20
000038b1: DUP3
000038b2: ADD
000038b3: SWAP1
000038b4: POP
000038b5: DUP2
000038b6: DUP2
000038b7: SUB
000038b8: PUSH1 0x00
000038ba: DUP4
000038bb: ADD
000038bc: MSTORE
000038bd: PUSH2 0x38c5
000038c0: DUP2
000038c1: PUSH2 0x3389
000038c4: JUMP
000038c5: JUMPDEST
000038c6: SWAP1
000038c7: POP
000038c8: SWAP2
000038c9: SWAP1
000038ca: POP
000038cb: JUMP
000038cc: JUMPDEST
000038cd: PUSH1 0x00
000038cf: PUSH1 0x20
000038d1: DUP3
000038d2: ADD
000038d3: SWAP1
000038d4: POP
000038d5: DUP2
000038d6: DUP2
000038d7: SUB
000038d8: PUSH1 0x00
000038da: DUP4
000038db: ADD
000038dc: MSTORE
000038dd: PUSH2 0x38e5
000038e0: DUP2
000038e1: PUSH2 0x33ac
000038e4: JUMP
000038e5: JUMPDEST
000038e6: SWAP1
000038e7: POP
000038e8: SWAP2
000038e9: SWAP1
000038ea: POP
000038eb: JUMP
000038ec: JUMPDEST
000038ed: PUSH1 0x00
000038ef: PUSH1 0x20
000038f1: DUP3
000038f2: ADD
000038f3: SWAP1
000038f4: POP
000038f5: DUP2
000038f6: DUP2
000038f7: SUB
000038f8: PUSH1 0x00
000038fa: DUP4
000038fb: ADD
000038fc: MSTORE
000038fd: PUSH2 0x3905
00003900: DUP2
00003901: PUSH2 0x33cf
00003904: JUMP
00003905: JUMPDEST
00003906: SWAP1
00003907: POP
00003908: SWAP2
00003909: SWAP1
0000390a: POP
0000390b: JUMP
0000390c: JUMPDEST
0000390d: PUSH1 0x00
0000390f: PUSH1 0x20
00003911: DUP3
00003912: ADD
00003913: SWAP1
00003914: POP
00003915: DUP2
00003916: DUP2
00003917: SUB
00003918: PUSH1 0x00
0000391a: DUP4
0000391b: ADD
0000391c: MSTORE
0000391d: PUSH2 0x3925
00003920: DUP2
00003921: PUSH2 0x33f2
00003924: JUMP
00003925: JUMPDEST
00003926: SWAP1
00003927: POP
00003928: SWAP2
00003929: SWAP1
0000392a: POP
0000392b: JUMP
0000392c: JUMPDEST
0000392d: PUSH1 0x00
0000392f: PUSH1 0x20
00003931: DUP3
00003932: ADD
00003933: SWAP1
00003934: POP
00003935: DUP2
00003936: DUP2
00003937: SUB
00003938: PUSH1 0x00
0000393a: DUP4
0000393b: ADD
0000393c: MSTORE
0000393d: PUSH2 0x3945
00003940: DUP2
00003941: PUSH2 0x3415
00003944: JUMP
00003945: JUMPDEST
00003946: SWAP1
00003947: POP
00003948: SWAP2
00003949: SWAP1
0000394a: POP
0000394b: JUMP
0000394c: JUMPDEST
0000394d: PUSH1 0x00
0000394f: PUSH1 0x20
00003951: DUP3
00003952: ADD
00003953: SWAP1
00003954: POP
00003955: DUP2
00003956: DUP2
00003957: SUB
00003958: PUSH1 0x00
0000395a: DUP4
0000395b: ADD
0000395c: MSTORE
0000395d: PUSH2 0x3965
00003960: DUP2
00003961: PUSH2 0x3438
00003964: JUMP
00003965: JUMPDEST
00003966: SWAP1
00003967: POP
00003968: SWAP2
00003969: SWAP1
0000396a: POP
0000396b: JUMP
0000396c: JUMPDEST
0000396d: PUSH1 0x00
0000396f: PUSH1 0x20
00003971: DUP3
00003972: ADD
00003973: SWAP1
00003974: POP
00003975: DUP2
00003976: DUP2
00003977: SUB
00003978: PUSH1 0x00
0000397a: DUP4
0000397b: ADD
0000397c: MSTORE
0000397d: PUSH2 0x3985
00003980: DUP2
00003981: PUSH2 0x345b
00003984: JUMP
00003985: JUMPDEST
00003986: SWAP1
00003987: POP
00003988: SWAP2
00003989: SWAP1
0000398a: POP
0000398b: JUMP
0000398c: JUMPDEST
0000398d: PUSH1 0x00
0000398f: PUSH1 0x20
00003991: DUP3
00003992: ADD
00003993: SWAP1
00003994: POP
00003995: DUP2
00003996: DUP2
00003997: SUB
00003998: PUSH1 0x00
0000399a: DUP4
0000399b: ADD
0000399c: MSTORE
0000399d: PUSH2 0x39a5
000039a0: DUP2
000039a1: PUSH2 0x347e
000039a4: JUMP
000039a5: JUMPDEST
000039a6: SWAP1
000039a7: POP
000039a8: SWAP2
000039a9: SWAP1
000039aa: POP
000039ab: JUMP
000039ac: JUMPDEST
000039ad: PUSH1 0x00
000039af: PUSH1 0x20
000039b1: DUP3
000039b2: ADD
000039b3: SWAP1
000039b4: POP
000039b5: DUP2
000039b6: DUP2
000039b7: SUB
000039b8: PUSH1 0x00
000039ba: DUP4
000039bb: ADD
000039bc: MSTORE
000039bd: PUSH2 0x39c5
000039c0: DUP2
000039c1: PUSH2 0x34a1
000039c4: JUMP
000039c5: JUMPDEST
000039c6: SWAP1
000039c7: POP
000039c8: SWAP2
000039c9: SWAP1
000039ca: POP
000039cb: JUMP
000039cc: JUMPDEST
000039cd: PUSH1 0x00
000039cf: PUSH1 0x20
000039d1: DUP3
000039d2: ADD
000039d3: SWAP1
000039d4: POP
000039d5: DUP2
000039d6: DUP2
000039d7: SUB
000039d8: PUSH1 0x00
000039da: DUP4
000039db: ADD
000039dc: MSTORE
000039dd: PUSH2 0x39e5
000039e0: DUP2
000039e1: PUSH2 0x34c4
000039e4: JUMP
000039e5: JUMPDEST
000039e6: SWAP1
000039e7: POP
000039e8: SWAP2
000039e9: SWAP1
000039ea: POP
000039eb: JUMP
000039ec: JUMPDEST
000039ed: PUSH1 0x00
000039ef: PUSH1 0x20
000039f1: DUP3
000039f2: ADD
000039f3: SWAP1
000039f4: POP
000039f5: DUP2
000039f6: DUP2
000039f7: SUB
000039f8: PUSH1 0x00
000039fa: DUP4
000039fb: ADD
000039fc: MSTORE
000039fd: PUSH2 0x3a05
00003a00: DUP2
00003a01: PUSH2 0x34e7
00003a04: JUMP
00003a05: JUMPDEST
00003a06: SWAP1
00003a07: POP
00003a08: SWAP2
00003a09: SWAP1
00003a0a: POP
00003a0b: JUMP
00003a0c: JUMPDEST
00003a0d: PUSH1 0x00
00003a0f: PUSH1 0x20
00003a11: DUP3
00003a12: ADD
00003a13: SWAP1
00003a14: POP
00003a15: DUP2
00003a16: DUP2
00003a17: SUB
00003a18: PUSH1 0x00
00003a1a: DUP4
00003a1b: ADD
00003a1c: MSTORE
00003a1d: PUSH2 0x3a25
00003a20: DUP2
00003a21: PUSH2 0x350a
00003a24: JUMP
00003a25: JUMPDEST
00003a26: SWAP1
00003a27: POP
00003a28: SWAP2
00003a29: SWAP1
00003a2a: POP
00003a2b: JUMP
00003a2c: JUMPDEST
00003a2d: PUSH1 0x00
00003a2f: PUSH1 0x20
00003a31: DUP3
00003a32: ADD
00003a33: SWAP1
00003a34: POP
00003a35: DUP2
00003a36: DUP2
00003a37: SUB
00003a38: PUSH1 0x00
00003a3a: DUP4
00003a3b: ADD
00003a3c: MSTORE
00003a3d: PUSH2 0x3a45
00003a40: DUP2
00003a41: PUSH2 0x352d
00003a44: JUMP
00003a45: JUMPDEST
00003a46: SWAP1
00003a47: POP
00003a48: SWAP2
00003a49: SWAP1
00003a4a: POP
00003a4b: JUMP
00003a4c: JUMPDEST
00003a4d: PUSH1 0x00
00003a4f: PUSH1 0x20
00003a51: DUP3
00003a52: ADD
00003a53: SWAP1
00003a54: POP
00003a55: DUP2
00003a56: DUP2
00003a57: SUB
00003a58: PUSH1 0x00
00003a5a: DUP4
00003a5b: ADD
00003a5c: MSTORE
00003a5d: PUSH2 0x3a65
00003a60: DUP2
00003a61: PUSH2 0x3550
00003a64: JUMP
00003a65: JUMPDEST
00003a66: SWAP1
00003a67: POP
00003a68: SWAP2
00003a69: SWAP1
00003a6a: POP
00003a6b: JUMP
00003a6c: JUMPDEST
00003a6d: PUSH1 0x00
00003a6f: PUSH1 0x20
00003a71: DUP3
00003a72: ADD
00003a73: SWAP1
00003a74: POP
00003a75: DUP2
00003a76: DUP2
00003a77: SUB
00003a78: PUSH1 0x00
00003a7a: DUP4
00003a7b: ADD
00003a7c: MSTORE
00003a7d: PUSH2 0x3a85
00003a80: DUP2
00003a81: PUSH2 0x3596
00003a84: JUMP
00003a85: JUMPDEST
00003a86: SWAP1
00003a87: POP
00003a88: SWAP2
00003a89: SWAP1
00003a8a: POP
00003a8b: JUMP
00003a8c: JUMPDEST
00003a8d: PUSH1 0x00
00003a8f: PUSH1 0x20
00003a91: DUP3
00003a92: ADD
00003a93: SWAP1
00003a94: POP
00003a95: DUP2
00003a96: DUP2
00003a97: SUB
00003a98: PUSH1 0x00
00003a9a: DUP4
00003a9b: ADD
00003a9c: MSTORE
00003a9d: PUSH2 0x3aa5
00003aa0: DUP2
00003aa1: PUSH2 0x35b9
00003aa4: JUMP
00003aa5: JUMPDEST
00003aa6: SWAP1
00003aa7: POP
00003aa8: SWAP2
00003aa9: SWAP1
00003aaa: POP
00003aab: JUMP
00003aac: JUMPDEST
00003aad: PUSH1 0x00
00003aaf: PUSH1 0x20
00003ab1: DUP3
00003ab2: ADD
00003ab3: SWAP1
00003ab4: POP
00003ab5: DUP2
00003ab6: DUP2
00003ab7: SUB
00003ab8: PUSH1 0x00
00003aba: DUP4
00003abb: ADD
00003abc: MSTORE
00003abd: PUSH2 0x3ac5
00003ac0: DUP2
00003ac1: PUSH2 0x35dc
00003ac4: JUMP
00003ac5: JUMPDEST
00003ac6: SWAP1
00003ac7: POP
00003ac8: SWAP2
00003ac9: SWAP1
00003aca: POP
00003acb: JUMP
00003acc: JUMPDEST
00003acd: PUSH1 0x00
00003acf: PUSH1 0x20
00003ad1: DUP3
00003ad2: ADD
00003ad3: SWAP1
00003ad4: POP
00003ad5: DUP2
00003ad6: DUP2
00003ad7: SUB
00003ad8: PUSH1 0x00
00003ada: DUP4
00003adb: ADD
00003adc: MSTORE
00003add: PUSH2 0x3ae5
00003ae0: DUP2
00003ae1: PUSH2 0x35ff
00003ae4: JUMP
00003ae5: JUMPDEST
00003ae6: SWAP1
00003ae7: POP
00003ae8: SWAP2
00003ae9: SWAP1
00003aea: POP
00003aeb: JUMP
00003aec: JUMPDEST
00003aed: PUSH1 0x00
00003aef: PUSH1 0x20
00003af1: DUP3
00003af2: ADD
00003af3: SWAP1
00003af4: POP
00003af5: DUP2
00003af6: DUP2
00003af7: SUB
00003af8: PUSH1 0x00
00003afa: DUP4
00003afb: ADD
00003afc: MSTORE
00003afd: PUSH2 0x3b05
00003b00: DUP2
00003b01: PUSH2 0x3622
00003b04: JUMP
00003b05: JUMPDEST
00003b06: SWAP1
00003b07: POP
00003b08: SWAP2
00003b09: SWAP1
00003b0a: POP
00003b0b: JUMP
00003b0c: JUMPDEST
00003b0d: PUSH1 0x00
00003b0f: PUSH1 0x20
00003b11: DUP3
00003b12: ADD
00003b13: SWAP1
00003b14: POP
00003b15: DUP2
00003b16: DUP2
00003b17: SUB
00003b18: PUSH1 0x00
00003b1a: DUP4
00003b1b: ADD
00003b1c: MSTORE
00003b1d: PUSH2 0x3b25
00003b20: DUP2
00003b21: PUSH2 0x3645
00003b24: JUMP
00003b25: JUMPDEST
00003b26: SWAP1
00003b27: POP
00003b28: SWAP2
00003b29: SWAP1
00003b2a: POP
00003b2b: JUMP
00003b2c: JUMPDEST
00003b2d: PUSH1 0x00
00003b2f: PUSH1 0x20
00003b31: DUP3
00003b32: ADD
00003b33: SWAP1
00003b34: POP
00003b35: DUP2
00003b36: DUP2
00003b37: SUB
00003b38: PUSH1 0x00
00003b3a: DUP4
00003b3b: ADD
00003b3c: MSTORE
00003b3d: PUSH2 0x3b45
00003b40: DUP2
00003b41: PUSH2 0x3668
00003b44: JUMP
00003b45: JUMPDEST
00003b46: SWAP1
00003b47: POP
00003b48: SWAP2
00003b49: SWAP1
00003b4a: POP
00003b4b: JUMP
00003b4c: JUMPDEST
00003b4d: PUSH1 0x00
00003b4f: PUSH1 0x20
00003b51: DUP3
00003b52: ADD
00003b53: SWAP1
00003b54: POP
00003b55: PUSH2 0x3b61
00003b58: PUSH1 0x00
00003b5a: DUP4
00003b5b: ADD
00003b5c: DUP5
00003b5d: PUSH2 0x369a
00003b60: JUMP
00003b61: JUMPDEST
00003b62: SWAP3
00003b63: SWAP2
00003b64: POP
00003b65: POP
00003b66: JUMP
00003b67: JUMPDEST
00003b68: PUSH1 0x00
00003b6a: PUSH1 0x40
00003b6c: DUP3
00003b6d: ADD
00003b6e: SWAP1
00003b6f: POP
00003b70: PUSH2 0x3b7c
00003b73: PUSH1 0x00
00003b75: DUP4
00003b76: ADD
00003b77: DUP6
00003b78: PUSH2 0x369a
00003b7b: JUMP
00003b7c: JUMPDEST
00003b7d: PUSH2 0x3b89
00003b80: PUSH1 0x20
00003b82: DUP4
00003b83: ADD
00003b84: DUP5
00003b85: PUSH2 0x369a
00003b88: JUMP
00003b89: JUMPDEST
00003b8a: SWAP4
00003b8b: SWAP3
00003b8c: POP
00003b8d: POP
00003b8e: POP
00003b8f: JUMP
00003b90: JUMPDEST
00003b91: PUSH1 0x00
00003b93: PUSH2 0x3b9a
00003b96: PUSH2 0x3bab
00003b99: JUMP
00003b9a: JUMPDEST
00003b9b: SWAP1
00003b9c: POP
00003b9d: PUSH2 0x3ba6
00003ba0: DUP3
00003ba1: DUP3
00003ba2: PUSH2 0x3ec9
00003ba5: JUMP
00003ba6: JUMPDEST
00003ba7: SWAP2
00003ba8: SWAP1
00003ba9: POP
00003baa: JUMP
00003bab: JUMPDEST
00003bac: PUSH1 0x00
00003bae: PUSH1 0x40
00003bb0: MLOAD
00003bb1: SWAP1
00003bb2: POP
00003bb3: SWAP1
00003bb4: JUMP
00003bb5: JUMPDEST
00003bb6: PUSH1 0x00
00003bb8: PUSH8 0xffffffffffffffff
00003bc1: DUP3
00003bc2: GT
00003bc3: ISZERO
00003bc4: PUSH2 0x3bd0
00003bc7: JUMPI
00003bc8: PUSH2 0x3bcf
00003bcb: PUSH2 0x4001
00003bce: JUMP
00003bcf: JUMPDEST
00003bd0: JUMPDEST
00003bd1: PUSH1 0x20
00003bd3: DUP3
00003bd4: MUL
00003bd5: SWAP1
00003bd6: POP
00003bd7: PUSH1 0x20
00003bd9: DUP2
00003bda: ADD
00003bdb: SWAP1
00003bdc: POP
00003bdd: SWAP2
00003bde: SWAP1
00003bdf: POP
00003be0: JUMP
00003be1: JUMPDEST
00003be2: PUSH1 0x00
00003be4: PUSH8 0xffffffffffffffff
00003bed: DUP3
00003bee: GT
00003bef: ISZERO
00003bf0: PUSH2 0x3bfc
00003bf3: JUMPI
00003bf4: PUSH2 0x3bfb
00003bf7: PUSH2 0x4001
00003bfa: JUMP
00003bfb: JUMPDEST
00003bfc: JUMPDEST
00003bfd: PUSH1 0x20
00003bff: DUP3
00003c00: MUL
00003c01: SWAP1
00003c02: POP
00003c03: PUSH1 0x20
00003c05: DUP2
00003c06: ADD
00003c07: SWAP1
00003c08: POP
00003c09: SWAP2
00003c0a: SWAP1
00003c0b: POP
00003c0c: JUMP
00003c0d: JUMPDEST
00003c0e: PUSH1 0x00
00003c10: PUSH8 0xffffffffffffffff
00003c19: DUP3
00003c1a: GT
00003c1b: ISZERO
00003c1c: PUSH2 0x3c28
00003c1f: JUMPI
00003c20: PUSH2 0x3c27
00003c23: PUSH2 0x4001
00003c26: JUMP
00003c27: JUMPDEST
00003c28: JUMPDEST
00003c29: PUSH2 0x3c31
00003c2c: DUP3
00003c2d: PUSH2 0x4052
00003c30: JUMP
00003c31: JUMPDEST
00003c32: SWAP1
00003c33: POP
00003c34: PUSH1 0x20
00003c36: DUP2
00003c37: ADD
00003c38: SWAP1
00003c39: POP
00003c3a: SWAP2
00003c3b: SWAP1
00003c3c: POP
00003c3d: JUMP
00003c3e: JUMPDEST
00003c3f: PUSH1 0x00
00003c41: DUP2
00003c42: SWAP1
00003c43: POP
00003c44: PUSH1 0x20
00003c46: DUP3
00003c47: ADD
00003c48: SWAP1
00003c49: POP
00003c4a: SWAP2
00003c4b: SWAP1
00003c4c: POP
00003c4d: JUMP
00003c4e: JUMPDEST
00003c4f: PUSH1 0x00
00003c51: DUP2
00003c52: MLOAD
00003c53: SWAP1
00003c54: POP
00003c55: SWAP2
00003c56: SWAP1
00003c57: POP
00003c58: JUMP
00003c59: JUMPDEST
00003c5a: PUSH1 0x00
00003c5c: DUP2
00003c5d: MLOAD
00003c5e: SWAP1
00003c5f: POP
00003c60: SWAP2
00003c61: SWAP1
00003c62: POP
00003c63: JUMP
00003c64: JUMPDEST
00003c65: PUSH1 0x00
00003c67: DUP2
00003c68: MLOAD
00003c69: SWAP1
00003c6a: POP
00003c6b: SWAP2
00003c6c: SWAP1
00003c6d: POP
00003c6e: JUMP
00003c6f: JUMPDEST
00003c70: PUSH1 0x00
00003c72: PUSH1 0x20
00003c74: DUP3
00003c75: ADD
00003c76: SWAP1
00003c77: POP
00003c78: SWAP2
00003c79: SWAP1
00003c7a: POP
00003c7b: JUMP
00003c7c: JUMPDEST
00003c7d: PUSH1 0x00
00003c7f: DUP3
00003c80: DUP3
00003c81: MSTORE
00003c82: PUSH1 0x20
00003c84: DUP3
00003c85: ADD
00003c86: SWAP1
00003c87: POP
00003c88: SWAP3
00003c89: SWAP2
00003c8a: POP
00003c8b: POP
00003c8c: JUMP
00003c8d: JUMPDEST
00003c8e: PUSH1 0x00
00003c90: DUP3
00003c91: DUP3
00003c92: MSTORE
00003c93: PUSH1 0x20
00003c95: DUP3
00003c96: ADD
00003c97: SWAP1
00003c98: POP
00003c99: SWAP3
00003c9a: SWAP2
00003c9b: POP
00003c9c: POP
00003c9d: JUMP
00003c9e: JUMPDEST
00003c9f: PUSH1 0x00
00003ca1: DUP2
00003ca2: SWAP1
00003ca3: POP
00003ca4: SWAP3
00003ca5: SWAP2
00003ca6: POP
00003ca7: POP
00003ca8: JUMP
00003ca9: JUMPDEST
00003caa: PUSH1 0x00
00003cac: DUP3
00003cad: DUP3
00003cae: MSTORE
00003caf: PUSH1 0x20
00003cb1: DUP3
00003cb2: ADD
00003cb3: SWAP1
00003cb4: POP
00003cb5: SWAP3
00003cb6: SWAP2
00003cb7: POP
00003cb8: POP
00003cb9: JUMP
00003cba: JUMPDEST
00003cbb: PUSH1 0x00
00003cbd: PUSH2 0x3cc5
00003cc0: DUP3
00003cc1: PUSH2 0x3e4b
00003cc4: JUMP
00003cc5: JUMPDEST
00003cc6: SWAP2
00003cc7: POP
00003cc8: PUSH2 0x3cd0
00003ccb: DUP4
00003ccc: PUSH2 0x3e4b
00003ccf: JUMP
00003cd0: JUMPDEST
00003cd1: SWAP3
00003cd2: POP
00003cd3: DUP3
00003cd4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003cf5: SUB
00003cf6: DUP3
00003cf7: GT
00003cf8: ISZERO
00003cf9: PUSH2 0x3d05
00003cfc: JUMPI
00003cfd: PUSH2 0x3d04
00003d00: PUSH2 0x3f74
00003d03: JUMP
00003d04: JUMPDEST
00003d05: JUMPDEST
00003d06: DUP3
00003d07: DUP3
00003d08: ADD
00003d09: SWAP1
00003d0a: POP
00003d0b: SWAP3
00003d0c: SWAP2
00003d0d: POP
00003d0e: POP
00003d0f: JUMP
00003d10: JUMPDEST
00003d11: PUSH1 0x00
00003d13: PUSH2 0x3d1b
00003d16: DUP3
00003d17: PUSH2 0x3e4b
00003d1a: JUMP
00003d1b: JUMPDEST
00003d1c: SWAP2
00003d1d: POP
00003d1e: PUSH2 0x3d26
00003d21: DUP4
00003d22: PUSH2 0x3e4b
00003d25: JUMP
00003d26: JUMPDEST
00003d27: SWAP3
00003d28: POP
00003d29: DUP3
00003d2a: PUSH2 0x3d36
00003d2d: JUMPI
00003d2e: PUSH2 0x3d35
00003d31: PUSH2 0x3fa3
00003d34: JUMP
00003d35: JUMPDEST
00003d36: JUMPDEST
00003d37: DUP3
00003d38: DUP3
00003d39: DIV
00003d3a: SWAP1
00003d3b: POP
00003d3c: SWAP3
00003d3d: SWAP2
00003d3e: POP
00003d3f: POP
00003d40: JUMP
00003d41: JUMPDEST
00003d42: PUSH1 0x00
00003d44: PUSH2 0x3d4c
00003d47: DUP3
00003d48: PUSH2 0x3e4b
00003d4b: JUMP
00003d4c: JUMPDEST
00003d4d: SWAP2
00003d4e: POP
00003d4f: PUSH2 0x3d57
00003d52: DUP4
00003d53: PUSH2 0x3e4b
00003d56: JUMP
00003d57: JUMPDEST
00003d58: SWAP3
00003d59: POP
00003d5a: DUP2
00003d5b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003d7c: DIV
00003d7d: DUP4
00003d7e: GT
00003d7f: DUP3
00003d80: ISZERO
00003d81: ISZERO
00003d82: AND
00003d83: ISZERO
00003d84: PUSH2 0x3d90
00003d87: JUMPI
00003d88: PUSH2 0x3d8f
00003d8b: PUSH2 0x3f74
00003d8e: JUMP
00003d8f: JUMPDEST
00003d90: JUMPDEST
00003d91: DUP3
00003d92: DUP3
00003d93: MUL
00003d94: SWAP1
00003d95: POP
00003d96: SWAP3
00003d97: SWAP2
00003d98: POP
00003d99: POP
00003d9a: JUMP
00003d9b: JUMPDEST
00003d9c: PUSH1 0x00
00003d9e: PUSH2 0x3da6
00003da1: DUP3
00003da2: PUSH2 0x3e4b
00003da5: JUMP
00003da6: JUMPDEST
00003da7: SWAP2
00003da8: POP
00003da9: PUSH2 0x3db1
00003dac: DUP4
00003dad: PUSH2 0x3e4b
00003db0: JUMP
00003db1: JUMPDEST
00003db2: SWAP3
00003db3: POP
00003db4: DUP3
00003db5: DUP3
00003db6: LT
00003db7: ISZERO
00003db8: PUSH2 0x3dc4
00003dbb: JUMPI
00003dbc: PUSH2 0x3dc3
00003dbf: PUSH2 0x3f74
00003dc2: JUMP
00003dc3: JUMPDEST
00003dc4: JUMPDEST
00003dc5: DUP3
00003dc6: DUP3
00003dc7: SUB
00003dc8: SWAP1
00003dc9: POP
00003dca: SWAP3
00003dcb: SWAP2
00003dcc: POP
00003dcd: POP
00003dce: JUMP
00003dcf: JUMPDEST
00003dd0: PUSH1 0x00
00003dd2: PUSH2 0x3dda
00003dd5: DUP3
00003dd6: PUSH2 0x3e2b
00003dd9: JUMP
00003dda: JUMPDEST
00003ddb: SWAP1
00003ddc: POP
00003ddd: SWAP2
00003dde: SWAP1
00003ddf: POP
00003de0: JUMP
00003de1: JUMPDEST
00003de2: PUSH1 0x00
00003de4: PUSH2 0x3dec
00003de7: DUP3
00003de8: PUSH2 0x3e2b
00003deb: JUMP
00003dec: JUMPDEST
00003ded: SWAP1
00003dee: POP
00003def: SWAP2
00003df0: SWAP1
00003df1: POP
00003df2: JUMP
00003df3: JUMPDEST
00003df4: PUSH1 0x00
00003df6: DUP2
00003df7: ISZERO
00003df8: ISZERO
00003df9: SWAP1
00003dfa: POP
00003dfb: SWAP2
00003dfc: SWAP1
00003dfd: POP
00003dfe: JUMP
00003dff: JUMPDEST
00003e00: PUSH1 0x00
00003e02: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003e23: DUP3
00003e24: AND
00003e25: SWAP1
00003e26: POP
00003e27: SWAP2
00003e28: SWAP1
00003e29: POP
00003e2a: JUMP
00003e2b: JUMPDEST
00003e2c: PUSH1 0x00
00003e2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e43: DUP3
00003e44: AND
00003e45: SWAP1
00003e46: POP
00003e47: SWAP2
00003e48: SWAP1
00003e49: POP
00003e4a: JUMP
00003e4b: JUMPDEST
00003e4c: PUSH1 0x00
00003e4e: DUP2
00003e4f: SWAP1
00003e50: POP
00003e51: SWAP2
00003e52: SWAP1
00003e53: POP
00003e54: JUMP
00003e55: JUMPDEST
00003e56: DUP3
00003e57: DUP2
00003e58: DUP4
00003e59: CALLDATACOPY
00003e5a: PUSH1 0x00
00003e5c: DUP4
00003e5d: DUP4
00003e5e: ADD
00003e5f: MSTORE
00003e60: POP
00003e61: POP
00003e62: POP
00003e63: JUMP
00003e64: JUMPDEST
00003e65: PUSH1 0x00
00003e67: JUMPDEST
00003e68: DUP4
00003e69: DUP2
00003e6a: LT
00003e6b: ISZERO
00003e6c: PUSH2 0x3e82
00003e6f: JUMPI
00003e70: DUP1
00003e71: DUP3
00003e72: ADD
00003e73: MLOAD
00003e74: DUP2
00003e75: DUP5
00003e76: ADD
00003e77: MSTORE
00003e78: PUSH1 0x20
00003e7a: DUP2
00003e7b: ADD
00003e7c: SWAP1
00003e7d: POP
00003e7e: PUSH2 0x3e67
00003e81: JUMP
00003e82: JUMPDEST
00003e83: DUP4
00003e84: DUP2
00003e85: GT
00003e86: ISZERO
00003e87: PUSH2 0x3e91
00003e8a: JUMPI
00003e8b: PUSH1 0x00
00003e8d: DUP5
00003e8e: DUP5
00003e8f: ADD
00003e90: MSTORE
00003e91: JUMPDEST
00003e92: POP
00003e93: POP
00003e94: POP
00003e95: POP
00003e96: JUMP
00003e97: JUMPDEST
00003e98: PUSH1 0x00
00003e9a: PUSH1 0x02
00003e9c: DUP3
00003e9d: DIV
00003e9e: SWAP1
00003e9f: POP
00003ea0: PUSH1 0x01
00003ea2: DUP3
00003ea3: AND
00003ea4: DUP1
00003ea5: PUSH2 0x3eaf
00003ea8: JUMPI
00003ea9: PUSH1 0x7f
00003eab: DUP3
00003eac: AND
00003ead: SWAP2
00003eae: POP
00003eaf: JUMPDEST
00003eb0: PUSH1 0x20
00003eb2: DUP3
00003eb3: LT
00003eb4: DUP2
00003eb5: EQ
00003eb6: ISZERO
00003eb7: PUSH2 0x3ec3
00003eba: JUMPI
00003ebb: PUSH2 0x3ec2
00003ebe: PUSH2 0x3fd2
00003ec1: JUMP
00003ec2: JUMPDEST
00003ec3: JUMPDEST
00003ec4: POP
00003ec5: SWAP2
00003ec6: SWAP1
00003ec7: POP
00003ec8: JUMP
00003ec9: JUMPDEST
00003eca: PUSH2 0x3ed2
00003ecd: DUP3
00003ece: PUSH2 0x4052
00003ed1: JUMP
00003ed2: JUMPDEST
00003ed3: DUP2
00003ed4: ADD
00003ed5: DUP2
00003ed6: DUP2
00003ed7: LT
00003ed8: PUSH8 0xffffffffffffffff
00003ee1: DUP3
00003ee2: GT
00003ee3: OR
00003ee4: ISZERO
00003ee5: PUSH2 0x3ef1
00003ee8: JUMPI
00003ee9: PUSH2 0x3ef0
00003eec: PUSH2 0x4001
00003eef: JUMP
00003ef0: JUMPDEST
00003ef1: JUMPDEST
00003ef2: DUP1
00003ef3: PUSH1 0x40
00003ef5: MSTORE
00003ef6: POP
00003ef7: POP
00003ef8: POP
00003ef9: JUMP
00003efa: JUMPDEST
00003efb: PUSH1 0x00
00003efd: PUSH2 0x3f05
00003f00: DUP3
00003f01: PUSH2 0x3e4b
00003f04: JUMP
00003f05: JUMPDEST
00003f06: SWAP2
00003f07: POP
00003f08: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003f29: DUP3
00003f2a: EQ
00003f2b: ISZERO
00003f2c: PUSH2 0x3f38
00003f2f: JUMPI
00003f30: PUSH2 0x3f37
00003f33: PUSH2 0x3f74
00003f36: JUMP
00003f37: JUMPDEST
00003f38: JUMPDEST
00003f39: PUSH1 0x01
00003f3b: DUP3
00003f3c: ADD
00003f3d: SWAP1
00003f3e: POP
00003f3f: SWAP2
00003f40: SWAP1
00003f41: POP
00003f42: JUMP
00003f43: JUMPDEST
00003f44: PUSH1 0x00
00003f46: PUSH2 0x3f4e
00003f49: DUP3
00003f4a: PUSH2 0x3e4b
00003f4d: JUMP
00003f4e: JUMPDEST
00003f4f: SWAP2
00003f50: POP
00003f51: PUSH2 0x3f59
00003f54: DUP4
00003f55: PUSH2 0x3e4b
00003f58: JUMP
00003f59: JUMPDEST
00003f5a: SWAP3
00003f5b: POP
00003f5c: DUP3
00003f5d: PUSH2 0x3f69
00003f60: JUMPI
00003f61: PUSH2 0x3f68
00003f64: PUSH2 0x3fa3
00003f67: JUMP
00003f68: JUMPDEST
00003f69: JUMPDEST
00003f6a: DUP3
00003f6b: DUP3
00003f6c: MOD
00003f6d: SWAP1
00003f6e: POP
00003f6f: SWAP3
00003f70: SWAP2
00003f71: POP
00003f72: POP
00003f73: JUMP
00003f74: JUMPDEST
00003f75: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003f96: PUSH1 0x00
00003f98: MSTORE
00003f99: PUSH1 0x11
00003f9b: PUSH1 0x04
00003f9d: MSTORE
00003f9e: PUSH1 0x24
00003fa0: PUSH1 0x00
00003fa2: REVERT
00003fa3: JUMPDEST
00003fa4: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003fc5: PUSH1 0x00
00003fc7: MSTORE
00003fc8: PUSH1 0x12
00003fca: PUSH1 0x04
00003fcc: MSTORE
00003fcd: PUSH1 0x24
00003fcf: PUSH1 0x00
00003fd1: REVERT
00003fd2: JUMPDEST
00003fd3: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003ff4: PUSH1 0x00
00003ff6: MSTORE
00003ff7: PUSH1 0x22
00003ff9: PUSH1 0x04
00003ffb: MSTORE
00003ffc: PUSH1 0x24
00003ffe: PUSH1 0x00
00004000: REVERT
00004001: JUMPDEST
00004002: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004023: PUSH1 0x00
00004025: MSTORE
00004026: PUSH1 0x41
00004028: PUSH1 0x04
0000402a: MSTORE
0000402b: PUSH1 0x24
0000402d: PUSH1 0x00
0000402f: REVERT
00004030: JUMPDEST
00004031: PUSH1 0x00
00004033: PUSH1 0x03
00004035: RETURNDATASIZE
00004036: GT
00004037: ISZERO
00004038: PUSH2 0x404f
0000403b: JUMPI
0000403c: PUSH1 0x04
0000403e: PUSH1 0x00
00004040: DUP1
00004041: RETURNDATACOPY
00004042: PUSH2 0x404c
00004045: PUSH1 0x00
00004047: MLOAD
00004048: PUSH2 0x4063
0000404b: JUMP
0000404c: JUMPDEST
0000404d: SWAP1
0000404e: POP
0000404f: JUMPDEST
00004050: SWAP1
00004051: JUMP
00004052: JUMPDEST
00004053: PUSH1 0x00
00004055: PUSH1 0x1f
00004057: NOT
00004058: PUSH1 0x1f
0000405a: DUP4
0000405b: ADD
0000405c: AND
0000405d: SWAP1
0000405e: POP
0000405f: SWAP2
00004060: SWAP1
00004061: POP
00004062: JUMP
00004063: JUMPDEST
00004064: PUSH1 0x00
00004066: DUP2
00004067: PUSH1 0xe0
00004069: SHR
0000406a: SWAP1
0000406b: POP
0000406c: SWAP2
0000406d: SWAP1
0000406e: POP
0000406f: JUMP
00004070: JUMPDEST
00004071: PUSH32 0x455243313135353a207472616e7366657220746f206e6f6e2045524331313535
00004092: PUSH1 0x00
00004094: DUP3
00004095: ADD
00004096: MSTORE
00004097: PUSH32 0x526563656976657220696d706c656d656e746572000000000000000000000000
000040b8: PUSH1 0x20
000040ba: DUP3
000040bb: ADD
000040bc: MSTORE
000040bd: POP
000040be: JUMP
000040bf: JUMPDEST
000040c0: PUSH32 0x455243313135353a204552433131353552656365697665722072656a65637465
000040e1: PUSH1 0x00
000040e3: DUP3
000040e4: ADD
000040e5: MSTORE
000040e6: PUSH32 0x6420746f6b656e73000000000000000000000000000000000000000000000000
00004107: PUSH1 0x20
00004109: DUP3
0000410a: ADD
0000410b: MSTORE
0000410c: POP
0000410d: JUMP
0000410e: JUMPDEST
0000410f: PUSH32 0x455243313135353a2062616c616e636520717565727920666f7220746865207a
00004130: PUSH1 0x00
00004132: DUP3
00004133: ADD
00004134: MSTORE
00004135: PUSH32 0x65726f2061646472657373000000000000000000000000000000000000000000
00004156: PUSH1 0x20
00004158: DUP3
00004159: ADD
0000415a: MSTORE
0000415b: POP
0000415c: JUMP
0000415d: JUMPDEST
0000415e: PUSH32 0x455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f72
0000417f: PUSH1 0x00
00004181: DUP3
00004182: ADD
00004183: MSTORE
00004184: PUSH32 0x20617070726f7665640000000000000000000000000000000000000000000000
000041a5: PUSH1 0x20
000041a7: DUP3
000041a8: ADD
000041a9: MSTORE
000041aa: POP
000041ab: JUMP
000041ac: JUMPDEST
000041ad: PUSH32 0x596f75206e65656420746f2073656e642074776963652074686520616d6f756e
000041ce: PUSH1 0x00
000041d0: DUP3
000041d1: ADD
000041d2: MSTORE
000041d3: PUSH32 0x74206f662070726576696f757320707269636500000000000000000000000000
000041f4: PUSH1 0x20
000041f6: DUP3
000041f7: ADD
000041f8: MSTORE
000041f9: POP
000041fa: JUMP
000041fb: JUMPDEST
000041fc: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
0000421d: PUSH1 0x00
0000421f: DUP3
00004220: ADD
00004221: MSTORE
00004222: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
00004243: PUSH1 0x20
00004245: DUP3
00004246: ADD
00004247: MSTORE
00004248: POP
00004249: JUMP
0000424a: JUMPDEST
0000424b: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
0000426c: PUSH1 0x00
0000426e: DUP3
0000426f: ADD
00004270: MSTORE
00004271: POP
00004272: JUMP
00004273: JUMPDEST
00004274: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00004295: PUSH1 0x00
00004297: DUP3
00004298: ADD
00004299: MSTORE
0000429a: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
000042bb: PUSH1 0x20
000042bd: DUP3
000042be: ADD
000042bf: MSTORE
000042c0: POP
000042c1: JUMP
000042c2: JUMPDEST
000042c3: PUSH32 0x455243313135353a207472616e7366657220746f20746865207a65726f206164
000042e4: PUSH1 0x00
000042e6: DUP3
000042e7: ADD
000042e8: MSTORE
000042e9: PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000
0000430a: PUSH1 0x20
0000430c: DUP3
0000430d: ADD
0000430e: MSTORE
0000430f: POP
00004310: JUMP
00004311: JUMPDEST
00004312: PUSH32 0x455243313135353a207472616e736665722063616c6c6572206973206e6f7420
00004333: PUSH1 0x00
00004335: DUP3
00004336: ADD
00004337: MSTORE
00004338: PUSH32 0x6f776e6572206e6f7220617070726f7665640000000000000000000000000000
00004359: PUSH1 0x20
0000435b: DUP3
0000435c: ADD
0000435d: MSTORE
0000435e: POP
0000435f: JUMP
00004360: JUMPDEST
00004361: PUSH32 0x4d61782062757973206d7573742062652061626f7665207a65726f20616e6420
00004382: PUSH1 0x00
00004384: DUP3
00004385: ADD
00004386: MSTORE
00004387: PUSH32 0x62656c6f7720746f74616c20737570706c790000000000000000000000000000
000043a8: PUSH1 0x20
000043aa: DUP3
000043ab: ADD
000043ac: MSTORE
000043ad: POP
000043ae: JUMP
000043af: JUMPDEST
000043b0: PUSH32 0x455243313135353a20696e73756666696369656e742062616c616e636520666f
000043d1: PUSH1 0x00
000043d3: DUP3
000043d4: ADD
000043d5: MSTORE
000043d6: PUSH32 0x72207472616e7366657200000000000000000000000000000000000000000000
000043f7: PUSH1 0x20
000043f9: DUP3
000043fa: ADD
000043fb: MSTORE
000043fc: POP
000043fd: JUMP
000043fe: JUMPDEST
000043ff: PUSH32 0x547279696e6720746f20627579206d6f7265207468616e20616c6c6f77656420
00004420: PUSH1 0x00
00004422: DUP3
00004423: ADD
00004424: MSTORE
00004425: PUSH32 0x616d6f756e740000000000000000000000000000000000000000000000000000
00004446: PUSH1 0x20
00004448: DUP3
00004449: ADD
0000444a: MSTORE
0000444b: POP
0000444c: JUMP
0000444d: JUMPDEST
0000444e: PUSH32 0x4f6e6c79207365727669636520616464726573732063616e2063616c6c207468
0000446f: PUSH1 0x00
00004471: DUP3
00004472: ADD
00004473: MSTORE
00004474: PUSH32 0x69732066756e6374696f6e2e0000000000000000000000000000000000000000
00004495: PUSH1 0x20
00004497: DUP3
00004498: ADD
00004499: MSTORE
0000449a: POP
0000449b: JUMP
0000449c: JUMPDEST
0000449d: PUSH32 0x5365727669636520616464726573732063616e2774206265207a65726f000000
000044be: PUSH1 0x00
000044c0: DUP3
000044c1: ADD
000044c2: MSTORE
000044c3: POP
000044c4: JUMP
000044c5: JUMPDEST
000044c6: POP
000044c7: JUMP
000044c8: JUMPDEST
000044c9: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000044ea: PUSH1 0x00
000044ec: DUP3
000044ed: ADD
000044ee: MSTORE
000044ef: POP
000044f0: JUMP
000044f1: JUMPDEST
000044f2: PUSH32 0x455243313135353a2073657474696e6720617070726f76616c20737461747573
00004513: PUSH1 0x00
00004515: DUP3
00004516: ADD
00004517: MSTORE
00004518: PUSH32 0x20666f722073656c660000000000000000000000000000000000000000000000
00004539: PUSH1 0x20
0000453b: DUP3
0000453c: ADD
0000453d: MSTORE
0000453e: POP
0000453f: JUMP
00004540: JUMPDEST
00004541: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00004562: PUSH1 0x00
00004564: DUP3
00004565: ADD
00004566: MSTORE
00004567: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00004588: PUSH1 0x20
0000458a: DUP3
0000458b: ADD
0000458c: MSTORE
0000458d: POP
0000458e: JUMP
0000458f: JUMPDEST
00004590: PUSH32 0x455243313135353a206163636f756e747320616e6420696473206c656e677468
000045b1: PUSH1 0x00
000045b3: DUP3
000045b4: ADD
000045b5: MSTORE
000045b6: PUSH32 0x206d69736d617463680000000000000000000000000000000000000000000000
000045d7: PUSH1 0x20
000045d9: DUP3
000045da: ADD
000045db: MSTORE
000045dc: POP
000045dd: JUMP
000045de: JUMPDEST
000045df: PUSH32 0x455243313135353a2069647320616e6420616d6f756e7473206c656e67746820
00004600: PUSH1 0x00
00004602: DUP3
00004603: ADD
00004604: MSTORE
00004605: PUSH32 0x6d69736d61746368000000000000000000000000000000000000000000000000
00004626: PUSH1 0x20
00004628: DUP3
00004629: ADD
0000462a: MSTORE
0000462b: POP
0000462c: JUMP
0000462d: JUMPDEST
0000462e: PUSH32 0x455243313135353a206d696e7420746f20746865207a65726f20616464726573
0000464f: PUSH1 0x00
00004651: DUP3
00004652: ADD
00004653: MSTORE
00004654: PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000
00004675: PUSH1 0x20
00004677: DUP3
00004678: ADD
00004679: MSTORE
0000467a: POP
0000467b: JUMP
0000467c: JUMPDEST
0000467d: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000469e: PUSH1 0x00
000046a0: DUP3
000046a1: ADD
000046a2: MSTORE
000046a3: POP
000046a4: JUMP
000046a5: JUMPDEST
000046a6: PUSH1 0x00
000046a8: PUSH1 0x44
000046aa: RETURNDATASIZE
000046ab: LT
000046ac: ISZERO
000046ad: PUSH2 0x46b5
000046b0: JUMPI
000046b1: PUSH2 0x4738
000046b4: JUMP
000046b5: JUMPDEST
000046b6: PUSH2 0x46bd
000046b9: PUSH2 0x3bab
000046bc: JUMP
000046bd: JUMPDEST
000046be: PUSH1 0x04
000046c0: RETURNDATASIZE
000046c1: SUB
000046c2: PUSH1 0x04
000046c4: DUP3
000046c5: RETURNDATACOPY
000046c6: DUP1
000046c7: MLOAD
000046c8: RETURNDATASIZE
000046c9: PUSH1 0x24
000046cb: DUP3
000046cc: ADD
000046cd: GT
000046ce: PUSH8 0xffffffffffffffff
000046d7: DUP3
000046d8: GT
000046d9: OR
000046da: ISZERO
000046db: PUSH2 0x46e5
000046de: JUMPI
000046df: POP
000046e0: POP
000046e1: PUSH2 0x4738
000046e4: JUMP
000046e5: JUMPDEST
000046e6: DUP1
000046e7: DUP3
000046e8: ADD
000046e9: DUP1
000046ea: MLOAD
000046eb: PUSH8 0xffffffffffffffff
000046f4: DUP2
000046f5: GT
000046f6: ISZERO
000046f7: PUSH2 0x4703
000046fa: JUMPI
000046fb: POP
000046fc: POP
000046fd: POP
000046fe: POP
000046ff: PUSH2 0x4738
00004702: JUMP
00004703: JUMPDEST
00004704: DUP1
00004705: PUSH1 0x20
00004707: DUP4
00004708: ADD
00004709: ADD
0000470a: PUSH1 0x04
0000470c: RETURNDATASIZE
0000470d: SUB
0000470e: DUP6
0000470f: ADD
00004710: DUP2
00004711: GT
00004712: ISZERO
00004713: PUSH2 0x4720
00004716: JUMPI
00004717: POP
00004718: POP
00004719: POP
0000471a: POP
0000471b: POP
0000471c: PUSH2 0x4738
0000471f: JUMP
00004720: JUMPDEST
00004721: PUSH2 0x472f
00004724: DUP3
00004725: PUSH1 0x20
00004727: ADD
00004728: DUP6
00004729: ADD
0000472a: DUP7
0000472b: PUSH2 0x3ec9
0000472e: JUMP
0000472f: JUMPDEST
00004730: DUP3
00004731: SWAP6
00004732: POP
00004733: POP
00004734: POP
00004735: POP
00004736: POP
00004737: POP
00004738: JUMPDEST
00004739: SWAP1
0000473a: JUMP
0000473b: JUMPDEST
0000473c: PUSH2 0x4744
0000473f: DUP2
00004740: PUSH2 0x3dcf
00004743: JUMP
00004744: JUMPDEST
00004745: DUP2
00004746: EQ
00004747: PUSH2 0x474f
0000474a: JUMPI
0000474b: PUSH1 0x00
0000474d: DUP1
0000474e: REVERT
0000474f: JUMPDEST
00004750: POP
00004751: JUMP
00004752: JUMPDEST
00004753: PUSH2 0x475b
00004756: DUP2
00004757: PUSH2 0x3de1
0000475a: JUMP
0000475b: JUMPDEST
0000475c: DUP2
0000475d: EQ
0000475e: PUSH2 0x4766
00004761: JUMPI
00004762: PUSH1 0x00
00004764: DUP1
00004765: REVERT
00004766: JUMPDEST
00004767: POP
00004768: JUMP
00004769: JUMPDEST
0000476a: PUSH2 0x4772
0000476d: DUP2
0000476e: PUSH2 0x3df3
00004771: JUMP
00004772: JUMPDEST
00004773: DUP2
00004774: EQ
00004775: PUSH2 0x477d
00004778: JUMPI
00004779: PUSH1 0x00
0000477b: DUP1
0000477c: REVERT
0000477d: JUMPDEST
0000477e: POP
0000477f: JUMP
00004780: JUMPDEST
00004781: PUSH2 0x4789
00004784: DUP2
00004785: PUSH2 0x3dff
00004788: JUMP
00004789: JUMPDEST
0000478a: DUP2
0000478b: EQ
0000478c: PUSH2 0x4794
0000478f: JUMPI
00004790: PUSH1 0x00
00004792: DUP1
00004793: REVERT
00004794: JUMPDEST
00004795: POP
00004796: JUMP
00004797: JUMPDEST
00004798: PUSH2 0x47a0
0000479b: DUP2
0000479c: PUSH2 0x3e4b
0000479f: JUMP
000047a0: JUMPDEST
000047a1: DUP2
000047a2: EQ
000047a3: PUSH2 0x47ab
000047a6: JUMPI
000047a7: PUSH1 0x00
000047a9: DUP1
000047aa: REVERT
000047ab: JUMPDEST
000047ac: POP
000047ad: JUMP
000047ae: INVALID
000047af: LOG2
000047b0: PUSH5 0x6970667358
000047b6: UNKNOWN(0x22)
000047b7: SLT
000047b8: KECCAK256
000047b9: UNKNOWN(0xEA)
000047ba: UNKNOWN(0xCF)
000047bb: DUP4
000047bc: UNKNOWN(0x28)
000047bd: UNKNOWN(0x4E)
000047be: MULMOD
000047bf: SELFDESTRUCT
000047c0: SIGNEXTEND
000047c1: SWAP5
000047c2: UNKNOWN(0xD2)
000047c3: PUSH0
000047c4: UNKNOWN(0xA6)
000047c5: CHAINID
000047c6: TLOAD
000047c7: UNKNOWN(0xB1)
000047c8: SELFBALANCE
000047c9: UNKNOWN(0xDB)
000047ca: GASLIMIT
000047cb: SWAP15
000047cc: UNKNOWN(0xEC)
000047cd: UNKNOWN(0xF6)
000047ce: UNKNOWN(0xAE)
000047cf: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6
call_targets: 0x19d683cea643a8e5f2384bd48716b5399baa3616
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x19d683cea643a8e5f2384bd48716b5399baa3616"
    ],
    "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": "0xeec12f97",
            "selector": "0xeec12f97",
            "calldata_variants": [
                "0xeec12f97",
                "0xeec12f970000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeed007cd",
            "selector": "0xeed007cd",
            "calldata_variants": [
                "0xeed007cd",
                "0xeed007cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf242432a",
            "selector": "0xf242432a",
            "calldata_variants": [
                "0xf242432a",
                "0xf242432a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2aa8218",
            "selector": "0xf2aa8218",
            "calldata_variants": [
                "0xf2aa8218",
                "0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbd85b039",
            "selector": "0xbd85b039",
            "calldata_variants": [
                "0xbd85b039",
                "0xbd85b0390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd72d79d9",
            "selector": "0xd72d79d9",
            "calldata_variants": [
                "0xd72d79d9",
                "0xd72d79d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x89a89002",
            "selector": "0x89a89002",
            "calldata_variants": [
                "0x89a89002",
                "0x89a890020000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5347,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6695,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9845,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 2388,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2938,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3181,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5522,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 5
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x14697de99064f87afd4ec4f82c83f1c62db17633bdf44a7daa3ed171cfe06c16
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x14697de99064f87afd4ec4f82c83f1c62db17633bdf44a7daa3ed171cfe06c16",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xeec12f97",
            "selector": "0xeec12f97",
            "calldata_variants": [
                "0xeec12f97",
                "0xeec12f970000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeed007cd",
            "selector": "0xeed007cd",
            "calldata_variants": [
                "0xeed007cd",
                "0xeed007cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf242432a",
            "selector": "0xf242432a",
            "calldata_variants": [
                "0xf242432a",
                "0xf242432a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2aa8218",
            "selector": "0xf2aa8218",
            "calldata_variants": [
                "0xf2aa8218",
                "0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbd85b039",
            "selector": "0xbd85b039",
            "calldata_variants": [
                "0xbd85b039",
                "0xbd85b0390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd72d79d9",
            "selector": "0xd72d79d9",
            "calldata_variants": [
                "0xd72d79d9",
                "0xd72d79d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x89a89002",
            "selector": "0x89a89002",
            "calldata_variants": [
                "0x89a89002",
                "0x89a890020000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2388,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2938,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3181,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5522,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 1
}
medium other codex Potentially reachable SELFDESTRUCT kill-switch 75 no
view
evidence_json
{
    "evidence": "Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.",
    "locations": [
        "pc:18351"
    ],
    "recommendation": "Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.",
    "exploit_scenario": "If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain."
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6
call_targets: 0x19d683cea643a8e5f2384bd48716b5399baa3616
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x19d683cea643a8e5f2384bd48716b5399baa3616"
    ],
    "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": "0xeec12f97",
            "selector": "0xeec12f97",
            "calldata_variants": [
                "0xeec12f97",
                "0xeec12f970000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeed007cd",
            "selector": "0xeed007cd",
            "calldata_variants": [
                "0xeed007cd",
                "0xeed007cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf242432a",
            "selector": "0xf242432a",
            "calldata_variants": [
                "0xf242432a",
                "0xf242432a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2aa8218",
            "selector": "0xf2aa8218",
            "calldata_variants": [
                "0xf2aa8218",
                "0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbd85b039",
            "selector": "0xbd85b039",
            "calldata_variants": [
                "0xbd85b039",
                "0xbd85b0390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd72d79d9",
            "selector": "0xd72d79d9",
            "calldata_variants": [
                "0xd72d79d9",
                "0xd72d79d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x89a89002",
            "selector": "0x89a89002",
            "calldata_variants": [
                "0x89a89002",
                "0x89a890020000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5347,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6695,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9845,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": [
        {
            "pc": 2388,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2938,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3181,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5522,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
low other codex CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out 65 no
view
evidence_json
{
    "evidence": "Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.",
    "locations": [
        "pc:5347",
        "pc:6695",
        "pc:9845",
        "pc:10332",
        "pc:11107"
    ],
    "recommendation": "Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.",
    "exploit_scenario": "If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}