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

Analysis Run

c50edc8e-3ef7-4b91-a195-fc49f1056510

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 4, 2026 9:52 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
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 proxy context implementation known
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
31621 report.consolidate complete 1 / 1 3 months ago
111524 artifact.fetch complete 1 / 3 1 week ago
111525 tool.cast_disasm complete 1 / 3 1 week ago
111526 analysis.bundle complete 1 / 3 1 week ago
111527 capability.graph complete 1 / 3 1 week ago
111528 detector.run complete 1 / 3 1 week ago
111529 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value-extraction path identified from the bytecode alone; no delegatecall/selfdestruct and the only CALL with value appears to be library-style without an evident unprotected external entry point.
View stderr
[codex:518546] OpenAI Codex v0.77.0 (research preview)
[codex:518546] --------
[codex:518546] workdir: /tmp/codex-multi-6ttf4h4n
[codex:518546] model: gpt-5.2-codex
[codex:518546] provider: openai
[codex:518546] approval: never
[codex:518546] sandbox: read-only
[codex:518546] reasoning effort: xhigh
[codex:518546] reasoning summaries: auto
[codex:518546] session id: 019b8865-ca5d-7593-a89a-7640c5f16d65
[codex:518546] --------
[codex:518546] user
[codex:518546] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:518546] 
[codex:518546] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:518546] 
[codex:518546] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:518546] - Gas inefficiency, code quality, or best practices
[codex:518546] - Theoretical vulnerabilities without a clear extraction path
[codex:518546] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:518546] - Issues requiring social engineering or off-chain coordination
[codex:518546] 
[codex:518546] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:518546] - CALL/DELEGATECALL with controllable destination or calldata
[codex:518546] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:518546] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:518546] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:518546] - External calls before state updates (reentrancy)
[codex:518546] - SELFDESTRUCT with controllable beneficiary
[codex:518546] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:518546] 
[codex:518546] For each finding, you MUST explain:
[codex:518546] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:518546] 2. The concrete sequence of transactions to extract value
[codex:518546] 3. Why you believe this is exploitable (not just suspicious)
[codex:518546] 
[codex:518546] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:518546] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:518546] 
[codex:518546] Output MUST be valid JSON matching the provided schema.
[codex:518546] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:518546] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:518546] mcp startup: no servers
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Reading file contents**
[codex:518546] exec
[codex:518546] /bin/bash -lc ls in /tmp/codex-multi-6ttf4h4n succeeded in 6ms:
[codex:518546] BYTECODE_BUNDLE.txt
[codex:518546] codex-output-schema.json
[codex:518546] exec
[codex:518546] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-6ttf4h4n succeeded in 5ms:
[codex:518546] Runtime bytecode bundle for best-effort auditing.
[codex:518546] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:518546] 
[codex:518546] FILE: runtime_bytecode.hex
[codex:518546] 0x60806040526004361061031e5760003560e01c806395b9069b116101ab578063dae02ab2116100f7578063e57d91a611610095578063f2fde38b1161006f578063f2fde38b146110d9578063f897a22b1461112a578063fa2eed5214611181578063fcce7b49146111ac57610335565b8063e57d91a614611032578063e5b2649514611083578063e8ff2b72146110ae57610335565b8063df23efd9116100d1578063df23efd914610f34578063df75f26d14610f8b578063e13ec3c214610fb6578063e499da8914610fe157610335565b8063dae02ab214610e4b578063db9b96e214610ea2578063dd989be514610edd57610335565b8063bc0bc6ba11610164578063c740671f1161013e578063c740671f14610cbd578063c7733f7714610dc3578063c8b72f8f14610df5578063d0938fbe14610e2057610335565b8063bc0bc6ba14610b61578063bef6bf0e14610bfd578063c6b61e4c14610c2857610335565b806395b9069b146109cf578063a33537c914610a2c578063a65747ce14610a67578063a694fc3a14610abe578063acec338a14610af9578063b2dda6b514610b3657610335565b80634e71d92d1161026a57806372963c6c116102235780638616b3c7116101fd5780638616b3c7146108f75780638da5cb5b14610922578063901643e91461097957806390adfd65146109a457610335565b806372963c6c14610824578063735de9f71461084f5780637bdb687c146108a657610335565b80634e71d92d146106db5780635653fae0146106f257806359d3f8d1146107495780635fcbd2851461077b578063708ae76e146107d2578063715018a61461080d57610335565b80632d000cc0116102d75780633788e5ee116102b15780633788e5ee146105b2578063398bac63146105dd5780634b57b0be146106555780634c8f59e3146106ac57610335565b80632d000cc0146105095780632e17de78146105205780632e4bb77c1461055b57610335565b806302cdea051461033a57806316089ed01461036557806316934fc4146103905780631d62ebd91461041857806320f720f71461048b57806322f3e2d4146104da57610335565b36610335573460da60008282540192505081905550005b600080fd5b34801561034657600080fd5b5061034f6111d7565b6040518082815260200191505060405180910390f35b34801561037157600080fd5b5061037a6111ef565b6040518082815260200191505060405180910390f35b34801561039c57600080fd5b506103df600480360360208110156103b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f7565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34801561042457600080fd5b506104676004803603602081101561043b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611233565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561049757600080fd5b506104c4600480360360208110156104ae57600080fd5b81019080803590602001909291905050506112e9565b6040518082815260200191505060405180910390f35b3480156104e657600080fd5b506104ef6115c3565b604051808215151515815260200191505060405180910390f35b34801561051557600080fd5b5061051e6115d6565b005b34801561052c57600080fd5b506105596004803603602081101561054357600080fd5b810190808035906020019092919050505061182b565b005b34801561056757600080fd5b50610570611b0e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105be57600080fd5b506105c7611b34565b6040518082815260200191505060405180910390f35b3480156105e957600080fd5b506105f2611b46565b604051808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b34801561066157600080fd5b5061066a611b89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106b857600080fd5b506106c1611baf565b604051808215151515815260200191505060405180910390f35b3480156106e757600080fd5b506106f0611bc2565b005b3480156106fe57600080fd5b50610707611c56565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075557600080fd5b5061075e611c7c565b604051808381526020018281526020019250505060405180910390f35b34801561078757600080fd5b50610790611e7d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107de57600080fd5b5061080b600480360360208110156107f557600080fd5b8101908080359060200190929190505050611ea3565b005b34801561081957600080fd5b50610822611f77565b005b34801561083057600080fd5b50610839612102565b6040518082815260200191505060405180910390f35b34801561085b57600080fd5b50610864612108565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b257600080fd5b506108f5600480360360208110156108c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061212e565b005b34801561090357600080fd5b5061090c612247565b6040518082815260200191505060405180910390f35b34801561092e57600080fd5b5061093761224d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561098557600080fd5b5061098e612277565b6040518082815260200191505060405180910390f35b3480156109b057600080fd5b506109b9612857565b6040518082815260200191505060405180910390f35b3480156109db57600080fd5b50610a08600480360360208110156109f257600080fd5b8101908080359060200190929190505050612862565b60405180848152602001838152602001828152602001935050505060405180910390f35b348015610a3857600080fd5b50610a6560048036036020811015610a4f57600080fd5b81019080803590602001909291905050506129b3565b005b348015610a7357600080fd5b50610a7c612afd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aca57600080fd5b50610af760048036036020811015610ae157600080fd5b8101908080359060200190929190505050612b23565b005b348015610b0557600080fd5b50610b3460048036036020811015610b1c57600080fd5b81019080803515159060200190929190505050612eec565b005b348015610b4257600080fd5b50610b4b612fd3565b6040518082815260200191505060405180910390f35b348015610b6d57600080fd5b50610b9a60048036036020811015610b8457600080fd5b8101908080359060200190929190505050612fd9565b604051808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b348015610c0957600080fd5b50610c12613062565b6040518082815260200191505060405180910390f35b348015610c3457600080fd5b50610c6160048036036020811015610c4b57600080fd5b8101908080359060200190929190505050613068565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b348015610cc957600080fd5b50610dc16004803603610100811015610ce157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506130c2565b005b348015610dcf57600080fd5b50610dd86134ca565b604051808381526020018281526020019250505060405180910390f35b348015610e0157600080fd5b50610e0a61354f565b6040518082815260200191505060405180910390f35b348015610e2c57600080fd5b50610e35613554565b6040518082815260200191505060405180910390f35b348015610e5757600080fd5b50610e6061355a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610eae57600080fd5b50610edb60048036036020811015610ec557600080fd5b8101908080359060200190929190505050613580565b005b348015610ee957600080fd5b50610ef26136ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f4057600080fd5b50610f496136f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f9757600080fd5b50610fa0613716565b6040518082815260200191505060405180910390f35b348015610fc257600080fd5b50610fcb61371c565b6040518082815260200191505060405180910390f35b348015610fed57600080fd5b506110306004803603602081101561100457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613722565b005b34801561103e57600080fd5b506110816004803603602081101561105557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506137f8565b005b34801561108f57600080fd5b506110986139ac565b6040518082815260200191505060405180910390f35b3480156110ba57600080fd5b506110c36139b2565b6040518082815260200191505060405180910390f35b3480156110e557600080fd5b50611128600480360360208110156110fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506139b8565b005b34801561113657600080fd5b5061113f613bc8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561118d57600080fd5b50611196613bee565b6040518082815260200191505060405180910390f35b3480156111b857600080fd5b506111c1613c4d565b6040518082815260200191505060405180910390f35b73af298d050e4395d69670b12b7f4100000000000081565b6305f5e10081565b60cb6020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154905086565b60008060006112448460d554613c52565b905050809450819350829550505050600060cb60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506112ad816003015484613ff990919063ffffffff16565b92506112c6816002015483613ff990919063ffffffff16565b91506112df816005015485613ff990919063ffffffff16565b9350509193909250565b6000808214156112fc57600090506115be565b60008060cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561136757600080fd5b505afa15801561137b573d6000803e3d6000fd5b505050506040513d606081101561139157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082905060008290506000806113f0611c7c565b91509150600081141561140257600190505b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146a57600080fd5b505afa15801561147e573d6000803e3d6000fd5b505050506040513d602081101561149457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161061155957611554611521826115138b87613ff990919063ffffffff16565b61408190919063ffffffff16565b61154684611538888d61408190919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b6115b5565b6115b4611581826115738b88613ff990919063ffffffff16565b61408190919063ffffffff16565b6115a684611598878d61408190919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b5b96505050505050505b919050565b60d860009054906101000a900460ff1681565b6115de614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60d860019054906101000a900460ff1615611723576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f574541503a20616c72656164792075706772616465640000000000000000000081525060200191505060405180910390fd5b600160d860016101000a81548160ff02191690831515021790555060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a657600080fd5b505afa1580156117ba573d6000803e3d6000fd5b505050506040513d60208110156117d057600080fd5b810190808051906020019092919050505060d860026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060d981905550565b6001151560d860009054906101000a900460ff161515146118b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d41494e5441494e494e472e2e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b6000339050600060cb60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600083118015611926575061192281600001548260010154613ff990919063ffffffff16565b8311155b611998576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f494e535546464943454e545f42414c414e43450000000000000000000000000081525060200191505060405180910390fd5b60006119a383614159565b90506000848360010154106119b857846119be565b82600101545b905060006119d5828761417490919063ffffffff16565b90506119ee82856001015461417490919063ffffffff16565b8460010181905550611a0d81856000015461417490919063ffffffff16565b8460000181905550600060ca60008581526020019081526020016000209050611a4383826004015461417490919063ffffffff16565b8160040181905550611a6282826003015461417490919063ffffffff16565b8160030181905550611ab7868860cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166141be9092919063ffffffff16565b8573ffffffffffffffffffffffffffffffffffffffff167f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75886040518082815260200191505060405180910390a250505050505050565b60db60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6d314dc6448d9338c15b0a0000000081565b600080600080600080600080600080600080611b6360d554612fd9565b9b509b509b509b509b509b509b509b509b509b509b509b50909192939495969798999a9b565b60d860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60d860019054906101000a900460ff1681565b6001151560d860009054906101000a900460ff16151514611c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d41494e5441494e494e472e2e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b611c5433614276565b565b60d060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080611cad60cf60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166144bf565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015611cf257600080fd5b505afa158015611d06573d6000803e3d6000fd5b505050506040513d6060811015611d1c57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000829050600082905060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611dd857600080fd5b505afa158015611dec573d6000803e3d6000fd5b505050506040513d6020811015611e0257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660cf60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1610611e6e578082611e71565b81815b95509550505050509091565b60cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611eab614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060d38190555050565b611f7f614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612041576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000609760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60dc5481565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612136614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8061220281614783565b8160cf60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60d45481565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000603360009054906101000a900460ff166122fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6000603360006101000a81548160ff0219169083151502179055506001151560d860009054906101000a900460ff1615151461239f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d41494e5441494e494e472e2e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60006123a9613bee565b9050603281111561243657603260d5541461242c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c4153545f535550504f525445445f45504f43485f434845434b00000000000081525060200191505060405180910390fd5b6032915050612839565b8060d55414156124495780915050612839565b600060ca600060d55481526020019081526020016000209050600060ca600084815260200190815260200160002090508282600001819055506124c16124ae60d3546124a060d5548761417490919063ffffffff16565b61408190919063ffffffff16565b8360020154613ff990919063ffffffff16565b81600201819055506124e482600401548360030154613ff990919063ffffffff16565b816003018190555060d55481600101819055506000826003015411156127225760008061250f614829565b915091506125288160dc54613ff990919063ffffffff16565b60dc819055506125438260d954613ff990919063ffffffff16565b60d98190555061258084600301546125726d314dc6448d9338c15b0a000000008561408190919063ffffffff16565b61410790919063ffffffff16565b84600901819055506125c584600301546125b773af298d050e4395d69670b12b7f410000000000008461408190919063ffffffff16565b61410790919063ffffffff16565b84600601819055506601c6bf5263400060d754101561271f5760006125ed6305f5e1006112e9565b905060d4548111156127165760008060dd541161260b57600161260f565b60dd545b905060006126408261263260346601c6bf5263400061410790919063ffffffff16565b61408190919063ffffffff16565b90506126b360d160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308360ce60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166149ea909392919063ffffffff16565b6126c88160d754613ff990919063ffffffff16565b60d78190555061270b87600301546126fd73af298d050e4395d69670b12b7f410000000000008461408190919063ffffffff16565b61410790919063ffffffff16565b876005018190555050505b8060d481905550505b50505b60008160090181905550600081600601819055506000816005018190555061275b826009015483600a0154613ff990919063ffffffff16565b81600a018190555061277e82600601548360080154613ff990919063ffffffff16565b81600801819055506127a182600501548360070154613ff990919063ffffffff16565b816007018190555082600160d5540110156127fb57600060ca6000600160d554018152602001908152602001600020905081600a015481600a01819055508160080154816008018190555081600701548160070181905550505b60d554837ff2520045dcd0c1a9fbed27fec918c9f808ef8d3dccad191b8876714d4d268d8260405160405180910390a38260d5819055508293505050505b6001603360006101000a81548160ff02191690831515021790555090565b6601c6bf5263400081565b60008060008060ca600060d5548152602001908152602001600020905060008160010154116128a657600093508360009350836000935083935093509350506129ac565b600060ca60008360010154815260200190815260200160002090506128f86d314dc6448d9338c15b0a000000006128ea88846009015461408190919063ffffffff16565b61410790919063ffffffff16565b945061293773af298d050e4395d69670b12b7f4100000000000061292988846006015461408190919063ffffffff16565b61410790919063ffffffff16565b925060008060dd541161294b57600161294f565b60dd545b90506129a682600301546129988961298a8561297c60346601c6bf5263400061410790919063ffffffff16565b61408190919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b94505050505b9193909250565b6129bb614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a7d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008111612af3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4d554c5449504c45525f494e56414c494400000000000000000000000000000081525060200191505060405180910390fd5b8060dd8190555050565b60ce60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3381600060cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612bfa57600080fd5b505afa158015612c0e573d6000803e3d6000fd5b505050506040513d6020811015612c2457600080fd5b8101908080519060200190929190505050905080821115612c90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603581526020018061581f6035913960400191505060405180910390fd5b6001151560d860009054906101000a900460ff16151514612d19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4d41494e5441494e494e472e2e2e00000000000000000000000000000000000081525060200191505060405180910390fd5b60003390506000612d2982614159565b905060328110612da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f455843454544535f4c4153545f535550504f525445445f45504f43480000000081525060200191505060405180910390fd5b612dca8660ca600084815260200190815260200160002060040154613ff990919063ffffffff16565b60ca600083815260200190815260200160002060040181905550600060cb60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612e3e878260010154613ff990919063ffffffff16565b8160010181905550612e9583308960cc60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166149ea909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d886040518082815260200191505060405180910390a250505050505050565b612ef4614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060d860006101000a81548160ff02191690831515021790555050565b60d95481565b6000806000806000806000806000806000808c9b50600060ca60008f8152602001908152602001600020905080600001549b5080600101549a50806002015499508060030154985080600401549750806005015496508060060154955080600901549450806007015493508060080154925080600a015491505091939597999b5091939597999b565b60d35481565b60ca60205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060019054906101000a900460ff16806130e157506130e0614ad7565b5b806130f857506000809054906101000a900460ff16155b61314d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806157b9602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561319d576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b886131a781614783565b886131b181614783565b886131bb81614783565b886131c581614783565b886131cf81614783565b886131d981614783565b6131e1614aee565b6131e9614bf5565b8e60cd60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508d60ce60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508c60cf60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b60d060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508a60d160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508960d260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508860d38190555060d260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506133e28f6144bf565b60cc60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060d481905550600060d681905550600060d781905550600160d860006101000a81548160ff021916908315150217905550600060d581905550600060ca600060d55481526020019081526020016000209050600089141561348d57428160020181905550613497565b8881600201819055505b5050505050505080156134bf5760008060016101000a81548160ff0219169083151502179055505b505050505050505050565b600080600060ca600060d5548152602001908152602001600020905060006134f0613bee565b9050613506600182613ff990919063ffffffff16565b925061354761353460d35461352660d5548761417490919063ffffffff16565b61408190919063ffffffff16565b8360020154613ff990919063ffffffff16565b935050509091565b603481565b60dd5481565b60d160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b613588614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461364a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600081116136c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f50524943455f494e56414c49440000000000000000000000000000000000000081525060200191505060405180910390fd5b8060d48190555050565b60d260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60d55481565b60da5481565b61372a614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146137ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6137f581614276565b50565b613800614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146138c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60db60009054906101000a900460ff1615613945576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f574541503a20616c72656164792075706772616465643300000000000000000081525060200191505060405180910390fd5b600160db60006101000a81548160ff0219169083151502179055508060db60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060dc8190555050565b60d65481565b60d75481565b6139c0614151565b73ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613a82576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613b08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157446026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380609760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60cf60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060ca600060d55481526020019081526020016000209050613c47613c3660d354613c2884600201544261417490919063ffffffff16565b61410790919063ffffffff16565b60d554613ff990919063ffffffff16565b91505090565b603281565b60008060008060008060cb60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816004015490506000945060009550600096508093506000925087811415613cd6578686868686965096509650965096505050613fef565b878110613d2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806157e76038913960400191505060405180910390fd5b600060ca600083815260200190815260200160002090506000600183019050600060ca60008381526020019081526020016000209050613db56d314dc6448d9338c15b0a00000000613da78760000154613d9987600a015486600a015461417490919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b9950613e0e73af298d050e4395d69670b12b7f41000000000000613e008760000154613df28760080154866008015461417490919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b9850613e6773af298d050e4395d69670b12b7f41000000000000613e598760000154613e4b8760070154866007015461417490919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b97506000613e8686600001548760010154613ff990919063ffffffff16565b9050600060ca60008e815260200190815260200160002090506000613eee6d314dc6448d9338c15b0a00000000613ee085613ed288600a015487600a015461417490919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b90506000613f4573af298d050e4395d69670b12b7f41000000000000613f3786613f298960080154886008015461417490919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b90506000613f9c73af298d050e4395d69670b12b7f41000000000000613f8e87613f808a60070154896007015461417490919063ffffffff16565b61408190919063ffffffff16565b61410790919063ffffffff16565b9050613fb18f84613ff990919063ffffffff16565b9e50613fc68e83613ff990919063ffffffff16565b9d50613fdb8d82613ff990919063ffffffff16565b9c508f9b5060019a50505050505050505050505b9295509295909350565b600080828401905083811015614077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314156140945760009050614101565b60008284029050828482816140a557fe5b04146140fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806157986021913960400191505060405180910390fd5b809150505b92915050565b600061414983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614d04565b905092915050565b600033905090565b6000614163612277565b905061416f8282614dca565b919050565b60006141b683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614ecd565b905092915050565b6142718363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050614f8d565b505050565b600061428182614159565b9050600060cb60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816003015411806142dd575060008160050154115b806142ec575060008160020154115b61435e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4e4f5f524557415244530000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008160030154905060008260020154905060008360050154905060008460030181905550600084600201819055506000846005018190555060008311156143ee576143ed868460ce60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166141be9092919063ffffffff16565b5b60008111156144025761440186826151d8565b5b600082111561445957614458868360db60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166141be9092919063ffffffff16565b5b8573ffffffffffffffffffffffffffffffffffffffff167f9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e86858460405180848152602001838152602001828152602001935050505060405180910390a2505050505050565b60008060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561452a57600080fd5b505afa15801561453e573d6000803e3d6000fd5b505050506040513d602081101561455457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663e6a439058460c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156145e957600080fd5b505afa1580156145fd573d6000803e3d6000fd5b505050506040513d602081101561461357600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156146b757600080fd5b505afa1580156146cb573d6000803e3d6000fd5b505050506040513d60208110156146e157600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561477a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061576a602e913960400191505060405180910390fd5b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415614826576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4552523a3a494e56414c49445f4144445245535300000000000000000000000081525060200191505060405180910390fd5b50565b60008060da549150600060da8190555060db60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e60d060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561492e57600080fd5b505afa158015614942573d6000803e3d6000fd5b505050506040513d602081101561495857600080fd5b8101908080519060200190929190505050905060008111156149e6576149e560d060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308360db60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166149ea909392919063ffffffff16565b5b9091565b614ad1846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050614f8d565b50505050565b6000803090506000813b9050600081149250505090565b600060019054906101000a900460ff1680614b0d5750614b0c614ad7565b5b80614b2457506000809054906101000a900460ff16155b614b79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806157b9602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015614bc9576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b614bd1615337565b8015614bf25760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680614c145750614c13614ad7565b5b80614c2b57506000809054906101000a900460ff16155b614c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806157b9602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015614cd0576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b614cd8615451565b614ce0615550565b8015614d015760008060016101000a81548160ff0219169083151502179055505b50565b60008083118290614db0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614d75578082015181840152602081019050614d5a565b50505050905090810190601f168015614da25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581614dbc57fe5b049050809150509392505050565b6000806000806000614ddc8787613c52565b94509450945094509450600060cb60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508115614e5d57614e4a81600101548260000154613ff990919063ffffffff16565b8160000181905550600081600101819055505b614e74868260050154613ff990919063ffffffff16565b8160050181905550614e93858260020154613ff990919063ffffffff16565b8160020181905550614eb2848260030154613ff990919063ffffffff16565b81600301819055508281600401819055505050505050505050565b6000838311158290614f7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614f3f578082015181840152602081019050614f24565b50505050905090810190601f168015614f6c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b614fac8273ffffffffffffffffffffffffffffffffffffffff166156f8565b61501e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061506d578051825260208201915060208101905060208303925061504a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146150cf576040519150601f19603f3d011682016040523d82523d6000602084013e6150d4565b606091505b50915091508161514c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b6000815111156151d25780806020019051602081101561516b57600080fd5b81019080805190602001909291905050506151d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615877602a913960400191505060405180910390fd5b5b50505050565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff8111801561520a57600080fd5b506040519080825280601f01601f19166020018201604052801561523d5781602001600182028036833780820191505090505b506040518082805190602001908083835b60208310615271578051825260208201915060208101905060208303925061524e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146152d3576040519150601f19603f3d011682016040523d82523d6000602084013e6152d8565b606091505b5050905080615332576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806158546023913960400191505060405180910390fd5b505050565b600060019054906101000a900460ff16806153565750615355614ad7565b5b8061536d57506000809054906101000a900460ff16155b6153c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806157b9602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015615412576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6001603360006101000a81548160ff021916908315150217905550801561544e5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff1680615470575061546f614ad7565b5b8061548757506000809054906101000a900460ff16155b6154dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806157b9602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561552c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b801561554d5760008060016101000a81548160ff0219169083151502179055505b50565b600060019054906101000a900460ff168061556f575061556e614ad7565b5b8061558657506000809054906101000a900460ff16155b6155db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806157b9602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561562b576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6000615635614151565b905080609760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080156156f55760008060016101000a81548160ff0219169083151502179055505b50565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561573a57506000801b8214155b9250505091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552523a3a4944454e544943414c5f4144445245535345533a205061697220646f6573206e6f7420657869737421536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656453414e49545920434845434b204641494c3a20616c6c6f63617465645570546f45706f63684944203e2063757272656e7445706f636849444552523a3a4e4f5f5045524d495353494f4e3a204d616b65207375726520746f2061646420656e6f75676820616c6c6f77616e63655472616e7366657248656c7065723a204554485f5452414e534645525f4641494c45445361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220d8824c35e40ce8f56ec418c9b7311251e311e2b956100c53cc0b4814a2bd9ad964736f6c63430006060033
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Preparing to analyze bytecode**
[codex:518546] 
[codex:518546] I'm figuring out how to safely parse the contract's runtime bytecode to identify instructions like DELEGATECALL without writing files, so I can check for upgrade or delegatecall vulnerabilities. I'll run a Python script in a restricted environment to disassemble the hex code, focusing on locating critical opcodes that might indicate exploitable upgrade patterns.
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] # extract runtime_bytecode.hex content after 'FILE: runtime_bytecode.hex'
[codex:518546] # find hex string starting with 0x
[codex:518546] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:518546] if not m:
[codex:518546]     raise SystemExit('hex not found')
[codex:518546] hexstr=m.group(1)[2:]
[codex:518546] # bytes
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] # disassemble
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] while i<len(b):
[codex:518546]     op=b[i]
[codex:518546]     if op>=0x60 and op<=0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i, f'PUSH{n}', data.hex()))
[codex:518546]         i+=1+n
[codex:518546]         continue
[codex:518546]     name=opcodes.get(op, f'OP_{op:02x}')
[codex:518546]     ops.append((i,name,None))
[codex:518546]     i+=1
[codex:518546] 
[codex:518546] # find interesting opcodes
[codex:518546] interesting={'CALL','DELEGATECALL','CALLCODE','SELFDESTRUCT','STATICCALL'}
[codex:518546] ints=[(o,idx,data) for idx,(pos,(o,data)) in enumerate([((pos,name),data) for pos,name,data in ops]) if o[1] in interesting]
[codex:518546] # above is messy; simpler
[codex:518546] int_ops=[]
[codex:518546] for pos,name,data in ops:
[codex:518546]     if name in interesting:
[codex:518546]         int_ops.append((pos,name))
[codex:518546] 
[codex:518546] print('bytecode length',len(b))
[codex:518546] print('interesting ops count',len(int_ops))
[codex:518546] print('first 20',int_ops[:20])
[codex:518546] # list delegatecall/selfdestruct positions
[codex:518546] print('DELEGATECALL', [pos for pos,name in int_ops if name=='DELEGATECALL'][:20])
[codex:518546] print('SELFDESTRUCT', [pos for pos,name in int_ops if name=='SELFDESTRUCT'])
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n exited 1 in 59ms:
[codex:518546] Traceback (most recent call last):
[codex:518546]   File "<stdin>", line 45, in <module>
[codex:518546] IndexError: string index out of range
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Simplifying operation list creation**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:518546] if not m:
[codex:518546]     raise SystemExit('hex not found')
[codex:518546] hexstr=m.group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] L=len(b)
[codex:518546] while i<L:
[codex:518546]     op=b[i]
[codex:518546]     if 0x60 <= op <= 0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i, f'PUSH{n}', data))
[codex:518546]         i+=1+n
[codex:518546]     else:
[codex:518546]         name=opcodes.get(op, f'OP_{op:02x}')
[codex:518546]         ops.append((i, name, None))
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] interesting={'CALL','DELEGATECALL','CALLCODE','SELFDESTRUCT','STATICCALL','CREATE','CREATE2'}
[codex:518546] int_ops=[(pos,name) for pos,name,data in ops if name in interesting]
[codex:518546] print('bytecode length',len(b))
[codex:518546] print('interesting ops count',len(int_ops))
[codex:518546] print('first 30',int_ops[:30])
[codex:518546] print('DELEGATECALL positions', [pos for pos,name in int_ops if name=='DELEGATECALL'][:20])
[codex:518546] print('SELFDESTRUCT positions', [pos for pos,name in int_ops if name=='SELFDESTRUCT'][:20])
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 38ms:
[codex:518546] bytecode length 22742
[codex:518546] interesting ops count 13
[codex:518546] first 30 [(4970, 'STATICCALL'), (5229, 'STATICCALL'), (6057, 'STATICCALL'), (7413, 'STATICCALL'), (7643, 'STATICCALL'), (11261, 'STATICCALL'), (17709, 'STATICCALL'), (17900, 'STATICCALL'), (18106, 'STATICCALL'), (18737, 'STATICCALL'), (20640, 'CALL'), (21155, 'CALL'), (22706, 'CREATE2')]
[codex:518546] DELEGATECALL positions []
[codex:518546] SELFDESTRUCT positions []
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing CALL and CREATE2 usage**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:518546] hexstr=m.group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] L=len(b)
[codex:518546] while i<L:
[codex:518546]     op=b[i]
[codex:518546]     if 0x60 <= op <= 0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i, f'PUSH{n}', data))
[codex:518546]         i+=1+n
[codex:518546]     else:
[codex:518546]         name=opcodes.get(op, f'OP_{op:02x}')
[codex:518546]         ops.append((i, name, None))
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] # create dict offset->index for quick
[codex:518546] index_by_pos={pos:idx for idx,(pos,_,_) in enumerate(ops)}
[codex:518546] 
[codex:518546] # function to dump context around position
[codex:518546] 
[codex:518546] def dump(pos, before=20, after=20):
[codex:518546]     # find closest op index <= pos
[codex:518546]     idx = max(i for i,(p,_,_) in enumerate(ops) if p<=pos)
[codex:518546]     start=max(0, idx-before)
[codex:518546]     end=min(len(ops), idx+after)
[codex:518546]     for j in range(start,end):
[codex:518546]         p,name,data = ops[j]
[codex:518546]         if data is None:
[codex:518546]             s=name
[codex:518546]         else:
[codex:518546]             s=f\"{name} 0x{data.hex()}\"
[codex:518546]         marker = '>>' if p==pos else '  '
[codex:518546]         print(f\"{marker} {p:6d}: {s}\")
[codex:518546] 
[codex:518546] print('CALL positions:')
[codex:518546] for p,name in [(pos,name) for pos,name,_ in ops if name=='CALL']:
[codex:518546]     print('CALL at',p)
[codex:518546]     dump(p, before=15, after=15)
[codex:518546]     print('---')
[codex:518546] 
[codex:518546] print('CREATE2 positions:')
[codex:518546] for p,name in [(pos,name) for pos,name,_ in ops if name=='CREATE2']:
[codex:518546]     print('CREATE2 at',p)
[codex:518546]     dump(p, before=15, after=15)
[codex:518546]     print('---')
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 42ms:
[codex:518546] CALL positions:
[codex:518546] CALL at 20640
[codex:518546]     20622: POP
[codex:518546]     20623: ADD
[codex:518546]     20624: SWAP2
[codex:518546]     20625: POP
[codex:518546]     20626: POP
[codex:518546]     20627: PUSH1 0x00
[codex:518546]     20629: PUSH1 0x40
[codex:518546]     20631: MLOAD
[codex:518546]     20632: DUP1
[codex:518546]     20633: DUP4
[codex:518546]     20634: SUB
[codex:518546]     20635: DUP2
[codex:518546]     20636: PUSH1 0x00
[codex:518546]     20638: DUP7
[codex:518546]     20639: GAS
[codex:518546] >>  20640: CALL
[codex:518546]     20641: SWAP2
[codex:518546]     20642: POP
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing CALL instructions and value parameters**
[codex:518546] 
[codex:518546] I'll focus on the two CALL instructions found and analyze the stack to determine if the value argument is non-zero or controlled externally. I want to ensure there's no unprotected transfer or arbitrary external call, checking for presence of SafeERC20 patterns, reentrancy guards, and ownership checks to evaluate possible exploit paths. The plan is to reconstruct stack usage around these CALLs to confirm if any value transfers are risky.
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:518546] hexstr=m.group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xF1:'CALL',0xF2:'CALLCODE',0xF3:'RETURN',0xF4:'DELEGATECALL',0xF5:'CREATE2',0xFA:'STATICCALL',0xFD:'REVERT',0xFE:'INVALID',0xFF:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] L=len(b)
[codex:518546] while i<L:
[codex:518546]     op=b[i]
[codex:518546]     if 0x60 <= op <= 0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i, f'PUSH{n}', data))
[codex:518546]         i+=1+n
[codex:518546]     else:
[codex:518546]         name=opcodes.get(op, f'OP_{op:02x}')
[codex:518546]         ops.append((i, name, None))
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] # locate CALL ops
[codex:518546] call_positions=[pos for pos,name,_ in ops if name=='CALL']
[codex:518546] 
[codex:518546] # function to print context of call
[codex:518546] 
[codex:518546] def print_context(pos, before=40, after=20):
[codex:518546]     idx=max(i for i,(p,_,_) in enumerate(ops) if p<=pos)
[codex:518546]     start=max(0, idx-before)
[codex:518546]     end=min(len(ops), idx+after)
[codex:518546]     for j in range(start,end):
[codex:518546]         p,name,data=ops[j]
[codex:518546]         if data is None:
[codex:518546]             s=name
[codex:518546]         else:
[codex:518546]             s=f\"{name} 0x{data.hex()}\"
[codex:518546]         marker='>>' if p==pos else '  '
[codex:518546]         print(f\"{marker} {p:6d}: {s}\")
[codex:518546] 
[codex:518546] for pos in call_positions:
[codex:518546]     print('CALL at',pos)
[codex:518546]     print_context(pos, before=50, after=25)
[codex:518546]     print('---')
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 40ms:
[codex:518546] CALL at 20640
[codex:518546]     20581: DUP4
[codex:518546]     20582: SUB
[codex:518546]     20583: SWAP3
[codex:518546]     20584: POP
[codex:518546]     20585: PUSH2 0x504a
[codex:518546]     20588: JUMP
[codex:518546]     20589: JUMPDEST
[codex:518546]     20590: PUSH1 0x01
[codex:518546]     20592: DUP4
[codex:518546]     20593: PUSH1 0x20
[codex:518546]     20595: SUB
[codex:518546]     20596: PUSH2 0x0100
[codex:518546]     20599: EXP
[codex:518546]     20600: SUB
[codex:518546]     20601: DUP1
[codex:518546]     20602: NOT
[codex:518546]     20603: DUP3
[codex:518546]     20604: MLOAD
[codex:518546]     20605: AND
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Simulating stack behavior before CALL**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:518546] hexstr=m.group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xF1:'CALL',0xF2:'CALLCODE',0xF3:'RETURN',0xF4:'DELEGATECALL',0xF5:'CREATE2',0xFA:'STATICCALL',0xFD:'REVERT',0xFE:'INVALID',0xFF:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] # build ops list
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] L=len(b)
[codex:518546] while i<L:
[codex:518546]     op=b[i]
[codex:518546]     if 0x60 <= op <= 0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i, f'PUSH{n}', data))
[codex:518546]         i+=1+n
[codex:518546]     else:
[codex:518546]         name=opcodes.get(op, f'OP_{op:02x}')
[codex:518546]         ops.append((i, name, None))
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] # map position to index
[codex:518546] pos_to_idx={pos:idx for idx,(pos,_,_) in enumerate(ops)}
[codex:518546] 
[codex:518546] # get slice between start and end positions (inclusive)
[codex:518546] 
[codex:518546] def slice_ops(start_pos,end_pos):
[codex:518546]     start_idx=pos_to_idx[start_pos]
[codex:518546]     end_idx=pos_to_idx[end_pos]
[codex:518546]     return ops[start_idx:end_idx+1]
[codex:518546] 
[codex:518546] # simple symbolic stack interpreter
[codex:518546] 
[codex:518546] def simulate(start_pos,end_pos,initial_depth=12):
[codex:518546]     # stack bottom -> top
[codex:518546]     stack=[f'S{idx}' for idx in range(initial_depth)]
[codex:518546]     def pop():
[codex:518546]         if not stack:
[codex:518546]             return 'POP_EMPTY'
[codex:518546]         return stack.pop()
[codex:518546]     def push(val):
[codex:518546]         stack.append(val)
[codex:518546]     for pos,name,data in slice_ops(start_pos,end_pos):
[codex:518546]         if name.startswith('PUSH'):
[codex:518546]             push('0x'+data.hex())
[codex:518546]         elif name.startswith('DUP'):
[codex:518546]             n=int(name[3:])
[codex:518546]             if n<=len(stack):
[codex:518546]                 push(stack[-n])
[codex:518546]             else:
[codex:518546]                 push(f'DUP{n}_OOB')
[codex:518546]         elif name.startswith('SWAP'):
[codex:518546]             n=int(name[4:])
[codex:518546]             if n < len(stack):
[codex:518546]                 stack[-1],stack[-1-n]=stack[-1-n],stack[-1]
[codex:518546]         elif name in ('POP',):
[codex:518546]             pop()
[codex:518546]         elif name in ('ADD','SUB','MUL','DIV','MOD','AND','OR','XOR','SHL','SHR','SAR','EQ','LT','GT'):
[codex:518546]             a=pop(); b=pop();
[codex:518546]             push(f'({b} {name} {a})')
[codex:518546]         elif name in ('NOT','ISZERO'):
[codex:518546]             a=pop(); push(f'{name}({a})')
[codex:518546]         elif name in ('MLOAD',):
[codex:518546]             a=pop(); push(f'MLOAD({a})')
[codex:518546]         elif name in ('MSTORE',):
[codex:518546]             a=pop(); b=pop();
[codex:518546]         elif name in ('SLOAD',):
[codex:518546]             a=pop(); push(f'SLOAD({a})')
[codex:518546]         elif name in ('SSTORE',):
[codex:518546]             a=pop(); b=pop();
[codex:518546]         elif name in ('GAS',):
[codex:518546]             push('GAS')
[codex:518546]         elif name in ('CALL',):
[codex:518546]             # we won't execute CALL, just stop
[codex:518546]             break
[codex:518546]         else:
[codex:518546]             # for unhandled ops, conservatively pop/push? we'll ignore for now
[codex:518546]             pass
[codex:518546]     return stack
[codex:518546] 
[codex:518546] # analyze for call at 20640
[codex:518546] start=20627
[codex:518546] end=20639
[codex:518546] stack=simulate(start,end,initial_depth=12)
[codex:518546] # top 7 items for CALL
[codex:518546] args=stack[-7:]
[codex:518546] print('CALL 20640 args top->bottom (gas,to,value,in_off,in_size,out_off,out_size):')
[codex:518546] # top of stack is last element
[codex:518546] args_top=list(reversed(args))
[codex:518546] labels=['gas','to','value','in_off','in_size','out_off','out_size']
[codex:518546] for lab,val in zip(labels,args_top):
[codex:518546]     print(lab,':',val)
[codex:518546] 
[codex:518546] # analyze for call at 21155
[codex:518546] start=21143
[codex:518546] end=21154
[codex:518546] stack=simulate(start,end,initial_depth=14)
[codex:518546] args=stack[-7:]
[codex:518546] args_top=list(reversed(args))
[codex:518546] print('\\nCALL 21155 args:')
[codex:518546] for lab,val in zip(labels,args_top):
[codex:518546]     print(lab,':',val)
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 45ms:
[codex:518546] CALL 20640 args top->bottom (gas,to,value,in_off,in_size,out_off,out_size):
[codex:518546] gas : GAS
[codex:518546] to : S10
[codex:518546] value : 0x00
[codex:518546] in_off : MLOAD(0x40)
[codex:518546] in_size : (MLOAD(0x40) SUB S11)
[codex:518546] out_off : MLOAD(0x40)
[codex:518546] out_size : 0x00
[codex:518546] 
[codex:518546] CALL 21155 args:
[codex:518546] gas : GAS
[codex:518546] to : S11
[codex:518546] value : S12
[codex:518546] in_off : MLOAD(0x40)
[codex:518546] in_size : (MLOAD(0x40) SUB S13)
[codex:518546] out_off : MLOAD(0x40)
[codex:518546] out_size : 0x00
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing low-level CALL usage**
[codex:518546] exec
[codex:518546] /bin/bash -lc 'rg -n "low-level call|Address" BYTECODE_BUNDLE.txt' in /tmp/codex-multi-6ttf4h4n exited 1 in 18ms:
[codex:518546] 
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Searching for error message substrings**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] for substr in ['low-level','Address','functionCall','SafeERC20']:
[codex:518546]     if substr in text:
[codex:518546]         print('found', substr)
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 26ms:
[codex:518546] 
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Examining hex versus ASCII strings**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:518546] hexstr=m.group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] # extract printable strings len>=4
[codex:518546] strings=[]
[codex:518546] cur=b''
[codex:518546] for c in b:
[codex:518546]     if 32 <= c <= 126:  # printable
[codex:518546]         cur+=bytes([c])
[codex:518546]     else:
[codex:518546]         if len(cur)>=4:
[codex:518546]             strings.append(cur.decode('ascii'))
[codex:518546]         cur=b''
[codex:518546] if len(cur)>=4:
[codex:518546]     strings.append(cur.decode('ascii'))
[codex:518546] 
[codex:518546] # filter interesting
[codex:518546] for s in strings:
[codex:518546]     if 'call' in s.lower() or 'safe' in s or 'ERC' in s or 'Ownable' in s or 'WEAP' in s or 'Address' in s:
[codex:518546]         print(s)
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 31ms:
[codex:518546] Ownable: caller is not the owner
[codex:518546] WEAP: already upgraded
[codex:518546] Ownable: caller is not the owner
[codex:518546] Ownable: caller is not the owner
[codex:518546] Ownable: caller is not the owner
[codex:518546] ReentrancyGuard: reentrant call
[codex:518546] Ownable: caller is not the owner
[codex:518546] Ownable: caller is not the owner
[codex:518546] Ownable: caller is not the owner
[codex:518546] Ownable: caller is not the owner
[codex:518546] Ownable: caller is not the owner
[codex:518546] WEAP: already upgraded3
[codex:518546] Ownable: caller is not the owner
[codex:518546] SafeERC20: call to non-contract
[codex:518546] SafeERC20: low-level call failed
[codex:518546] Ownable: new owner is the zero addressERR::IDENTICAL_ADDRESSES: Pair does not exist!SafeMath: multiplication overflowContract instance has already been initializedSANITY CHECK FAIL: allocatedUpToEpochID > currentEpochIDERR::NO_PERMISSION: Make sure to add enough allowanceTransferHelper: ETH_TRANSFER_FAILEDSafeERC20: ERC20 operation did not succeed
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing ETH transfer risks and function selectors**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] # disassemble first 2000 bytes to collect PUSH4 immediate values
[codex:518546] selectors=[]
[codex:518546] i=0
[codex:518546] while i<2000:
[codex:518546]     op=b[i]
[codex:518546]     if op==0x63: # PUSH4
[codex:518546]         val=b[i+1:i+5]
[codex:518546]         selectors.append(val.hex())
[codex:518546]         i+=5
[codex:518546]     elif 0x60 <= op <= 0x7f:
[codex:518546]         i+=1+(op-0x5f)
[codex:518546]     else:
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] # deduplicate while preserve order
[codex:518546] seen=set(); uniq=[]
[codex:518546] for s in selectors:
[codex:518546]     if s not in seen:
[codex:518546]         seen.add(s); uniq.append(s)
[codex:518546] 
[codex:518546] print('selectors',len(uniq))
[codex:518546] print('\\n'.join(uniq))
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 26ms:
[codex:518546] selectors 53
[codex:518546] 95b9069b
[codex:518546] dae02ab2
[codex:518546] e57d91a6
[codex:518546] f2fde38b
[codex:518546] f897a22b
[codex:518546] fa2eed52
[codex:518546] fcce7b49
[codex:518546] e5b26495
[codex:518546] e8ff2b72
[codex:518546] df23efd9
[codex:518546] df75f26d
[codex:518546] e13ec3c2
[codex:518546] e499da89
[codex:518546] db9b96e2
[codex:518546] dd989be5
[codex:518546] bc0bc6ba
[codex:518546] c740671f
[codex:518546] c7733f77
[codex:518546] c8b72f8f
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing function selectors and potential vulnerabilities**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] needle=b'WEAP: already upgraded'
[codex:518546] print('needle len',len(needle))
[codex:518546] idxs=[]
[codex:518546] start=0
[codex:518546] while True:
[codex:518546]     i=b.find(needle, start)
[codex:518546]     if i==-1:
[codex:518546]         break
[codex:518546]     idxs.append(i)
[codex:518546]     start=i+1
[codex:518546] print('occurrences', idxs)
[codex:518546] 
[codex:518546] # also search for 'WEAP: already upgraded3'
[codex:518546] needle2=b'WEAP: already upgraded3'
[codex:518546] start=0
[codex:518546] idxs2=[]
[codex:518546] while True:
[codex:518546]     i=b.find(needle2, start)
[codex:518546]     if i==-1:
[codex:518546]         break
[codex:518546]     idxs2.append(i)
[codex:518546]     start=i+1
[codex:518546] print('occurrences2', idxs2)
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 28ms:
[codex:518546] needle len 22
[codex:518546] occurrences [5874, 14612]
[codex:518546] occurrences2 [14612]
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Inspecting disassembly near revert offsets**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] # disassembler
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xF1:'CALL',0xF2:'CALLCODE',0xF3:'RETURN',0xF4:'DELEGATECALL',0xF5:'CREATE2',0xFA:'STATICCALL',0xFD:'REVERT',0xFE:'INVALID',0xFF:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] while i<len(b):
[codex:518546]     op=b[i]
[codex:518546]     if 0x60<=op<=0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i,f'PUSH{n}',data))
[codex:518546]         i+=1+n
[codex:518546]     else:
[codex:518546]         ops.append((i,opcodes.get(op,f'OP_{op:02x}'),None))
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] # print around offset 5874
[codex:518546] center=5874
[codex:518546] # find index for nearest pos
[codex:518546] idx=max(i for i,(p,_,_) in enumerate(ops) if p<=center)
[codex:518546] for j in range(idx-30, idx+30):
[codex:518546]     if j<0 or j>=len(ops):
[codex:518546]         continue
[codex:518546]     p,name,data=ops[j]
[codex:518546]     s=name if data is None else f\"{name} 0x{data.hex()}\"
[codex:518546]     marker='>>' if p==center else '  '
[codex:518546]     print(f\"{marker} {p:6d}: {s}\")
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 38ms:
[codex:518546]      5803: EXP
[codex:518546]      5804: SWAP1
[codex:518546]      5805: DIV
[codex:518546]      5806: PUSH1 0xff
[codex:518546]      5808: AND
[codex:518546]      5809: ISZERO
[codex:518546]      5810: PUSH2 0x1723
[codex:518546]      5813: JUMPI
[codex:518546]      5814: PUSH1 0x40
[codex:518546]      5816: MLOAD
[codex:518546]      5817: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
[codex:518546]      5850: DUP2
[codex:518546]      5851: MSTORE
[codex:518546]      5852: PUSH1 0x04
[codex:518546]      5854: ADD
[codex:518546]      5855: DUP1
[codex:518546]      5856: DUP1
[codex:518546]      5857: PUSH1 0x20
[codex:518546]      5859: ADD
[codex:518546]      5860: DUP3
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing upgrade revert logic**
[codex:518546] exec
[codex:518546] /bin/bash -lc "PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
[codex:518546] import re
[codex:518546] from pathlib import Path
[codex:518546] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:518546] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:518546] b=bytes.fromhex(hexstr)
[codex:518546] 
[codex:518546] # disassemble
[codex:518546] opcodes={
[codex:518546]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:518546]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:518546]     0x20:'SHA3',
[codex:518546]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:518546]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:518546]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:518546]     0x5f:'PUSH0',
[codex:518546]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',
[codex:518546]     0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:518546]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:518546]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:518546]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:518546]     0xf0:'CREATE',0xF1:'CALL',0xF2:'CALLCODE',0xF3:'RETURN',0xF4:'DELEGATECALL',0xF5:'CREATE2',0xFA:'STATICCALL',0xFD:'REVERT',0xFE:'INVALID',0xFF:'SELFDESTRUCT'
[codex:518546] }
[codex:518546] 
[codex:518546] ops=[]
[codex:518546] i=0
[codex:518546] while i<len(b):
[codex:518546]     op=b[i]
[codex:518546]     if 0x60<=op<=0x7f:
[codex:518546]         n=op-0x5f
[codex:518546]         data=b[i+1:i+1+n]
[codex:518546]         ops.append((i,f'PUSH{n}',data))
[codex:518546]         i+=1+n
[codex:518546]     else:
[codex:518546]         ops.append((i,opcodes.get(op,f'OP_{op:02x}'),None))
[codex:518546]         i+=1
[codex:518546] 
[codex:518546] # print around offset 5750-5830
[codex:518546] start=5750; end=5835
[codex:518546] for p,name,data in ops:
[codex:518546]     if p<start: continue
[codex:518546]     if p>end: break
[codex:518546]     s=name if data is None else f\"{name} 0x{data.hex()}\"
[codex:518546]     print(f\"{p:6d}: {s}\")
[codex:518546] PY" in /tmp/codex-multi-6ttf4h4n succeeded in 42ms:
[codex:518546]   5775: DUP2
[codex:518546]   5776: MSTORE
[codex:518546]   5777: POP
[codex:518546]   5778: PUSH1 0x20
[codex:518546]   5780: ADD
[codex:518546]   5781: SWAP2
[codex:518546]   5782: POP
[codex:518546]   5783: POP
[codex:518546]   5784: PUSH1 0x40
[codex:518546]   5786: MLOAD
[codex:518546]   5787: DUP1
[codex:518546]   5788: SWAP2
[codex:518546]   5789: SUB
[codex:518546]   5790: SWAP1
[codex:518546]   5791: REVERT
[codex:518546]   5792: JUMPDEST
[codex:518546]   5793: PUSH1 0xd8
[codex:518546]   5795: PUSH1 0x01
[codex:518546]   5797: SWAP1
[codex:518546]   5798: SLOAD
[codex:518546] 
[codex:518546] thinking
[codex:518546] **Analyzing potential exploit paths**
[codex:518546] 
[codex:518546] I'm carefully checking if any owner checks protect upgrade functions or if external calls could be exploited, looking for access control on CALLs and signs of reentrancy or delegatecall vulnerabilities. Since no clear exploit path emerges from the bytecode review and calls seem safely handled, I'll prepare the final JSON stating no findings with a concise summary.
[codex:518546] codex
[codex:518546] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path identified from the bytecode alone; no delegatecall/selfdestruct and the only CALL with value appears to be library-style without an evident unprotected external entry point.","findings":[]}
[codex:518546] tokens used
[codex:518546] 67,639
[codex:518546] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path identified from the bytecode alone; no delegatecall/selfdestruct and the only CALL with value appears to be library-style without an evident unprotected external entry point.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T09:52:01.845833+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value-extraction path identified from the bytecode alone; no delegatecall/selfdestruct and the only CALL with value appears to be library-style without an evident unprotected external entry point.",
    "raw_final": {
        "summary": "No concrete, exploitable value-extraction path identified from the bytecode alone; no delegatecall/selfdestruct and the only CALL with value appears to be library-style without an evident unprotected external entry point.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
12
EXT*/BALANCE
12
Total opcodes
11698
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x031e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x95b9069b
00000019: GT
0000001a: PUSH2 0x01ab
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xdae02ab2
00000024: GT
00000025: PUSH2 0x00f7
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe57d91a6
0000002f: GT
00000030: PUSH2 0x0095
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf2fde38b
0000003a: GT
0000003b: PUSH2 0x006f
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x10d9
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf897a22b
00000050: EQ
00000051: PUSH2 0x112a
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfa2eed52
0000005b: EQ
0000005c: PUSH2 0x1181
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfcce7b49
00000066: EQ
00000067: PUSH2 0x11ac
0000006a: JUMPI
0000006b: PUSH2 0x0335
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xe57d91a6
00000076: EQ
00000077: PUSH2 0x1032
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe5b26495
00000081: EQ
00000082: PUSH2 0x1083
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xe8ff2b72
0000008c: EQ
0000008d: PUSH2 0x10ae
00000090: JUMPI
00000091: PUSH2 0x0335
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0xdf23efd9
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xdf23efd9
000000a7: EQ
000000a8: PUSH2 0x0f34
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xdf75f26d
000000b2: EQ
000000b3: PUSH2 0x0f8b
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xe13ec3c2
000000bd: EQ
000000be: PUSH2 0x0fb6
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xe499da89
000000c8: EQ
000000c9: PUSH2 0x0fe1
000000cc: JUMPI
000000cd: PUSH2 0x0335
000000d0: JUMP
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0xdae02ab2
000000d8: EQ
000000d9: PUSH2 0x0e4b
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0xdb9b96e2
000000e3: EQ
000000e4: PUSH2 0x0ea2
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0xdd989be5
000000ee: EQ
000000ef: PUSH2 0x0edd
000000f2: JUMPI
000000f3: PUSH2 0x0335
000000f6: JUMP
000000f7: JUMPDEST
000000f8: DUP1
000000f9: PUSH4 0xbc0bc6ba
000000fe: GT
000000ff: PUSH2 0x0164
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xc740671f
00000109: GT
0000010a: PUSH2 0x013e
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0xc740671f
00000114: EQ
00000115: PUSH2 0x0cbd
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0xc7733f77
0000011f: EQ
00000120: PUSH2 0x0dc3
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0xc8b72f8f
0000012a: EQ
0000012b: PUSH2 0x0df5
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0xd0938fbe
00000135: EQ
00000136: PUSH2 0x0e20
00000139: JUMPI
0000013a: PUSH2 0x0335
0000013d: JUMP
0000013e: JUMPDEST
0000013f: DUP1
00000140: PUSH4 0xbc0bc6ba
00000145: EQ
00000146: PUSH2 0x0b61
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0xbef6bf0e
00000150: EQ
00000151: PUSH2 0x0bfd
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0xc6b61e4c
0000015b: EQ
0000015c: PUSH2 0x0c28
0000015f: JUMPI
00000160: PUSH2 0x0335
00000163: JUMP
00000164: JUMPDEST
00000165: DUP1
00000166: PUSH4 0x95b9069b
0000016b: EQ
0000016c: PUSH2 0x09cf
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0xa33537c9
00000176: EQ
00000177: PUSH2 0x0a2c
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0xa65747ce
00000181: EQ
00000182: PUSH2 0x0a67
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0xa694fc3a
0000018c: EQ
0000018d: PUSH2 0x0abe
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0xacec338a
00000197: EQ
00000198: PUSH2 0x0af9
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0xb2dda6b5
000001a2: EQ
000001a3: PUSH2 0x0b36
000001a6: JUMPI
000001a7: PUSH2 0x0335
000001aa: JUMP
000001ab: JUMPDEST
000001ac: DUP1
000001ad: PUSH4 0x4e71d92d
000001b2: GT
000001b3: PUSH2 0x026a
000001b6: JUMPI
000001b7: DUP1
000001b8: PUSH4 0x72963c6c
000001bd: GT
000001be: PUSH2 0x0223
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x8616b3c7
000001c8: GT
000001c9: PUSH2 0x01fd
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0x8616b3c7
000001d3: EQ
000001d4: PUSH2 0x08f7
000001d7: JUMPI
000001d8: DUP1
000001d9: PUSH4 0x8da5cb5b
000001de: EQ
000001df: PUSH2 0x0922
000001e2: JUMPI
000001e3: DUP1
000001e4: PUSH4 0x901643e9
000001e9: EQ
000001ea: PUSH2 0x0979
000001ed: JUMPI
000001ee: DUP1
000001ef: PUSH4 0x90adfd65
000001f4: EQ
000001f5: PUSH2 0x09a4
000001f8: JUMPI
000001f9: PUSH2 0x0335
000001fc: JUMP
000001fd: JUMPDEST
000001fe: DUP1
000001ff: PUSH4 0x72963c6c
00000204: EQ
00000205: PUSH2 0x0824
00000208: JUMPI
00000209: DUP1
0000020a: PUSH4 0x735de9f7
0000020f: EQ
00000210: PUSH2 0x084f
00000213: JUMPI
00000214: DUP1
00000215: PUSH4 0x7bdb687c
0000021a: EQ
0000021b: PUSH2 0x08a6
0000021e: JUMPI
0000021f: PUSH2 0x0335
00000222: JUMP
00000223: JUMPDEST
00000224: DUP1
00000225: PUSH4 0x4e71d92d
0000022a: EQ
0000022b: PUSH2 0x06db
0000022e: JUMPI
0000022f: DUP1
00000230: PUSH4 0x5653fae0
00000235: EQ
00000236: PUSH2 0x06f2
00000239: JUMPI
0000023a: DUP1
0000023b: PUSH4 0x59d3f8d1
00000240: EQ
00000241: PUSH2 0x0749
00000244: JUMPI
00000245: DUP1
00000246: PUSH4 0x5fcbd285
0000024b: EQ
0000024c: PUSH2 0x077b
0000024f: JUMPI
00000250: DUP1
00000251: PUSH4 0x708ae76e
00000256: EQ
00000257: PUSH2 0x07d2
0000025a: JUMPI
0000025b: DUP1
0000025c: PUSH4 0x715018a6
00000261: EQ
00000262: PUSH2 0x080d
00000265: JUMPI
00000266: PUSH2 0x0335
00000269: JUMP
0000026a: JUMPDEST
0000026b: DUP1
0000026c: PUSH4 0x2d000cc0
00000271: GT
00000272: PUSH2 0x02d7
00000275: JUMPI
00000276: DUP1
00000277: PUSH4 0x3788e5ee
0000027c: GT
0000027d: PUSH2 0x02b1
00000280: JUMPI
00000281: DUP1
00000282: PUSH4 0x3788e5ee
00000287: EQ
00000288: PUSH2 0x05b2
0000028b: JUMPI
0000028c: DUP1
0000028d: PUSH4 0x398bac63
00000292: EQ
00000293: PUSH2 0x05dd
00000296: JUMPI
00000297: DUP1
00000298: PUSH4 0x4b57b0be
0000029d: EQ
0000029e: PUSH2 0x0655
000002a1: JUMPI
000002a2: DUP1
000002a3: PUSH4 0x4c8f59e3
000002a8: EQ
000002a9: PUSH2 0x06ac
000002ac: JUMPI
000002ad: PUSH2 0x0335
000002b0: JUMP
000002b1: JUMPDEST
000002b2: DUP1
000002b3: PUSH4 0x2d000cc0
000002b8: EQ
000002b9: PUSH2 0x0509
000002bc: JUMPI
000002bd: DUP1
000002be: PUSH4 0x2e17de78
000002c3: EQ
000002c4: PUSH2 0x0520
000002c7: JUMPI
000002c8: DUP1
000002c9: PUSH4 0x2e4bb77c
000002ce: EQ
000002cf: PUSH2 0x055b
000002d2: JUMPI
000002d3: PUSH2 0x0335
000002d6: JUMP
000002d7: JUMPDEST
000002d8: DUP1
000002d9: PUSH4 0x02cdea05
000002de: EQ
000002df: PUSH2 0x033a
000002e2: JUMPI
000002e3: DUP1
000002e4: PUSH4 0x16089ed0
000002e9: EQ
000002ea: PUSH2 0x0365
000002ed: JUMPI
000002ee: DUP1
000002ef: PUSH4 0x16934fc4
000002f4: EQ
000002f5: PUSH2 0x0390
000002f8: JUMPI
000002f9: DUP1
000002fa: PUSH4 0x1d62ebd9
000002ff: EQ
00000300: PUSH2 0x0418
00000303: JUMPI
00000304: DUP1
00000305: PUSH4 0x20f720f7
0000030a: EQ
0000030b: PUSH2 0x048b
0000030e: JUMPI
0000030f: DUP1
00000310: PUSH4 0x22f3e2d4
00000315: EQ
00000316: PUSH2 0x04da
00000319: JUMPI
0000031a: PUSH2 0x0335
0000031d: JUMP
0000031e: JUMPDEST
0000031f: CALLDATASIZE
00000320: PUSH2 0x0335
00000323: JUMPI
00000324: CALLVALUE
00000325: PUSH1 0xda
00000327: PUSH1 0x00
00000329: DUP3
0000032a: DUP3
0000032b: SLOAD
0000032c: ADD
0000032d: SWAP3
0000032e: POP
0000032f: POP
00000330: DUP2
00000331: SWAP1
00000332: SSTORE
00000333: POP
00000334: STOP
00000335: JUMPDEST
00000336: PUSH1 0x00
00000338: DUP1
00000339: REVERT
0000033a: JUMPDEST
0000033b: CALLVALUE
0000033c: DUP1
0000033d: ISZERO
0000033e: PUSH2 0x0346
00000341: JUMPI
00000342: PUSH1 0x00
00000344: DUP1
00000345: REVERT
00000346: JUMPDEST
00000347: POP
00000348: PUSH2 0x034f
0000034b: PUSH2 0x11d7
0000034e: JUMP
0000034f: JUMPDEST
00000350: PUSH1 0x40
00000352: MLOAD
00000353: DUP1
00000354: DUP3
00000355: DUP2
00000356: MSTORE
00000357: PUSH1 0x20
00000359: ADD
0000035a: SWAP2
0000035b: POP
0000035c: POP
0000035d: PUSH1 0x40
0000035f: MLOAD
00000360: DUP1
00000361: SWAP2
00000362: SUB
00000363: SWAP1
00000364: RETURN
00000365: JUMPDEST
00000366: CALLVALUE
00000367: DUP1
00000368: ISZERO
00000369: PUSH2 0x0371
0000036c: JUMPI
0000036d: PUSH1 0x00
0000036f: DUP1
00000370: REVERT
00000371: JUMPDEST
00000372: POP
00000373: PUSH2 0x037a
00000376: PUSH2 0x11ef
00000379: JUMP
0000037a: JUMPDEST
0000037b: PUSH1 0x40
0000037d: MLOAD
0000037e: DUP1
0000037f: DUP3
00000380: DUP2
00000381: MSTORE
00000382: PUSH1 0x20
00000384: ADD
00000385: SWAP2
00000386: POP
00000387: POP
00000388: PUSH1 0x40
0000038a: MLOAD
0000038b: DUP1
0000038c: SWAP2
0000038d: SUB
0000038e: SWAP1
0000038f: RETURN
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 0x03df
000003a1: PUSH1 0x04
000003a3: DUP1
000003a4: CALLDATASIZE
000003a5: SUB
000003a6: PUSH1 0x20
000003a8: DUP2
000003a9: LT
000003aa: ISZERO
000003ab: PUSH2 0x03b3
000003ae: JUMPI
000003af: PUSH1 0x00
000003b1: DUP1
000003b2: REVERT
000003b3: JUMPDEST
000003b4: DUP2
000003b5: ADD
000003b6: SWAP1
000003b7: DUP1
000003b8: DUP1
000003b9: CALLDATALOAD
000003ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003cf: AND
000003d0: SWAP1
000003d1: PUSH1 0x20
000003d3: ADD
000003d4: SWAP1
000003d5: SWAP3
000003d6: SWAP2
000003d7: SWAP1
000003d8: POP
000003d9: POP
000003da: POP
000003db: PUSH2 0x11f7
000003de: JUMP
000003df: JUMPDEST
000003e0: PUSH1 0x40
000003e2: MLOAD
000003e3: DUP1
000003e4: DUP8
000003e5: DUP2
000003e6: MSTORE
000003e7: PUSH1 0x20
000003e9: ADD
000003ea: DUP7
000003eb: DUP2
000003ec: MSTORE
000003ed: PUSH1 0x20
000003ef: ADD
000003f0: DUP6
000003f1: DUP2
000003f2: MSTORE
000003f3: PUSH1 0x20
000003f5: ADD
000003f6: DUP5
000003f7: DUP2
000003f8: MSTORE
000003f9: PUSH1 0x20
000003fb: ADD
000003fc: DUP4
000003fd: DUP2
000003fe: MSTORE
000003ff: PUSH1 0x20
00000401: ADD
00000402: DUP3
00000403: DUP2
00000404: MSTORE
00000405: PUSH1 0x20
00000407: ADD
00000408: SWAP7
00000409: POP
0000040a: POP
0000040b: POP
0000040c: POP
0000040d: POP
0000040e: POP
0000040f: POP
00000410: PUSH1 0x40
00000412: MLOAD
00000413: DUP1
00000414: SWAP2
00000415: SUB
00000416: SWAP1
00000417: RETURN
00000418: JUMPDEST
00000419: CALLVALUE
0000041a: DUP1
0000041b: ISZERO
0000041c: PUSH2 0x0424
0000041f: JUMPI
00000420: PUSH1 0x00
00000422: DUP1
00000423: REVERT
00000424: JUMPDEST
00000425: POP
00000426: PUSH2 0x0467
00000429: PUSH1 0x04
0000042b: DUP1
0000042c: CALLDATASIZE
0000042d: SUB
0000042e: PUSH1 0x20
00000430: DUP2
00000431: LT
00000432: ISZERO
00000433: PUSH2 0x043b
00000436: JUMPI
00000437: PUSH1 0x00
00000439: DUP1
0000043a: REVERT
0000043b: JUMPDEST
0000043c: DUP2
0000043d: ADD
0000043e: SWAP1
0000043f: DUP1
00000440: DUP1
00000441: CALLDATALOAD
00000442: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000457: AND
00000458: SWAP1
00000459: PUSH1 0x20
0000045b: ADD
0000045c: SWAP1
0000045d: SWAP3
0000045e: SWAP2
0000045f: SWAP1
00000460: POP
00000461: POP
00000462: POP
00000463: PUSH2 0x1233
00000466: JUMP
00000467: JUMPDEST
00000468: PUSH1 0x40
0000046a: MLOAD
0000046b: DUP1
0000046c: DUP5
0000046d: DUP2
0000046e: MSTORE
0000046f: PUSH1 0x20
00000471: ADD
00000472: DUP4
00000473: DUP2
00000474: MSTORE
00000475: PUSH1 0x20
00000477: ADD
00000478: DUP3
00000479: DUP2
0000047a: MSTORE
0000047b: PUSH1 0x20
0000047d: ADD
0000047e: SWAP4
0000047f: POP
00000480: POP
00000481: POP
00000482: POP
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 0x04c4
0000049c: PUSH1 0x04
0000049e: DUP1
0000049f: CALLDATASIZE
000004a0: SUB
000004a1: PUSH1 0x20
000004a3: DUP2
000004a4: LT
000004a5: ISZERO
000004a6: PUSH2 0x04ae
000004a9: JUMPI
000004aa: PUSH1 0x00
000004ac: DUP1
000004ad: REVERT
000004ae: JUMPDEST
000004af: DUP2
000004b0: ADD
000004b1: SWAP1
000004b2: DUP1
000004b3: DUP1
000004b4: CALLDATALOAD
000004b5: SWAP1
000004b6: PUSH1 0x20
000004b8: ADD
000004b9: SWAP1
000004ba: SWAP3
000004bb: SWAP2
000004bc: SWAP1
000004bd: POP
000004be: POP
000004bf: POP
000004c0: PUSH2 0x12e9
000004c3: JUMP
000004c4: JUMPDEST
000004c5: PUSH1 0x40
000004c7: MLOAD
000004c8: DUP1
000004c9: DUP3
000004ca: DUP2
000004cb: MSTORE
000004cc: PUSH1 0x20
000004ce: ADD
000004cf: SWAP2
000004d0: POP
000004d1: POP
000004d2: PUSH1 0x40
000004d4: MLOAD
000004d5: DUP1
000004d6: SWAP2
000004d7: SUB
000004d8: SWAP1
000004d9: RETURN
000004da: JUMPDEST
000004db: CALLVALUE
000004dc: DUP1
000004dd: ISZERO
000004de: PUSH2 0x04e6
000004e1: JUMPI
000004e2: PUSH1 0x00
000004e4: DUP1
000004e5: REVERT
000004e6: JUMPDEST
000004e7: POP
000004e8: PUSH2 0x04ef
000004eb: PUSH2 0x15c3
000004ee: JUMP
000004ef: JUMPDEST
000004f0: PUSH1 0x40
000004f2: MLOAD
000004f3: DUP1
000004f4: DUP3
000004f5: ISZERO
000004f6: ISZERO
000004f7: ISZERO
000004f8: ISZERO
000004f9: DUP2
000004fa: MSTORE
000004fb: PUSH1 0x20
000004fd: ADD
000004fe: SWAP2
000004ff: POP
00000500: POP
00000501: PUSH1 0x40
00000503: MLOAD
00000504: DUP1
00000505: SWAP2
00000506: SUB
00000507: SWAP1
00000508: RETURN
00000509: JUMPDEST
0000050a: CALLVALUE
0000050b: DUP1
0000050c: ISZERO
0000050d: PUSH2 0x0515
00000510: JUMPI
00000511: PUSH1 0x00
00000513: DUP1
00000514: REVERT
00000515: JUMPDEST
00000516: POP
00000517: PUSH2 0x051e
0000051a: PUSH2 0x15d6
0000051d: JUMP
0000051e: JUMPDEST
0000051f: STOP
00000520: JUMPDEST
00000521: CALLVALUE
00000522: DUP1
00000523: ISZERO
00000524: PUSH2 0x052c
00000527: JUMPI
00000528: PUSH1 0x00
0000052a: DUP1
0000052b: REVERT
0000052c: JUMPDEST
0000052d: POP
0000052e: PUSH2 0x0559
00000531: PUSH1 0x04
00000533: DUP1
00000534: CALLDATASIZE
00000535: SUB
00000536: PUSH1 0x20
00000538: DUP2
00000539: LT
0000053a: ISZERO
0000053b: PUSH2 0x0543
0000053e: JUMPI
0000053f: PUSH1 0x00
00000541: DUP1
00000542: REVERT
00000543: JUMPDEST
00000544: DUP2
00000545: ADD
00000546: SWAP1
00000547: DUP1
00000548: DUP1
00000549: CALLDATALOAD
0000054a: SWAP1
0000054b: PUSH1 0x20
0000054d: ADD
0000054e: SWAP1
0000054f: SWAP3
00000550: SWAP2
00000551: SWAP1
00000552: POP
00000553: POP
00000554: POP
00000555: PUSH2 0x182b
00000558: JUMP
00000559: JUMPDEST
0000055a: STOP
0000055b: JUMPDEST
0000055c: CALLVALUE
0000055d: DUP1
0000055e: ISZERO
0000055f: PUSH2 0x0567
00000562: JUMPI
00000563: PUSH1 0x00
00000565: DUP1
00000566: REVERT
00000567: JUMPDEST
00000568: POP
00000569: PUSH2 0x0570
0000056c: PUSH2 0x1b0e
0000056f: JUMP
00000570: JUMPDEST
00000571: PUSH1 0x40
00000573: MLOAD
00000574: DUP1
00000575: DUP3
00000576: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000058b: AND
0000058c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005a1: AND
000005a2: DUP2
000005a3: MSTORE
000005a4: PUSH1 0x20
000005a6: ADD
000005a7: SWAP2
000005a8: POP
000005a9: POP
000005aa: PUSH1 0x40
000005ac: MLOAD
000005ad: DUP1
000005ae: SWAP2
000005af: SUB
000005b0: SWAP1
000005b1: RETURN
000005b2: JUMPDEST
000005b3: CALLVALUE
000005b4: DUP1
000005b5: ISZERO
000005b6: PUSH2 0x05be
000005b9: JUMPI
000005ba: PUSH1 0x00
000005bc: DUP1
000005bd: REVERT
000005be: JUMPDEST
000005bf: POP
000005c0: PUSH2 0x05c7
000005c3: PUSH2 0x1b34
000005c6: JUMP
000005c7: JUMPDEST
000005c8: PUSH1 0x40
000005ca: MLOAD
000005cb: DUP1
000005cc: DUP3
000005cd: DUP2
000005ce: MSTORE
000005cf: PUSH1 0x20
000005d1: ADD
000005d2: SWAP2
000005d3: POP
000005d4: POP
000005d5: PUSH1 0x40
000005d7: MLOAD
000005d8: DUP1
000005d9: SWAP2
000005da: SUB
000005db: SWAP1
000005dc: RETURN
000005dd: JUMPDEST
000005de: CALLVALUE
000005df: DUP1
000005e0: ISZERO
000005e1: PUSH2 0x05e9
000005e4: JUMPI
000005e5: PUSH1 0x00
000005e7: DUP1
000005e8: REVERT
000005e9: JUMPDEST
000005ea: POP
000005eb: PUSH2 0x05f2
000005ee: PUSH2 0x1b46
000005f1: JUMP
000005f2: JUMPDEST
000005f3: PUSH1 0x40
000005f5: MLOAD
000005f6: DUP1
000005f7: DUP14
000005f8: DUP2
000005f9: MSTORE
000005fa: PUSH1 0x20
000005fc: ADD
000005fd: DUP13
000005fe: DUP2
000005ff: MSTORE
00000600: PUSH1 0x20
00000602: ADD
00000603: DUP12
00000604: DUP2
00000605: MSTORE
00000606: PUSH1 0x20
00000608: ADD
00000609: DUP11
0000060a: DUP2
0000060b: MSTORE
0000060c: PUSH1 0x20
0000060e: ADD
0000060f: DUP10
00000610: DUP2
00000611: MSTORE
00000612: PUSH1 0x20
00000614: ADD
00000615: DUP9
00000616: DUP2
00000617: MSTORE
00000618: PUSH1 0x20
0000061a: ADD
0000061b: DUP8
0000061c: DUP2
0000061d: MSTORE
0000061e: PUSH1 0x20
00000620: ADD
00000621: DUP7
00000622: DUP2
00000623: MSTORE
00000624: PUSH1 0x20
00000626: ADD
00000627: DUP6
00000628: DUP2
00000629: MSTORE
0000062a: PUSH1 0x20
0000062c: ADD
0000062d: DUP5
0000062e: DUP2
0000062f: MSTORE
00000630: PUSH1 0x20
00000632: ADD
00000633: DUP4
00000634: DUP2
00000635: MSTORE
00000636: PUSH1 0x20
00000638: ADD
00000639: DUP3
0000063a: DUP2
0000063b: MSTORE
0000063c: PUSH1 0x20
0000063e: ADD
0000063f: SWAP13
00000640: POP
00000641: POP
00000642: POP
00000643: POP
00000644: POP
00000645: POP
00000646: POP
00000647: POP
00000648: POP
00000649: POP
0000064a: POP
0000064b: POP
0000064c: POP
0000064d: PUSH1 0x40
0000064f: MLOAD
00000650: DUP1
00000651: SWAP2
00000652: SUB
00000653: SWAP1
00000654: RETURN
00000655: JUMPDEST
00000656: CALLVALUE
00000657: DUP1
00000658: ISZERO
00000659: PUSH2 0x0661
0000065c: JUMPI
0000065d: PUSH1 0x00
0000065f: DUP1
00000660: REVERT
00000661: JUMPDEST
00000662: POP
00000663: PUSH2 0x066a
00000666: PUSH2 0x1b89
00000669: JUMP
0000066a: JUMPDEST
0000066b: PUSH1 0x40
0000066d: MLOAD
0000066e: DUP1
0000066f: DUP3
00000670: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000685: AND
00000686: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000069b: AND
0000069c: DUP2
0000069d: MSTORE
0000069e: PUSH1 0x20
000006a0: ADD
000006a1: SWAP2
000006a2: POP
000006a3: POP
000006a4: PUSH1 0x40
000006a6: MLOAD
000006a7: DUP1
000006a8: SWAP2
000006a9: SUB
000006aa: SWAP1
000006ab: RETURN
000006ac: JUMPDEST
000006ad: CALLVALUE
000006ae: DUP1
000006af: ISZERO
000006b0: PUSH2 0x06b8
000006b3: JUMPI
000006b4: PUSH1 0x00
000006b6: DUP1
000006b7: REVERT
000006b8: JUMPDEST
000006b9: POP
000006ba: PUSH2 0x06c1
000006bd: PUSH2 0x1baf
000006c0: JUMP
000006c1: JUMPDEST
000006c2: PUSH1 0x40
000006c4: MLOAD
000006c5: DUP1
000006c6: DUP3
000006c7: ISZERO
000006c8: ISZERO
000006c9: ISZERO
000006ca: ISZERO
000006cb: DUP2
000006cc: MSTORE
000006cd: PUSH1 0x20
000006cf: ADD
000006d0: SWAP2
000006d1: POP
000006d2: POP
000006d3: PUSH1 0x40
000006d5: MLOAD
000006d6: DUP1
000006d7: SWAP2
000006d8: SUB
000006d9: SWAP1
000006da: RETURN
000006db: JUMPDEST
000006dc: CALLVALUE
000006dd: DUP1
000006de: ISZERO
000006df: PUSH2 0x06e7
000006e2: JUMPI
000006e3: PUSH1 0x00
000006e5: DUP1
000006e6: REVERT
000006e7: JUMPDEST
000006e8: POP
000006e9: PUSH2 0x06f0
000006ec: PUSH2 0x1bc2
000006ef: JUMP
000006f0: JUMPDEST
000006f1: STOP
000006f2: JUMPDEST
000006f3: CALLVALUE
000006f4: DUP1
000006f5: ISZERO
000006f6: PUSH2 0x06fe
000006f9: JUMPI
000006fa: PUSH1 0x00
000006fc: DUP1
000006fd: REVERT
000006fe: JUMPDEST
000006ff: POP
00000700: PUSH2 0x0707
00000703: PUSH2 0x1c56
00000706: JUMP
00000707: JUMPDEST
00000708: PUSH1 0x40
0000070a: MLOAD
0000070b: DUP1
0000070c: DUP3
0000070d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000722: AND
00000723: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000738: AND
00000739: DUP2
0000073a: MSTORE
0000073b: PUSH1 0x20
0000073d: ADD
0000073e: SWAP2
0000073f: POP
00000740: POP
00000741: PUSH1 0x40
00000743: MLOAD
00000744: DUP1
00000745: SWAP2
00000746: SUB
00000747: SWAP1
00000748: RETURN
00000749: JUMPDEST
0000074a: CALLVALUE
0000074b: DUP1
0000074c: ISZERO
0000074d: PUSH2 0x0755
00000750: JUMPI
00000751: PUSH1 0x00
00000753: DUP1
00000754: REVERT
00000755: JUMPDEST
00000756: POP
00000757: PUSH2 0x075e
0000075a: PUSH2 0x1c7c
0000075d: JUMP
0000075e: JUMPDEST
0000075f: PUSH1 0x40
00000761: MLOAD
00000762: DUP1
00000763: DUP4
00000764: DUP2
00000765: MSTORE
00000766: PUSH1 0x20
00000768: ADD
00000769: DUP3
0000076a: DUP2
0000076b: MSTORE
0000076c: PUSH1 0x20
0000076e: ADD
0000076f: SWAP3
00000770: POP
00000771: POP
00000772: POP
00000773: PUSH1 0x40
00000775: MLOAD
00000776: DUP1
00000777: SWAP2
00000778: SUB
00000779: SWAP1
0000077a: RETURN
0000077b: JUMPDEST
0000077c: CALLVALUE
0000077d: DUP1
0000077e: ISZERO
0000077f: PUSH2 0x0787
00000782: JUMPI
00000783: PUSH1 0x00
00000785: DUP1
00000786: REVERT
00000787: JUMPDEST
00000788: POP
00000789: PUSH2 0x0790
0000078c: PUSH2 0x1e7d
0000078f: JUMP
00000790: JUMPDEST
00000791: PUSH1 0x40
00000793: MLOAD
00000794: DUP1
00000795: DUP3
00000796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ab: AND
000007ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c1: AND
000007c2: DUP2
000007c3: MSTORE
000007c4: PUSH1 0x20
000007c6: ADD
000007c7: SWAP2
000007c8: POP
000007c9: POP
000007ca: PUSH1 0x40
000007cc: MLOAD
000007cd: DUP1
000007ce: SWAP2
000007cf: SUB
000007d0: SWAP1
000007d1: RETURN
000007d2: JUMPDEST
000007d3: CALLVALUE
000007d4: DUP1
000007d5: ISZERO
000007d6: PUSH2 0x07de
000007d9: JUMPI
000007da: PUSH1 0x00
000007dc: DUP1
000007dd: REVERT
000007de: JUMPDEST
000007df: POP
000007e0: PUSH2 0x080b
000007e3: PUSH1 0x04
000007e5: DUP1
000007e6: CALLDATASIZE
000007e7: SUB
000007e8: PUSH1 0x20
000007ea: DUP2
000007eb: LT
000007ec: ISZERO
000007ed: PUSH2 0x07f5
000007f0: JUMPI
000007f1: PUSH1 0x00
000007f3: DUP1
000007f4: REVERT
000007f5: JUMPDEST
000007f6: DUP2
000007f7: ADD
000007f8: SWAP1
000007f9: DUP1
000007fa: DUP1
000007fb: CALLDATALOAD
000007fc: SWAP1
000007fd: PUSH1 0x20
000007ff: ADD
00000800: SWAP1
00000801: SWAP3
00000802: SWAP2
00000803: SWAP1
00000804: POP
00000805: POP
00000806: POP
00000807: PUSH2 0x1ea3
0000080a: JUMP
0000080b: JUMPDEST
0000080c: STOP
0000080d: JUMPDEST
0000080e: CALLVALUE
0000080f: DUP1
00000810: ISZERO
00000811: PUSH2 0x0819
00000814: JUMPI
00000815: PUSH1 0x00
00000817: DUP1
00000818: REVERT
00000819: JUMPDEST
0000081a: POP
0000081b: PUSH2 0x0822
0000081e: PUSH2 0x1f77
00000821: JUMP
00000822: JUMPDEST
00000823: STOP
00000824: JUMPDEST
00000825: CALLVALUE
00000826: DUP1
00000827: ISZERO
00000828: PUSH2 0x0830
0000082b: JUMPI
0000082c: PUSH1 0x00
0000082e: DUP1
0000082f: REVERT
00000830: JUMPDEST
00000831: POP
00000832: PUSH2 0x0839
00000835: PUSH2 0x2102
00000838: JUMP
00000839: JUMPDEST
0000083a: PUSH1 0x40
0000083c: MLOAD
0000083d: DUP1
0000083e: DUP3
0000083f: DUP2
00000840: MSTORE
00000841: PUSH1 0x20
00000843: ADD
00000844: SWAP2
00000845: POP
00000846: POP
00000847: PUSH1 0x40
00000849: MLOAD
0000084a: DUP1
0000084b: SWAP2
0000084c: SUB
0000084d: SWAP1
0000084e: RETURN
0000084f: JUMPDEST
00000850: CALLVALUE
00000851: DUP1
00000852: ISZERO
00000853: PUSH2 0x085b
00000856: JUMPI
00000857: PUSH1 0x00
00000859: DUP1
0000085a: REVERT
0000085b: JUMPDEST
0000085c: POP
0000085d: PUSH2 0x0864
00000860: PUSH2 0x2108
00000863: JUMP
00000864: JUMPDEST
00000865: PUSH1 0x40
00000867: MLOAD
00000868: DUP1
00000869: DUP3
0000086a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000087f: AND
00000880: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000895: AND
00000896: DUP2
00000897: MSTORE
00000898: PUSH1 0x20
0000089a: ADD
0000089b: SWAP2
0000089c: POP
0000089d: POP
0000089e: PUSH1 0x40
000008a0: MLOAD
000008a1: DUP1
000008a2: SWAP2
000008a3: SUB
000008a4: SWAP1
000008a5: RETURN
000008a6: JUMPDEST
000008a7: CALLVALUE
000008a8: DUP1
000008a9: ISZERO
000008aa: PUSH2 0x08b2
000008ad: JUMPI
000008ae: PUSH1 0x00
000008b0: DUP1
000008b1: REVERT
000008b2: JUMPDEST
000008b3: POP
000008b4: PUSH2 0x08f5
000008b7: PUSH1 0x04
000008b9: DUP1
000008ba: CALLDATASIZE
000008bb: SUB
000008bc: PUSH1 0x20
000008be: DUP2
000008bf: LT
000008c0: ISZERO
000008c1: PUSH2 0x08c9
000008c4: JUMPI
000008c5: PUSH1 0x00
000008c7: DUP1
000008c8: REVERT
000008c9: JUMPDEST
000008ca: DUP2
000008cb: ADD
000008cc: SWAP1
000008cd: DUP1
000008ce: DUP1
000008cf: CALLDATALOAD
000008d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008e5: AND
000008e6: SWAP1
000008e7: PUSH1 0x20
000008e9: ADD
000008ea: SWAP1
000008eb: SWAP3
000008ec: SWAP2
000008ed: SWAP1
000008ee: POP
000008ef: POP
000008f0: POP
000008f1: PUSH2 0x212e
000008f4: JUMP
000008f5: JUMPDEST
000008f6: STOP
000008f7: JUMPDEST
000008f8: CALLVALUE
000008f9: DUP1
000008fa: ISZERO
000008fb: PUSH2 0x0903
000008fe: JUMPI
000008ff: PUSH1 0x00
00000901: DUP1
00000902: REVERT
00000903: JUMPDEST
00000904: POP
00000905: PUSH2 0x090c
00000908: PUSH2 0x2247
0000090b: JUMP
0000090c: JUMPDEST
0000090d: PUSH1 0x40
0000090f: MLOAD
00000910: DUP1
00000911: DUP3
00000912: DUP2
00000913: MSTORE
00000914: PUSH1 0x20
00000916: ADD
00000917: SWAP2
00000918: POP
00000919: POP
0000091a: PUSH1 0x40
0000091c: MLOAD
0000091d: DUP1
0000091e: SWAP2
0000091f: SUB
00000920: SWAP1
00000921: RETURN
00000922: JUMPDEST
00000923: CALLVALUE
00000924: DUP1
00000925: ISZERO
00000926: PUSH2 0x092e
00000929: JUMPI
0000092a: PUSH1 0x00
0000092c: DUP1
0000092d: REVERT
0000092e: JUMPDEST
0000092f: POP
00000930: PUSH2 0x0937
00000933: PUSH2 0x224d
00000936: JUMP
00000937: JUMPDEST
00000938: PUSH1 0x40
0000093a: MLOAD
0000093b: DUP1
0000093c: DUP3
0000093d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000952: AND
00000953: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000968: AND
00000969: DUP2
0000096a: MSTORE
0000096b: PUSH1 0x20
0000096d: ADD
0000096e: SWAP2
0000096f: POP
00000970: POP
00000971: PUSH1 0x40
00000973: MLOAD
00000974: DUP1
00000975: SWAP2
00000976: SUB
00000977: SWAP1
00000978: RETURN
00000979: JUMPDEST
0000097a: CALLVALUE
0000097b: DUP1
0000097c: ISZERO
0000097d: PUSH2 0x0985
00000980: JUMPI
00000981: PUSH1 0x00
00000983: DUP1
00000984: REVERT
00000985: JUMPDEST
00000986: POP
00000987: PUSH2 0x098e
0000098a: PUSH2 0x2277
0000098d: JUMP
0000098e: JUMPDEST
0000098f: PUSH1 0x40
00000991: MLOAD
00000992: DUP1
00000993: DUP3
00000994: DUP2
00000995: MSTORE
00000996: PUSH1 0x20
00000998: ADD
00000999: SWAP2
0000099a: POP
0000099b: POP
0000099c: PUSH1 0x40
0000099e: MLOAD
0000099f: DUP1
000009a0: SWAP2
000009a1: SUB
000009a2: SWAP1
000009a3: RETURN
000009a4: JUMPDEST
000009a5: CALLVALUE
000009a6: DUP1
000009a7: ISZERO
000009a8: PUSH2 0x09b0
000009ab: JUMPI
000009ac: PUSH1 0x00
000009ae: DUP1
000009af: REVERT
000009b0: JUMPDEST
000009b1: POP
000009b2: PUSH2 0x09b9
000009b5: PUSH2 0x2857
000009b8: JUMP
000009b9: JUMPDEST
000009ba: PUSH1 0x40
000009bc: MLOAD
000009bd: DUP1
000009be: DUP3
000009bf: DUP2
000009c0: MSTORE
000009c1: PUSH1 0x20
000009c3: ADD
000009c4: SWAP2
000009c5: POP
000009c6: POP
000009c7: PUSH1 0x40
000009c9: MLOAD
000009ca: DUP1
000009cb: SWAP2
000009cc: SUB
000009cd: SWAP1
000009ce: RETURN
000009cf: JUMPDEST
000009d0: CALLVALUE
000009d1: DUP1
000009d2: ISZERO
000009d3: PUSH2 0x09db
000009d6: JUMPI
000009d7: PUSH1 0x00
000009d9: DUP1
000009da: REVERT
000009db: JUMPDEST
000009dc: POP
000009dd: PUSH2 0x0a08
000009e0: PUSH1 0x04
000009e2: DUP1
000009e3: CALLDATASIZE
000009e4: SUB
000009e5: PUSH1 0x20
000009e7: DUP2
000009e8: LT
000009e9: ISZERO
000009ea: PUSH2 0x09f2
000009ed: JUMPI
000009ee: PUSH1 0x00
000009f0: DUP1
000009f1: REVERT
000009f2: JUMPDEST
000009f3: DUP2
000009f4: ADD
000009f5: SWAP1
000009f6: DUP1
000009f7: DUP1
000009f8: CALLDATALOAD
000009f9: SWAP1
000009fa: PUSH1 0x20
000009fc: ADD
000009fd: SWAP1
000009fe: SWAP3
000009ff: SWAP2
00000a00: SWAP1
00000a01: POP
00000a02: POP
00000a03: POP
00000a04: PUSH2 0x2862
00000a07: JUMP
00000a08: JUMPDEST
00000a09: PUSH1 0x40
00000a0b: MLOAD
00000a0c: DUP1
00000a0d: DUP5
00000a0e: DUP2
00000a0f: MSTORE
00000a10: PUSH1 0x20
00000a12: ADD
00000a13: DUP4
00000a14: DUP2
00000a15: MSTORE
00000a16: PUSH1 0x20
00000a18: ADD
00000a19: DUP3
00000a1a: DUP2
00000a1b: MSTORE
00000a1c: PUSH1 0x20
00000a1e: ADD
00000a1f: SWAP4
00000a20: POP
00000a21: POP
00000a22: POP
00000a23: POP
00000a24: PUSH1 0x40
00000a26: MLOAD
00000a27: DUP1
00000a28: SWAP2
00000a29: SUB
00000a2a: SWAP1
00000a2b: RETURN
00000a2c: JUMPDEST
00000a2d: CALLVALUE
00000a2e: DUP1
00000a2f: ISZERO
00000a30: PUSH2 0x0a38
00000a33: JUMPI
00000a34: PUSH1 0x00
00000a36: DUP1
00000a37: REVERT
00000a38: JUMPDEST
00000a39: POP
00000a3a: PUSH2 0x0a65
00000a3d: PUSH1 0x04
00000a3f: DUP1
00000a40: CALLDATASIZE
00000a41: SUB
00000a42: PUSH1 0x20
00000a44: DUP2
00000a45: LT
00000a46: ISZERO
00000a47: PUSH2 0x0a4f
00000a4a: JUMPI
00000a4b: PUSH1 0x00
00000a4d: DUP1
00000a4e: REVERT
00000a4f: JUMPDEST
00000a50: DUP2
00000a51: ADD
00000a52: SWAP1
00000a53: DUP1
00000a54: DUP1
00000a55: CALLDATALOAD
00000a56: SWAP1
00000a57: PUSH1 0x20
00000a59: ADD
00000a5a: SWAP1
00000a5b: SWAP3
00000a5c: SWAP2
00000a5d: SWAP1
00000a5e: POP
00000a5f: POP
00000a60: POP
00000a61: PUSH2 0x29b3
00000a64: JUMP
00000a65: JUMPDEST
00000a66: STOP
00000a67: JUMPDEST
00000a68: CALLVALUE
00000a69: DUP1
00000a6a: ISZERO
00000a6b: PUSH2 0x0a73
00000a6e: JUMPI
00000a6f: PUSH1 0x00
00000a71: DUP1
00000a72: REVERT
00000a73: JUMPDEST
00000a74: POP
00000a75: PUSH2 0x0a7c
00000a78: PUSH2 0x2afd
00000a7b: JUMP
00000a7c: JUMPDEST
00000a7d: PUSH1 0x40
00000a7f: MLOAD
00000a80: DUP1
00000a81: DUP3
00000a82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a97: AND
00000a98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aad: AND
00000aae: DUP2
00000aaf: MSTORE
00000ab0: PUSH1 0x20
00000ab2: ADD
00000ab3: SWAP2
00000ab4: POP
00000ab5: POP
00000ab6: PUSH1 0x40
00000ab8: MLOAD
00000ab9: DUP1
00000aba: SWAP2
00000abb: SUB
00000abc: SWAP1
00000abd: RETURN
00000abe: JUMPDEST
00000abf: CALLVALUE
00000ac0: DUP1
00000ac1: ISZERO
00000ac2: PUSH2 0x0aca
00000ac5: JUMPI
00000ac6: PUSH1 0x00
00000ac8: DUP1
00000ac9: REVERT
00000aca: JUMPDEST
00000acb: POP
00000acc: PUSH2 0x0af7
00000acf: PUSH1 0x04
00000ad1: DUP1
00000ad2: CALLDATASIZE
00000ad3: SUB
00000ad4: PUSH1 0x20
00000ad6: DUP2
00000ad7: LT
00000ad8: ISZERO
00000ad9: PUSH2 0x0ae1
00000adc: JUMPI
00000add: PUSH1 0x00
00000adf: DUP1
00000ae0: REVERT
00000ae1: JUMPDEST
00000ae2: DUP2
00000ae3: ADD
00000ae4: SWAP1
00000ae5: DUP1
00000ae6: DUP1
00000ae7: CALLDATALOAD
00000ae8: SWAP1
00000ae9: PUSH1 0x20
00000aeb: ADD
00000aec: SWAP1
00000aed: SWAP3
00000aee: SWAP2
00000aef: SWAP1
00000af0: POP
00000af1: POP
00000af2: POP
00000af3: PUSH2 0x2b23
00000af6: JUMP
00000af7: JUMPDEST
00000af8: STOP
00000af9: JUMPDEST
00000afa: CALLVALUE
00000afb: DUP1
00000afc: ISZERO
00000afd: PUSH2 0x0b05
00000b00: JUMPI
00000b01: PUSH1 0x00
00000b03: DUP1
00000b04: REVERT
00000b05: JUMPDEST
00000b06: POP
00000b07: PUSH2 0x0b34
00000b0a: PUSH1 0x04
00000b0c: DUP1
00000b0d: CALLDATASIZE
00000b0e: SUB
00000b0f: PUSH1 0x20
00000b11: DUP2
00000b12: LT
00000b13: ISZERO
00000b14: PUSH2 0x0b1c
00000b17: JUMPI
00000b18: PUSH1 0x00
00000b1a: DUP1
00000b1b: REVERT
00000b1c: JUMPDEST
00000b1d: DUP2
00000b1e: ADD
00000b1f: SWAP1
00000b20: DUP1
00000b21: DUP1
00000b22: CALLDATALOAD
00000b23: ISZERO
00000b24: ISZERO
00000b25: SWAP1
00000b26: PUSH1 0x20
00000b28: ADD
00000b29: SWAP1
00000b2a: SWAP3
00000b2b: SWAP2
00000b2c: SWAP1
00000b2d: POP
00000b2e: POP
00000b2f: POP
00000b30: PUSH2 0x2eec
00000b33: JUMP
00000b34: JUMPDEST
00000b35: STOP
00000b36: JUMPDEST
00000b37: CALLVALUE
00000b38: DUP1
00000b39: ISZERO
00000b3a: PUSH2 0x0b42
00000b3d: JUMPI
00000b3e: PUSH1 0x00
00000b40: DUP1
00000b41: REVERT
00000b42: JUMPDEST
00000b43: POP
00000b44: PUSH2 0x0b4b
00000b47: PUSH2 0x2fd3
00000b4a: JUMP
00000b4b: JUMPDEST
00000b4c: PUSH1 0x40
00000b4e: MLOAD
00000b4f: DUP1
00000b50: DUP3
00000b51: DUP2
00000b52: MSTORE
00000b53: PUSH1 0x20
00000b55: ADD
00000b56: SWAP2
00000b57: POP
00000b58: POP
00000b59: PUSH1 0x40
00000b5b: MLOAD
00000b5c: DUP1
00000b5d: SWAP2
00000b5e: SUB
00000b5f: SWAP1
00000b60: RETURN
00000b61: JUMPDEST
00000b62: CALLVALUE
00000b63: DUP1
00000b64: ISZERO
00000b65: PUSH2 0x0b6d
00000b68: JUMPI
00000b69: PUSH1 0x00
00000b6b: DUP1
00000b6c: REVERT
00000b6d: JUMPDEST
00000b6e: POP
00000b6f: PUSH2 0x0b9a
00000b72: PUSH1 0x04
00000b74: DUP1
00000b75: CALLDATASIZE
00000b76: SUB
00000b77: PUSH1 0x20
00000b79: DUP2
00000b7a: LT
00000b7b: ISZERO
00000b7c: PUSH2 0x0b84
00000b7f: JUMPI
00000b80: PUSH1 0x00
00000b82: DUP1
00000b83: REVERT
00000b84: JUMPDEST
00000b85: DUP2
00000b86: ADD
00000b87: SWAP1
00000b88: DUP1
00000b89: DUP1
00000b8a: CALLDATALOAD
00000b8b: SWAP1
00000b8c: PUSH1 0x20
00000b8e: ADD
00000b8f: SWAP1
00000b90: SWAP3
00000b91: SWAP2
00000b92: SWAP1
00000b93: POP
00000b94: POP
00000b95: POP
00000b96: PUSH2 0x2fd9
00000b99: JUMP
00000b9a: JUMPDEST
00000b9b: PUSH1 0x40
00000b9d: MLOAD
00000b9e: DUP1
00000b9f: DUP14
00000ba0: DUP2
00000ba1: MSTORE
00000ba2: PUSH1 0x20
00000ba4: ADD
00000ba5: DUP13
00000ba6: DUP2
00000ba7: MSTORE
00000ba8: PUSH1 0x20
00000baa: ADD
00000bab: DUP12
00000bac: DUP2
00000bad: MSTORE
00000bae: PUSH1 0x20
00000bb0: ADD
00000bb1: DUP11
00000bb2: DUP2
00000bb3: MSTORE
00000bb4: PUSH1 0x20
00000bb6: ADD
00000bb7: DUP10
00000bb8: DUP2
00000bb9: MSTORE
00000bba: PUSH1 0x20
00000bbc: ADD
00000bbd: DUP9
00000bbe: DUP2
00000bbf: MSTORE
00000bc0: PUSH1 0x20
00000bc2: ADD
00000bc3: DUP8
00000bc4: DUP2
00000bc5: MSTORE
00000bc6: PUSH1 0x20
00000bc8: ADD
00000bc9: DUP7
00000bca: DUP2
00000bcb: MSTORE
00000bcc: PUSH1 0x20
00000bce: ADD
00000bcf: DUP6
00000bd0: DUP2
00000bd1: MSTORE
00000bd2: PUSH1 0x20
00000bd4: ADD
00000bd5: DUP5
00000bd6: DUP2
00000bd7: MSTORE
00000bd8: PUSH1 0x20
00000bda: ADD
00000bdb: DUP4
00000bdc: DUP2
00000bdd: MSTORE
00000bde: PUSH1 0x20
00000be0: ADD
00000be1: DUP3
00000be2: DUP2
00000be3: MSTORE
00000be4: PUSH1 0x20
00000be6: ADD
00000be7: SWAP13
00000be8: POP
00000be9: POP
00000bea: POP
00000beb: POP
00000bec: POP
00000bed: POP
00000bee: POP
00000bef: POP
00000bf0: POP
00000bf1: POP
00000bf2: POP
00000bf3: POP
00000bf4: POP
00000bf5: PUSH1 0x40
00000bf7: MLOAD
00000bf8: DUP1
00000bf9: SWAP2
00000bfa: SUB
00000bfb: SWAP1
00000bfc: RETURN
00000bfd: JUMPDEST
00000bfe: CALLVALUE
00000bff: DUP1
00000c00: ISZERO
00000c01: PUSH2 0x0c09
00000c04: JUMPI
00000c05: PUSH1 0x00
00000c07: DUP1
00000c08: REVERT
00000c09: JUMPDEST
00000c0a: POP
00000c0b: PUSH2 0x0c12
00000c0e: PUSH2 0x3062
00000c11: JUMP
00000c12: JUMPDEST
00000c13: PUSH1 0x40
00000c15: MLOAD
00000c16: DUP1
00000c17: DUP3
00000c18: DUP2
00000c19: MSTORE
00000c1a: PUSH1 0x20
00000c1c: ADD
00000c1d: SWAP2
00000c1e: POP
00000c1f: POP
00000c20: PUSH1 0x40
00000c22: MLOAD
00000c23: DUP1
00000c24: SWAP2
00000c25: SUB
00000c26: SWAP1
00000c27: RETURN
00000c28: JUMPDEST
00000c29: CALLVALUE
00000c2a: DUP1
00000c2b: ISZERO
00000c2c: PUSH2 0x0c34
00000c2f: JUMPI
00000c30: PUSH1 0x00
00000c32: DUP1
00000c33: REVERT
00000c34: JUMPDEST
00000c35: POP
00000c36: PUSH2 0x0c61
00000c39: PUSH1 0x04
00000c3b: DUP1
00000c3c: CALLDATASIZE
00000c3d: SUB
00000c3e: PUSH1 0x20
00000c40: DUP2
00000c41: LT
00000c42: ISZERO
00000c43: PUSH2 0x0c4b
00000c46: JUMPI
00000c47: PUSH1 0x00
00000c49: DUP1
00000c4a: REVERT
00000c4b: JUMPDEST
00000c4c: DUP2
00000c4d: ADD
00000c4e: SWAP1
00000c4f: DUP1
00000c50: DUP1
00000c51: CALLDATALOAD
00000c52: SWAP1
00000c53: PUSH1 0x20
00000c55: ADD
00000c56: SWAP1
00000c57: SWAP3
00000c58: SWAP2
00000c59: SWAP1
00000c5a: POP
00000c5b: POP
00000c5c: POP
00000c5d: PUSH2 0x3068
00000c60: JUMP
00000c61: JUMPDEST
00000c62: PUSH1 0x40
00000c64: MLOAD
00000c65: DUP1
00000c66: DUP13
00000c67: DUP2
00000c68: MSTORE
00000c69: PUSH1 0x20
00000c6b: ADD
00000c6c: DUP12
00000c6d: DUP2
00000c6e: MSTORE
00000c6f: PUSH1 0x20
00000c71: ADD
00000c72: DUP11
00000c73: DUP2
00000c74: MSTORE
00000c75: PUSH1 0x20
00000c77: ADD
00000c78: DUP10
00000c79: DUP2
00000c7a: MSTORE
00000c7b: PUSH1 0x20
00000c7d: ADD
00000c7e: DUP9
00000c7f: DUP2
00000c80: MSTORE
00000c81: PUSH1 0x20
00000c83: ADD
00000c84: DUP8
00000c85: DUP2
00000c86: MSTORE
00000c87: PUSH1 0x20
00000c89: ADD
00000c8a: DUP7
00000c8b: DUP2
00000c8c: MSTORE
00000c8d: PUSH1 0x20
00000c8f: ADD
00000c90: DUP6
00000c91: DUP2
00000c92: MSTORE
00000c93: PUSH1 0x20
00000c95: ADD
00000c96: DUP5
00000c97: DUP2
00000c98: MSTORE
00000c99: PUSH1 0x20
00000c9b: ADD
00000c9c: DUP4
00000c9d: DUP2
00000c9e: MSTORE
00000c9f: PUSH1 0x20
00000ca1: ADD
00000ca2: DUP3
00000ca3: DUP2
00000ca4: MSTORE
00000ca5: PUSH1 0x20
00000ca7: ADD
00000ca8: SWAP12
00000ca9: POP
00000caa: POP
00000cab: POP
00000cac: POP
00000cad: POP
00000cae: POP
00000caf: POP
00000cb0: POP
00000cb1: POP
00000cb2: POP
00000cb3: POP
00000cb4: POP
00000cb5: PUSH1 0x40
00000cb7: MLOAD
00000cb8: DUP1
00000cb9: SWAP2
00000cba: SUB
00000cbb: SWAP1
00000cbc: RETURN
00000cbd: JUMPDEST
00000cbe: CALLVALUE
00000cbf: DUP1
00000cc0: ISZERO
00000cc1: PUSH2 0x0cc9
00000cc4: JUMPI
00000cc5: PUSH1 0x00
00000cc7: DUP1
00000cc8: REVERT
00000cc9: JUMPDEST
00000cca: POP
00000ccb: PUSH2 0x0dc1
00000cce: PUSH1 0x04
00000cd0: DUP1
00000cd1: CALLDATASIZE
00000cd2: SUB
00000cd3: PUSH2 0x0100
00000cd6: DUP2
00000cd7: LT
00000cd8: ISZERO
00000cd9: PUSH2 0x0ce1
00000cdc: JUMPI
00000cdd: PUSH1 0x00
00000cdf: DUP1
00000ce0: REVERT
00000ce1: JUMPDEST
00000ce2: DUP2
00000ce3: ADD
00000ce4: SWAP1
00000ce5: DUP1
00000ce6: DUP1
00000ce7: CALLDATALOAD
00000ce8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cfd: AND
00000cfe: SWAP1
00000cff: PUSH1 0x20
00000d01: ADD
00000d02: SWAP1
00000d03: SWAP3
00000d04: SWAP2
00000d05: SWAP1
00000d06: DUP1
00000d07: CALLDATALOAD
00000d08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d1d: AND
00000d1e: SWAP1
00000d1f: PUSH1 0x20
00000d21: ADD
00000d22: SWAP1
00000d23: SWAP3
00000d24: SWAP2
00000d25: SWAP1
00000d26: DUP1
00000d27: CALLDATALOAD
00000d28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d3d: AND
00000d3e: SWAP1
00000d3f: PUSH1 0x20
00000d41: ADD
00000d42: SWAP1
00000d43: SWAP3
00000d44: SWAP2
00000d45: SWAP1
00000d46: DUP1
00000d47: CALLDATALOAD
00000d48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d5d: AND
00000d5e: SWAP1
00000d5f: PUSH1 0x20
00000d61: ADD
00000d62: SWAP1
00000d63: SWAP3
00000d64: SWAP2
00000d65: SWAP1
00000d66: DUP1
00000d67: CALLDATALOAD
00000d68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d7d: AND
00000d7e: SWAP1
00000d7f: PUSH1 0x20
00000d81: ADD
00000d82: SWAP1
00000d83: SWAP3
00000d84: SWAP2
00000d85: SWAP1
00000d86: DUP1
00000d87: CALLDATALOAD
00000d88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d9d: AND
00000d9e: SWAP1
00000d9f: PUSH1 0x20
00000da1: ADD
00000da2: SWAP1
00000da3: SWAP3
00000da4: SWAP2
00000da5: SWAP1
00000da6: DUP1
00000da7: CALLDATALOAD
00000da8: SWAP1
00000da9: PUSH1 0x20
00000dab: ADD
00000dac: SWAP1
00000dad: SWAP3
00000dae: SWAP2
00000daf: SWAP1
00000db0: DUP1
00000db1: CALLDATALOAD
00000db2: SWAP1
00000db3: PUSH1 0x20
00000db5: ADD
00000db6: SWAP1
00000db7: SWAP3
00000db8: SWAP2
00000db9: SWAP1
00000dba: POP
00000dbb: POP
00000dbc: POP
00000dbd: PUSH2 0x30c2
00000dc0: JUMP
00000dc1: JUMPDEST
00000dc2: STOP
00000dc3: JUMPDEST
00000dc4: CALLVALUE
00000dc5: DUP1
00000dc6: ISZERO
00000dc7: PUSH2 0x0dcf
00000dca: JUMPI
00000dcb: PUSH1 0x00
00000dcd: DUP1
00000dce: REVERT
00000dcf: JUMPDEST
00000dd0: POP
00000dd1: PUSH2 0x0dd8
00000dd4: PUSH2 0x34ca
00000dd7: JUMP
00000dd8: JUMPDEST
00000dd9: PUSH1 0x40
00000ddb: MLOAD
00000ddc: DUP1
00000ddd: DUP4
00000dde: DUP2
00000ddf: MSTORE
00000de0: PUSH1 0x20
00000de2: ADD
00000de3: DUP3
00000de4: DUP2
00000de5: MSTORE
00000de6: PUSH1 0x20
00000de8: ADD
00000de9: SWAP3
00000dea: POP
00000deb: POP
00000dec: POP
00000ded: PUSH1 0x40
00000def: MLOAD
00000df0: DUP1
00000df1: SWAP2
00000df2: SUB
00000df3: SWAP1
00000df4: RETURN
00000df5: JUMPDEST
00000df6: CALLVALUE
00000df7: DUP1
00000df8: ISZERO
00000df9: PUSH2 0x0e01
00000dfc: JUMPI
00000dfd: PUSH1 0x00
00000dff: DUP1
00000e00: REVERT
00000e01: JUMPDEST
00000e02: POP
00000e03: PUSH2 0x0e0a
00000e06: PUSH2 0x354f
00000e09: JUMP
00000e0a: JUMPDEST
00000e0b: PUSH1 0x40
00000e0d: MLOAD
00000e0e: DUP1
00000e0f: DUP3
00000e10: DUP2
00000e11: MSTORE
00000e12: PUSH1 0x20
00000e14: ADD
00000e15: SWAP2
00000e16: POP
00000e17: POP
00000e18: PUSH1 0x40
00000e1a: MLOAD
00000e1b: DUP1
00000e1c: SWAP2
00000e1d: SUB
00000e1e: SWAP1
00000e1f: RETURN
00000e20: JUMPDEST
00000e21: CALLVALUE
00000e22: DUP1
00000e23: ISZERO
00000e24: PUSH2 0x0e2c
00000e27: JUMPI
00000e28: PUSH1 0x00
00000e2a: DUP1
00000e2b: REVERT
00000e2c: JUMPDEST
00000e2d: POP
00000e2e: PUSH2 0x0e35
00000e31: PUSH2 0x3554
00000e34: JUMP
00000e35: JUMPDEST
00000e36: PUSH1 0x40
00000e38: MLOAD
00000e39: DUP1
00000e3a: DUP3
00000e3b: DUP2
00000e3c: MSTORE
00000e3d: PUSH1 0x20
00000e3f: ADD
00000e40: SWAP2
00000e41: POP
00000e42: POP
00000e43: PUSH1 0x40
00000e45: MLOAD
00000e46: DUP1
00000e47: SWAP2
00000e48: SUB
00000e49: SWAP1
00000e4a: RETURN
00000e4b: JUMPDEST
00000e4c: CALLVALUE
00000e4d: DUP1
00000e4e: ISZERO
00000e4f: PUSH2 0x0e57
00000e52: JUMPI
00000e53: PUSH1 0x00
00000e55: DUP1
00000e56: REVERT
00000e57: JUMPDEST
00000e58: POP
00000e59: PUSH2 0x0e60
00000e5c: PUSH2 0x355a
00000e5f: JUMP
00000e60: JUMPDEST
00000e61: PUSH1 0x40
00000e63: MLOAD
00000e64: DUP1
00000e65: DUP3
00000e66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e7b: AND
00000e7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e91: AND
00000e92: DUP2
00000e93: MSTORE
00000e94: PUSH1 0x20
00000e96: ADD
00000e97: SWAP2
00000e98: POP
00000e99: POP
00000e9a: PUSH1 0x40
00000e9c: MLOAD
00000e9d: DUP1
00000e9e: SWAP2
00000e9f: SUB
00000ea0: SWAP1
00000ea1: RETURN
00000ea2: JUMPDEST
00000ea3: CALLVALUE
00000ea4: DUP1
00000ea5: ISZERO
00000ea6: PUSH2 0x0eae
00000ea9: JUMPI
00000eaa: PUSH1 0x00
00000eac: DUP1
00000ead: REVERT
00000eae: JUMPDEST
00000eaf: POP
00000eb0: PUSH2 0x0edb
00000eb3: PUSH1 0x04
00000eb5: DUP1
00000eb6: CALLDATASIZE
00000eb7: SUB
00000eb8: PUSH1 0x20
00000eba: DUP2
00000ebb: LT
00000ebc: ISZERO
00000ebd: PUSH2 0x0ec5
00000ec0: JUMPI
00000ec1: PUSH1 0x00
00000ec3: DUP1
00000ec4: REVERT
00000ec5: JUMPDEST
00000ec6: DUP2
00000ec7: ADD
00000ec8: SWAP1
00000ec9: DUP1
00000eca: DUP1
00000ecb: CALLDATALOAD
00000ecc: SWAP1
00000ecd: PUSH1 0x20
00000ecf: ADD
00000ed0: SWAP1
00000ed1: SWAP3
00000ed2: SWAP2
00000ed3: SWAP1
00000ed4: POP
00000ed5: POP
00000ed6: POP
00000ed7: PUSH2 0x3580
00000eda: JUMP
00000edb: JUMPDEST
00000edc: STOP
00000edd: JUMPDEST
00000ede: CALLVALUE
00000edf: DUP1
00000ee0: ISZERO
00000ee1: PUSH2 0x0ee9
00000ee4: JUMPI
00000ee5: PUSH1 0x00
00000ee7: DUP1
00000ee8: REVERT
00000ee9: JUMPDEST
00000eea: POP
00000eeb: PUSH2 0x0ef2
00000eee: PUSH2 0x36ca
00000ef1: JUMP
00000ef2: JUMPDEST
00000ef3: PUSH1 0x40
00000ef5: MLOAD
00000ef6: DUP1
00000ef7: DUP3
00000ef8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f0d: AND
00000f0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f23: AND
00000f24: DUP2
00000f25: MSTORE
00000f26: PUSH1 0x20
00000f28: ADD
00000f29: SWAP2
00000f2a: POP
00000f2b: POP
00000f2c: PUSH1 0x40
00000f2e: MLOAD
00000f2f: DUP1
00000f30: SWAP2
00000f31: SUB
00000f32: SWAP1
00000f33: RETURN
00000f34: JUMPDEST
00000f35: CALLVALUE
00000f36: DUP1
00000f37: ISZERO
00000f38: PUSH2 0x0f40
00000f3b: JUMPI
00000f3c: PUSH1 0x00
00000f3e: DUP1
00000f3f: REVERT
00000f40: JUMPDEST
00000f41: POP
00000f42: PUSH2 0x0f49
00000f45: PUSH2 0x36f0
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: PUSH1 0x40
00000f4c: MLOAD
00000f4d: DUP1
00000f4e: DUP3
00000f4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f64: AND
00000f65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f7a: AND
00000f7b: DUP2
00000f7c: MSTORE
00000f7d: PUSH1 0x20
00000f7f: ADD
00000f80: SWAP2
00000f81: POP
00000f82: POP
00000f83: PUSH1 0x40
00000f85: MLOAD
00000f86: DUP1
00000f87: SWAP2
00000f88: SUB
00000f89: SWAP1
00000f8a: RETURN
00000f8b: JUMPDEST
00000f8c: CALLVALUE
00000f8d: DUP1
00000f8e: ISZERO
00000f8f: PUSH2 0x0f97
00000f92: JUMPI
00000f93: PUSH1 0x00
00000f95: DUP1
00000f96: REVERT
00000f97: JUMPDEST
00000f98: POP
00000f99: PUSH2 0x0fa0
00000f9c: PUSH2 0x3716
00000f9f: JUMP
00000fa0: JUMPDEST
00000fa1: PUSH1 0x40
00000fa3: MLOAD
00000fa4: DUP1
00000fa5: DUP3
00000fa6: DUP2
00000fa7: MSTORE
00000fa8: PUSH1 0x20
00000faa: ADD
00000fab: SWAP2
00000fac: POP
00000fad: POP
00000fae: PUSH1 0x40
00000fb0: MLOAD
00000fb1: DUP1
00000fb2: SWAP2
00000fb3: SUB
00000fb4: SWAP1
00000fb5: RETURN
00000fb6: JUMPDEST
00000fb7: CALLVALUE
00000fb8: DUP1
00000fb9: ISZERO
00000fba: PUSH2 0x0fc2
00000fbd: JUMPI
00000fbe: PUSH1 0x00
00000fc0: DUP1
00000fc1: REVERT
00000fc2: JUMPDEST
00000fc3: POP
00000fc4: PUSH2 0x0fcb
00000fc7: PUSH2 0x371c
00000fca: JUMP
00000fcb: JUMPDEST
00000fcc: PUSH1 0x40
00000fce: MLOAD
00000fcf: DUP1
00000fd0: DUP3
00000fd1: DUP2
00000fd2: MSTORE
00000fd3: PUSH1 0x20
00000fd5: ADD
00000fd6: SWAP2
00000fd7: POP
00000fd8: POP
00000fd9: PUSH1 0x40
00000fdb: MLOAD
00000fdc: DUP1
00000fdd: SWAP2
00000fde: SUB
00000fdf: SWAP1
00000fe0: RETURN
00000fe1: JUMPDEST
00000fe2: CALLVALUE
00000fe3: DUP1
00000fe4: ISZERO
00000fe5: PUSH2 0x0fed
00000fe8: JUMPI
00000fe9: PUSH1 0x00
00000feb: DUP1
00000fec: REVERT
00000fed: JUMPDEST
00000fee: POP
00000fef: PUSH2 0x1030
00000ff2: PUSH1 0x04
00000ff4: DUP1
00000ff5: CALLDATASIZE
00000ff6: SUB
00000ff7: PUSH1 0x20
00000ff9: DUP2
00000ffa: LT
00000ffb: ISZERO
00000ffc: PUSH2 0x1004
00000fff: JUMPI
00001000: PUSH1 0x00
00001002: DUP1
00001003: REVERT
00001004: JUMPDEST
00001005: DUP2
00001006: ADD
00001007: SWAP1
00001008: DUP1
00001009: DUP1
0000100a: CALLDATALOAD
0000100b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001020: AND
00001021: SWAP1
00001022: PUSH1 0x20
00001024: ADD
00001025: SWAP1
00001026: SWAP3
00001027: SWAP2
00001028: SWAP1
00001029: POP
0000102a: POP
0000102b: POP
0000102c: PUSH2 0x3722
0000102f: JUMP
00001030: JUMPDEST
00001031: STOP
00001032: JUMPDEST
00001033: CALLVALUE
00001034: DUP1
00001035: ISZERO
00001036: PUSH2 0x103e
00001039: JUMPI
0000103a: PUSH1 0x00
0000103c: DUP1
0000103d: REVERT
0000103e: JUMPDEST
0000103f: POP
00001040: PUSH2 0x1081
00001043: PUSH1 0x04
00001045: DUP1
00001046: CALLDATASIZE
00001047: SUB
00001048: PUSH1 0x20
0000104a: DUP2
0000104b: LT
0000104c: ISZERO
0000104d: PUSH2 0x1055
00001050: JUMPI
00001051: PUSH1 0x00
00001053: DUP1
00001054: REVERT
00001055: JUMPDEST
00001056: DUP2
00001057: ADD
00001058: SWAP1
00001059: DUP1
0000105a: DUP1
0000105b: CALLDATALOAD
0000105c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001071: AND
00001072: SWAP1
00001073: PUSH1 0x20
00001075: ADD
00001076: SWAP1
00001077: SWAP3
00001078: SWAP2
00001079: SWAP1
0000107a: POP
0000107b: POP
0000107c: POP
0000107d: PUSH2 0x37f8
00001080: JUMP
00001081: JUMPDEST
00001082: STOP
00001083: JUMPDEST
00001084: CALLVALUE
00001085: DUP1
00001086: ISZERO
00001087: PUSH2 0x108f
0000108a: JUMPI
0000108b: PUSH1 0x00
0000108d: DUP1
0000108e: REVERT
0000108f: JUMPDEST
00001090: POP
00001091: PUSH2 0x1098
00001094: PUSH2 0x39ac
00001097: JUMP
00001098: JUMPDEST
00001099: PUSH1 0x40
0000109b: MLOAD
0000109c: DUP1
0000109d: DUP3
0000109e: DUP2
0000109f: MSTORE
000010a0: PUSH1 0x20
000010a2: ADD
000010a3: SWAP2
000010a4: POP
000010a5: POP
000010a6: PUSH1 0x40
000010a8: MLOAD
000010a9: DUP1
000010aa: SWAP2
000010ab: SUB
000010ac: SWAP1
000010ad: RETURN
000010ae: JUMPDEST
000010af: CALLVALUE
000010b0: DUP1
000010b1: ISZERO
000010b2: PUSH2 0x10ba
000010b5: JUMPI
000010b6: PUSH1 0x00
000010b8: DUP1
000010b9: REVERT
000010ba: JUMPDEST
000010bb: POP
000010bc: PUSH2 0x10c3
000010bf: PUSH2 0x39b2
000010c2: JUMP
000010c3: JUMPDEST
000010c4: PUSH1 0x40
000010c6: MLOAD
000010c7: DUP1
000010c8: DUP3
000010c9: DUP2
000010ca: MSTORE
000010cb: PUSH1 0x20
000010cd: ADD
000010ce: SWAP2
000010cf: POP
000010d0: POP
000010d1: PUSH1 0x40
000010d3: MLOAD
000010d4: DUP1
000010d5: SWAP2
000010d6: SUB
000010d7: SWAP1
000010d8: RETURN
000010d9: JUMPDEST
000010da: CALLVALUE
000010db: DUP1
000010dc: ISZERO
000010dd: PUSH2 0x10e5
000010e0: JUMPI
000010e1: PUSH1 0x00
000010e3: DUP1
000010e4: REVERT
000010e5: JUMPDEST
000010e6: POP
000010e7: PUSH2 0x1128
000010ea: PUSH1 0x04
000010ec: DUP1
000010ed: CALLDATASIZE
000010ee: SUB
000010ef: PUSH1 0x20
000010f1: DUP2
000010f2: LT
000010f3: ISZERO
000010f4: PUSH2 0x10fc
000010f7: JUMPI
000010f8: PUSH1 0x00
000010fa: DUP1
000010fb: REVERT
000010fc: JUMPDEST
000010fd: DUP2
000010fe: ADD
000010ff: SWAP1
00001100: DUP1
00001101: DUP1
00001102: CALLDATALOAD
00001103: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001118: AND
00001119: SWAP1
0000111a: PUSH1 0x20
0000111c: ADD
0000111d: SWAP1
0000111e: SWAP3
0000111f: SWAP2
00001120: SWAP1
00001121: POP
00001122: POP
00001123: POP
00001124: PUSH2 0x39b8
00001127: JUMP
00001128: JUMPDEST
00001129: STOP
0000112a: JUMPDEST
0000112b: CALLVALUE
0000112c: DUP1
0000112d: ISZERO
0000112e: PUSH2 0x1136
00001131: JUMPI
00001132: PUSH1 0x00
00001134: DUP1
00001135: REVERT
00001136: JUMPDEST
00001137: POP
00001138: PUSH2 0x113f
0000113b: PUSH2 0x3bc8
0000113e: JUMP
0000113f: JUMPDEST
00001140: PUSH1 0x40
00001142: MLOAD
00001143: DUP1
00001144: DUP3
00001145: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000115a: AND
0000115b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001170: AND
00001171: DUP2
00001172: MSTORE
00001173: PUSH1 0x20
00001175: ADD
00001176: SWAP2
00001177: POP
00001178: POP
00001179: PUSH1 0x40
0000117b: MLOAD
0000117c: DUP1
0000117d: SWAP2
0000117e: SUB
0000117f: SWAP1
00001180: RETURN
00001181: JUMPDEST
00001182: CALLVALUE
00001183: DUP1
00001184: ISZERO
00001185: PUSH2 0x118d
00001188: JUMPI
00001189: PUSH1 0x00
0000118b: DUP1
0000118c: REVERT
0000118d: JUMPDEST
0000118e: POP
0000118f: PUSH2 0x1196
00001192: PUSH2 0x3bee
00001195: JUMP
00001196: JUMPDEST
00001197: PUSH1 0x40
00001199: MLOAD
0000119a: DUP1
0000119b: DUP3
0000119c: DUP2
0000119d: MSTORE
0000119e: PUSH1 0x20
000011a0: ADD
000011a1: SWAP2
000011a2: POP
000011a3: POP
000011a4: PUSH1 0x40
000011a6: MLOAD
000011a7: DUP1
000011a8: SWAP2
000011a9: SUB
000011aa: SWAP1
000011ab: RETURN
000011ac: JUMPDEST
000011ad: CALLVALUE
000011ae: DUP1
000011af: ISZERO
000011b0: PUSH2 0x11b8
000011b3: JUMPI
000011b4: PUSH1 0x00
000011b6: DUP1
000011b7: REVERT
000011b8: JUMPDEST
000011b9: POP
000011ba: PUSH2 0x11c1
000011bd: PUSH2 0x3c4d
000011c0: JUMP
000011c1: JUMPDEST
000011c2: PUSH1 0x40
000011c4: MLOAD
000011c5: DUP1
000011c6: DUP3
000011c7: DUP2
000011c8: MSTORE
000011c9: PUSH1 0x20
000011cb: ADD
000011cc: SWAP2
000011cd: POP
000011ce: POP
000011cf: PUSH1 0x40
000011d1: MLOAD
000011d2: DUP1
000011d3: SWAP2
000011d4: SUB
000011d5: SWAP1
000011d6: RETURN
000011d7: JUMPDEST
000011d8: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
000011ed: DUP2
000011ee: JUMP
000011ef: JUMPDEST
000011f0: PUSH4 0x05f5e100
000011f5: DUP2
000011f6: JUMP
000011f7: JUMPDEST
000011f8: PUSH1 0xcb
000011fa: PUSH1 0x20
000011fc: MSTORE
000011fd: DUP1
000011fe: PUSH1 0x00
00001200: MSTORE
00001201: PUSH1 0x40
00001203: PUSH1 0x00
00001205: KECCAK256
00001206: PUSH1 0x00
00001208: SWAP2
00001209: POP
0000120a: SWAP1
0000120b: POP
0000120c: DUP1
0000120d: PUSH1 0x00
0000120f: ADD
00001210: SLOAD
00001211: SWAP1
00001212: DUP1
00001213: PUSH1 0x01
00001215: ADD
00001216: SLOAD
00001217: SWAP1
00001218: DUP1
00001219: PUSH1 0x02
0000121b: ADD
0000121c: SLOAD
0000121d: SWAP1
0000121e: DUP1
0000121f: PUSH1 0x03
00001221: ADD
00001222: SLOAD
00001223: SWAP1
00001224: DUP1
00001225: PUSH1 0x04
00001227: ADD
00001228: SLOAD
00001229: SWAP1
0000122a: DUP1
0000122b: PUSH1 0x05
0000122d: ADD
0000122e: SLOAD
0000122f: SWAP1
00001230: POP
00001231: DUP7
00001232: JUMP
00001233: JUMPDEST
00001234: PUSH1 0x00
00001236: DUP1
00001237: PUSH1 0x00
00001239: PUSH2 0x1244
0000123c: DUP5
0000123d: PUSH1 0xd5
0000123f: SLOAD
00001240: PUSH2 0x3c52
00001243: JUMP
00001244: JUMPDEST
00001245: SWAP1
00001246: POP
00001247: POP
00001248: DUP1
00001249: SWAP5
0000124a: POP
0000124b: DUP2
0000124c: SWAP4
0000124d: POP
0000124e: DUP3
0000124f: SWAP6
00001250: POP
00001251: POP
00001252: POP
00001253: POP
00001254: PUSH1 0x00
00001256: PUSH1 0xcb
00001258: PUSH1 0x00
0000125a: DUP7
0000125b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001270: AND
00001271: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001286: AND
00001287: DUP2
00001288: MSTORE
00001289: PUSH1 0x20
0000128b: ADD
0000128c: SWAP1
0000128d: DUP2
0000128e: MSTORE
0000128f: PUSH1 0x20
00001291: ADD
00001292: PUSH1 0x00
00001294: KECCAK256
00001295: SWAP1
00001296: POP
00001297: PUSH2 0x12ad
0000129a: DUP2
0000129b: PUSH1 0x03
0000129d: ADD
0000129e: SLOAD
0000129f: DUP5
000012a0: PUSH2 0x3ff9
000012a3: SWAP1
000012a4: SWAP2
000012a5: SWAP1
000012a6: PUSH4 0xffffffff
000012ab: AND
000012ac: JUMP
000012ad: JUMPDEST
000012ae: SWAP3
000012af: POP
000012b0: PUSH2 0x12c6
000012b3: DUP2
000012b4: PUSH1 0x02
000012b6: ADD
000012b7: SLOAD
000012b8: DUP4
000012b9: PUSH2 0x3ff9
000012bc: SWAP1
000012bd: SWAP2
000012be: SWAP1
000012bf: PUSH4 0xffffffff
000012c4: AND
000012c5: JUMP
000012c6: JUMPDEST
000012c7: SWAP2
000012c8: POP
000012c9: PUSH2 0x12df
000012cc: DUP2
000012cd: PUSH1 0x05
000012cf: ADD
000012d0: SLOAD
000012d1: DUP6
000012d2: PUSH2 0x3ff9
000012d5: SWAP1
000012d6: SWAP2
000012d7: SWAP1
000012d8: PUSH4 0xffffffff
000012dd: AND
000012de: JUMP
000012df: JUMPDEST
000012e0: SWAP4
000012e1: POP
000012e2: POP
000012e3: SWAP2
000012e4: SWAP4
000012e5: SWAP1
000012e6: SWAP3
000012e7: POP
000012e8: JUMP
000012e9: JUMPDEST
000012ea: PUSH1 0x00
000012ec: DUP1
000012ed: DUP3
000012ee: EQ
000012ef: ISZERO
000012f0: PUSH2 0x12fc
000012f3: JUMPI
000012f4: PUSH1 0x00
000012f6: SWAP1
000012f7: POP
000012f8: PUSH2 0x15be
000012fb: JUMP
000012fc: JUMPDEST
000012fd: PUSH1 0x00
000012ff: DUP1
00001300: PUSH1 0xcc
00001302: PUSH1 0x00
00001304: SWAP1
00001305: SLOAD
00001306: SWAP1
00001307: PUSH2 0x0100
0000130a: EXP
0000130b: SWAP1
0000130c: DIV
0000130d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001322: AND
00001323: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001338: AND
00001339: PUSH4 0x0902f1ac
0000133e: PUSH1 0x40
00001340: MLOAD
00001341: DUP2
00001342: PUSH4 0xffffffff
00001347: AND
00001348: PUSH1 0xe0
0000134a: SHL
0000134b: DUP2
0000134c: MSTORE
0000134d: PUSH1 0x04
0000134f: ADD
00001350: PUSH1 0x60
00001352: PUSH1 0x40
00001354: MLOAD
00001355: DUP1
00001356: DUP4
00001357: SUB
00001358: DUP2
00001359: DUP7
0000135a: DUP1
0000135b: EXTCODESIZE
0000135c: ISZERO
0000135d: DUP1
0000135e: ISZERO
0000135f: PUSH2 0x1367
00001362: JUMPI
00001363: PUSH1 0x00
00001365: DUP1
00001366: REVERT
00001367: JUMPDEST
00001368: POP
00001369: GAS
0000136a: STATICCALL
0000136b: ISZERO
0000136c: DUP1
0000136d: ISZERO
0000136e: PUSH2 0x137b
00001371: JUMPI
00001372: RETURNDATASIZE
00001373: PUSH1 0x00
00001375: DUP1
00001376: RETURNDATACOPY
00001377: RETURNDATASIZE
00001378: PUSH1 0x00
0000137a: REVERT
0000137b: JUMPDEST
0000137c: POP
0000137d: POP
0000137e: POP
0000137f: POP
00001380: PUSH1 0x40
00001382: MLOAD
00001383: RETURNDATASIZE
00001384: PUSH1 0x60
00001386: DUP2
00001387: LT
00001388: ISZERO
00001389: PUSH2 0x1391
0000138c: JUMPI
0000138d: PUSH1 0x00
0000138f: DUP1
00001390: REVERT
00001391: JUMPDEST
00001392: DUP2
00001393: ADD
00001394: SWAP1
00001395: DUP1
00001396: DUP1
00001397: MLOAD
00001398: SWAP1
00001399: PUSH1 0x20
0000139b: ADD
0000139c: SWAP1
0000139d: SWAP3
0000139e: SWAP2
0000139f: SWAP1
000013a0: DUP1
000013a1: MLOAD
000013a2: SWAP1
000013a3: PUSH1 0x20
000013a5: ADD
000013a6: SWAP1
000013a7: SWAP3
000013a8: SWAP2
000013a9: SWAP1
000013aa: DUP1
000013ab: MLOAD
000013ac: SWAP1
000013ad: PUSH1 0x20
000013af: ADD
000013b0: SWAP1
000013b1: SWAP3
000013b2: SWAP2
000013b3: SWAP1
000013b4: POP
000013b5: POP
000013b6: POP
000013b7: POP
000013b8: PUSH14 0xffffffffffffffffffffffffffff
000013c7: AND
000013c8: SWAP2
000013c9: POP
000013ca: PUSH14 0xffffffffffffffffffffffffffff
000013d9: AND
000013da: SWAP2
000013db: POP
000013dc: PUSH1 0x00
000013de: DUP3
000013df: SWAP1
000013e0: POP
000013e1: PUSH1 0x00
000013e3: DUP3
000013e4: SWAP1
000013e5: POP
000013e6: PUSH1 0x00
000013e8: DUP1
000013e9: PUSH2 0x13f0
000013ec: PUSH2 0x1c7c
000013ef: JUMP
000013f0: JUMPDEST
000013f1: SWAP2
000013f2: POP
000013f3: SWAP2
000013f4: POP
000013f5: PUSH1 0x00
000013f7: DUP2
000013f8: EQ
000013f9: ISZERO
000013fa: PUSH2 0x1402
000013fd: JUMPI
000013fe: PUSH1 0x01
00001400: SWAP1
00001401: POP
00001402: JUMPDEST
00001403: PUSH1 0xc9
00001405: PUSH1 0x00
00001407: SWAP1
00001408: SLOAD
00001409: SWAP1
0000140a: PUSH2 0x0100
0000140d: EXP
0000140e: SWAP1
0000140f: DIV
00001410: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001425: AND
00001426: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000143b: AND
0000143c: PUSH4 0xad5c4648
00001441: PUSH1 0x40
00001443: MLOAD
00001444: DUP2
00001445: PUSH4 0xffffffff
0000144a: AND
0000144b: PUSH1 0xe0
0000144d: SHL
0000144e: DUP2
0000144f: MSTORE
00001450: PUSH1 0x04
00001452: ADD
00001453: PUSH1 0x20
00001455: PUSH1 0x40
00001457: MLOAD
00001458: DUP1
00001459: DUP4
0000145a: SUB
0000145b: DUP2
0000145c: DUP7
0000145d: DUP1
0000145e: EXTCODESIZE
0000145f: ISZERO
00001460: DUP1
00001461: ISZERO
00001462: PUSH2 0x146a
00001465: JUMPI
00001466: PUSH1 0x00
00001468: DUP1
00001469: REVERT
0000146a: JUMPDEST
0000146b: POP
0000146c: GAS
0000146d: STATICCALL
0000146e: ISZERO
0000146f: DUP1
00001470: ISZERO
00001471: PUSH2 0x147e
00001474: JUMPI
00001475: RETURNDATASIZE
00001476: PUSH1 0x00
00001478: DUP1
00001479: RETURNDATACOPY
0000147a: RETURNDATASIZE
0000147b: PUSH1 0x00
0000147d: REVERT
0000147e: JUMPDEST
0000147f: POP
00001480: POP
00001481: POP
00001482: POP
00001483: PUSH1 0x40
00001485: MLOAD
00001486: RETURNDATASIZE
00001487: PUSH1 0x20
00001489: DUP2
0000148a: LT
0000148b: ISZERO
0000148c: PUSH2 0x1494
0000148f: JUMPI
00001490: PUSH1 0x00
00001492: DUP1
00001493: REVERT
00001494: JUMPDEST
00001495: DUP2
00001496: ADD
00001497: SWAP1
00001498: DUP1
00001499: DUP1
0000149a: MLOAD
0000149b: SWAP1
0000149c: PUSH1 0x20
0000149e: ADD
0000149f: SWAP1
000014a0: SWAP3
000014a1: SWAP2
000014a2: SWAP1
000014a3: POP
000014a4: POP
000014a5: POP
000014a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014bb: AND
000014bc: PUSH1 0xcd
000014be: PUSH1 0x00
000014c0: SWAP1
000014c1: SLOAD
000014c2: SWAP1
000014c3: PUSH2 0x0100
000014c6: EXP
000014c7: SWAP1
000014c8: DIV
000014c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014de: AND
000014df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014f4: AND
000014f5: LT
000014f6: PUSH2 0x1559
000014f9: JUMPI
000014fa: PUSH2 0x1554
000014fd: PUSH2 0x1521
00001500: DUP3
00001501: PUSH2 0x1513
00001504: DUP12
00001505: DUP8
00001506: PUSH2 0x3ff9
00001509: SWAP1
0000150a: SWAP2
0000150b: SWAP1
0000150c: PUSH4 0xffffffff
00001511: AND
00001512: JUMP
00001513: JUMPDEST
00001514: PUSH2 0x4081
00001517: SWAP1
00001518: SWAP2
00001519: SWAP1
0000151a: PUSH4 0xffffffff
0000151f: AND
00001520: JUMP
00001521: JUMPDEST
00001522: PUSH2 0x1546
00001525: DUP5
00001526: PUSH2 0x1538
00001529: DUP9
0000152a: DUP14
0000152b: PUSH2 0x4081
0000152e: SWAP1
0000152f: SWAP2
00001530: SWAP1
00001531: PUSH4 0xffffffff
00001536: AND
00001537: JUMP
00001538: JUMPDEST
00001539: PUSH2 0x4081
0000153c: SWAP1
0000153d: SWAP2
0000153e: SWAP1
0000153f: PUSH4 0xffffffff
00001544: AND
00001545: JUMP
00001546: JUMPDEST
00001547: PUSH2 0x4107
0000154a: SWAP1
0000154b: SWAP2
0000154c: SWAP1
0000154d: PUSH4 0xffffffff
00001552: AND
00001553: JUMP
00001554: JUMPDEST
00001555: PUSH2 0x15b5
00001558: JUMP
00001559: JUMPDEST
0000155a: PUSH2 0x15b4
0000155d: PUSH2 0x1581
00001560: DUP3
00001561: PUSH2 0x1573
00001564: DUP12
00001565: DUP9
00001566: PUSH2 0x3ff9
00001569: SWAP1
0000156a: SWAP2
0000156b: SWAP1
0000156c: PUSH4 0xffffffff
00001571: AND
00001572: JUMP
00001573: JUMPDEST
00001574: PUSH2 0x4081
00001577: SWAP1
00001578: SWAP2
00001579: SWAP1
0000157a: PUSH4 0xffffffff
0000157f: AND
00001580: JUMP
00001581: JUMPDEST
00001582: PUSH2 0x15a6
00001585: DUP5
00001586: PUSH2 0x1598
00001589: DUP8
0000158a: DUP14
0000158b: PUSH2 0x4081
0000158e: SWAP1
0000158f: SWAP2
00001590: SWAP1
00001591: PUSH4 0xffffffff
00001596: AND
00001597: JUMP
00001598: JUMPDEST
00001599: PUSH2 0x4081
0000159c: SWAP1
0000159d: SWAP2
0000159e: SWAP1
0000159f: PUSH4 0xffffffff
000015a4: AND
000015a5: JUMP
000015a6: JUMPDEST
000015a7: PUSH2 0x4107
000015aa: SWAP1
000015ab: SWAP2
000015ac: SWAP1
000015ad: PUSH4 0xffffffff
000015b2: AND
000015b3: JUMP
000015b4: JUMPDEST
000015b5: JUMPDEST
000015b6: SWAP7
000015b7: POP
000015b8: POP
000015b9: POP
000015ba: POP
000015bb: POP
000015bc: POP
000015bd: POP
000015be: JUMPDEST
000015bf: SWAP2
000015c0: SWAP1
000015c1: POP
000015c2: JUMP
000015c3: JUMPDEST
000015c4: PUSH1 0xd8
000015c6: PUSH1 0x00
000015c8: SWAP1
000015c9: SLOAD
000015ca: SWAP1
000015cb: PUSH2 0x0100
000015ce: EXP
000015cf: SWAP1
000015d0: DIV
000015d1: PUSH1 0xff
000015d3: AND
000015d4: DUP2
000015d5: JUMP
000015d6: JUMPDEST
000015d7: PUSH2 0x15de
000015da: PUSH2 0x4151
000015dd: JUMP
000015de: JUMPDEST
000015df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015f4: AND
000015f5: PUSH1 0x97
000015f7: PUSH1 0x00
000015f9: SWAP1
000015fa: SLOAD
000015fb: SWAP1
000015fc: PUSH2 0x0100
000015ff: EXP
00001600: SWAP1
00001601: DIV
00001602: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001617: AND
00001618: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000162d: AND
0000162e: EQ
0000162f: PUSH2 0x16a0
00001632: JUMPI
00001633: PUSH1 0x40
00001635: MLOAD
00001636: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001657: DUP2
00001658: MSTORE
00001659: PUSH1 0x04
0000165b: ADD
0000165c: DUP1
0000165d: DUP1
0000165e: PUSH1 0x20
00001660: ADD
00001661: DUP3
00001662: DUP2
00001663: SUB
00001664: DUP3
00001665: MSTORE
00001666: PUSH1 0x20
00001668: DUP2
00001669: MSTORE
0000166a: PUSH1 0x20
0000166c: ADD
0000166d: DUP1
0000166e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000168f: DUP2
00001690: MSTORE
00001691: POP
00001692: PUSH1 0x20
00001694: ADD
00001695: SWAP2
00001696: POP
00001697: POP
00001698: PUSH1 0x40
0000169a: MLOAD
0000169b: DUP1
0000169c: SWAP2
0000169d: SUB
0000169e: SWAP1
0000169f: REVERT
000016a0: JUMPDEST
000016a1: PUSH1 0xd8
000016a3: PUSH1 0x01
000016a5: SWAP1
000016a6: SLOAD
000016a7: SWAP1
000016a8: PUSH2 0x0100
000016ab: EXP
000016ac: SWAP1
000016ad: DIV
000016ae: PUSH1 0xff
000016b0: AND
000016b1: ISZERO
000016b2: PUSH2 0x1723
000016b5: JUMPI
000016b6: PUSH1 0x40
000016b8: MLOAD
000016b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016da: DUP2
000016db: MSTORE
000016dc: PUSH1 0x04
000016de: ADD
000016df: DUP1
000016e0: DUP1
000016e1: PUSH1 0x20
000016e3: ADD
000016e4: DUP3
000016e5: DUP2
000016e6: SUB
000016e7: DUP3
000016e8: MSTORE
000016e9: PUSH1 0x16
000016eb: DUP2
000016ec: MSTORE
000016ed: PUSH1 0x20
000016ef: ADD
000016f0: DUP1
000016f1: PUSH32 0x574541503a20616c726561647920757067726164656400000000000000000000
00001712: DUP2
00001713: MSTORE
00001714: POP
00001715: PUSH1 0x20
00001717: ADD
00001718: SWAP2
00001719: POP
0000171a: POP
0000171b: PUSH1 0x40
0000171d: MLOAD
0000171e: DUP1
0000171f: SWAP2
00001720: SUB
00001721: SWAP1
00001722: REVERT
00001723: JUMPDEST
00001724: PUSH1 0x01
00001726: PUSH1 0xd8
00001728: PUSH1 0x01
0000172a: PUSH2 0x0100
0000172d: EXP
0000172e: DUP2
0000172f: SLOAD
00001730: DUP2
00001731: PUSH1 0xff
00001733: MUL
00001734: NOT
00001735: AND
00001736: SWAP1
00001737: DUP4
00001738: ISZERO
00001739: ISZERO
0000173a: MUL
0000173b: OR
0000173c: SWAP1
0000173d: SSTORE
0000173e: POP
0000173f: PUSH1 0xc9
00001741: PUSH1 0x00
00001743: SWAP1
00001744: SLOAD
00001745: SWAP1
00001746: PUSH2 0x0100
00001749: EXP
0000174a: SWAP1
0000174b: DIV
0000174c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001761: AND
00001762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001777: AND
00001778: PUSH4 0xad5c4648
0000177d: PUSH1 0x40
0000177f: MLOAD
00001780: DUP2
00001781: PUSH4 0xffffffff
00001786: AND
00001787: PUSH1 0xe0
00001789: SHL
0000178a: DUP2
0000178b: MSTORE
0000178c: PUSH1 0x04
0000178e: ADD
0000178f: PUSH1 0x20
00001791: PUSH1 0x40
00001793: MLOAD
00001794: DUP1
00001795: DUP4
00001796: SUB
00001797: DUP2
00001798: DUP7
00001799: DUP1
0000179a: EXTCODESIZE
0000179b: ISZERO
0000179c: DUP1
0000179d: ISZERO
0000179e: PUSH2 0x17a6
000017a1: JUMPI
000017a2: PUSH1 0x00
000017a4: DUP1
000017a5: REVERT
000017a6: JUMPDEST
000017a7: POP
000017a8: GAS
000017a9: STATICCALL
000017aa: ISZERO
000017ab: DUP1
000017ac: ISZERO
000017ad: PUSH2 0x17ba
000017b0: JUMPI
000017b1: RETURNDATASIZE
000017b2: PUSH1 0x00
000017b4: DUP1
000017b5: RETURNDATACOPY
000017b6: RETURNDATASIZE
000017b7: PUSH1 0x00
000017b9: REVERT
000017ba: JUMPDEST
000017bb: POP
000017bc: POP
000017bd: POP
000017be: POP
000017bf: PUSH1 0x40
000017c1: MLOAD
000017c2: RETURNDATASIZE
000017c3: PUSH1 0x20
000017c5: DUP2
000017c6: LT
000017c7: ISZERO
000017c8: PUSH2 0x17d0
000017cb: JUMPI
000017cc: PUSH1 0x00
000017ce: DUP1
000017cf: REVERT
000017d0: JUMPDEST
000017d1: DUP2
000017d2: ADD
000017d3: SWAP1
000017d4: DUP1
000017d5: DUP1
000017d6: MLOAD
000017d7: SWAP1
000017d8: PUSH1 0x20
000017da: ADD
000017db: SWAP1
000017dc: SWAP3
000017dd: SWAP2
000017de: SWAP1
000017df: POP
000017e0: POP
000017e1: POP
000017e2: PUSH1 0xd8
000017e4: PUSH1 0x02
000017e6: PUSH2 0x0100
000017e9: EXP
000017ea: DUP2
000017eb: SLOAD
000017ec: DUP2
000017ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001802: MUL
00001803: NOT
00001804: AND
00001805: SWAP1
00001806: DUP4
00001807: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000181c: AND
0000181d: MUL
0000181e: OR
0000181f: SWAP1
00001820: SSTORE
00001821: POP
00001822: PUSH1 0x00
00001824: PUSH1 0xd9
00001826: DUP2
00001827: SWAP1
00001828: SSTORE
00001829: POP
0000182a: JUMP
0000182b: JUMPDEST
0000182c: PUSH1 0x01
0000182e: ISZERO
0000182f: ISZERO
00001830: PUSH1 0xd8
00001832: PUSH1 0x00
00001834: SWAP1
00001835: SLOAD
00001836: SWAP1
00001837: PUSH2 0x0100
0000183a: EXP
0000183b: SWAP1
0000183c: DIV
0000183d: PUSH1 0xff
0000183f: AND
00001840: ISZERO
00001841: ISZERO
00001842: EQ
00001843: PUSH2 0x18b4
00001846: JUMPI
00001847: PUSH1 0x40
00001849: MLOAD
0000184a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000186b: DUP2
0000186c: MSTORE
0000186d: PUSH1 0x04
0000186f: ADD
00001870: DUP1
00001871: DUP1
00001872: PUSH1 0x20
00001874: ADD
00001875: DUP3
00001876: DUP2
00001877: SUB
00001878: DUP3
00001879: MSTORE
0000187a: PUSH1 0x0e
0000187c: DUP2
0000187d: MSTORE
0000187e: PUSH1 0x20
00001880: ADD
00001881: DUP1
00001882: PUSH32 0x4d41494e5441494e494e472e2e2e000000000000000000000000000000000000
000018a3: DUP2
000018a4: MSTORE
000018a5: POP
000018a6: PUSH1 0x20
000018a8: ADD
000018a9: SWAP2
000018aa: POP
000018ab: POP
000018ac: PUSH1 0x40
000018ae: MLOAD
000018af: DUP1
000018b0: SWAP2
000018b1: SUB
000018b2: SWAP1
000018b3: REVERT
000018b4: JUMPDEST
000018b5: PUSH1 0x00
000018b7: CALLER
000018b8: SWAP1
000018b9: POP
000018ba: PUSH1 0x00
000018bc: PUSH1 0xcb
000018be: PUSH1 0x00
000018c0: DUP4
000018c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018d6: AND
000018d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018ec: AND
000018ed: DUP2
000018ee: MSTORE
000018ef: PUSH1 0x20
000018f1: ADD
000018f2: SWAP1
000018f3: DUP2
000018f4: MSTORE
000018f5: PUSH1 0x20
000018f7: ADD
000018f8: PUSH1 0x00
000018fa: KECCAK256
000018fb: SWAP1
000018fc: POP
000018fd: PUSH1 0x00
000018ff: DUP4
00001900: GT
00001901: DUP1
00001902: ISZERO
00001903: PUSH2 0x1926
00001906: JUMPI
00001907: POP
00001908: PUSH2 0x1922
0000190b: DUP2
0000190c: PUSH1 0x00
0000190e: ADD
0000190f: SLOAD
00001910: DUP3
00001911: PUSH1 0x01
00001913: ADD
00001914: SLOAD
00001915: PUSH2 0x3ff9
00001918: SWAP1
00001919: SWAP2
0000191a: SWAP1
0000191b: PUSH4 0xffffffff
00001920: AND
00001921: JUMP
00001922: JUMPDEST
00001923: DUP4
00001924: GT
00001925: ISZERO
00001926: JUMPDEST
00001927: PUSH2 0x1998
0000192a: JUMPI
0000192b: PUSH1 0x40
0000192d: MLOAD
0000192e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000194f: DUP2
00001950: MSTORE
00001951: PUSH1 0x04
00001953: ADD
00001954: DUP1
00001955: DUP1
00001956: PUSH1 0x20
00001958: ADD
00001959: DUP3
0000195a: DUP2
0000195b: SUB
0000195c: DUP3
0000195d: MSTORE
0000195e: PUSH1 0x13
00001960: DUP2
00001961: MSTORE
00001962: PUSH1 0x20
00001964: ADD
00001965: DUP1
00001966: PUSH32 0x494e535546464943454e545f42414c414e434500000000000000000000000000
00001987: DUP2
00001988: MSTORE
00001989: POP
0000198a: PUSH1 0x20
0000198c: ADD
0000198d: SWAP2
0000198e: POP
0000198f: POP
00001990: PUSH1 0x40
00001992: MLOAD
00001993: DUP1
00001994: SWAP2
00001995: SUB
00001996: SWAP1
00001997: REVERT
00001998: JUMPDEST
00001999: PUSH1 0x00
0000199b: PUSH2 0x19a3
0000199e: DUP4
0000199f: PUSH2 0x4159
000019a2: JUMP
000019a3: JUMPDEST
000019a4: SWAP1
000019a5: POP
000019a6: PUSH1 0x00
000019a8: DUP5
000019a9: DUP4
000019aa: PUSH1 0x01
000019ac: ADD
000019ad: SLOAD
000019ae: LT
000019af: PUSH2 0x19b8
000019b2: JUMPI
000019b3: DUP5
000019b4: PUSH2 0x19be
000019b7: JUMP
000019b8: JUMPDEST
000019b9: DUP3
000019ba: PUSH1 0x01
000019bc: ADD
000019bd: SLOAD
000019be: JUMPDEST
000019bf: SWAP1
000019c0: POP
000019c1: PUSH1 0x00
000019c3: PUSH2 0x19d5
000019c6: DUP3
000019c7: DUP8
000019c8: PUSH2 0x4174
000019cb: SWAP1
000019cc: SWAP2
000019cd: SWAP1
000019ce: PUSH4 0xffffffff
000019d3: AND
000019d4: JUMP
000019d5: JUMPDEST
000019d6: SWAP1
000019d7: POP
000019d8: PUSH2 0x19ee
000019db: DUP3
000019dc: DUP6
000019dd: PUSH1 0x01
000019df: ADD
000019e0: SLOAD
000019e1: PUSH2 0x4174
000019e4: SWAP1
000019e5: SWAP2
000019e6: SWAP1
000019e7: PUSH4 0xffffffff
000019ec: AND
000019ed: JUMP
000019ee: JUMPDEST
000019ef: DUP5
000019f0: PUSH1 0x01
000019f2: ADD
000019f3: DUP2
000019f4: SWAP1
000019f5: SSTORE
000019f6: POP
000019f7: PUSH2 0x1a0d
000019fa: DUP2
000019fb: DUP6
000019fc: PUSH1 0x00
000019fe: ADD
000019ff: SLOAD
00001a00: PUSH2 0x4174
00001a03: SWAP1
00001a04: SWAP2
00001a05: SWAP1
00001a06: PUSH4 0xffffffff
00001a0b: AND
00001a0c: JUMP
00001a0d: JUMPDEST
00001a0e: DUP5
00001a0f: PUSH1 0x00
00001a11: ADD
00001a12: DUP2
00001a13: SWAP1
00001a14: SSTORE
00001a15: POP
00001a16: PUSH1 0x00
00001a18: PUSH1 0xca
00001a1a: PUSH1 0x00
00001a1c: DUP6
00001a1d: DUP2
00001a1e: MSTORE
00001a1f: PUSH1 0x20
00001a21: ADD
00001a22: SWAP1
00001a23: DUP2
00001a24: MSTORE
00001a25: PUSH1 0x20
00001a27: ADD
00001a28: PUSH1 0x00
00001a2a: KECCAK256
00001a2b: SWAP1
00001a2c: POP
00001a2d: PUSH2 0x1a43
00001a30: DUP4
00001a31: DUP3
00001a32: PUSH1 0x04
00001a34: ADD
00001a35: SLOAD
00001a36: PUSH2 0x4174
00001a39: SWAP1
00001a3a: SWAP2
00001a3b: SWAP1
00001a3c: PUSH4 0xffffffff
00001a41: AND
00001a42: JUMP
00001a43: JUMPDEST
00001a44: DUP2
00001a45: PUSH1 0x04
00001a47: ADD
00001a48: DUP2
00001a49: SWAP1
00001a4a: SSTORE
00001a4b: POP
00001a4c: PUSH2 0x1a62
00001a4f: DUP3
00001a50: DUP3
00001a51: PUSH1 0x03
00001a53: ADD
00001a54: SLOAD
00001a55: PUSH2 0x4174
00001a58: SWAP1
00001a59: SWAP2
00001a5a: SWAP1
00001a5b: PUSH4 0xffffffff
00001a60: AND
00001a61: JUMP
00001a62: JUMPDEST
00001a63: DUP2
00001a64: PUSH1 0x03
00001a66: ADD
00001a67: DUP2
00001a68: SWAP1
00001a69: SSTORE
00001a6a: POP
00001a6b: PUSH2 0x1ab7
00001a6e: DUP7
00001a6f: DUP9
00001a70: PUSH1 0xcc
00001a72: PUSH1 0x00
00001a74: SWAP1
00001a75: SLOAD
00001a76: SWAP1
00001a77: PUSH2 0x0100
00001a7a: EXP
00001a7b: SWAP1
00001a7c: DIV
00001a7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a92: AND
00001a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aa8: AND
00001aa9: PUSH2 0x41be
00001aac: SWAP1
00001aad: SWAP3
00001aae: SWAP2
00001aaf: SWAP1
00001ab0: PUSH4 0xffffffff
00001ab5: AND
00001ab6: JUMP
00001ab7: JUMPDEST
00001ab8: DUP6
00001ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ace: AND
00001acf: PUSH32 0x0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75
00001af0: DUP9
00001af1: PUSH1 0x40
00001af3: MLOAD
00001af4: DUP1
00001af5: DUP3
00001af6: DUP2
00001af7: MSTORE
00001af8: PUSH1 0x20
00001afa: ADD
00001afb: SWAP2
00001afc: POP
00001afd: POP
00001afe: PUSH1 0x40
00001b00: MLOAD
00001b01: DUP1
00001b02: SWAP2
00001b03: SUB
00001b04: SWAP1
00001b05: LOG2
00001b06: POP
00001b07: POP
00001b08: POP
00001b09: POP
00001b0a: POP
00001b0b: POP
00001b0c: POP
00001b0d: JUMP
00001b0e: JUMPDEST
00001b0f: PUSH1 0xdb
00001b11: PUSH1 0x01
00001b13: SWAP1
00001b14: SLOAD
00001b15: SWAP1
00001b16: PUSH2 0x0100
00001b19: EXP
00001b1a: SWAP1
00001b1b: DIV
00001b1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b31: AND
00001b32: DUP2
00001b33: JUMP
00001b34: JUMPDEST
00001b35: PUSH14 0x314dc6448d9338c15b0a00000000
00001b44: DUP2
00001b45: JUMP
00001b46: JUMPDEST
00001b47: PUSH1 0x00
00001b49: DUP1
00001b4a: PUSH1 0x00
00001b4c: DUP1
00001b4d: PUSH1 0x00
00001b4f: DUP1
00001b50: PUSH1 0x00
00001b52: DUP1
00001b53: PUSH1 0x00
00001b55: DUP1
00001b56: PUSH1 0x00
00001b58: DUP1
00001b59: PUSH2 0x1b63
00001b5c: PUSH1 0xd5
00001b5e: SLOAD
00001b5f: PUSH2 0x2fd9
00001b62: JUMP
00001b63: JUMPDEST
00001b64: SWAP12
00001b65: POP
00001b66: SWAP12
00001b67: POP
00001b68: SWAP12
00001b69: POP
00001b6a: SWAP12
00001b6b: POP
00001b6c: SWAP12
00001b6d: POP
00001b6e: SWAP12
00001b6f: POP
00001b70: SWAP12
00001b71: POP
00001b72: SWAP12
00001b73: POP
00001b74: SWAP12
00001b75: POP
00001b76: SWAP12
00001b77: POP
00001b78: SWAP12
00001b79: POP
00001b7a: SWAP12
00001b7b: POP
00001b7c: SWAP1
00001b7d: SWAP2
00001b7e: SWAP3
00001b7f: SWAP4
00001b80: SWAP5
00001b81: SWAP6
00001b82: SWAP7
00001b83: SWAP8
00001b84: SWAP9
00001b85: SWAP10
00001b86: SWAP11
00001b87: SWAP12
00001b88: JUMP
00001b89: JUMPDEST
00001b8a: PUSH1 0xd8
00001b8c: PUSH1 0x02
00001b8e: SWAP1
00001b8f: SLOAD
00001b90: SWAP1
00001b91: PUSH2 0x0100
00001b94: EXP
00001b95: SWAP1
00001b96: DIV
00001b97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bac: AND
00001bad: DUP2
00001bae: JUMP
00001baf: JUMPDEST
00001bb0: PUSH1 0xd8
00001bb2: PUSH1 0x01
00001bb4: SWAP1
00001bb5: SLOAD
00001bb6: SWAP1
00001bb7: PUSH2 0x0100
00001bba: EXP
00001bbb: SWAP1
00001bbc: DIV
00001bbd: PUSH1 0xff
00001bbf: AND
00001bc0: DUP2
00001bc1: JUMP
00001bc2: JUMPDEST
00001bc3: PUSH1 0x01
00001bc5: ISZERO
00001bc6: ISZERO
00001bc7: PUSH1 0xd8
00001bc9: PUSH1 0x00
00001bcb: SWAP1
00001bcc: SLOAD
00001bcd: SWAP1
00001bce: PUSH2 0x0100
00001bd1: EXP
00001bd2: SWAP1
00001bd3: DIV
00001bd4: PUSH1 0xff
00001bd6: AND
00001bd7: ISZERO
00001bd8: ISZERO
00001bd9: EQ
00001bda: PUSH2 0x1c4b
00001bdd: JUMPI
00001bde: PUSH1 0x40
00001be0: MLOAD
00001be1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001c02: DUP2
00001c03: MSTORE
00001c04: PUSH1 0x04
00001c06: ADD
00001c07: DUP1
00001c08: DUP1
00001c09: PUSH1 0x20
00001c0b: ADD
00001c0c: DUP3
00001c0d: DUP2
00001c0e: SUB
00001c0f: DUP3
00001c10: MSTORE
00001c11: PUSH1 0x0e
00001c13: DUP2
00001c14: MSTORE
00001c15: PUSH1 0x20
00001c17: ADD
00001c18: DUP1
00001c19: PUSH32 0x4d41494e5441494e494e472e2e2e000000000000000000000000000000000000
00001c3a: DUP2
00001c3b: MSTORE
00001c3c: POP
00001c3d: PUSH1 0x20
00001c3f: ADD
00001c40: SWAP2
00001c41: POP
00001c42: POP
00001c43: PUSH1 0x40
00001c45: MLOAD
00001c46: DUP1
00001c47: SWAP2
00001c48: SUB
00001c49: SWAP1
00001c4a: REVERT
00001c4b: JUMPDEST
00001c4c: PUSH2 0x1c54
00001c4f: CALLER
00001c50: PUSH2 0x4276
00001c53: JUMP
00001c54: JUMPDEST
00001c55: JUMP
00001c56: JUMPDEST
00001c57: PUSH1 0xd0
00001c59: PUSH1 0x00
00001c5b: SWAP1
00001c5c: SLOAD
00001c5d: SWAP1
00001c5e: PUSH2 0x0100
00001c61: EXP
00001c62: SWAP1
00001c63: DIV
00001c64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c79: AND
00001c7a: DUP2
00001c7b: JUMP
00001c7c: JUMPDEST
00001c7d: PUSH1 0x00
00001c7f: DUP1
00001c80: PUSH1 0x00
00001c82: DUP1
00001c83: PUSH2 0x1cad
00001c86: PUSH1 0xcf
00001c88: PUSH1 0x00
00001c8a: SWAP1
00001c8b: SLOAD
00001c8c: SWAP1
00001c8d: PUSH2 0x0100
00001c90: EXP
00001c91: SWAP1
00001c92: DIV
00001c93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ca8: AND
00001ca9: PUSH2 0x44bf
00001cac: JUMP
00001cad: JUMPDEST
00001cae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cc3: AND
00001cc4: PUSH4 0x0902f1ac
00001cc9: PUSH1 0x40
00001ccb: MLOAD
00001ccc: DUP2
00001ccd: PUSH4 0xffffffff
00001cd2: AND
00001cd3: PUSH1 0xe0
00001cd5: SHL
00001cd6: DUP2
00001cd7: MSTORE
00001cd8: PUSH1 0x04
00001cda: ADD
00001cdb: PUSH1 0x60
00001cdd: PUSH1 0x40
00001cdf: MLOAD
00001ce0: DUP1
00001ce1: DUP4
00001ce2: SUB
00001ce3: DUP2
00001ce4: DUP7
00001ce5: DUP1
00001ce6: EXTCODESIZE
00001ce7: ISZERO
00001ce8: DUP1
00001ce9: ISZERO
00001cea: PUSH2 0x1cf2
00001ced: JUMPI
00001cee: PUSH1 0x00
00001cf0: DUP1
00001cf1: REVERT
00001cf2: JUMPDEST
00001cf3: POP
00001cf4: GAS
00001cf5: STATICCALL
00001cf6: ISZERO
00001cf7: DUP1
00001cf8: ISZERO
00001cf9: PUSH2 0x1d06
00001cfc: JUMPI
00001cfd: RETURNDATASIZE
00001cfe: PUSH1 0x00
00001d00: DUP1
00001d01: RETURNDATACOPY
00001d02: RETURNDATASIZE
00001d03: PUSH1 0x00
00001d05: REVERT
00001d06: JUMPDEST
00001d07: POP
00001d08: POP
00001d09: POP
00001d0a: POP
00001d0b: PUSH1 0x40
00001d0d: MLOAD
00001d0e: RETURNDATASIZE
00001d0f: PUSH1 0x60
00001d11: DUP2
00001d12: LT
00001d13: ISZERO
00001d14: PUSH2 0x1d1c
00001d17: JUMPI
00001d18: PUSH1 0x00
00001d1a: DUP1
00001d1b: REVERT
00001d1c: JUMPDEST
00001d1d: DUP2
00001d1e: ADD
00001d1f: SWAP1
00001d20: DUP1
00001d21: DUP1
00001d22: MLOAD
00001d23: SWAP1
00001d24: PUSH1 0x20
00001d26: ADD
00001d27: SWAP1
00001d28: SWAP3
00001d29: SWAP2
00001d2a: SWAP1
00001d2b: DUP1
00001d2c: MLOAD
00001d2d: SWAP1
00001d2e: PUSH1 0x20
00001d30: ADD
00001d31: SWAP1
00001d32: SWAP3
00001d33: SWAP2
00001d34: SWAP1
00001d35: DUP1
00001d36: MLOAD
00001d37: SWAP1
00001d38: PUSH1 0x20
00001d3a: ADD
00001d3b: SWAP1
00001d3c: SWAP3
00001d3d: SWAP2
00001d3e: SWAP1
00001d3f: POP
00001d40: POP
00001d41: POP
00001d42: POP
00001d43: PUSH14 0xffffffffffffffffffffffffffff
00001d52: AND
00001d53: SWAP2
00001d54: POP
00001d55: PUSH14 0xffffffffffffffffffffffffffff
00001d64: AND
00001d65: SWAP2
00001d66: POP
00001d67: PUSH1 0x00
00001d69: DUP3
00001d6a: SWAP1
00001d6b: POP
00001d6c: PUSH1 0x00
00001d6e: DUP3
00001d6f: SWAP1
00001d70: POP
00001d71: PUSH1 0xc9
00001d73: PUSH1 0x00
00001d75: SWAP1
00001d76: SLOAD
00001d77: SWAP1
00001d78: PUSH2 0x0100
00001d7b: EXP
00001d7c: SWAP1
00001d7d: DIV
00001d7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d93: AND
00001d94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001da9: AND
00001daa: PUSH4 0xad5c4648
00001daf: PUSH1 0x40
00001db1: MLOAD
00001db2: DUP2
00001db3: PUSH4 0xffffffff
00001db8: AND
00001db9: PUSH1 0xe0
00001dbb: SHL
00001dbc: DUP2
00001dbd: MSTORE
00001dbe: PUSH1 0x04
00001dc0: ADD
00001dc1: PUSH1 0x20
00001dc3: PUSH1 0x40
00001dc5: MLOAD
00001dc6: DUP1
00001dc7: DUP4
00001dc8: SUB
00001dc9: DUP2
00001dca: DUP7
00001dcb: DUP1
00001dcc: EXTCODESIZE
00001dcd: ISZERO
00001dce: DUP1
00001dcf: ISZERO
00001dd0: PUSH2 0x1dd8
00001dd3: JUMPI
00001dd4: PUSH1 0x00
00001dd6: DUP1
00001dd7: REVERT
00001dd8: JUMPDEST
00001dd9: POP
00001dda: GAS
00001ddb: STATICCALL
00001ddc: ISZERO
00001ddd: DUP1
00001dde: ISZERO
00001ddf: PUSH2 0x1dec
00001de2: JUMPI
00001de3: RETURNDATASIZE
00001de4: PUSH1 0x00
00001de6: DUP1
00001de7: RETURNDATACOPY
00001de8: RETURNDATASIZE
00001de9: PUSH1 0x00
00001deb: REVERT
00001dec: JUMPDEST
00001ded: POP
00001dee: POP
00001def: POP
00001df0: POP
00001df1: PUSH1 0x40
00001df3: MLOAD
00001df4: RETURNDATASIZE
00001df5: PUSH1 0x20
00001df7: DUP2
00001df8: LT
00001df9: ISZERO
00001dfa: PUSH2 0x1e02
00001dfd: JUMPI
00001dfe: PUSH1 0x00
00001e00: DUP1
00001e01: REVERT
00001e02: JUMPDEST
00001e03: DUP2
00001e04: ADD
00001e05: SWAP1
00001e06: DUP1
00001e07: DUP1
00001e08: MLOAD
00001e09: SWAP1
00001e0a: PUSH1 0x20
00001e0c: ADD
00001e0d: SWAP1
00001e0e: SWAP3
00001e0f: SWAP2
00001e10: SWAP1
00001e11: POP
00001e12: POP
00001e13: POP
00001e14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e29: AND
00001e2a: PUSH1 0xcf
00001e2c: PUSH1 0x00
00001e2e: SWAP1
00001e2f: SLOAD
00001e30: SWAP1
00001e31: PUSH2 0x0100
00001e34: EXP
00001e35: SWAP1
00001e36: DIV
00001e37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e4c: AND
00001e4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e62: AND
00001e63: LT
00001e64: PUSH2 0x1e6e
00001e67: JUMPI
00001e68: DUP1
00001e69: DUP3
00001e6a: PUSH2 0x1e71
00001e6d: JUMP
00001e6e: JUMPDEST
00001e6f: DUP2
00001e70: DUP2
00001e71: JUMPDEST
00001e72: SWAP6
00001e73: POP
00001e74: SWAP6
00001e75: POP
00001e76: POP
00001e77: POP
00001e78: POP
00001e79: POP
00001e7a: SWAP1
00001e7b: SWAP2
00001e7c: JUMP
00001e7d: JUMPDEST
00001e7e: PUSH1 0xcc
00001e80: PUSH1 0x00
00001e82: SWAP1
00001e83: SLOAD
00001e84: SWAP1
00001e85: PUSH2 0x0100
00001e88: EXP
00001e89: SWAP1
00001e8a: DIV
00001e8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ea0: AND
00001ea1: DUP2
00001ea2: JUMP
00001ea3: JUMPDEST
00001ea4: PUSH2 0x1eab
00001ea7: PUSH2 0x4151
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ec1: AND
00001ec2: PUSH1 0x97
00001ec4: PUSH1 0x00
00001ec6: SWAP1
00001ec7: SLOAD
00001ec8: SWAP1
00001ec9: PUSH2 0x0100
00001ecc: EXP
00001ecd: SWAP1
00001ece: DIV
00001ecf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ee4: AND
00001ee5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001efa: AND
00001efb: EQ
00001efc: PUSH2 0x1f6d
00001eff: JUMPI
00001f00: PUSH1 0x40
00001f02: MLOAD
00001f03: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f24: DUP2
00001f25: MSTORE
00001f26: PUSH1 0x04
00001f28: ADD
00001f29: DUP1
00001f2a: DUP1
00001f2b: PUSH1 0x20
00001f2d: ADD
00001f2e: DUP3
00001f2f: DUP2
00001f30: SUB
00001f31: DUP3
00001f32: MSTORE
00001f33: PUSH1 0x20
00001f35: DUP2
00001f36: MSTORE
00001f37: PUSH1 0x20
00001f39: ADD
00001f3a: DUP1
00001f3b: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00001f5c: DUP2
00001f5d: MSTORE
00001f5e: POP
00001f5f: PUSH1 0x20
00001f61: ADD
00001f62: SWAP2
00001f63: POP
00001f64: POP
00001f65: PUSH1 0x40
00001f67: MLOAD
00001f68: DUP1
00001f69: SWAP2
00001f6a: SUB
00001f6b: SWAP1
00001f6c: REVERT
00001f6d: JUMPDEST
00001f6e: DUP1
00001f6f: PUSH1 0xd3
00001f71: DUP2
00001f72: SWAP1
00001f73: SSTORE
00001f74: POP
00001f75: POP
00001f76: JUMP
00001f77: JUMPDEST
00001f78: PUSH2 0x1f7f
00001f7b: PUSH2 0x4151
00001f7e: JUMP
00001f7f: JUMPDEST
00001f80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f95: AND
00001f96: PUSH1 0x97
00001f98: PUSH1 0x00
00001f9a: SWAP1
00001f9b: SLOAD
00001f9c: SWAP1
00001f9d: PUSH2 0x0100
00001fa0: EXP
00001fa1: SWAP1
00001fa2: DIV
00001fa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fb8: AND
00001fb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fce: AND
00001fcf: EQ
00001fd0: PUSH2 0x2041
00001fd3: JUMPI
00001fd4: PUSH1 0x40
00001fd6: MLOAD
00001fd7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001ff8: DUP2
00001ff9: MSTORE
00001ffa: PUSH1 0x04
00001ffc: ADD
00001ffd: DUP1
00001ffe: DUP1
00001fff: PUSH1 0x20
00002001: ADD
00002002: DUP3
00002003: DUP2
00002004: SUB
00002005: DUP3
00002006: MSTORE
00002007: PUSH1 0x20
00002009: DUP2
0000200a: MSTORE
0000200b: PUSH1 0x20
0000200d: ADD
0000200e: DUP1
0000200f: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002030: DUP2
00002031: MSTORE
00002032: POP
00002033: PUSH1 0x20
00002035: ADD
00002036: SWAP2
00002037: POP
00002038: POP
00002039: PUSH1 0x40
0000203b: MLOAD
0000203c: DUP1
0000203d: SWAP2
0000203e: SUB
0000203f: SWAP1
00002040: REVERT
00002041: JUMPDEST
00002042: PUSH1 0x00
00002044: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002059: AND
0000205a: PUSH1 0x97
0000205c: PUSH1 0x00
0000205e: SWAP1
0000205f: SLOAD
00002060: SWAP1
00002061: PUSH2 0x0100
00002064: EXP
00002065: SWAP1
00002066: DIV
00002067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000207c: AND
0000207d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002092: AND
00002093: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000020b4: PUSH1 0x40
000020b6: MLOAD
000020b7: PUSH1 0x40
000020b9: MLOAD
000020ba: DUP1
000020bb: SWAP2
000020bc: SUB
000020bd: SWAP1
000020be: LOG3
000020bf: PUSH1 0x00
000020c1: PUSH1 0x97
000020c3: PUSH1 0x00
000020c5: PUSH2 0x0100
000020c8: EXP
000020c9: DUP2
000020ca: SLOAD
000020cb: DUP2
000020cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e1: MUL
000020e2: NOT
000020e3: AND
000020e4: SWAP1
000020e5: DUP4
000020e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020fb: AND
000020fc: MUL
000020fd: OR
000020fe: SWAP1
000020ff: SSTORE
00002100: POP
00002101: JUMP
00002102: JUMPDEST
00002103: PUSH1 0xdc
00002105: SLOAD
00002106: DUP2
00002107: JUMP
00002108: JUMPDEST
00002109: PUSH1 0xc9
0000210b: PUSH1 0x00
0000210d: SWAP1
0000210e: SLOAD
0000210f: SWAP1
00002110: PUSH2 0x0100
00002113: EXP
00002114: SWAP1
00002115: DIV
00002116: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000212b: AND
0000212c: DUP2
0000212d: JUMP
0000212e: JUMPDEST
0000212f: PUSH2 0x2136
00002132: PUSH2 0x4151
00002135: JUMP
00002136: JUMPDEST
00002137: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000214c: AND
0000214d: PUSH1 0x97
0000214f: PUSH1 0x00
00002151: SWAP1
00002152: SLOAD
00002153: SWAP1
00002154: PUSH2 0x0100
00002157: EXP
00002158: SWAP1
00002159: DIV
0000215a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000216f: AND
00002170: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002185: AND
00002186: EQ
00002187: PUSH2 0x21f8
0000218a: JUMPI
0000218b: PUSH1 0x40
0000218d: MLOAD
0000218e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000021af: DUP2
000021b0: MSTORE
000021b1: PUSH1 0x04
000021b3: ADD
000021b4: DUP1
000021b5: DUP1
000021b6: PUSH1 0x20
000021b8: ADD
000021b9: DUP3
000021ba: DUP2
000021bb: SUB
000021bc: DUP3
000021bd: MSTORE
000021be: PUSH1 0x20
000021c0: DUP2
000021c1: MSTORE
000021c2: PUSH1 0x20
000021c4: ADD
000021c5: DUP1
000021c6: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000021e7: DUP2
000021e8: MSTORE
000021e9: POP
000021ea: PUSH1 0x20
000021ec: ADD
000021ed: SWAP2
000021ee: POP
000021ef: POP
000021f0: PUSH1 0x40
000021f2: MLOAD
000021f3: DUP1
000021f4: SWAP2
000021f5: SUB
000021f6: SWAP1
000021f7: REVERT
000021f8: JUMPDEST
000021f9: DUP1
000021fa: PUSH2 0x2202
000021fd: DUP2
000021fe: PUSH2 0x4783
00002201: JUMP
00002202: JUMPDEST
00002203: DUP2
00002204: PUSH1 0xcf
00002206: PUSH1 0x00
00002208: PUSH2 0x0100
0000220b: EXP
0000220c: DUP2
0000220d: SLOAD
0000220e: DUP2
0000220f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002224: MUL
00002225: NOT
00002226: AND
00002227: SWAP1
00002228: DUP4
00002229: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000223e: AND
0000223f: MUL
00002240: OR
00002241: SWAP1
00002242: SSTORE
00002243: POP
00002244: POP
00002245: POP
00002246: JUMP
00002247: JUMPDEST
00002248: PUSH1 0xd4
0000224a: SLOAD
0000224b: DUP2
0000224c: JUMP
0000224d: JUMPDEST
0000224e: PUSH1 0x00
00002250: PUSH1 0x97
00002252: PUSH1 0x00
00002254: SWAP1
00002255: SLOAD
00002256: SWAP1
00002257: PUSH2 0x0100
0000225a: EXP
0000225b: SWAP1
0000225c: DIV
0000225d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002272: AND
00002273: SWAP1
00002274: POP
00002275: SWAP1
00002276: JUMP
00002277: JUMPDEST
00002278: PUSH1 0x00
0000227a: PUSH1 0x33
0000227c: PUSH1 0x00
0000227e: SWAP1
0000227f: SLOAD
00002280: SWAP1
00002281: PUSH2 0x0100
00002284: EXP
00002285: SWAP1
00002286: DIV
00002287: PUSH1 0xff
00002289: AND
0000228a: PUSH2 0x22fb
0000228d: JUMPI
0000228e: PUSH1 0x40
00002290: MLOAD
00002291: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000022b2: DUP2
000022b3: MSTORE
000022b4: PUSH1 0x04
000022b6: ADD
000022b7: DUP1
000022b8: DUP1
000022b9: PUSH1 0x20
000022bb: ADD
000022bc: DUP3
000022bd: DUP2
000022be: SUB
000022bf: DUP3
000022c0: MSTORE
000022c1: PUSH1 0x1f
000022c3: DUP2
000022c4: MSTORE
000022c5: PUSH1 0x20
000022c7: ADD
000022c8: DUP1
000022c9: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000022ea: DUP2
000022eb: MSTORE
000022ec: POP
000022ed: PUSH1 0x20
000022ef: ADD
000022f0: SWAP2
000022f1: POP
000022f2: POP
000022f3: PUSH1 0x40
000022f5: MLOAD
000022f6: DUP1
000022f7: SWAP2
000022f8: SUB
000022f9: SWAP1
000022fa: REVERT
000022fb: JUMPDEST
000022fc: PUSH1 0x00
000022fe: PUSH1 0x33
00002300: PUSH1 0x00
00002302: PUSH2 0x0100
00002305: EXP
00002306: DUP2
00002307: SLOAD
00002308: DUP2
00002309: PUSH1 0xff
0000230b: MUL
0000230c: NOT
0000230d: AND
0000230e: SWAP1
0000230f: DUP4
00002310: ISZERO
00002311: ISZERO
00002312: MUL
00002313: OR
00002314: SWAP1
00002315: SSTORE
00002316: POP
00002317: PUSH1 0x01
00002319: ISZERO
0000231a: ISZERO
0000231b: PUSH1 0xd8
0000231d: PUSH1 0x00
0000231f: SWAP1
00002320: SLOAD
00002321: SWAP1
00002322: PUSH2 0x0100
00002325: EXP
00002326: SWAP1
00002327: DIV
00002328: PUSH1 0xff
0000232a: AND
0000232b: ISZERO
0000232c: ISZERO
0000232d: EQ
0000232e: PUSH2 0x239f
00002331: JUMPI
00002332: PUSH1 0x40
00002334: MLOAD
00002335: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002356: DUP2
00002357: MSTORE
00002358: PUSH1 0x04
0000235a: ADD
0000235b: DUP1
0000235c: DUP1
0000235d: PUSH1 0x20
0000235f: ADD
00002360: DUP3
00002361: DUP2
00002362: SUB
00002363: DUP3
00002364: MSTORE
00002365: PUSH1 0x0e
00002367: DUP2
00002368: MSTORE
00002369: PUSH1 0x20
0000236b: ADD
0000236c: DUP1
0000236d: PUSH32 0x4d41494e5441494e494e472e2e2e000000000000000000000000000000000000
0000238e: DUP2
0000238f: MSTORE
00002390: POP
00002391: PUSH1 0x20
00002393: ADD
00002394: SWAP2
00002395: POP
00002396: POP
00002397: PUSH1 0x40
00002399: MLOAD
0000239a: DUP1
0000239b: SWAP2
0000239c: SUB
0000239d: SWAP1
0000239e: REVERT
0000239f: JUMPDEST
000023a0: PUSH1 0x00
000023a2: PUSH2 0x23a9
000023a5: PUSH2 0x3bee
000023a8: JUMP
000023a9: JUMPDEST
000023aa: SWAP1
000023ab: POP
000023ac: PUSH1 0x32
000023ae: DUP2
000023af: GT
000023b0: ISZERO
000023b1: PUSH2 0x2436
000023b4: JUMPI
000023b5: PUSH1 0x32
000023b7: PUSH1 0xd5
000023b9: SLOAD
000023ba: EQ
000023bb: PUSH2 0x242c
000023be: JUMPI
000023bf: PUSH1 0x40
000023c1: MLOAD
000023c2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023e3: DUP2
000023e4: MSTORE
000023e5: PUSH1 0x04
000023e7: ADD
000023e8: DUP1
000023e9: DUP1
000023ea: PUSH1 0x20
000023ec: ADD
000023ed: DUP3
000023ee: DUP2
000023ef: SUB
000023f0: DUP3
000023f1: MSTORE
000023f2: PUSH1 0x1a
000023f4: DUP2
000023f5: MSTORE
000023f6: PUSH1 0x20
000023f8: ADD
000023f9: DUP1
000023fa: PUSH32 0x4c4153545f535550504f525445445f45504f43485f434845434b000000000000
0000241b: DUP2
0000241c: MSTORE
0000241d: POP
0000241e: PUSH1 0x20
00002420: ADD
00002421: SWAP2
00002422: POP
00002423: POP
00002424: PUSH1 0x40
00002426: MLOAD
00002427: DUP1
00002428: SWAP2
00002429: SUB
0000242a: SWAP1
0000242b: REVERT
0000242c: JUMPDEST
0000242d: PUSH1 0x32
0000242f: SWAP2
00002430: POP
00002431: POP
00002432: PUSH2 0x2839
00002435: JUMP
00002436: JUMPDEST
00002437: DUP1
00002438: PUSH1 0xd5
0000243a: SLOAD
0000243b: EQ
0000243c: ISZERO
0000243d: PUSH2 0x2449
00002440: JUMPI
00002441: DUP1
00002442: SWAP2
00002443: POP
00002444: POP
00002445: PUSH2 0x2839
00002448: JUMP
00002449: JUMPDEST
0000244a: PUSH1 0x00
0000244c: PUSH1 0xca
0000244e: PUSH1 0x00
00002450: PUSH1 0xd5
00002452: SLOAD
00002453: DUP2
00002454: MSTORE
00002455: PUSH1 0x20
00002457: ADD
00002458: SWAP1
00002459: DUP2
0000245a: MSTORE
0000245b: PUSH1 0x20
0000245d: ADD
0000245e: PUSH1 0x00
00002460: KECCAK256
00002461: SWAP1
00002462: POP
00002463: PUSH1 0x00
00002465: PUSH1 0xca
00002467: PUSH1 0x00
00002469: DUP5
0000246a: DUP2
0000246b: MSTORE
0000246c: PUSH1 0x20
0000246e: ADD
0000246f: SWAP1
00002470: DUP2
00002471: MSTORE
00002472: PUSH1 0x20
00002474: ADD
00002475: PUSH1 0x00
00002477: KECCAK256
00002478: SWAP1
00002479: POP
0000247a: DUP3
0000247b: DUP3
0000247c: PUSH1 0x00
0000247e: ADD
0000247f: DUP2
00002480: SWAP1
00002481: SSTORE
00002482: POP
00002483: PUSH2 0x24c1
00002486: PUSH2 0x24ae
00002489: PUSH1 0xd3
0000248b: SLOAD
0000248c: PUSH2 0x24a0
0000248f: PUSH1 0xd5
00002491: SLOAD
00002492: DUP8
00002493: PUSH2 0x4174
00002496: SWAP1
00002497: SWAP2
00002498: SWAP1
00002499: PUSH4 0xffffffff
0000249e: AND
0000249f: JUMP
000024a0: JUMPDEST
000024a1: PUSH2 0x4081
000024a4: SWAP1
000024a5: SWAP2
000024a6: SWAP1
000024a7: PUSH4 0xffffffff
000024ac: AND
000024ad: JUMP
000024ae: JUMPDEST
000024af: DUP4
000024b0: PUSH1 0x02
000024b2: ADD
000024b3: SLOAD
000024b4: PUSH2 0x3ff9
000024b7: SWAP1
000024b8: SWAP2
000024b9: SWAP1
000024ba: PUSH4 0xffffffff
000024bf: AND
000024c0: JUMP
000024c1: JUMPDEST
000024c2: DUP2
000024c3: PUSH1 0x02
000024c5: ADD
000024c6: DUP2
000024c7: SWAP1
000024c8: SSTORE
000024c9: POP
000024ca: PUSH2 0x24e4
000024cd: DUP3
000024ce: PUSH1 0x04
000024d0: ADD
000024d1: SLOAD
000024d2: DUP4
000024d3: PUSH1 0x03
000024d5: ADD
000024d6: SLOAD
000024d7: PUSH2 0x3ff9
000024da: SWAP1
000024db: SWAP2
000024dc: SWAP1
000024dd: PUSH4 0xffffffff
000024e2: AND
000024e3: JUMP
000024e4: JUMPDEST
000024e5: DUP2
000024e6: PUSH1 0x03
000024e8: ADD
000024e9: DUP2
000024ea: SWAP1
000024eb: SSTORE
000024ec: POP
000024ed: PUSH1 0xd5
000024ef: SLOAD
000024f0: DUP2
000024f1: PUSH1 0x01
000024f3: ADD
000024f4: DUP2
000024f5: SWAP1
000024f6: SSTORE
000024f7: POP
000024f8: PUSH1 0x00
000024fa: DUP3
000024fb: PUSH1 0x03
000024fd: ADD
000024fe: SLOAD
000024ff: GT
00002500: ISZERO
00002501: PUSH2 0x2722
00002504: JUMPI
00002505: PUSH1 0x00
00002507: DUP1
00002508: PUSH2 0x250f
0000250b: PUSH2 0x4829
0000250e: JUMP
0000250f: JUMPDEST
00002510: SWAP2
00002511: POP
00002512: SWAP2
00002513: POP
00002514: PUSH2 0x2528
00002517: DUP2
00002518: PUSH1 0xdc
0000251a: SLOAD
0000251b: PUSH2 0x3ff9
0000251e: SWAP1
0000251f: SWAP2
00002520: SWAP1
00002521: PUSH4 0xffffffff
00002526: AND
00002527: JUMP
00002528: JUMPDEST
00002529: PUSH1 0xdc
0000252b: DUP2
0000252c: SWAP1
0000252d: SSTORE
0000252e: POP
0000252f: PUSH2 0x2543
00002532: DUP3
00002533: PUSH1 0xd9
00002535: SLOAD
00002536: PUSH2 0x3ff9
00002539: SWAP1
0000253a: SWAP2
0000253b: SWAP1
0000253c: PUSH4 0xffffffff
00002541: AND
00002542: JUMP
00002543: JUMPDEST
00002544: PUSH1 0xd9
00002546: DUP2
00002547: SWAP1
00002548: SSTORE
00002549: POP
0000254a: PUSH2 0x2580
0000254d: DUP5
0000254e: PUSH1 0x03
00002550: ADD
00002551: SLOAD
00002552: PUSH2 0x2572
00002555: PUSH14 0x314dc6448d9338c15b0a00000000
00002564: DUP6
00002565: PUSH2 0x4081
00002568: SWAP1
00002569: SWAP2
0000256a: SWAP1
0000256b: PUSH4 0xffffffff
00002570: AND
00002571: JUMP
00002572: JUMPDEST
00002573: PUSH2 0x4107
00002576: SWAP1
00002577: SWAP2
00002578: SWAP1
00002579: PUSH4 0xffffffff
0000257e: AND
0000257f: JUMP
00002580: JUMPDEST
00002581: DUP5
00002582: PUSH1 0x09
00002584: ADD
00002585: DUP2
00002586: SWAP1
00002587: SSTORE
00002588: POP
00002589: PUSH2 0x25c5
0000258c: DUP5
0000258d: PUSH1 0x03
0000258f: ADD
00002590: SLOAD
00002591: PUSH2 0x25b7
00002594: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
000025a9: DUP5
000025aa: PUSH2 0x4081
000025ad: SWAP1
000025ae: SWAP2
000025af: SWAP1
000025b0: PUSH4 0xffffffff
000025b5: AND
000025b6: JUMP
000025b7: JUMPDEST
000025b8: PUSH2 0x4107
000025bb: SWAP1
000025bc: SWAP2
000025bd: SWAP1
000025be: PUSH4 0xffffffff
000025c3: AND
000025c4: JUMP
000025c5: JUMPDEST
000025c6: DUP5
000025c7: PUSH1 0x06
000025c9: ADD
000025ca: DUP2
000025cb: SWAP1
000025cc: SSTORE
000025cd: POP
000025ce: PUSH7 0x01c6bf52634000
000025d6: PUSH1 0xd7
000025d8: SLOAD
000025d9: LT
000025da: ISZERO
000025db: PUSH2 0x271f
000025de: JUMPI
000025df: PUSH1 0x00
000025e1: PUSH2 0x25ed
000025e4: PUSH4 0x05f5e100
000025e9: PUSH2 0x12e9
000025ec: JUMP
000025ed: JUMPDEST
000025ee: SWAP1
000025ef: POP
000025f0: PUSH1 0xd4
000025f2: SLOAD
000025f3: DUP2
000025f4: GT
000025f5: ISZERO
000025f6: PUSH2 0x2716
000025f9: JUMPI
000025fa: PUSH1 0x00
000025fc: DUP1
000025fd: PUSH1 0xdd
000025ff: SLOAD
00002600: GT
00002601: PUSH2 0x260b
00002604: JUMPI
00002605: PUSH1 0x01
00002607: PUSH2 0x260f
0000260a: JUMP
0000260b: JUMPDEST
0000260c: PUSH1 0xdd
0000260e: SLOAD
0000260f: JUMPDEST
00002610: SWAP1
00002611: POP
00002612: PUSH1 0x00
00002614: PUSH2 0x2640
00002617: DUP3
00002618: PUSH2 0x2632
0000261b: PUSH1 0x34
0000261d: PUSH7 0x01c6bf52634000
00002625: PUSH2 0x4107
00002628: SWAP1
00002629: SWAP2
0000262a: SWAP1
0000262b: PUSH4 0xffffffff
00002630: AND
00002631: JUMP
00002632: JUMPDEST
00002633: PUSH2 0x4081
00002636: SWAP1
00002637: SWAP2
00002638: SWAP1
00002639: PUSH4 0xffffffff
0000263e: AND
0000263f: JUMP
00002640: JUMPDEST
00002641: SWAP1
00002642: POP
00002643: PUSH2 0x26b3
00002646: PUSH1 0xd1
00002648: PUSH1 0x00
0000264a: SWAP1
0000264b: SLOAD
0000264c: SWAP1
0000264d: PUSH2 0x0100
00002650: EXP
00002651: SWAP1
00002652: DIV
00002653: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002668: AND
00002669: ADDRESS
0000266a: DUP4
0000266b: PUSH1 0xce
0000266d: PUSH1 0x00
0000266f: SWAP1
00002670: SLOAD
00002671: SWAP1
00002672: PUSH2 0x0100
00002675: EXP
00002676: SWAP1
00002677: DIV
00002678: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000268d: AND
0000268e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026a3: AND
000026a4: PUSH2 0x49ea
000026a7: SWAP1
000026a8: SWAP4
000026a9: SWAP3
000026aa: SWAP2
000026ab: SWAP1
000026ac: PUSH4 0xffffffff
000026b1: AND
000026b2: JUMP
000026b3: JUMPDEST
000026b4: PUSH2 0x26c8
000026b7: DUP2
000026b8: PUSH1 0xd7
000026ba: SLOAD
000026bb: PUSH2 0x3ff9
000026be: SWAP1
000026bf: SWAP2
000026c0: SWAP1
000026c1: PUSH4 0xffffffff
000026c6: AND
000026c7: JUMP
000026c8: JUMPDEST
000026c9: PUSH1 0xd7
000026cb: DUP2
000026cc: SWAP1
000026cd: SSTORE
000026ce: POP
000026cf: PUSH2 0x270b
000026d2: DUP8
000026d3: PUSH1 0x03
000026d5: ADD
000026d6: SLOAD
000026d7: PUSH2 0x26fd
000026da: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
000026ef: DUP5
000026f0: PUSH2 0x4081
000026f3: SWAP1
000026f4: SWAP2
000026f5: SWAP1
000026f6: PUSH4 0xffffffff
000026fb: AND
000026fc: JUMP
000026fd: JUMPDEST
000026fe: PUSH2 0x4107
00002701: SWAP1
00002702: SWAP2
00002703: SWAP1
00002704: PUSH4 0xffffffff
00002709: AND
0000270a: JUMP
0000270b: JUMPDEST
0000270c: DUP8
0000270d: PUSH1 0x05
0000270f: ADD
00002710: DUP2
00002711: SWAP1
00002712: SSTORE
00002713: POP
00002714: POP
00002715: POP
00002716: JUMPDEST
00002717: DUP1
00002718: PUSH1 0xd4
0000271a: DUP2
0000271b: SWAP1
0000271c: SSTORE
0000271d: POP
0000271e: POP
0000271f: JUMPDEST
00002720: POP
00002721: POP
00002722: JUMPDEST
00002723: PUSH1 0x00
00002725: DUP2
00002726: PUSH1 0x09
00002728: ADD
00002729: DUP2
0000272a: SWAP1
0000272b: SSTORE
0000272c: POP
0000272d: PUSH1 0x00
0000272f: DUP2
00002730: PUSH1 0x06
00002732: ADD
00002733: DUP2
00002734: SWAP1
00002735: SSTORE
00002736: POP
00002737: PUSH1 0x00
00002739: DUP2
0000273a: PUSH1 0x05
0000273c: ADD
0000273d: DUP2
0000273e: SWAP1
0000273f: SSTORE
00002740: POP
00002741: PUSH2 0x275b
00002744: DUP3
00002745: PUSH1 0x09
00002747: ADD
00002748: SLOAD
00002749: DUP4
0000274a: PUSH1 0x0a
0000274c: ADD
0000274d: SLOAD
0000274e: PUSH2 0x3ff9
00002751: SWAP1
00002752: SWAP2
00002753: SWAP1
00002754: PUSH4 0xffffffff
00002759: AND
0000275a: JUMP
0000275b: JUMPDEST
0000275c: DUP2
0000275d: PUSH1 0x0a
0000275f: ADD
00002760: DUP2
00002761: SWAP1
00002762: SSTORE
00002763: POP
00002764: PUSH2 0x277e
00002767: DUP3
00002768: PUSH1 0x06
0000276a: ADD
0000276b: SLOAD
0000276c: DUP4
0000276d: PUSH1 0x08
0000276f: ADD
00002770: SLOAD
00002771: PUSH2 0x3ff9
00002774: SWAP1
00002775: SWAP2
00002776: SWAP1
00002777: PUSH4 0xffffffff
0000277c: AND
0000277d: JUMP
0000277e: JUMPDEST
0000277f: DUP2
00002780: PUSH1 0x08
00002782: ADD
00002783: DUP2
00002784: SWAP1
00002785: SSTORE
00002786: POP
00002787: PUSH2 0x27a1
0000278a: DUP3
0000278b: PUSH1 0x05
0000278d: ADD
0000278e: SLOAD
0000278f: DUP4
00002790: PUSH1 0x07
00002792: ADD
00002793: SLOAD
00002794: PUSH2 0x3ff9
00002797: SWAP1
00002798: SWAP2
00002799: SWAP1
0000279a: PUSH4 0xffffffff
0000279f: AND
000027a0: JUMP
000027a1: JUMPDEST
000027a2: DUP2
000027a3: PUSH1 0x07
000027a5: ADD
000027a6: DUP2
000027a7: SWAP1
000027a8: SSTORE
000027a9: POP
000027aa: DUP3
000027ab: PUSH1 0x01
000027ad: PUSH1 0xd5
000027af: SLOAD
000027b0: ADD
000027b1: LT
000027b2: ISZERO
000027b3: PUSH2 0x27fb
000027b6: JUMPI
000027b7: PUSH1 0x00
000027b9: PUSH1 0xca
000027bb: PUSH1 0x00
000027bd: PUSH1 0x01
000027bf: PUSH1 0xd5
000027c1: SLOAD
000027c2: ADD
000027c3: DUP2
000027c4: MSTORE
000027c5: PUSH1 0x20
000027c7: ADD
000027c8: SWAP1
000027c9: DUP2
000027ca: MSTORE
000027cb: PUSH1 0x20
000027cd: ADD
000027ce: PUSH1 0x00
000027d0: KECCAK256
000027d1: SWAP1
000027d2: POP
000027d3: DUP2
000027d4: PUSH1 0x0a
000027d6: ADD
000027d7: SLOAD
000027d8: DUP2
000027d9: PUSH1 0x0a
000027db: ADD
000027dc: DUP2
000027dd: SWAP1
000027de: SSTORE
000027df: POP
000027e0: DUP2
000027e1: PUSH1 0x08
000027e3: ADD
000027e4: SLOAD
000027e5: DUP2
000027e6: PUSH1 0x08
000027e8: ADD
000027e9: DUP2
000027ea: SWAP1
000027eb: SSTORE
000027ec: POP
000027ed: DUP2
000027ee: PUSH1 0x07
000027f0: ADD
000027f1: SLOAD
000027f2: DUP2
000027f3: PUSH1 0x07
000027f5: ADD
000027f6: DUP2
000027f7: SWAP1
000027f8: SSTORE
000027f9: POP
000027fa: POP
000027fb: JUMPDEST
000027fc: PUSH1 0xd5
000027fe: SLOAD
000027ff: DUP4
00002800: PUSH32 0xf2520045dcd0c1a9fbed27fec918c9f808ef8d3dccad191b8876714d4d268d82
00002821: PUSH1 0x40
00002823: MLOAD
00002824: PUSH1 0x40
00002826: MLOAD
00002827: DUP1
00002828: SWAP2
00002829: SUB
0000282a: SWAP1
0000282b: LOG3
0000282c: DUP3
0000282d: PUSH1 0xd5
0000282f: DUP2
00002830: SWAP1
00002831: SSTORE
00002832: POP
00002833: DUP3
00002834: SWAP4
00002835: POP
00002836: POP
00002837: POP
00002838: POP
00002839: JUMPDEST
0000283a: PUSH1 0x01
0000283c: PUSH1 0x33
0000283e: PUSH1 0x00
00002840: PUSH2 0x0100
00002843: EXP
00002844: DUP2
00002845: SLOAD
00002846: DUP2
00002847: PUSH1 0xff
00002849: MUL
0000284a: NOT
0000284b: AND
0000284c: SWAP1
0000284d: DUP4
0000284e: ISZERO
0000284f: ISZERO
00002850: MUL
00002851: OR
00002852: SWAP1
00002853: SSTORE
00002854: POP
00002855: SWAP1
00002856: JUMP
00002857: JUMPDEST
00002858: PUSH7 0x01c6bf52634000
00002860: DUP2
00002861: JUMP
00002862: JUMPDEST
00002863: PUSH1 0x00
00002865: DUP1
00002866: PUSH1 0x00
00002868: DUP1
00002869: PUSH1 0xca
0000286b: PUSH1 0x00
0000286d: PUSH1 0xd5
0000286f: SLOAD
00002870: DUP2
00002871: MSTORE
00002872: PUSH1 0x20
00002874: ADD
00002875: SWAP1
00002876: DUP2
00002877: MSTORE
00002878: PUSH1 0x20
0000287a: ADD
0000287b: PUSH1 0x00
0000287d: KECCAK256
0000287e: SWAP1
0000287f: POP
00002880: PUSH1 0x00
00002882: DUP2
00002883: PUSH1 0x01
00002885: ADD
00002886: SLOAD
00002887: GT
00002888: PUSH2 0x28a6
0000288b: JUMPI
0000288c: PUSH1 0x00
0000288e: SWAP4
0000288f: POP
00002890: DUP4
00002891: PUSH1 0x00
00002893: SWAP4
00002894: POP
00002895: DUP4
00002896: PUSH1 0x00
00002898: SWAP4
00002899: POP
0000289a: DUP4
0000289b: SWAP4
0000289c: POP
0000289d: SWAP4
0000289e: POP
0000289f: SWAP4
000028a0: POP
000028a1: POP
000028a2: PUSH2 0x29ac
000028a5: JUMP
000028a6: JUMPDEST
000028a7: PUSH1 0x00
000028a9: PUSH1 0xca
000028ab: PUSH1 0x00
000028ad: DUP4
000028ae: PUSH1 0x01
000028b0: ADD
000028b1: SLOAD
000028b2: DUP2
000028b3: MSTORE
000028b4: PUSH1 0x20
000028b6: ADD
000028b7: SWAP1
000028b8: DUP2
000028b9: MSTORE
000028ba: PUSH1 0x20
000028bc: ADD
000028bd: PUSH1 0x00
000028bf: KECCAK256
000028c0: SWAP1
000028c1: POP
000028c2: PUSH2 0x28f8
000028c5: PUSH14 0x314dc6448d9338c15b0a00000000
000028d4: PUSH2 0x28ea
000028d7: DUP9
000028d8: DUP5
000028d9: PUSH1 0x09
000028db: ADD
000028dc: SLOAD
000028dd: PUSH2 0x4081
000028e0: SWAP1
000028e1: SWAP2
000028e2: SWAP1
000028e3: PUSH4 0xffffffff
000028e8: AND
000028e9: JUMP
000028ea: JUMPDEST
000028eb: PUSH2 0x4107
000028ee: SWAP1
000028ef: SWAP2
000028f0: SWAP1
000028f1: PUSH4 0xffffffff
000028f6: AND
000028f7: JUMP
000028f8: JUMPDEST
000028f9: SWAP5
000028fa: POP
000028fb: PUSH2 0x2937
000028fe: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
00002913: PUSH2 0x2929
00002916: DUP9
00002917: DUP5
00002918: PUSH1 0x06
0000291a: ADD
0000291b: SLOAD
0000291c: PUSH2 0x4081
0000291f: SWAP1
00002920: SWAP2
00002921: SWAP1
00002922: PUSH4 0xffffffff
00002927: AND
00002928: JUMP
00002929: JUMPDEST
0000292a: PUSH2 0x4107
0000292d: SWAP1
0000292e: SWAP2
0000292f: SWAP1
00002930: PUSH4 0xffffffff
00002935: AND
00002936: JUMP
00002937: JUMPDEST
00002938: SWAP3
00002939: POP
0000293a: PUSH1 0x00
0000293c: DUP1
0000293d: PUSH1 0xdd
0000293f: SLOAD
00002940: GT
00002941: PUSH2 0x294b
00002944: JUMPI
00002945: PUSH1 0x01
00002947: PUSH2 0x294f
0000294a: JUMP
0000294b: JUMPDEST
0000294c: PUSH1 0xdd
0000294e: SLOAD
0000294f: JUMPDEST
00002950: SWAP1
00002951: POP
00002952: PUSH2 0x29a6
00002955: DUP3
00002956: PUSH1 0x03
00002958: ADD
00002959: SLOAD
0000295a: PUSH2 0x2998
0000295d: DUP10
0000295e: PUSH2 0x298a
00002961: DUP6
00002962: PUSH2 0x297c
00002965: PUSH1 0x34
00002967: PUSH7 0x01c6bf52634000
0000296f: PUSH2 0x4107
00002972: SWAP1
00002973: SWAP2
00002974: SWAP1
00002975: PUSH4 0xffffffff
0000297a: AND
0000297b: JUMP
0000297c: JUMPDEST
0000297d: PUSH2 0x4081
00002980: SWAP1
00002981: SWAP2
00002982: SWAP1
00002983: PUSH4 0xffffffff
00002988: AND
00002989: JUMP
0000298a: JUMPDEST
0000298b: PUSH2 0x4081
0000298e: SWAP1
0000298f: SWAP2
00002990: SWAP1
00002991: PUSH4 0xffffffff
00002996: AND
00002997: JUMP
00002998: JUMPDEST
00002999: PUSH2 0x4107
0000299c: SWAP1
0000299d: SWAP2
0000299e: SWAP1
0000299f: PUSH4 0xffffffff
000029a4: AND
000029a5: JUMP
000029a6: JUMPDEST
000029a7: SWAP5
000029a8: POP
000029a9: POP
000029aa: POP
000029ab: POP
000029ac: JUMPDEST
000029ad: SWAP2
000029ae: SWAP4
000029af: SWAP1
000029b0: SWAP3
000029b1: POP
000029b2: JUMP
000029b3: JUMPDEST
000029b4: PUSH2 0x29bb
000029b7: PUSH2 0x4151
000029ba: JUMP
000029bb: JUMPDEST
000029bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029d1: AND
000029d2: PUSH1 0x97
000029d4: PUSH1 0x00
000029d6: SWAP1
000029d7: SLOAD
000029d8: SWAP1
000029d9: PUSH2 0x0100
000029dc: EXP
000029dd: SWAP1
000029de: DIV
000029df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029f4: AND
000029f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a0a: AND
00002a0b: EQ
00002a0c: PUSH2 0x2a7d
00002a0f: JUMPI
00002a10: PUSH1 0x40
00002a12: MLOAD
00002a13: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002a34: DUP2
00002a35: MSTORE
00002a36: PUSH1 0x04
00002a38: ADD
00002a39: DUP1
00002a3a: DUP1
00002a3b: PUSH1 0x20
00002a3d: ADD
00002a3e: DUP3
00002a3f: DUP2
00002a40: SUB
00002a41: DUP3
00002a42: MSTORE
00002a43: PUSH1 0x20
00002a45: DUP2
00002a46: MSTORE
00002a47: PUSH1 0x20
00002a49: ADD
00002a4a: DUP1
00002a4b: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002a6c: DUP2
00002a6d: MSTORE
00002a6e: POP
00002a6f: PUSH1 0x20
00002a71: ADD
00002a72: SWAP2
00002a73: POP
00002a74: POP
00002a75: PUSH1 0x40
00002a77: MLOAD
00002a78: DUP1
00002a79: SWAP2
00002a7a: SUB
00002a7b: SWAP1
00002a7c: REVERT
00002a7d: JUMPDEST
00002a7e: PUSH1 0x00
00002a80: DUP2
00002a81: GT
00002a82: PUSH2 0x2af3
00002a85: JUMPI
00002a86: PUSH1 0x40
00002a88: MLOAD
00002a89: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002aaa: DUP2
00002aab: MSTORE
00002aac: PUSH1 0x04
00002aae: ADD
00002aaf: DUP1
00002ab0: DUP1
00002ab1: PUSH1 0x20
00002ab3: ADD
00002ab4: DUP3
00002ab5: DUP2
00002ab6: SUB
00002ab7: DUP3
00002ab8: MSTORE
00002ab9: PUSH1 0x11
00002abb: DUP2
00002abc: MSTORE
00002abd: PUSH1 0x20
00002abf: ADD
00002ac0: DUP1
00002ac1: PUSH32 0x4d554c5449504c45525f494e56414c4944000000000000000000000000000000
00002ae2: DUP2
00002ae3: MSTORE
00002ae4: POP
00002ae5: PUSH1 0x20
00002ae7: ADD
00002ae8: SWAP2
00002ae9: POP
00002aea: POP
00002aeb: PUSH1 0x40
00002aed: MLOAD
00002aee: DUP1
00002aef: SWAP2
00002af0: SUB
00002af1: SWAP1
00002af2: REVERT
00002af3: JUMPDEST
00002af4: DUP1
00002af5: PUSH1 0xdd
00002af7: DUP2
00002af8: SWAP1
00002af9: SSTORE
00002afa: POP
00002afb: POP
00002afc: JUMP
00002afd: JUMPDEST
00002afe: PUSH1 0xce
00002b00: PUSH1 0x00
00002b02: SWAP1
00002b03: SLOAD
00002b04: SWAP1
00002b05: PUSH2 0x0100
00002b08: EXP
00002b09: SWAP1
00002b0a: DIV
00002b0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b20: AND
00002b21: DUP2
00002b22: JUMP
00002b23: JUMPDEST
00002b24: CALLER
00002b25: DUP2
00002b26: PUSH1 0x00
00002b28: PUSH1 0xcc
00002b2a: PUSH1 0x00
00002b2c: SWAP1
00002b2d: SLOAD
00002b2e: SWAP1
00002b2f: PUSH2 0x0100
00002b32: EXP
00002b33: SWAP1
00002b34: DIV
00002b35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b4a: AND
00002b4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b60: AND
00002b61: PUSH4 0xdd62ed3e
00002b66: DUP5
00002b67: ADDRESS
00002b68: PUSH1 0x40
00002b6a: MLOAD
00002b6b: DUP4
00002b6c: PUSH4 0xffffffff
00002b71: AND
00002b72: PUSH1 0xe0
00002b74: SHL
00002b75: DUP2
00002b76: MSTORE
00002b77: PUSH1 0x04
00002b79: ADD
00002b7a: DUP1
00002b7b: DUP4
00002b7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b91: AND
00002b92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ba7: AND
00002ba8: DUP2
00002ba9: MSTORE
00002baa: PUSH1 0x20
00002bac: ADD
00002bad: DUP3
00002bae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bc3: AND
00002bc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bd9: AND
00002bda: DUP2
00002bdb: MSTORE
00002bdc: PUSH1 0x20
00002bde: ADD
00002bdf: SWAP3
00002be0: POP
00002be1: POP
00002be2: POP
00002be3: PUSH1 0x20
00002be5: PUSH1 0x40
00002be7: MLOAD
00002be8: DUP1
00002be9: DUP4
00002bea: SUB
00002beb: DUP2
00002bec: DUP7
00002bed: DUP1
00002bee: EXTCODESIZE
00002bef: ISZERO
00002bf0: DUP1
00002bf1: ISZERO
00002bf2: PUSH2 0x2bfa
00002bf5: JUMPI
00002bf6: PUSH1 0x00
00002bf8: DUP1
00002bf9: REVERT
00002bfa: JUMPDEST
00002bfb: POP
00002bfc: GAS
00002bfd: STATICCALL
00002bfe: ISZERO
00002bff: DUP1
00002c00: ISZERO
00002c01: PUSH2 0x2c0e
00002c04: JUMPI
00002c05: RETURNDATASIZE
00002c06: PUSH1 0x00
00002c08: DUP1
00002c09: RETURNDATACOPY
00002c0a: RETURNDATASIZE
00002c0b: PUSH1 0x00
00002c0d: REVERT
00002c0e: JUMPDEST
00002c0f: POP
00002c10: POP
00002c11: POP
00002c12: POP
00002c13: PUSH1 0x40
00002c15: MLOAD
00002c16: RETURNDATASIZE
00002c17: PUSH1 0x20
00002c19: DUP2
00002c1a: LT
00002c1b: ISZERO
00002c1c: PUSH2 0x2c24
00002c1f: JUMPI
00002c20: PUSH1 0x00
00002c22: DUP1
00002c23: REVERT
00002c24: JUMPDEST
00002c25: DUP2
00002c26: ADD
00002c27: SWAP1
00002c28: DUP1
00002c29: DUP1
00002c2a: MLOAD
00002c2b: SWAP1
00002c2c: PUSH1 0x20
00002c2e: ADD
00002c2f: SWAP1
00002c30: SWAP3
00002c31: SWAP2
00002c32: SWAP1
00002c33: POP
00002c34: POP
00002c35: POP
00002c36: SWAP1
00002c37: POP
00002c38: DUP1
00002c39: DUP3
00002c3a: GT
00002c3b: ISZERO
00002c3c: PUSH2 0x2c90
00002c3f: JUMPI
00002c40: PUSH1 0x40
00002c42: MLOAD
00002c43: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002c64: DUP2
00002c65: MSTORE
00002c66: PUSH1 0x04
00002c68: ADD
00002c69: DUP1
00002c6a: DUP1
00002c6b: PUSH1 0x20
00002c6d: ADD
00002c6e: DUP3
00002c6f: DUP2
00002c70: SUB
00002c71: DUP3
00002c72: MSTORE
00002c73: PUSH1 0x35
00002c75: DUP2
00002c76: MSTORE
00002c77: PUSH1 0x20
00002c79: ADD
00002c7a: DUP1
00002c7b: PUSH2 0x581f
00002c7e: PUSH1 0x35
00002c80: SWAP2
00002c81: CODECOPY
00002c82: PUSH1 0x40
00002c84: ADD
00002c85: SWAP2
00002c86: POP
00002c87: POP
00002c88: PUSH1 0x40
00002c8a: MLOAD
00002c8b: DUP1
00002c8c: SWAP2
00002c8d: SUB
00002c8e: SWAP1
00002c8f: REVERT
00002c90: JUMPDEST
00002c91: PUSH1 0x01
00002c93: ISZERO
00002c94: ISZERO
00002c95: PUSH1 0xd8
00002c97: PUSH1 0x00
00002c99: SWAP1
00002c9a: SLOAD
00002c9b: SWAP1
00002c9c: PUSH2 0x0100
00002c9f: EXP
00002ca0: SWAP1
00002ca1: DIV
00002ca2: PUSH1 0xff
00002ca4: AND
00002ca5: ISZERO
00002ca6: ISZERO
00002ca7: EQ
00002ca8: PUSH2 0x2d19
00002cab: JUMPI
00002cac: PUSH1 0x40
00002cae: MLOAD
00002caf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002cd0: DUP2
00002cd1: MSTORE
00002cd2: PUSH1 0x04
00002cd4: ADD
00002cd5: DUP1
00002cd6: DUP1
00002cd7: PUSH1 0x20
00002cd9: ADD
00002cda: DUP3
00002cdb: DUP2
00002cdc: SUB
00002cdd: DUP3
00002cde: MSTORE
00002cdf: PUSH1 0x0e
00002ce1: DUP2
00002ce2: MSTORE
00002ce3: PUSH1 0x20
00002ce5: ADD
00002ce6: DUP1
00002ce7: PUSH32 0x4d41494e5441494e494e472e2e2e000000000000000000000000000000000000
00002d08: DUP2
00002d09: MSTORE
00002d0a: POP
00002d0b: PUSH1 0x20
00002d0d: ADD
00002d0e: SWAP2
00002d0f: POP
00002d10: POP
00002d11: PUSH1 0x40
00002d13: MLOAD
00002d14: DUP1
00002d15: SWAP2
00002d16: SUB
00002d17: SWAP1
00002d18: REVERT
00002d19: JUMPDEST
00002d1a: PUSH1 0x00
00002d1c: CALLER
00002d1d: SWAP1
00002d1e: POP
00002d1f: PUSH1 0x00
00002d21: PUSH2 0x2d29
00002d24: DUP3
00002d25: PUSH2 0x4159
00002d28: JUMP
00002d29: JUMPDEST
00002d2a: SWAP1
00002d2b: POP
00002d2c: PUSH1 0x32
00002d2e: DUP2
00002d2f: LT
00002d30: PUSH2 0x2da1
00002d33: JUMPI
00002d34: PUSH1 0x40
00002d36: MLOAD
00002d37: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002d58: DUP2
00002d59: MSTORE
00002d5a: PUSH1 0x04
00002d5c: ADD
00002d5d: DUP1
00002d5e: DUP1
00002d5f: PUSH1 0x20
00002d61: ADD
00002d62: DUP3
00002d63: DUP2
00002d64: SUB
00002d65: DUP3
00002d66: MSTORE
00002d67: PUSH1 0x1c
00002d69: DUP2
00002d6a: MSTORE
00002d6b: PUSH1 0x20
00002d6d: ADD
00002d6e: DUP1
00002d6f: PUSH32 0x455843454544535f4c4153545f535550504f525445445f45504f434800000000
00002d90: DUP2
00002d91: MSTORE
00002d92: POP
00002d93: PUSH1 0x20
00002d95: ADD
00002d96: SWAP2
00002d97: POP
00002d98: POP
00002d99: PUSH1 0x40
00002d9b: MLOAD
00002d9c: DUP1
00002d9d: SWAP2
00002d9e: SUB
00002d9f: SWAP1
00002da0: REVERT
00002da1: JUMPDEST
00002da2: PUSH2 0x2dca
00002da5: DUP7
00002da6: PUSH1 0xca
00002da8: PUSH1 0x00
00002daa: DUP5
00002dab: DUP2
00002dac: MSTORE
00002dad: PUSH1 0x20
00002daf: ADD
00002db0: SWAP1
00002db1: DUP2
00002db2: MSTORE
00002db3: PUSH1 0x20
00002db5: ADD
00002db6: PUSH1 0x00
00002db8: KECCAK256
00002db9: PUSH1 0x04
00002dbb: ADD
00002dbc: SLOAD
00002dbd: PUSH2 0x3ff9
00002dc0: SWAP1
00002dc1: SWAP2
00002dc2: SWAP1
00002dc3: PUSH4 0xffffffff
00002dc8: AND
00002dc9: JUMP
00002dca: JUMPDEST
00002dcb: PUSH1 0xca
00002dcd: PUSH1 0x00
00002dcf: DUP4
00002dd0: DUP2
00002dd1: MSTORE
00002dd2: PUSH1 0x20
00002dd4: ADD
00002dd5: SWAP1
00002dd6: DUP2
00002dd7: MSTORE
00002dd8: PUSH1 0x20
00002dda: ADD
00002ddb: PUSH1 0x00
00002ddd: KECCAK256
00002dde: PUSH1 0x04
00002de0: ADD
00002de1: DUP2
00002de2: SWAP1
00002de3: SSTORE
00002de4: POP
00002de5: PUSH1 0x00
00002de7: PUSH1 0xcb
00002de9: PUSH1 0x00
00002deb: DUP5
00002dec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e01: AND
00002e02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e17: AND
00002e18: DUP2
00002e19: MSTORE
00002e1a: PUSH1 0x20
00002e1c: ADD
00002e1d: SWAP1
00002e1e: DUP2
00002e1f: MSTORE
00002e20: PUSH1 0x20
00002e22: ADD
00002e23: PUSH1 0x00
00002e25: KECCAK256
00002e26: SWAP1
00002e27: POP
00002e28: PUSH2 0x2e3e
00002e2b: DUP8
00002e2c: DUP3
00002e2d: PUSH1 0x01
00002e2f: ADD
00002e30: SLOAD
00002e31: PUSH2 0x3ff9
00002e34: SWAP1
00002e35: SWAP2
00002e36: SWAP1
00002e37: PUSH4 0xffffffff
00002e3c: AND
00002e3d: JUMP
00002e3e: JUMPDEST
00002e3f: DUP2
00002e40: PUSH1 0x01
00002e42: ADD
00002e43: DUP2
00002e44: SWAP1
00002e45: SSTORE
00002e46: POP
00002e47: PUSH2 0x2e95
00002e4a: DUP4
00002e4b: ADDRESS
00002e4c: DUP10
00002e4d: PUSH1 0xcc
00002e4f: PUSH1 0x00
00002e51: SWAP1
00002e52: SLOAD
00002e53: SWAP1
00002e54: PUSH2 0x0100
00002e57: EXP
00002e58: SWAP1
00002e59: DIV
00002e5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e6f: AND
00002e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e85: AND
00002e86: PUSH2 0x49ea
00002e89: SWAP1
00002e8a: SWAP4
00002e8b: SWAP3
00002e8c: SWAP2
00002e8d: SWAP1
00002e8e: PUSH4 0xffffffff
00002e93: AND
00002e94: JUMP
00002e95: JUMPDEST
00002e96: DUP3
00002e97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002eac: AND
00002ead: PUSH32 0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d
00002ece: DUP9
00002ecf: PUSH1 0x40
00002ed1: MLOAD
00002ed2: DUP1
00002ed3: DUP3
00002ed4: DUP2
00002ed5: MSTORE
00002ed6: PUSH1 0x20
00002ed8: ADD
00002ed9: SWAP2
00002eda: POP
00002edb: POP
00002edc: PUSH1 0x40
00002ede: MLOAD
00002edf: DUP1
00002ee0: SWAP2
00002ee1: SUB
00002ee2: SWAP1
00002ee3: LOG2
00002ee4: POP
00002ee5: POP
00002ee6: POP
00002ee7: POP
00002ee8: POP
00002ee9: POP
00002eea: POP
00002eeb: JUMP
00002eec: JUMPDEST
00002eed: PUSH2 0x2ef4
00002ef0: PUSH2 0x4151
00002ef3: JUMP
00002ef4: JUMPDEST
00002ef5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f0a: AND
00002f0b: PUSH1 0x97
00002f0d: PUSH1 0x00
00002f0f: SWAP1
00002f10: SLOAD
00002f11: SWAP1
00002f12: PUSH2 0x0100
00002f15: EXP
00002f16: SWAP1
00002f17: DIV
00002f18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f2d: AND
00002f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f43: AND
00002f44: EQ
00002f45: PUSH2 0x2fb6
00002f48: JUMPI
00002f49: PUSH1 0x40
00002f4b: MLOAD
00002f4c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002f6d: DUP2
00002f6e: MSTORE
00002f6f: PUSH1 0x04
00002f71: ADD
00002f72: DUP1
00002f73: DUP1
00002f74: PUSH1 0x20
00002f76: ADD
00002f77: DUP3
00002f78: DUP2
00002f79: SUB
00002f7a: DUP3
00002f7b: MSTORE
00002f7c: PUSH1 0x20
00002f7e: DUP2
00002f7f: MSTORE
00002f80: PUSH1 0x20
00002f82: ADD
00002f83: DUP1
00002f84: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002fa5: DUP2
00002fa6: MSTORE
00002fa7: POP
00002fa8: PUSH1 0x20
00002faa: ADD
00002fab: SWAP2
00002fac: POP
00002fad: POP
00002fae: PUSH1 0x40
00002fb0: MLOAD
00002fb1: DUP1
00002fb2: SWAP2
00002fb3: SUB
00002fb4: SWAP1
00002fb5: REVERT
00002fb6: JUMPDEST
00002fb7: DUP1
00002fb8: PUSH1 0xd8
00002fba: PUSH1 0x00
00002fbc: PUSH2 0x0100
00002fbf: EXP
00002fc0: DUP2
00002fc1: SLOAD
00002fc2: DUP2
00002fc3: PUSH1 0xff
00002fc5: MUL
00002fc6: NOT
00002fc7: AND
00002fc8: SWAP1
00002fc9: DUP4
00002fca: ISZERO
00002fcb: ISZERO
00002fcc: MUL
00002fcd: OR
00002fce: SWAP1
00002fcf: SSTORE
00002fd0: POP
00002fd1: POP
00002fd2: JUMP
00002fd3: JUMPDEST
00002fd4: PUSH1 0xd9
00002fd6: SLOAD
00002fd7: DUP2
00002fd8: JUMP
00002fd9: JUMPDEST
00002fda: PUSH1 0x00
00002fdc: DUP1
00002fdd: PUSH1 0x00
00002fdf: DUP1
00002fe0: PUSH1 0x00
00002fe2: DUP1
00002fe3: PUSH1 0x00
00002fe5: DUP1
00002fe6: PUSH1 0x00
00002fe8: DUP1
00002fe9: PUSH1 0x00
00002feb: DUP1
00002fec: DUP13
00002fed: SWAP12
00002fee: POP
00002fef: PUSH1 0x00
00002ff1: PUSH1 0xca
00002ff3: PUSH1 0x00
00002ff5: DUP16
00002ff6: DUP2
00002ff7: MSTORE
00002ff8: PUSH1 0x20
00002ffa: ADD
00002ffb: SWAP1
00002ffc: DUP2
00002ffd: MSTORE
00002ffe: PUSH1 0x20
00003000: ADD
00003001: PUSH1 0x00
00003003: KECCAK256
00003004: SWAP1
00003005: POP
00003006: DUP1
00003007: PUSH1 0x00
00003009: ADD
0000300a: SLOAD
0000300b: SWAP12
0000300c: POP
0000300d: DUP1
0000300e: PUSH1 0x01
00003010: ADD
00003011: SLOAD
00003012: SWAP11
00003013: POP
00003014: DUP1
00003015: PUSH1 0x02
00003017: ADD
00003018: SLOAD
00003019: SWAP10
0000301a: POP
0000301b: DUP1
0000301c: PUSH1 0x03
0000301e: ADD
0000301f: SLOAD
00003020: SWAP9
00003021: POP
00003022: DUP1
00003023: PUSH1 0x04
00003025: ADD
00003026: SLOAD
00003027: SWAP8
00003028: POP
00003029: DUP1
0000302a: PUSH1 0x05
0000302c: ADD
0000302d: SLOAD
0000302e: SWAP7
0000302f: POP
00003030: DUP1
00003031: PUSH1 0x06
00003033: ADD
00003034: SLOAD
00003035: SWAP6
00003036: POP
00003037: DUP1
00003038: PUSH1 0x09
0000303a: ADD
0000303b: SLOAD
0000303c: SWAP5
0000303d: POP
0000303e: DUP1
0000303f: PUSH1 0x07
00003041: ADD
00003042: SLOAD
00003043: SWAP4
00003044: POP
00003045: DUP1
00003046: PUSH1 0x08
00003048: ADD
00003049: SLOAD
0000304a: SWAP3
0000304b: POP
0000304c: DUP1
0000304d: PUSH1 0x0a
0000304f: ADD
00003050: SLOAD
00003051: SWAP2
00003052: POP
00003053: POP
00003054: SWAP2
00003055: SWAP4
00003056: SWAP6
00003057: SWAP8
00003058: SWAP10
00003059: SWAP12
0000305a: POP
0000305b: SWAP2
0000305c: SWAP4
0000305d: SWAP6
0000305e: SWAP8
0000305f: SWAP10
00003060: SWAP12
00003061: JUMP
00003062: JUMPDEST
00003063: PUSH1 0xd3
00003065: SLOAD
00003066: DUP2
00003067: JUMP
00003068: JUMPDEST
00003069: PUSH1 0xca
0000306b: PUSH1 0x20
0000306d: MSTORE
0000306e: DUP1
0000306f: PUSH1 0x00
00003071: MSTORE
00003072: PUSH1 0x40
00003074: PUSH1 0x00
00003076: KECCAK256
00003077: PUSH1 0x00
00003079: SWAP2
0000307a: POP
0000307b: SWAP1
0000307c: POP
0000307d: DUP1
0000307e: PUSH1 0x00
00003080: ADD
00003081: SLOAD
00003082: SWAP1
00003083: DUP1
00003084: PUSH1 0x01
00003086: ADD
00003087: SLOAD
00003088: SWAP1
00003089: DUP1
0000308a: PUSH1 0x02
0000308c: ADD
0000308d: SLOAD
0000308e: SWAP1
0000308f: DUP1
00003090: PUSH1 0x03
00003092: ADD
00003093: SLOAD
00003094: SWAP1
00003095: DUP1
00003096: PUSH1 0x04
00003098: ADD
00003099: SLOAD
0000309a: SWAP1
0000309b: DUP1
0000309c: PUSH1 0x05
0000309e: ADD
0000309f: SLOAD
000030a0: SWAP1
000030a1: DUP1
000030a2: PUSH1 0x06
000030a4: ADD
000030a5: SLOAD
000030a6: SWAP1
000030a7: DUP1
000030a8: PUSH1 0x07
000030aa: ADD
000030ab: SLOAD
000030ac: SWAP1
000030ad: DUP1
000030ae: PUSH1 0x08
000030b0: ADD
000030b1: SLOAD
000030b2: SWAP1
000030b3: DUP1
000030b4: PUSH1 0x09
000030b6: ADD
000030b7: SLOAD
000030b8: SWAP1
000030b9: DUP1
000030ba: PUSH1 0x0a
000030bc: ADD
000030bd: SLOAD
000030be: SWAP1
000030bf: POP
000030c0: DUP12
000030c1: JUMP
000030c2: JUMPDEST
000030c3: PUSH1 0x00
000030c5: PUSH1 0x01
000030c7: SWAP1
000030c8: SLOAD
000030c9: SWAP1
000030ca: PUSH2 0x0100
000030cd: EXP
000030ce: SWAP1
000030cf: DIV
000030d0: PUSH1 0xff
000030d2: AND
000030d3: DUP1
000030d4: PUSH2 0x30e1
000030d7: JUMPI
000030d8: POP
000030d9: PUSH2 0x30e0
000030dc: PUSH2 0x4ad7
000030df: JUMP
000030e0: JUMPDEST
000030e1: JUMPDEST
000030e2: DUP1
000030e3: PUSH2 0x30f8
000030e6: JUMPI
000030e7: POP
000030e8: PUSH1 0x00
000030ea: DUP1
000030eb: SWAP1
000030ec: SLOAD
000030ed: SWAP1
000030ee: PUSH2 0x0100
000030f1: EXP
000030f2: SWAP1
000030f3: DIV
000030f4: PUSH1 0xff
000030f6: AND
000030f7: ISZERO
000030f8: JUMPDEST
000030f9: PUSH2 0x314d
000030fc: JUMPI
000030fd: PUSH1 0x40
000030ff: MLOAD
00003100: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003121: DUP2
00003122: MSTORE
00003123: PUSH1 0x04
00003125: ADD
00003126: DUP1
00003127: DUP1
00003128: PUSH1 0x20
0000312a: ADD
0000312b: DUP3
0000312c: DUP2
0000312d: SUB
0000312e: DUP3
0000312f: MSTORE
00003130: PUSH1 0x2e
00003132: DUP2
00003133: MSTORE
00003134: PUSH1 0x20
00003136: ADD
00003137: DUP1
00003138: PUSH2 0x57b9
0000313b: PUSH1 0x2e
0000313d: SWAP2
0000313e: CODECOPY
0000313f: PUSH1 0x40
00003141: ADD
00003142: SWAP2
00003143: POP
00003144: POP
00003145: PUSH1 0x40
00003147: MLOAD
00003148: DUP1
00003149: SWAP2
0000314a: SUB
0000314b: SWAP1
0000314c: REVERT
0000314d: JUMPDEST
0000314e: PUSH1 0x00
00003150: DUP1
00003151: PUSH1 0x01
00003153: SWAP1
00003154: SLOAD
00003155: SWAP1
00003156: PUSH2 0x0100
00003159: EXP
0000315a: SWAP1
0000315b: DIV
0000315c: PUSH1 0xff
0000315e: AND
0000315f: ISZERO
00003160: SWAP1
00003161: POP
00003162: DUP1
00003163: ISZERO
00003164: PUSH2 0x319d
00003167: JUMPI
00003168: PUSH1 0x01
0000316a: PUSH1 0x00
0000316c: PUSH1 0x01
0000316e: PUSH2 0x0100
00003171: EXP
00003172: DUP2
00003173: SLOAD
00003174: DUP2
00003175: PUSH1 0xff
00003177: MUL
00003178: NOT
00003179: AND
0000317a: SWAP1
0000317b: DUP4
0000317c: ISZERO
0000317d: ISZERO
0000317e: MUL
0000317f: OR
00003180: SWAP1
00003181: SSTORE
00003182: POP
00003183: PUSH1 0x01
00003185: PUSH1 0x00
00003187: DUP1
00003188: PUSH2 0x0100
0000318b: EXP
0000318c: DUP2
0000318d: SLOAD
0000318e: DUP2
0000318f: PUSH1 0xff
00003191: MUL
00003192: NOT
00003193: AND
00003194: SWAP1
00003195: DUP4
00003196: ISZERO
00003197: ISZERO
00003198: MUL
00003199: OR
0000319a: SWAP1
0000319b: SSTORE
0000319c: POP
0000319d: JUMPDEST
0000319e: DUP9
0000319f: PUSH2 0x31a7
000031a2: DUP2
000031a3: PUSH2 0x4783
000031a6: JUMP
000031a7: JUMPDEST
000031a8: DUP9
000031a9: PUSH2 0x31b1
000031ac: DUP2
000031ad: PUSH2 0x4783
000031b0: JUMP
000031b1: JUMPDEST
000031b2: DUP9
000031b3: PUSH2 0x31bb
000031b6: DUP2
000031b7: PUSH2 0x4783
000031ba: JUMP
000031bb: JUMPDEST
000031bc: DUP9
000031bd: PUSH2 0x31c5
000031c0: DUP2
000031c1: PUSH2 0x4783
000031c4: JUMP
000031c5: JUMPDEST
000031c6: DUP9
000031c7: PUSH2 0x31cf
000031ca: DUP2
000031cb: PUSH2 0x4783
000031ce: JUMP
000031cf: JUMPDEST
000031d0: DUP9
000031d1: PUSH2 0x31d9
000031d4: DUP2
000031d5: PUSH2 0x4783
000031d8: JUMP
000031d9: JUMPDEST
000031da: PUSH2 0x31e1
000031dd: PUSH2 0x4aee
000031e0: JUMP
000031e1: JUMPDEST
000031e2: PUSH2 0x31e9
000031e5: PUSH2 0x4bf5
000031e8: JUMP
000031e9: JUMPDEST
000031ea: DUP15
000031eb: PUSH1 0xcd
000031ed: PUSH1 0x00
000031ef: PUSH2 0x0100
000031f2: EXP
000031f3: DUP2
000031f4: SLOAD
000031f5: DUP2
000031f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000320b: MUL
0000320c: NOT
0000320d: AND
0000320e: SWAP1
0000320f: DUP4
00003210: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003225: AND
00003226: MUL
00003227: OR
00003228: SWAP1
00003229: SSTORE
0000322a: POP
0000322b: DUP14
0000322c: PUSH1 0xce
0000322e: PUSH1 0x00
00003230: PUSH2 0x0100
00003233: EXP
00003234: DUP2
00003235: SLOAD
00003236: DUP2
00003237: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000324c: MUL
0000324d: NOT
0000324e: AND
0000324f: SWAP1
00003250: DUP4
00003251: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003266: AND
00003267: MUL
00003268: OR
00003269: SWAP1
0000326a: SSTORE
0000326b: POP
0000326c: DUP13
0000326d: PUSH1 0xcf
0000326f: PUSH1 0x00
00003271: PUSH2 0x0100
00003274: EXP
00003275: DUP2
00003276: SLOAD
00003277: DUP2
00003278: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000328d: MUL
0000328e: NOT
0000328f: AND
00003290: SWAP1
00003291: DUP4
00003292: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032a7: AND
000032a8: MUL
000032a9: OR
000032aa: SWAP1
000032ab: SSTORE
000032ac: POP
000032ad: DUP12
000032ae: PUSH1 0xd0
000032b0: PUSH1 0x00
000032b2: PUSH2 0x0100
000032b5: EXP
000032b6: DUP2
000032b7: SLOAD
000032b8: DUP2
000032b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032ce: MUL
000032cf: NOT
000032d0: AND
000032d1: SWAP1
000032d2: DUP4
000032d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032e8: AND
000032e9: MUL
000032ea: OR
000032eb: SWAP1
000032ec: SSTORE
000032ed: POP
000032ee: DUP11
000032ef: PUSH1 0xd1
000032f1: PUSH1 0x00
000032f3: PUSH2 0x0100
000032f6: EXP
000032f7: DUP2
000032f8: SLOAD
000032f9: DUP2
000032fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000330f: MUL
00003310: NOT
00003311: AND
00003312: SWAP1
00003313: DUP4
00003314: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003329: AND
0000332a: MUL
0000332b: OR
0000332c: SWAP1
0000332d: SSTORE
0000332e: POP
0000332f: DUP10
00003330: PUSH1 0xd2
00003332: PUSH1 0x00
00003334: PUSH2 0x0100
00003337: EXP
00003338: DUP2
00003339: SLOAD
0000333a: DUP2
0000333b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003350: MUL
00003351: NOT
00003352: AND
00003353: SWAP1
00003354: DUP4
00003355: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000336a: AND
0000336b: MUL
0000336c: OR
0000336d: SWAP1
0000336e: SSTORE
0000336f: POP
00003370: DUP9
00003371: PUSH1 0xd3
00003373: DUP2
00003374: SWAP1
00003375: SSTORE
00003376: POP
00003377: PUSH1 0xd2
00003379: PUSH1 0x00
0000337b: SWAP1
0000337c: SLOAD
0000337d: SWAP1
0000337e: PUSH2 0x0100
00003381: EXP
00003382: SWAP1
00003383: DIV
00003384: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003399: AND
0000339a: PUSH1 0xc9
0000339c: PUSH1 0x00
0000339e: PUSH2 0x0100
000033a1: EXP
000033a2: DUP2
000033a3: SLOAD
000033a4: DUP2
000033a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033ba: MUL
000033bb: NOT
000033bc: AND
000033bd: SWAP1
000033be: DUP4
000033bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033d4: AND
000033d5: MUL
000033d6: OR
000033d7: SWAP1
000033d8: SSTORE
000033d9: POP
000033da: PUSH2 0x33e2
000033dd: DUP16
000033de: PUSH2 0x44bf
000033e1: JUMP
000033e2: JUMPDEST
000033e3: PUSH1 0xcc
000033e5: PUSH1 0x00
000033e7: PUSH2 0x0100
000033ea: EXP
000033eb: DUP2
000033ec: SLOAD
000033ed: DUP2
000033ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003403: MUL
00003404: NOT
00003405: AND
00003406: SWAP1
00003407: DUP4
00003408: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000341d: AND
0000341e: MUL
0000341f: OR
00003420: SWAP1
00003421: SSTORE
00003422: POP
00003423: PUSH1 0x00
00003425: PUSH1 0xd4
00003427: DUP2
00003428: SWAP1
00003429: SSTORE
0000342a: POP
0000342b: PUSH1 0x00
0000342d: PUSH1 0xd6
0000342f: DUP2
00003430: SWAP1
00003431: SSTORE
00003432: POP
00003433: PUSH1 0x00
00003435: PUSH1 0xd7
00003437: DUP2
00003438: SWAP1
00003439: SSTORE
0000343a: POP
0000343b: PUSH1 0x01
0000343d: PUSH1 0xd8
0000343f: PUSH1 0x00
00003441: PUSH2 0x0100
00003444: EXP
00003445: DUP2
00003446: SLOAD
00003447: DUP2
00003448: PUSH1 0xff
0000344a: MUL
0000344b: NOT
0000344c: AND
0000344d: SWAP1
0000344e: DUP4
0000344f: ISZERO
00003450: ISZERO
00003451: MUL
00003452: OR
00003453: SWAP1
00003454: SSTORE
00003455: POP
00003456: PUSH1 0x00
00003458: PUSH1 0xd5
0000345a: DUP2
0000345b: SWAP1
0000345c: SSTORE
0000345d: POP
0000345e: PUSH1 0x00
00003460: PUSH1 0xca
00003462: PUSH1 0x00
00003464: PUSH1 0xd5
00003466: SLOAD
00003467: DUP2
00003468: MSTORE
00003469: PUSH1 0x20
0000346b: ADD
0000346c: SWAP1
0000346d: DUP2
0000346e: MSTORE
0000346f: PUSH1 0x20
00003471: ADD
00003472: PUSH1 0x00
00003474: KECCAK256
00003475: SWAP1
00003476: POP
00003477: PUSH1 0x00
00003479: DUP10
0000347a: EQ
0000347b: ISZERO
0000347c: PUSH2 0x348d
0000347f: JUMPI
00003480: TIMESTAMP
00003481: DUP2
00003482: PUSH1 0x02
00003484: ADD
00003485: DUP2
00003486: SWAP1
00003487: SSTORE
00003488: POP
00003489: PUSH2 0x3497
0000348c: JUMP
0000348d: JUMPDEST
0000348e: DUP9
0000348f: DUP2
00003490: PUSH1 0x02
00003492: ADD
00003493: DUP2
00003494: SWAP1
00003495: SSTORE
00003496: POP
00003497: JUMPDEST
00003498: POP
00003499: POP
0000349a: POP
0000349b: POP
0000349c: POP
0000349d: POP
0000349e: POP
0000349f: DUP1
000034a0: ISZERO
000034a1: PUSH2 0x34bf
000034a4: JUMPI
000034a5: PUSH1 0x00
000034a7: DUP1
000034a8: PUSH1 0x01
000034aa: PUSH2 0x0100
000034ad: EXP
000034ae: DUP2
000034af: SLOAD
000034b0: DUP2
000034b1: PUSH1 0xff
000034b3: MUL
000034b4: NOT
000034b5: AND
000034b6: SWAP1
000034b7: DUP4
000034b8: ISZERO
000034b9: ISZERO
000034ba: MUL
000034bb: OR
000034bc: SWAP1
000034bd: SSTORE
000034be: POP
000034bf: JUMPDEST
000034c0: POP
000034c1: POP
000034c2: POP
000034c3: POP
000034c4: POP
000034c5: POP
000034c6: POP
000034c7: POP
000034c8: POP
000034c9: JUMP
000034ca: JUMPDEST
000034cb: PUSH1 0x00
000034cd: DUP1
000034ce: PUSH1 0x00
000034d0: PUSH1 0xca
000034d2: PUSH1 0x00
000034d4: PUSH1 0xd5
000034d6: SLOAD
000034d7: DUP2
000034d8: MSTORE
000034d9: PUSH1 0x20
000034db: ADD
000034dc: SWAP1
000034dd: DUP2
000034de: MSTORE
000034df: PUSH1 0x20
000034e1: ADD
000034e2: PUSH1 0x00
000034e4: KECCAK256
000034e5: SWAP1
000034e6: POP
000034e7: PUSH1 0x00
000034e9: PUSH2 0x34f0
000034ec: PUSH2 0x3bee
000034ef: JUMP
000034f0: JUMPDEST
000034f1: SWAP1
000034f2: POP
000034f3: PUSH2 0x3506
000034f6: PUSH1 0x01
000034f8: DUP3
000034f9: PUSH2 0x3ff9
000034fc: SWAP1
000034fd: SWAP2
000034fe: SWAP1
000034ff: PUSH4 0xffffffff
00003504: AND
00003505: JUMP
00003506: JUMPDEST
00003507: SWAP3
00003508: POP
00003509: PUSH2 0x3547
0000350c: PUSH2 0x3534
0000350f: PUSH1 0xd3
00003511: SLOAD
00003512: PUSH2 0x3526
00003515: PUSH1 0xd5
00003517: SLOAD
00003518: DUP8
00003519: PUSH2 0x4174
0000351c: SWAP1
0000351d: SWAP2
0000351e: SWAP1
0000351f: PUSH4 0xffffffff
00003524: AND
00003525: JUMP
00003526: JUMPDEST
00003527: PUSH2 0x4081
0000352a: SWAP1
0000352b: SWAP2
0000352c: SWAP1
0000352d: PUSH4 0xffffffff
00003532: AND
00003533: JUMP
00003534: JUMPDEST
00003535: DUP4
00003536: PUSH1 0x02
00003538: ADD
00003539: SLOAD
0000353a: PUSH2 0x3ff9
0000353d: SWAP1
0000353e: SWAP2
0000353f: SWAP1
00003540: PUSH4 0xffffffff
00003545: AND
00003546: JUMP
00003547: JUMPDEST
00003548: SWAP4
00003549: POP
0000354a: POP
0000354b: POP
0000354c: SWAP1
0000354d: SWAP2
0000354e: JUMP
0000354f: JUMPDEST
00003550: PUSH1 0x34
00003552: DUP2
00003553: JUMP
00003554: JUMPDEST
00003555: PUSH1 0xdd
00003557: SLOAD
00003558: DUP2
00003559: JUMP
0000355a: JUMPDEST
0000355b: PUSH1 0xd1
0000355d: PUSH1 0x00
0000355f: SWAP1
00003560: SLOAD
00003561: SWAP1
00003562: PUSH2 0x0100
00003565: EXP
00003566: SWAP1
00003567: DIV
00003568: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000357d: AND
0000357e: DUP2
0000357f: JUMP
00003580: JUMPDEST
00003581: PUSH2 0x3588
00003584: PUSH2 0x4151
00003587: JUMP
00003588: JUMPDEST
00003589: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000359e: AND
0000359f: PUSH1 0x97
000035a1: PUSH1 0x00
000035a3: SWAP1
000035a4: SLOAD
000035a5: SWAP1
000035a6: PUSH2 0x0100
000035a9: EXP
000035aa: SWAP1
000035ab: DIV
000035ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035c1: AND
000035c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035d7: AND
000035d8: EQ
000035d9: PUSH2 0x364a
000035dc: JUMPI
000035dd: PUSH1 0x40
000035df: MLOAD
000035e0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003601: DUP2
00003602: MSTORE
00003603: PUSH1 0x04
00003605: ADD
00003606: DUP1
00003607: DUP1
00003608: PUSH1 0x20
0000360a: ADD
0000360b: DUP3
0000360c: DUP2
0000360d: SUB
0000360e: DUP3
0000360f: MSTORE
00003610: PUSH1 0x20
00003612: DUP2
00003613: MSTORE
00003614: PUSH1 0x20
00003616: ADD
00003617: DUP1
00003618: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00003639: DUP2
0000363a: MSTORE
0000363b: POP
0000363c: PUSH1 0x20
0000363e: ADD
0000363f: SWAP2
00003640: POP
00003641: POP
00003642: PUSH1 0x40
00003644: MLOAD
00003645: DUP1
00003646: SWAP2
00003647: SUB
00003648: SWAP1
00003649: REVERT
0000364a: JUMPDEST
0000364b: PUSH1 0x00
0000364d: DUP2
0000364e: GT
0000364f: PUSH2 0x36c0
00003652: JUMPI
00003653: PUSH1 0x40
00003655: MLOAD
00003656: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003677: DUP2
00003678: MSTORE
00003679: PUSH1 0x04
0000367b: ADD
0000367c: DUP1
0000367d: DUP1
0000367e: PUSH1 0x20
00003680: ADD
00003681: DUP3
00003682: DUP2
00003683: SUB
00003684: DUP3
00003685: MSTORE
00003686: PUSH1 0x0d
00003688: DUP2
00003689: MSTORE
0000368a: PUSH1 0x20
0000368c: ADD
0000368d: DUP1
0000368e: PUSH32 0x50524943455f494e56414c494400000000000000000000000000000000000000
000036af: DUP2
000036b0: MSTORE
000036b1: POP
000036b2: PUSH1 0x20
000036b4: ADD
000036b5: SWAP2
000036b6: POP
000036b7: POP
000036b8: PUSH1 0x40
000036ba: MLOAD
000036bb: DUP1
000036bc: SWAP2
000036bd: SUB
000036be: SWAP1
000036bf: REVERT
000036c0: JUMPDEST
000036c1: DUP1
000036c2: PUSH1 0xd4
000036c4: DUP2
000036c5: SWAP1
000036c6: SSTORE
000036c7: POP
000036c8: POP
000036c9: JUMP
000036ca: JUMPDEST
000036cb: PUSH1 0xd2
000036cd: PUSH1 0x00
000036cf: SWAP1
000036d0: SLOAD
000036d1: SWAP1
000036d2: PUSH2 0x0100
000036d5: EXP
000036d6: SWAP1
000036d7: DIV
000036d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036ed: AND
000036ee: DUP2
000036ef: JUMP
000036f0: JUMPDEST
000036f1: PUSH1 0xcd
000036f3: PUSH1 0x00
000036f5: SWAP1
000036f6: SLOAD
000036f7: SWAP1
000036f8: PUSH2 0x0100
000036fb: EXP
000036fc: SWAP1
000036fd: DIV
000036fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003713: AND
00003714: DUP2
00003715: JUMP
00003716: JUMPDEST
00003717: PUSH1 0xd5
00003719: SLOAD
0000371a: DUP2
0000371b: JUMP
0000371c: JUMPDEST
0000371d: PUSH1 0xda
0000371f: SLOAD
00003720: DUP2
00003721: JUMP
00003722: JUMPDEST
00003723: PUSH2 0x372a
00003726: PUSH2 0x4151
00003729: JUMP
0000372a: JUMPDEST
0000372b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003740: AND
00003741: PUSH1 0x97
00003743: PUSH1 0x00
00003745: SWAP1
00003746: SLOAD
00003747: SWAP1
00003748: PUSH2 0x0100
0000374b: EXP
0000374c: SWAP1
0000374d: DIV
0000374e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003763: AND
00003764: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003779: AND
0000377a: EQ
0000377b: PUSH2 0x37ec
0000377e: JUMPI
0000377f: PUSH1 0x40
00003781: MLOAD
00003782: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000037a3: DUP2
000037a4: MSTORE
000037a5: PUSH1 0x04
000037a7: ADD
000037a8: DUP1
000037a9: DUP1
000037aa: PUSH1 0x20
000037ac: ADD
000037ad: DUP3
000037ae: DUP2
000037af: SUB
000037b0: DUP3
000037b1: MSTORE
000037b2: PUSH1 0x20
000037b4: DUP2
000037b5: MSTORE
000037b6: PUSH1 0x20
000037b8: ADD
000037b9: DUP1
000037ba: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000037db: DUP2
000037dc: MSTORE
000037dd: POP
000037de: PUSH1 0x20
000037e0: ADD
000037e1: SWAP2
000037e2: POP
000037e3: POP
000037e4: PUSH1 0x40
000037e6: MLOAD
000037e7: DUP1
000037e8: SWAP2
000037e9: SUB
000037ea: SWAP1
000037eb: REVERT
000037ec: JUMPDEST
000037ed: PUSH2 0x37f5
000037f0: DUP2
000037f1: PUSH2 0x4276
000037f4: JUMP
000037f5: JUMPDEST
000037f6: POP
000037f7: JUMP
000037f8: JUMPDEST
000037f9: PUSH2 0x3800
000037fc: PUSH2 0x4151
000037ff: JUMP
00003800: JUMPDEST
00003801: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003816: AND
00003817: PUSH1 0x97
00003819: PUSH1 0x00
0000381b: SWAP1
0000381c: SLOAD
0000381d: SWAP1
0000381e: PUSH2 0x0100
00003821: EXP
00003822: SWAP1
00003823: DIV
00003824: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003839: AND
0000383a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000384f: AND
00003850: EQ
00003851: PUSH2 0x38c2
00003854: JUMPI
00003855: PUSH1 0x40
00003857: MLOAD
00003858: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003879: DUP2
0000387a: MSTORE
0000387b: PUSH1 0x04
0000387d: ADD
0000387e: DUP1
0000387f: DUP1
00003880: PUSH1 0x20
00003882: ADD
00003883: DUP3
00003884: DUP2
00003885: SUB
00003886: DUP3
00003887: MSTORE
00003888: PUSH1 0x20
0000388a: DUP2
0000388b: MSTORE
0000388c: PUSH1 0x20
0000388e: ADD
0000388f: DUP1
00003890: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000038b1: DUP2
000038b2: MSTORE
000038b3: POP
000038b4: PUSH1 0x20
000038b6: ADD
000038b7: SWAP2
000038b8: POP
000038b9: POP
000038ba: PUSH1 0x40
000038bc: MLOAD
000038bd: DUP1
000038be: SWAP2
000038bf: SUB
000038c0: SWAP1
000038c1: REVERT
000038c2: JUMPDEST
000038c3: PUSH1 0xdb
000038c5: PUSH1 0x00
000038c7: SWAP1
000038c8: SLOAD
000038c9: SWAP1
000038ca: PUSH2 0x0100
000038cd: EXP
000038ce: SWAP1
000038cf: DIV
000038d0: PUSH1 0xff
000038d2: AND
000038d3: ISZERO
000038d4: PUSH2 0x3945
000038d7: JUMPI
000038d8: PUSH1 0x40
000038da: MLOAD
000038db: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000038fc: DUP2
000038fd: MSTORE
000038fe: PUSH1 0x04
00003900: ADD
00003901: DUP1
00003902: DUP1
00003903: PUSH1 0x20
00003905: ADD
00003906: DUP3
00003907: DUP2
00003908: SUB
00003909: DUP3
0000390a: MSTORE
0000390b: PUSH1 0x17
0000390d: DUP2
0000390e: MSTORE
0000390f: PUSH1 0x20
00003911: ADD
00003912: DUP1
00003913: PUSH32 0x574541503a20616c726561647920757067726164656433000000000000000000
00003934: DUP2
00003935: MSTORE
00003936: POP
00003937: PUSH1 0x20
00003939: ADD
0000393a: SWAP2
0000393b: POP
0000393c: POP
0000393d: PUSH1 0x40
0000393f: MLOAD
00003940: DUP1
00003941: SWAP2
00003942: SUB
00003943: SWAP1
00003944: REVERT
00003945: JUMPDEST
00003946: PUSH1 0x01
00003948: PUSH1 0xdb
0000394a: PUSH1 0x00
0000394c: PUSH2 0x0100
0000394f: EXP
00003950: DUP2
00003951: SLOAD
00003952: DUP2
00003953: PUSH1 0xff
00003955: MUL
00003956: NOT
00003957: AND
00003958: SWAP1
00003959: DUP4
0000395a: ISZERO
0000395b: ISZERO
0000395c: MUL
0000395d: OR
0000395e: SWAP1
0000395f: SSTORE
00003960: POP
00003961: DUP1
00003962: PUSH1 0xdb
00003964: PUSH1 0x01
00003966: PUSH2 0x0100
00003969: EXP
0000396a: DUP2
0000396b: SLOAD
0000396c: DUP2
0000396d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003982: MUL
00003983: NOT
00003984: AND
00003985: SWAP1
00003986: DUP4
00003987: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000399c: AND
0000399d: MUL
0000399e: OR
0000399f: SWAP1
000039a0: SSTORE
000039a1: POP
000039a2: PUSH1 0x00
000039a4: PUSH1 0xdc
000039a6: DUP2
000039a7: SWAP1
000039a8: SSTORE
000039a9: POP
000039aa: POP
000039ab: JUMP
000039ac: JUMPDEST
000039ad: PUSH1 0xd6
000039af: SLOAD
000039b0: DUP2
000039b1: JUMP
000039b2: JUMPDEST
000039b3: PUSH1 0xd7
000039b5: SLOAD
000039b6: DUP2
000039b7: JUMP
000039b8: JUMPDEST
000039b9: PUSH2 0x39c0
000039bc: PUSH2 0x4151
000039bf: JUMP
000039c0: JUMPDEST
000039c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000039d6: AND
000039d7: PUSH1 0x97
000039d9: PUSH1 0x00
000039db: SWAP1
000039dc: SLOAD
000039dd: SWAP1
000039de: PUSH2 0x0100
000039e1: EXP
000039e2: SWAP1
000039e3: DIV
000039e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000039f9: AND
000039fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a0f: AND
00003a10: EQ
00003a11: PUSH2 0x3a82
00003a14: JUMPI
00003a15: PUSH1 0x40
00003a17: MLOAD
00003a18: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003a39: DUP2
00003a3a: MSTORE
00003a3b: PUSH1 0x04
00003a3d: ADD
00003a3e: DUP1
00003a3f: DUP1
00003a40: PUSH1 0x20
00003a42: ADD
00003a43: DUP3
00003a44: DUP2
00003a45: SUB
00003a46: DUP3
00003a47: MSTORE
00003a48: PUSH1 0x20
00003a4a: DUP2
00003a4b: MSTORE
00003a4c: PUSH1 0x20
00003a4e: ADD
00003a4f: DUP1
00003a50: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00003a71: DUP2
00003a72: MSTORE
00003a73: POP
00003a74: PUSH1 0x20
00003a76: ADD
00003a77: SWAP2
00003a78: POP
00003a79: POP
00003a7a: PUSH1 0x40
00003a7c: MLOAD
00003a7d: DUP1
00003a7e: SWAP2
00003a7f: SUB
00003a80: SWAP1
00003a81: REVERT
00003a82: JUMPDEST
00003a83: PUSH1 0x00
00003a85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a9a: AND
00003a9b: DUP2
00003a9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ab1: AND
00003ab2: EQ
00003ab3: ISZERO
00003ab4: PUSH2 0x3b08
00003ab7: JUMPI
00003ab8: PUSH1 0x40
00003aba: MLOAD
00003abb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003adc: DUP2
00003add: MSTORE
00003ade: PUSH1 0x04
00003ae0: ADD
00003ae1: DUP1
00003ae2: DUP1
00003ae3: PUSH1 0x20
00003ae5: ADD
00003ae6: DUP3
00003ae7: DUP2
00003ae8: SUB
00003ae9: DUP3
00003aea: MSTORE
00003aeb: PUSH1 0x26
00003aed: DUP2
00003aee: MSTORE
00003aef: PUSH1 0x20
00003af1: ADD
00003af2: DUP1
00003af3: PUSH2 0x5744
00003af6: PUSH1 0x26
00003af8: SWAP2
00003af9: CODECOPY
00003afa: PUSH1 0x40
00003afc: ADD
00003afd: SWAP2
00003afe: POP
00003aff: POP
00003b00: PUSH1 0x40
00003b02: MLOAD
00003b03: DUP1
00003b04: SWAP2
00003b05: SUB
00003b06: SWAP1
00003b07: REVERT
00003b08: JUMPDEST
00003b09: DUP1
00003b0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b1f: AND
00003b20: PUSH1 0x97
00003b22: PUSH1 0x00
00003b24: SWAP1
00003b25: SLOAD
00003b26: SWAP1
00003b27: PUSH2 0x0100
00003b2a: EXP
00003b2b: SWAP1
00003b2c: DIV
00003b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b42: AND
00003b43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b58: AND
00003b59: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003b7a: PUSH1 0x40
00003b7c: MLOAD
00003b7d: PUSH1 0x40
00003b7f: MLOAD
00003b80: DUP1
00003b81: SWAP2
00003b82: SUB
00003b83: SWAP1
00003b84: LOG3
00003b85: DUP1
00003b86: PUSH1 0x97
00003b88: PUSH1 0x00
00003b8a: PUSH2 0x0100
00003b8d: EXP
00003b8e: DUP2
00003b8f: SLOAD
00003b90: DUP2
00003b91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ba6: MUL
00003ba7: NOT
00003ba8: AND
00003ba9: SWAP1
00003baa: DUP4
00003bab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bc0: AND
00003bc1: MUL
00003bc2: OR
00003bc3: SWAP1
00003bc4: SSTORE
00003bc5: POP
00003bc6: POP
00003bc7: JUMP
00003bc8: JUMPDEST
00003bc9: PUSH1 0xcf
00003bcb: PUSH1 0x00
00003bcd: SWAP1
00003bce: SLOAD
00003bcf: SWAP1
00003bd0: PUSH2 0x0100
00003bd3: EXP
00003bd4: SWAP1
00003bd5: DIV
00003bd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003beb: AND
00003bec: DUP2
00003bed: JUMP
00003bee: JUMPDEST
00003bef: PUSH1 0x00
00003bf1: DUP1
00003bf2: PUSH1 0xca
00003bf4: PUSH1 0x00
00003bf6: PUSH1 0xd5
00003bf8: SLOAD
00003bf9: DUP2
00003bfa: MSTORE
00003bfb: PUSH1 0x20
00003bfd: ADD
00003bfe: SWAP1
00003bff: DUP2
00003c00: MSTORE
00003c01: PUSH1 0x20
00003c03: ADD
00003c04: PUSH1 0x00
00003c06: KECCAK256
00003c07: SWAP1
00003c08: POP
00003c09: PUSH2 0x3c47
00003c0c: PUSH2 0x3c36
00003c0f: PUSH1 0xd3
00003c11: SLOAD
00003c12: PUSH2 0x3c28
00003c15: DUP5
00003c16: PUSH1 0x02
00003c18: ADD
00003c19: SLOAD
00003c1a: TIMESTAMP
00003c1b: PUSH2 0x4174
00003c1e: SWAP1
00003c1f: SWAP2
00003c20: SWAP1
00003c21: PUSH4 0xffffffff
00003c26: AND
00003c27: JUMP
00003c28: JUMPDEST
00003c29: PUSH2 0x4107
00003c2c: SWAP1
00003c2d: SWAP2
00003c2e: SWAP1
00003c2f: PUSH4 0xffffffff
00003c34: AND
00003c35: JUMP
00003c36: JUMPDEST
00003c37: PUSH1 0xd5
00003c39: SLOAD
00003c3a: PUSH2 0x3ff9
00003c3d: SWAP1
00003c3e: SWAP2
00003c3f: SWAP1
00003c40: PUSH4 0xffffffff
00003c45: AND
00003c46: JUMP
00003c47: JUMPDEST
00003c48: SWAP2
00003c49: POP
00003c4a: POP
00003c4b: SWAP1
00003c4c: JUMP
00003c4d: JUMPDEST
00003c4e: PUSH1 0x32
00003c50: DUP2
00003c51: JUMP
00003c52: JUMPDEST
00003c53: PUSH1 0x00
00003c55: DUP1
00003c56: PUSH1 0x00
00003c58: DUP1
00003c59: PUSH1 0x00
00003c5b: DUP1
00003c5c: PUSH1 0xcb
00003c5e: PUSH1 0x00
00003c60: DUP10
00003c61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c76: AND
00003c77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c8c: AND
00003c8d: DUP2
00003c8e: MSTORE
00003c8f: PUSH1 0x20
00003c91: ADD
00003c92: SWAP1
00003c93: DUP2
00003c94: MSTORE
00003c95: PUSH1 0x20
00003c97: ADD
00003c98: PUSH1 0x00
00003c9a: KECCAK256
00003c9b: SWAP1
00003c9c: POP
00003c9d: PUSH1 0x00
00003c9f: DUP2
00003ca0: PUSH1 0x04
00003ca2: ADD
00003ca3: SLOAD
00003ca4: SWAP1
00003ca5: POP
00003ca6: PUSH1 0x00
00003ca8: SWAP5
00003ca9: POP
00003caa: PUSH1 0x00
00003cac: SWAP6
00003cad: POP
00003cae: PUSH1 0x00
00003cb0: SWAP7
00003cb1: POP
00003cb2: DUP1
00003cb3: SWAP4
00003cb4: POP
00003cb5: PUSH1 0x00
00003cb7: SWAP3
00003cb8: POP
00003cb9: DUP8
00003cba: DUP2
00003cbb: EQ
00003cbc: ISZERO
00003cbd: PUSH2 0x3cd6
00003cc0: JUMPI
00003cc1: DUP7
00003cc2: DUP7
00003cc3: DUP7
00003cc4: DUP7
00003cc5: DUP7
00003cc6: SWAP7
00003cc7: POP
00003cc8: SWAP7
00003cc9: POP
00003cca: SWAP7
00003ccb: POP
00003ccc: SWAP7
00003ccd: POP
00003cce: SWAP7
00003ccf: POP
00003cd0: POP
00003cd1: POP
00003cd2: PUSH2 0x3fef
00003cd5: JUMP
00003cd6: JUMPDEST
00003cd7: DUP8
00003cd8: DUP2
00003cd9: LT
00003cda: PUSH2 0x3d2e
00003cdd: JUMPI
00003cde: PUSH1 0x40
00003ce0: MLOAD
00003ce1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003d02: DUP2
00003d03: MSTORE
00003d04: PUSH1 0x04
00003d06: ADD
00003d07: DUP1
00003d08: DUP1
00003d09: PUSH1 0x20
00003d0b: ADD
00003d0c: DUP3
00003d0d: DUP2
00003d0e: SUB
00003d0f: DUP3
00003d10: MSTORE
00003d11: PUSH1 0x38
00003d13: DUP2
00003d14: MSTORE
00003d15: PUSH1 0x20
00003d17: ADD
00003d18: DUP1
00003d19: PUSH2 0x57e7
00003d1c: PUSH1 0x38
00003d1e: SWAP2
00003d1f: CODECOPY
00003d20: PUSH1 0x40
00003d22: ADD
00003d23: SWAP2
00003d24: POP
00003d25: POP
00003d26: PUSH1 0x40
00003d28: MLOAD
00003d29: DUP1
00003d2a: SWAP2
00003d2b: SUB
00003d2c: SWAP1
00003d2d: REVERT
00003d2e: JUMPDEST
00003d2f: PUSH1 0x00
00003d31: PUSH1 0xca
00003d33: PUSH1 0x00
00003d35: DUP4
00003d36: DUP2
00003d37: MSTORE
00003d38: PUSH1 0x20
00003d3a: ADD
00003d3b: SWAP1
00003d3c: DUP2
00003d3d: MSTORE
00003d3e: PUSH1 0x20
00003d40: ADD
00003d41: PUSH1 0x00
00003d43: KECCAK256
00003d44: SWAP1
00003d45: POP
00003d46: PUSH1 0x00
00003d48: PUSH1 0x01
00003d4a: DUP4
00003d4b: ADD
00003d4c: SWAP1
00003d4d: POP
00003d4e: PUSH1 0x00
00003d50: PUSH1 0xca
00003d52: PUSH1 0x00
00003d54: DUP4
00003d55: DUP2
00003d56: MSTORE
00003d57: PUSH1 0x20
00003d59: ADD
00003d5a: SWAP1
00003d5b: DUP2
00003d5c: MSTORE
00003d5d: PUSH1 0x20
00003d5f: ADD
00003d60: PUSH1 0x00
00003d62: KECCAK256
00003d63: SWAP1
00003d64: POP
00003d65: PUSH2 0x3db5
00003d68: PUSH14 0x314dc6448d9338c15b0a00000000
00003d77: PUSH2 0x3da7
00003d7a: DUP8
00003d7b: PUSH1 0x00
00003d7d: ADD
00003d7e: SLOAD
00003d7f: PUSH2 0x3d99
00003d82: DUP8
00003d83: PUSH1 0x0a
00003d85: ADD
00003d86: SLOAD
00003d87: DUP7
00003d88: PUSH1 0x0a
00003d8a: ADD
00003d8b: SLOAD
00003d8c: PUSH2 0x4174
00003d8f: SWAP1
00003d90: SWAP2
00003d91: SWAP1
00003d92: PUSH4 0xffffffff
00003d97: AND
00003d98: JUMP
00003d99: JUMPDEST
00003d9a: PUSH2 0x4081
00003d9d: SWAP1
00003d9e: SWAP2
00003d9f: SWAP1
00003da0: PUSH4 0xffffffff
00003da5: AND
00003da6: JUMP
00003da7: JUMPDEST
00003da8: PUSH2 0x4107
00003dab: SWAP1
00003dac: SWAP2
00003dad: SWAP1
00003dae: PUSH4 0xffffffff
00003db3: AND
00003db4: JUMP
00003db5: JUMPDEST
00003db6: SWAP10
00003db7: POP
00003db8: PUSH2 0x3e0e
00003dbb: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
00003dd0: PUSH2 0x3e00
00003dd3: DUP8
00003dd4: PUSH1 0x00
00003dd6: ADD
00003dd7: SLOAD
00003dd8: PUSH2 0x3df2
00003ddb: DUP8
00003ddc: PUSH1 0x08
00003dde: ADD
00003ddf: SLOAD
00003de0: DUP7
00003de1: PUSH1 0x08
00003de3: ADD
00003de4: SLOAD
00003de5: PUSH2 0x4174
00003de8: SWAP1
00003de9: SWAP2
00003dea: SWAP1
00003deb: PUSH4 0xffffffff
00003df0: AND
00003df1: JUMP
00003df2: JUMPDEST
00003df3: PUSH2 0x4081
00003df6: SWAP1
00003df7: SWAP2
00003df8: SWAP1
00003df9: PUSH4 0xffffffff
00003dfe: AND
00003dff: JUMP
00003e00: JUMPDEST
00003e01: PUSH2 0x4107
00003e04: SWAP1
00003e05: SWAP2
00003e06: SWAP1
00003e07: PUSH4 0xffffffff
00003e0c: AND
00003e0d: JUMP
00003e0e: JUMPDEST
00003e0f: SWAP9
00003e10: POP
00003e11: PUSH2 0x3e67
00003e14: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
00003e29: PUSH2 0x3e59
00003e2c: DUP8
00003e2d: PUSH1 0x00
00003e2f: ADD
00003e30: SLOAD
00003e31: PUSH2 0x3e4b
00003e34: DUP8
00003e35: PUSH1 0x07
00003e37: ADD
00003e38: SLOAD
00003e39: DUP7
00003e3a: PUSH1 0x07
00003e3c: ADD
00003e3d: SLOAD
00003e3e: PUSH2 0x4174
00003e41: SWAP1
00003e42: SWAP2
00003e43: SWAP1
00003e44: PUSH4 0xffffffff
00003e49: AND
00003e4a: JUMP
00003e4b: JUMPDEST
00003e4c: PUSH2 0x4081
00003e4f: SWAP1
00003e50: SWAP2
00003e51: SWAP1
00003e52: PUSH4 0xffffffff
00003e57: AND
00003e58: JUMP
00003e59: JUMPDEST
00003e5a: PUSH2 0x4107
00003e5d: SWAP1
00003e5e: SWAP2
00003e5f: SWAP1
00003e60: PUSH4 0xffffffff
00003e65: AND
00003e66: JUMP
00003e67: JUMPDEST
00003e68: SWAP8
00003e69: POP
00003e6a: PUSH1 0x00
00003e6c: PUSH2 0x3e86
00003e6f: DUP7
00003e70: PUSH1 0x00
00003e72: ADD
00003e73: SLOAD
00003e74: DUP8
00003e75: PUSH1 0x01
00003e77: ADD
00003e78: SLOAD
00003e79: PUSH2 0x3ff9
00003e7c: SWAP1
00003e7d: SWAP2
00003e7e: SWAP1
00003e7f: PUSH4 0xffffffff
00003e84: AND
00003e85: JUMP
00003e86: JUMPDEST
00003e87: SWAP1
00003e88: POP
00003e89: PUSH1 0x00
00003e8b: PUSH1 0xca
00003e8d: PUSH1 0x00
00003e8f: DUP15
00003e90: DUP2
00003e91: MSTORE
00003e92: PUSH1 0x20
00003e94: ADD
00003e95: SWAP1
00003e96: DUP2
00003e97: MSTORE
00003e98: PUSH1 0x20
00003e9a: ADD
00003e9b: PUSH1 0x00
00003e9d: KECCAK256
00003e9e: SWAP1
00003e9f: POP
00003ea0: PUSH1 0x00
00003ea2: PUSH2 0x3eee
00003ea5: PUSH14 0x314dc6448d9338c15b0a00000000
00003eb4: PUSH2 0x3ee0
00003eb7: DUP6
00003eb8: PUSH2 0x3ed2
00003ebb: DUP9
00003ebc: PUSH1 0x0a
00003ebe: ADD
00003ebf: SLOAD
00003ec0: DUP8
00003ec1: PUSH1 0x0a
00003ec3: ADD
00003ec4: SLOAD
00003ec5: PUSH2 0x4174
00003ec8: SWAP1
00003ec9: SWAP2
00003eca: SWAP1
00003ecb: PUSH4 0xffffffff
00003ed0: AND
00003ed1: JUMP
00003ed2: JUMPDEST
00003ed3: PUSH2 0x4081
00003ed6: SWAP1
00003ed7: SWAP2
00003ed8: SWAP1
00003ed9: PUSH4 0xffffffff
00003ede: AND
00003edf: JUMP
00003ee0: JUMPDEST
00003ee1: PUSH2 0x4107
00003ee4: SWAP1
00003ee5: SWAP2
00003ee6: SWAP1
00003ee7: PUSH4 0xffffffff
00003eec: AND
00003eed: JUMP
00003eee: JUMPDEST
00003eef: SWAP1
00003ef0: POP
00003ef1: PUSH1 0x00
00003ef3: PUSH2 0x3f45
00003ef6: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
00003f0b: PUSH2 0x3f37
00003f0e: DUP7
00003f0f: PUSH2 0x3f29
00003f12: DUP10
00003f13: PUSH1 0x08
00003f15: ADD
00003f16: SLOAD
00003f17: DUP9
00003f18: PUSH1 0x08
00003f1a: ADD
00003f1b: SLOAD
00003f1c: PUSH2 0x4174
00003f1f: SWAP1
00003f20: SWAP2
00003f21: SWAP1
00003f22: PUSH4 0xffffffff
00003f27: AND
00003f28: JUMP
00003f29: JUMPDEST
00003f2a: PUSH2 0x4081
00003f2d: SWAP1
00003f2e: SWAP2
00003f2f: SWAP1
00003f30: PUSH4 0xffffffff
00003f35: AND
00003f36: JUMP
00003f37: JUMPDEST
00003f38: PUSH2 0x4107
00003f3b: SWAP1
00003f3c: SWAP2
00003f3d: SWAP1
00003f3e: PUSH4 0xffffffff
00003f43: AND
00003f44: JUMP
00003f45: JUMPDEST
00003f46: SWAP1
00003f47: POP
00003f48: PUSH1 0x00
00003f4a: PUSH2 0x3f9c
00003f4d: PUSH20 0xaf298d050e4395d69670b12b7f41000000000000
00003f62: PUSH2 0x3f8e
00003f65: DUP8
00003f66: PUSH2 0x3f80
00003f69: DUP11
00003f6a: PUSH1 0x07
00003f6c: ADD
00003f6d: SLOAD
00003f6e: DUP10
00003f6f: PUSH1 0x07
00003f71: ADD
00003f72: SLOAD
00003f73: PUSH2 0x4174
00003f76: SWAP1
00003f77: SWAP2
00003f78: SWAP1
00003f79: PUSH4 0xffffffff
00003f7e: AND
00003f7f: JUMP
00003f80: JUMPDEST
00003f81: PUSH2 0x4081
00003f84: SWAP1
00003f85: SWAP2
00003f86: SWAP1
00003f87: PUSH4 0xffffffff
00003f8c: AND
00003f8d: JUMP
00003f8e: JUMPDEST
00003f8f: PUSH2 0x4107
00003f92: SWAP1
00003f93: SWAP2
00003f94: SWAP1
00003f95: PUSH4 0xffffffff
00003f9a: AND
00003f9b: JUMP
00003f9c: JUMPDEST
00003f9d: SWAP1
00003f9e: POP
00003f9f: PUSH2 0x3fb1
00003fa2: DUP16
00003fa3: DUP5
00003fa4: PUSH2 0x3ff9
00003fa7: SWAP1
00003fa8: SWAP2
00003fa9: SWAP1
00003faa: PUSH4 0xffffffff
00003faf: AND
00003fb0: JUMP
00003fb1: JUMPDEST
00003fb2: SWAP15
00003fb3: POP
00003fb4: PUSH2 0x3fc6
00003fb7: DUP15
00003fb8: DUP4
00003fb9: PUSH2 0x3ff9
00003fbc: SWAP1
00003fbd: SWAP2
00003fbe: SWAP1
00003fbf: PUSH4 0xffffffff
00003fc4: AND
00003fc5: JUMP
00003fc6: JUMPDEST
00003fc7: SWAP14
00003fc8: POP
00003fc9: PUSH2 0x3fdb
00003fcc: DUP14
00003fcd: DUP3
00003fce: PUSH2 0x3ff9
00003fd1: SWAP1
00003fd2: SWAP2
00003fd3: SWAP1
00003fd4: PUSH4 0xffffffff
00003fd9: AND
00003fda: JUMP
00003fdb: JUMPDEST
00003fdc: SWAP13
00003fdd: POP
00003fde: DUP16
00003fdf: SWAP12
00003fe0: POP
00003fe1: PUSH1 0x01
00003fe3: SWAP11
00003fe4: POP
00003fe5: POP
00003fe6: POP
00003fe7: POP
00003fe8: POP
00003fe9: POP
00003fea: POP
00003feb: POP
00003fec: POP
00003fed: POP
00003fee: POP
00003fef: JUMPDEST
00003ff0: SWAP3
00003ff1: SWAP6
00003ff2: POP
00003ff3: SWAP3
00003ff4: SWAP6
00003ff5: SWAP1
00003ff6: SWAP4
00003ff7: POP
00003ff8: JUMP
00003ff9: JUMPDEST
00003ffa: PUSH1 0x00
00003ffc: DUP1
00003ffd: DUP3
00003ffe: DUP5
00003fff: ADD
00004000: SWAP1
00004001: POP
00004002: DUP4
00004003: DUP2
00004004: LT
00004005: ISZERO
00004006: PUSH2 0x4077
00004009: JUMPI
0000400a: PUSH1 0x40
0000400c: MLOAD
0000400d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000402e: DUP2
0000402f: MSTORE
00004030: PUSH1 0x04
00004032: ADD
00004033: DUP1
00004034: DUP1
00004035: PUSH1 0x20
00004037: ADD
00004038: DUP3
00004039: DUP2
0000403a: SUB
0000403b: DUP3
0000403c: MSTORE
0000403d: PUSH1 0x1b
0000403f: DUP2
00004040: MSTORE
00004041: PUSH1 0x20
00004043: ADD
00004044: DUP1
00004045: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00004066: DUP2
00004067: MSTORE
00004068: POP
00004069: PUSH1 0x20
0000406b: ADD
0000406c: SWAP2
0000406d: POP
0000406e: POP
0000406f: PUSH1 0x40
00004071: MLOAD
00004072: DUP1
00004073: SWAP2
00004074: SUB
00004075: SWAP1
00004076: REVERT
00004077: JUMPDEST
00004078: DUP1
00004079: SWAP2
0000407a: POP
0000407b: POP
0000407c: SWAP3
0000407d: SWAP2
0000407e: POP
0000407f: POP
00004080: JUMP
00004081: JUMPDEST
00004082: PUSH1 0x00
00004084: DUP1
00004085: DUP4
00004086: EQ
00004087: ISZERO
00004088: PUSH2 0x4094
0000408b: JUMPI
0000408c: PUSH1 0x00
0000408e: SWAP1
0000408f: POP
00004090: PUSH2 0x4101
00004093: JUMP
00004094: JUMPDEST
00004095: PUSH1 0x00
00004097: DUP3
00004098: DUP5
00004099: MUL
0000409a: SWAP1
0000409b: POP
0000409c: DUP3
0000409d: DUP5
0000409e: DUP3
0000409f: DUP2
000040a0: PUSH2 0x40a5
000040a3: JUMPI
000040a4: INVALID
000040a5: JUMPDEST
000040a6: DIV
000040a7: EQ
000040a8: PUSH2 0x40fc
000040ab: JUMPI
000040ac: PUSH1 0x40
000040ae: MLOAD
000040af: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000040d0: DUP2
000040d1: MSTORE
000040d2: PUSH1 0x04
000040d4: ADD
000040d5: DUP1
000040d6: DUP1
000040d7: PUSH1 0x20
000040d9: ADD
000040da: DUP3
000040db: DUP2
000040dc: SUB
000040dd: DUP3
000040de: MSTORE
000040df: PUSH1 0x21
000040e1: DUP2
000040e2: MSTORE
000040e3: PUSH1 0x20
000040e5: ADD
000040e6: DUP1
000040e7: PUSH2 0x5798
000040ea: PUSH1 0x21
000040ec: SWAP2
000040ed: CODECOPY
000040ee: PUSH1 0x40
000040f0: ADD
000040f1: SWAP2
000040f2: POP
000040f3: POP
000040f4: PUSH1 0x40
000040f6: MLOAD
000040f7: DUP1
000040f8: SWAP2
000040f9: SUB
000040fa: SWAP1
000040fb: REVERT
000040fc: JUMPDEST
000040fd: DUP1
000040fe: SWAP2
000040ff: POP
00004100: POP
00004101: JUMPDEST
00004102: SWAP3
00004103: SWAP2
00004104: POP
00004105: POP
00004106: JUMP
00004107: JUMPDEST
00004108: PUSH1 0x00
0000410a: PUSH2 0x4149
0000410d: DUP4
0000410e: DUP4
0000410f: PUSH1 0x40
00004111: MLOAD
00004112: DUP1
00004113: PUSH1 0x40
00004115: ADD
00004116: PUSH1 0x40
00004118: MSTORE
00004119: DUP1
0000411a: PUSH1 0x1a
0000411c: DUP2
0000411d: MSTORE
0000411e: PUSH1 0x20
00004120: ADD
00004121: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
00004142: DUP2
00004143: MSTORE
00004144: POP
00004145: PUSH2 0x4d04
00004148: JUMP
00004149: JUMPDEST
0000414a: SWAP1
0000414b: POP
0000414c: SWAP3
0000414d: SWAP2
0000414e: POP
0000414f: POP
00004150: JUMP
00004151: JUMPDEST
00004152: PUSH1 0x00
00004154: CALLER
00004155: SWAP1
00004156: POP
00004157: SWAP1
00004158: JUMP
00004159: JUMPDEST
0000415a: PUSH1 0x00
0000415c: PUSH2 0x4163
0000415f: PUSH2 0x2277
00004162: JUMP
00004163: JUMPDEST
00004164: SWAP1
00004165: POP
00004166: PUSH2 0x416f
00004169: DUP3
0000416a: DUP3
0000416b: PUSH2 0x4dca
0000416e: JUMP
0000416f: JUMPDEST
00004170: SWAP2
00004171: SWAP1
00004172: POP
00004173: JUMP
00004174: JUMPDEST
00004175: PUSH1 0x00
00004177: PUSH2 0x41b6
0000417a: DUP4
0000417b: DUP4
0000417c: PUSH1 0x40
0000417e: MLOAD
0000417f: DUP1
00004180: PUSH1 0x40
00004182: ADD
00004183: PUSH1 0x40
00004185: MSTORE
00004186: DUP1
00004187: PUSH1 0x1e
00004189: DUP2
0000418a: MSTORE
0000418b: PUSH1 0x20
0000418d: ADD
0000418e: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
000041af: DUP2
000041b0: MSTORE
000041b1: POP
000041b2: PUSH2 0x4ecd
000041b5: JUMP
000041b6: JUMPDEST
000041b7: SWAP1
000041b8: POP
000041b9: SWAP3
000041ba: SWAP2
000041bb: POP
000041bc: POP
000041bd: JUMP
000041be: JUMPDEST
000041bf: PUSH2 0x4271
000041c2: DUP4
000041c3: PUSH4 0xa9059cbb
000041c8: PUSH1 0xe0
000041ca: SHL
000041cb: DUP5
000041cc: DUP5
000041cd: PUSH1 0x40
000041cf: MLOAD
000041d0: PUSH1 0x24
000041d2: ADD
000041d3: DUP1
000041d4: DUP4
000041d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000041ea: AND
000041eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004200: AND
00004201: DUP2
00004202: MSTORE
00004203: PUSH1 0x20
00004205: ADD
00004206: DUP3
00004207: DUP2
00004208: MSTORE
00004209: PUSH1 0x20
0000420b: ADD
0000420c: SWAP3
0000420d: POP
0000420e: POP
0000420f: POP
00004210: PUSH1 0x40
00004212: MLOAD
00004213: PUSH1 0x20
00004215: DUP2
00004216: DUP4
00004217: SUB
00004218: SUB
00004219: DUP2
0000421a: MSTORE
0000421b: SWAP1
0000421c: PUSH1 0x40
0000421e: MSTORE
0000421f: SWAP1
00004220: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000423d: NOT
0000423e: AND
0000423f: PUSH1 0x20
00004241: DUP3
00004242: ADD
00004243: DUP1
00004244: MLOAD
00004245: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004262: DUP4
00004263: DUP2
00004264: DUP4
00004265: AND
00004266: OR
00004267: DUP4
00004268: MSTORE
00004269: POP
0000426a: POP
0000426b: POP
0000426c: POP
0000426d: PUSH2 0x4f8d
00004270: JUMP
00004271: JUMPDEST
00004272: POP
00004273: POP
00004274: POP
00004275: JUMP
00004276: JUMPDEST
00004277: PUSH1 0x00
00004279: PUSH2 0x4281
0000427c: DUP3
0000427d: PUSH2 0x4159
00004280: JUMP
00004281: JUMPDEST
00004282: SWAP1
00004283: POP
00004284: PUSH1 0x00
00004286: PUSH1 0xcb
00004288: PUSH1 0x00
0000428a: DUP5
0000428b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000042a0: AND
000042a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000042b6: AND
000042b7: DUP2
000042b8: MSTORE
000042b9: PUSH1 0x20
000042bb: ADD
000042bc: SWAP1
000042bd: DUP2
000042be: MSTORE
000042bf: PUSH1 0x20
000042c1: ADD
000042c2: PUSH1 0x00
000042c4: KECCAK256
000042c5: SWAP1
000042c6: POP
000042c7: PUSH1 0x00
000042c9: DUP2
000042ca: PUSH1 0x03
000042cc: ADD
000042cd: SLOAD
000042ce: GT
000042cf: DUP1
000042d0: PUSH2 0x42dd
000042d3: JUMPI
000042d4: POP
000042d5: PUSH1 0x00
000042d7: DUP2
000042d8: PUSH1 0x05
000042da: ADD
000042db: SLOAD
000042dc: GT
000042dd: JUMPDEST
000042de: DUP1
000042df: PUSH2 0x42ec
000042e2: JUMPI
000042e3: POP
000042e4: PUSH1 0x00
000042e6: DUP2
000042e7: PUSH1 0x02
000042e9: ADD
000042ea: SLOAD
000042eb: GT
000042ec: JUMPDEST
000042ed: PUSH2 0x435e
000042f0: JUMPI
000042f1: PUSH1 0x40
000042f3: MLOAD
000042f4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004315: DUP2
00004316: MSTORE
00004317: PUSH1 0x04
00004319: ADD
0000431a: DUP1
0000431b: DUP1
0000431c: PUSH1 0x20
0000431e: ADD
0000431f: DUP3
00004320: DUP2
00004321: SUB
00004322: DUP3
00004323: MSTORE
00004324: PUSH1 0x0a
00004326: DUP2
00004327: MSTORE
00004328: PUSH1 0x20
0000432a: ADD
0000432b: DUP1
0000432c: PUSH32 0x4e4f5f5245574152445300000000000000000000000000000000000000000000
0000434d: DUP2
0000434e: MSTORE
0000434f: POP
00004350: PUSH1 0x20
00004352: ADD
00004353: SWAP2
00004354: POP
00004355: POP
00004356: PUSH1 0x40
00004358: MLOAD
00004359: DUP1
0000435a: SWAP2
0000435b: SUB
0000435c: SWAP1
0000435d: REVERT
0000435e: JUMPDEST
0000435f: PUSH1 0x00
00004361: DUP2
00004362: PUSH1 0x03
00004364: ADD
00004365: SLOAD
00004366: SWAP1
00004367: POP
00004368: PUSH1 0x00
0000436a: DUP3
0000436b: PUSH1 0x02
0000436d: ADD
0000436e: SLOAD
0000436f: SWAP1
00004370: POP
00004371: PUSH1 0x00
00004373: DUP4
00004374: PUSH1 0x05
00004376: ADD
00004377: SLOAD
00004378: SWAP1
00004379: POP
0000437a: PUSH1 0x00
0000437c: DUP5
0000437d: PUSH1 0x03
0000437f: ADD
00004380: DUP2
00004381: SWAP1
00004382: SSTORE
00004383: POP
00004384: PUSH1 0x00
00004386: DUP5
00004387: PUSH1 0x02
00004389: ADD
0000438a: DUP2
0000438b: SWAP1
0000438c: SSTORE
0000438d: POP
0000438e: PUSH1 0x00
00004390: DUP5
00004391: PUSH1 0x05
00004393: ADD
00004394: DUP2
00004395: SWAP1
00004396: SSTORE
00004397: POP
00004398: PUSH1 0x00
0000439a: DUP4
0000439b: GT
0000439c: ISZERO
0000439d: PUSH2 0x43ee
000043a0: JUMPI
000043a1: PUSH2 0x43ed
000043a4: DUP7
000043a5: DUP5
000043a6: PUSH1 0xce
000043a8: PUSH1 0x00
000043aa: SWAP1
000043ab: SLOAD
000043ac: SWAP1
000043ad: PUSH2 0x0100
000043b0: EXP
000043b1: SWAP1
000043b2: DIV
000043b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000043c8: AND
000043c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000043de: AND
000043df: PUSH2 0x41be
000043e2: SWAP1
000043e3: SWAP3
000043e4: SWAP2
000043e5: SWAP1
000043e6: PUSH4 0xffffffff
000043eb: AND
000043ec: JUMP
000043ed: JUMPDEST
000043ee: JUMPDEST
000043ef: PUSH1 0x00
000043f1: DUP2
000043f2: GT
000043f3: ISZERO
000043f4: PUSH2 0x4402
000043f7: JUMPI
000043f8: PUSH2 0x4401
000043fb: DUP7
000043fc: DUP3
000043fd: PUSH2 0x51d8
00004400: JUMP
00004401: JUMPDEST
00004402: JUMPDEST
00004403: PUSH1 0x00
00004405: DUP3
00004406: GT
00004407: ISZERO
00004408: PUSH2 0x4459
0000440b: JUMPI
0000440c: PUSH2 0x4458
0000440f: DUP7
00004410: DUP4
00004411: PUSH1 0xdb
00004413: PUSH1 0x01
00004415: SWAP1
00004416: SLOAD
00004417: SWAP1
00004418: PUSH2 0x0100
0000441b: EXP
0000441c: SWAP1
0000441d: DIV
0000441e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004433: AND
00004434: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004449: AND
0000444a: PUSH2 0x41be
0000444d: SWAP1
0000444e: SWAP3
0000444f: SWAP2
00004450: SWAP1
00004451: PUSH4 0xffffffff
00004456: AND
00004457: JUMP
00004458: JUMPDEST
00004459: JUMPDEST
0000445a: DUP6
0000445b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004470: AND
00004471: PUSH32 0x9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e
00004492: DUP7
00004493: DUP6
00004494: DUP5
00004495: PUSH1 0x40
00004497: MLOAD
00004498: DUP1
00004499: DUP5
0000449a: DUP2
0000449b: MSTORE
0000449c: PUSH1 0x20
0000449e: ADD
0000449f: DUP4
000044a0: DUP2
000044a1: MSTORE
000044a2: PUSH1 0x20
000044a4: ADD
000044a5: DUP3
000044a6: DUP2
000044a7: MSTORE
000044a8: PUSH1 0x20
000044aa: ADD
000044ab: SWAP4
000044ac: POP
000044ad: POP
000044ae: POP
000044af: POP
000044b0: PUSH1 0x40
000044b2: MLOAD
000044b3: DUP1
000044b4: SWAP2
000044b5: SUB
000044b6: SWAP1
000044b7: LOG2
000044b8: POP
000044b9: POP
000044ba: POP
000044bb: POP
000044bc: POP
000044bd: POP
000044be: JUMP
000044bf: JUMPDEST
000044c0: PUSH1 0x00
000044c2: DUP1
000044c3: PUSH1 0xc9
000044c5: PUSH1 0x00
000044c7: SWAP1
000044c8: SLOAD
000044c9: SWAP1
000044ca: PUSH2 0x0100
000044cd: EXP
000044ce: SWAP1
000044cf: DIV
000044d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000044e5: AND
000044e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000044fb: AND
000044fc: PUSH4 0xc45a0155
00004501: PUSH1 0x40
00004503: MLOAD
00004504: DUP2
00004505: PUSH4 0xffffffff
0000450a: AND
0000450b: PUSH1 0xe0
0000450d: SHL
0000450e: DUP2
0000450f: MSTORE
00004510: PUSH1 0x04
00004512: ADD
00004513: PUSH1 0x20
00004515: PUSH1 0x40
00004517: MLOAD
00004518: DUP1
00004519: DUP4
0000451a: SUB
0000451b: DUP2
0000451c: DUP7
0000451d: DUP1
0000451e: EXTCODESIZE
0000451f: ISZERO
00004520: DUP1
00004521: ISZERO
00004522: PUSH2 0x452a
00004525: JUMPI
00004526: PUSH1 0x00
00004528: DUP1
00004529: REVERT
0000452a: JUMPDEST
0000452b: POP
0000452c: GAS
0000452d: STATICCALL
0000452e: ISZERO
0000452f: DUP1
00004530: ISZERO
00004531: PUSH2 0x453e
00004534: JUMPI
00004535: RETURNDATASIZE
00004536: PUSH1 0x00
00004538: DUP1
00004539: RETURNDATACOPY
0000453a: RETURNDATASIZE
0000453b: PUSH1 0x00
0000453d: REVERT
0000453e: JUMPDEST
0000453f: POP
00004540: POP
00004541: POP
00004542: POP
00004543: PUSH1 0x40
00004545: MLOAD
00004546: RETURNDATASIZE
00004547: PUSH1 0x20
00004549: DUP2
0000454a: LT
0000454b: ISZERO
0000454c: PUSH2 0x4554
0000454f: JUMPI
00004550: PUSH1 0x00
00004552: DUP1
00004553: REVERT
00004554: JUMPDEST
00004555: DUP2
00004556: ADD
00004557: SWAP1
00004558: DUP1
00004559: DUP1
0000455a: MLOAD
0000455b: SWAP1
0000455c: PUSH1 0x20
0000455e: ADD
0000455f: SWAP1
00004560: SWAP3
00004561: SWAP2
00004562: SWAP1
00004563: POP
00004564: POP
00004565: POP
00004566: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000457b: AND
0000457c: PUSH4 0xe6a43905
00004581: DUP5
00004582: PUSH1 0xc9
00004584: PUSH1 0x00
00004586: SWAP1
00004587: SLOAD
00004588: SWAP1
00004589: PUSH2 0x0100
0000458c: EXP
0000458d: SWAP1
0000458e: DIV
0000458f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000045a4: AND
000045a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000045ba: AND
000045bb: PUSH4 0xad5c4648
000045c0: PUSH1 0x40
000045c2: MLOAD
000045c3: DUP2
000045c4: PUSH4 0xffffffff
000045c9: AND
000045ca: PUSH1 0xe0
000045cc: SHL
000045cd: DUP2
000045ce: MSTORE
000045cf: PUSH1 0x04
000045d1: ADD
000045d2: PUSH1 0x20
000045d4: PUSH1 0x40
000045d6: MLOAD
000045d7: DUP1
000045d8: DUP4
000045d9: SUB
000045da: DUP2
000045db: DUP7
000045dc: DUP1
000045dd: EXTCODESIZE
000045de: ISZERO
000045df: DUP1
000045e0: ISZERO
000045e1: PUSH2 0x45e9
000045e4: JUMPI
000045e5: PUSH1 0x00
000045e7: DUP1
000045e8: REVERT
000045e9: JUMPDEST
000045ea: POP
000045eb: GAS
000045ec: STATICCALL
000045ed: ISZERO
000045ee: DUP1
000045ef: ISZERO
000045f0: PUSH2 0x45fd
000045f3: JUMPI
000045f4: RETURNDATASIZE
000045f5: PUSH1 0x00
000045f7: DUP1
000045f8: RETURNDATACOPY
000045f9: RETURNDATASIZE
000045fa: PUSH1 0x00
000045fc: REVERT
000045fd: JUMPDEST
000045fe: POP
000045ff: POP
00004600: POP
00004601: POP
00004602: PUSH1 0x40
00004604: MLOAD
00004605: RETURNDATASIZE
00004606: PUSH1 0x20
00004608: DUP2
00004609: LT
0000460a: ISZERO
0000460b: PUSH2 0x4613
0000460e: JUMPI
0000460f: PUSH1 0x00
00004611: DUP1
00004612: REVERT
00004613: JUMPDEST
00004614: DUP2
00004615: ADD
00004616: SWAP1
00004617: DUP1
00004618: DUP1
00004619: MLOAD
0000461a: SWAP1
0000461b: PUSH1 0x20
0000461d: ADD
0000461e: SWAP1
0000461f: SWAP3
00004620: SWAP2
00004621: SWAP1
00004622: POP
00004623: POP
00004624: POP
00004625: PUSH1 0x40
00004627: MLOAD
00004628: DUP4
00004629: PUSH4 0xffffffff
0000462e: AND
0000462f: PUSH1 0xe0
00004631: SHL
00004632: DUP2
00004633: MSTORE
00004634: PUSH1 0x04
00004636: ADD
00004637: DUP1
00004638: DUP4
00004639: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000464e: AND
0000464f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004664: AND
00004665: DUP2
00004666: MSTORE
00004667: PUSH1 0x20
00004669: ADD
0000466a: DUP3
0000466b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004680: AND
00004681: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004696: AND
00004697: DUP2
00004698: MSTORE
00004699: PUSH1 0x20
0000469b: ADD
0000469c: SWAP3
0000469d: POP
0000469e: POP
0000469f: POP
000046a0: PUSH1 0x20
000046a2: PUSH1 0x40
000046a4: MLOAD
000046a5: DUP1
000046a6: DUP4
000046a7: SUB
000046a8: DUP2
000046a9: DUP7
000046aa: DUP1
000046ab: EXTCODESIZE
000046ac: ISZERO
000046ad: DUP1
000046ae: ISZERO
000046af: PUSH2 0x46b7
000046b2: JUMPI
000046b3: PUSH1 0x00
000046b5: DUP1
000046b6: REVERT
000046b7: JUMPDEST
000046b8: POP
000046b9: GAS
000046ba: STATICCALL
000046bb: ISZERO
000046bc: DUP1
000046bd: ISZERO
000046be: PUSH2 0x46cb
000046c1: JUMPI
000046c2: RETURNDATASIZE
000046c3: PUSH1 0x00
000046c5: DUP1
000046c6: RETURNDATACOPY
000046c7: RETURNDATASIZE
000046c8: PUSH1 0x00
000046ca: REVERT
000046cb: JUMPDEST
000046cc: POP
000046cd: POP
000046ce: POP
000046cf: POP
000046d0: PUSH1 0x40
000046d2: MLOAD
000046d3: RETURNDATASIZE
000046d4: PUSH1 0x20
000046d6: DUP2
000046d7: LT
000046d8: ISZERO
000046d9: PUSH2 0x46e1
000046dc: JUMPI
000046dd: PUSH1 0x00
000046df: DUP1
000046e0: REVERT
000046e1: JUMPDEST
000046e2: DUP2
000046e3: ADD
000046e4: SWAP1
000046e5: DUP1
000046e6: DUP1
000046e7: MLOAD
000046e8: SWAP1
000046e9: PUSH1 0x20
000046eb: ADD
000046ec: SWAP1
000046ed: SWAP3
000046ee: SWAP2
000046ef: SWAP1
000046f0: POP
000046f1: POP
000046f2: POP
000046f3: SWAP1
000046f4: POP
000046f5: PUSH1 0x00
000046f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000470c: AND
0000470d: DUP2
0000470e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004723: AND
00004724: EQ
00004725: ISZERO
00004726: PUSH2 0x477a
00004729: JUMPI
0000472a: PUSH1 0x40
0000472c: MLOAD
0000472d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000474e: DUP2
0000474f: MSTORE
00004750: PUSH1 0x04
00004752: ADD
00004753: DUP1
00004754: DUP1
00004755: PUSH1 0x20
00004757: ADD
00004758: DUP3
00004759: DUP2
0000475a: SUB
0000475b: DUP3
0000475c: MSTORE
0000475d: PUSH1 0x2e
0000475f: DUP2
00004760: MSTORE
00004761: PUSH1 0x20
00004763: ADD
00004764: DUP1
00004765: PUSH2 0x576a
00004768: PUSH1 0x2e
0000476a: SWAP2
0000476b: CODECOPY
0000476c: PUSH1 0x40
0000476e: ADD
0000476f: SWAP2
00004770: POP
00004771: POP
00004772: PUSH1 0x40
00004774: MLOAD
00004775: DUP1
00004776: SWAP2
00004777: SUB
00004778: SWAP1
00004779: REVERT
0000477a: JUMPDEST
0000477b: DUP1
0000477c: SWAP2
0000477d: POP
0000477e: POP
0000477f: SWAP2
00004780: SWAP1
00004781: POP
00004782: JUMP
00004783: JUMPDEST
00004784: PUSH1 0x00
00004786: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000479b: AND
0000479c: DUP2
0000479d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000047b2: AND
000047b3: EQ
000047b4: ISZERO
000047b5: PUSH2 0x4826
000047b8: JUMPI
000047b9: PUSH1 0x40
000047bb: MLOAD
000047bc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000047dd: DUP2
000047de: MSTORE
000047df: PUSH1 0x04
000047e1: ADD
000047e2: DUP1
000047e3: DUP1
000047e4: PUSH1 0x20
000047e6: ADD
000047e7: DUP3
000047e8: DUP2
000047e9: SUB
000047ea: DUP3
000047eb: MSTORE
000047ec: PUSH1 0x14
000047ee: DUP2
000047ef: MSTORE
000047f0: PUSH1 0x20
000047f2: ADD
000047f3: DUP1
000047f4: PUSH32 0x4552523a3a494e56414c49445f41444452455353000000000000000000000000
00004815: DUP2
00004816: MSTORE
00004817: POP
00004818: PUSH1 0x20
0000481a: ADD
0000481b: SWAP2
0000481c: POP
0000481d: POP
0000481e: PUSH1 0x40
00004820: MLOAD
00004821: DUP1
00004822: SWAP2
00004823: SUB
00004824: SWAP1
00004825: REVERT
00004826: JUMPDEST
00004827: POP
00004828: JUMP
00004829: JUMPDEST
0000482a: PUSH1 0x00
0000482c: DUP1
0000482d: PUSH1 0xda
0000482f: SLOAD
00004830: SWAP2
00004831: POP
00004832: PUSH1 0x00
00004834: PUSH1 0xda
00004836: DUP2
00004837: SWAP1
00004838: SSTORE
00004839: POP
0000483a: PUSH1 0xdb
0000483c: PUSH1 0x01
0000483e: SWAP1
0000483f: SLOAD
00004840: SWAP1
00004841: PUSH2 0x0100
00004844: EXP
00004845: SWAP1
00004846: DIV
00004847: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000485c: AND
0000485d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004872: AND
00004873: PUSH4 0xdd62ed3e
00004878: PUSH1 0xd0
0000487a: PUSH1 0x00
0000487c: SWAP1
0000487d: SLOAD
0000487e: SWAP1
0000487f: PUSH2 0x0100
00004882: EXP
00004883: SWAP1
00004884: DIV
00004885: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000489a: AND
0000489b: ADDRESS
0000489c: PUSH1 0x40
0000489e: MLOAD
0000489f: DUP4
000048a0: PUSH4 0xffffffff
000048a5: AND
000048a6: PUSH1 0xe0
000048a8: SHL
000048a9: DUP2
000048aa: MSTORE
000048ab: PUSH1 0x04
000048ad: ADD
000048ae: DUP1
000048af: DUP4
000048b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048c5: AND
000048c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048db: AND
000048dc: DUP2
000048dd: MSTORE
000048de: PUSH1 0x20
000048e0: ADD
000048e1: DUP3
000048e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048f7: AND
000048f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000490d: AND
0000490e: DUP2
0000490f: MSTORE
00004910: PUSH1 0x20
00004912: ADD
00004913: SWAP3
00004914: POP
00004915: POP
00004916: POP
00004917: PUSH1 0x20
00004919: PUSH1 0x40
0000491b: MLOAD
0000491c: DUP1
0000491d: DUP4
0000491e: SUB
0000491f: DUP2
00004920: DUP7
00004921: DUP1
00004922: EXTCODESIZE
00004923: ISZERO
00004924: DUP1
00004925: ISZERO
00004926: PUSH2 0x492e
00004929: JUMPI
0000492a: PUSH1 0x00
0000492c: DUP1
0000492d: REVERT
0000492e: JUMPDEST
0000492f: POP
00004930: GAS
00004931: STATICCALL
00004932: ISZERO
00004933: DUP1
00004934: ISZERO
00004935: PUSH2 0x4942
00004938: JUMPI
00004939: RETURNDATASIZE
0000493a: PUSH1 0x00
0000493c: DUP1
0000493d: RETURNDATACOPY
0000493e: RETURNDATASIZE
0000493f: PUSH1 0x00
00004941: REVERT
00004942: JUMPDEST
00004943: POP
00004944: POP
00004945: POP
00004946: POP
00004947: PUSH1 0x40
00004949: MLOAD
0000494a: RETURNDATASIZE
0000494b: PUSH1 0x20
0000494d: DUP2
0000494e: LT
0000494f: ISZERO
00004950: PUSH2 0x4958
00004953: JUMPI
00004954: PUSH1 0x00
00004956: DUP1
00004957: REVERT
00004958: JUMPDEST
00004959: DUP2
0000495a: ADD
0000495b: SWAP1
0000495c: DUP1
0000495d: DUP1
0000495e: MLOAD
0000495f: SWAP1
00004960: PUSH1 0x20
00004962: ADD
00004963: SWAP1
00004964: SWAP3
00004965: SWAP2
00004966: SWAP1
00004967: POP
00004968: POP
00004969: POP
0000496a: SWAP1
0000496b: POP
0000496c: PUSH1 0x00
0000496e: DUP2
0000496f: GT
00004970: ISZERO
00004971: PUSH2 0x49e6
00004974: JUMPI
00004975: PUSH2 0x49e5
00004978: PUSH1 0xd0
0000497a: PUSH1 0x00
0000497c: SWAP1
0000497d: SLOAD
0000497e: SWAP1
0000497f: PUSH2 0x0100
00004982: EXP
00004983: SWAP1
00004984: DIV
00004985: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000499a: AND
0000499b: ADDRESS
0000499c: DUP4
0000499d: PUSH1 0xdb
0000499f: PUSH1 0x01
000049a1: SWAP1
000049a2: SLOAD
000049a3: SWAP1
000049a4: PUSH2 0x0100
000049a7: EXP
000049a8: SWAP1
000049a9: DIV
000049aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000049bf: AND
000049c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000049d5: AND
000049d6: PUSH2 0x49ea
000049d9: SWAP1
000049da: SWAP4
000049db: SWAP3
000049dc: SWAP2
000049dd: SWAP1
000049de: PUSH4 0xffffffff
000049e3: AND
000049e4: JUMP
000049e5: JUMPDEST
000049e6: JUMPDEST
000049e7: SWAP1
000049e8: SWAP2
000049e9: JUMP
000049ea: JUMPDEST
000049eb: PUSH2 0x4ad1
000049ee: DUP5
000049ef: PUSH4 0x23b872dd
000049f4: PUSH1 0xe0
000049f6: SHL
000049f7: DUP6
000049f8: DUP6
000049f9: DUP6
000049fa: PUSH1 0x40
000049fc: MLOAD
000049fd: PUSH1 0x24
000049ff: ADD
00004a00: DUP1
00004a01: DUP5
00004a02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a17: AND
00004a18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a2d: AND
00004a2e: DUP2
00004a2f: MSTORE
00004a30: PUSH1 0x20
00004a32: ADD
00004a33: DUP4
00004a34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a49: AND
00004a4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a5f: AND
00004a60: DUP2
00004a61: MSTORE
00004a62: PUSH1 0x20
00004a64: ADD
00004a65: DUP3
00004a66: DUP2
00004a67: MSTORE
00004a68: PUSH1 0x20
00004a6a: ADD
00004a6b: SWAP4
00004a6c: POP
00004a6d: POP
00004a6e: POP
00004a6f: POP
00004a70: PUSH1 0x40
00004a72: MLOAD
00004a73: PUSH1 0x20
00004a75: DUP2
00004a76: DUP4
00004a77: SUB
00004a78: SUB
00004a79: DUP2
00004a7a: MSTORE
00004a7b: SWAP1
00004a7c: PUSH1 0x40
00004a7e: MSTORE
00004a7f: SWAP1
00004a80: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004a9d: NOT
00004a9e: AND
00004a9f: PUSH1 0x20
00004aa1: DUP3
00004aa2: ADD
00004aa3: DUP1
00004aa4: MLOAD
00004aa5: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004ac2: DUP4
00004ac3: DUP2
00004ac4: DUP4
00004ac5: AND
00004ac6: OR
00004ac7: DUP4
00004ac8: MSTORE
00004ac9: POP
00004aca: POP
00004acb: POP
00004acc: POP
00004acd: PUSH2 0x4f8d
00004ad0: JUMP
00004ad1: JUMPDEST
00004ad2: POP
00004ad3: POP
00004ad4: POP
00004ad5: POP
00004ad6: JUMP
00004ad7: JUMPDEST
00004ad8: PUSH1 0x00
00004ada: DUP1
00004adb: ADDRESS
00004adc: SWAP1
00004add: POP
00004ade: PUSH1 0x00
00004ae0: DUP2
00004ae1: EXTCODESIZE
00004ae2: SWAP1
00004ae3: POP
00004ae4: PUSH1 0x00
00004ae6: DUP2
00004ae7: EQ
00004ae8: SWAP3
00004ae9: POP
00004aea: POP
00004aeb: POP
00004aec: SWAP1
00004aed: JUMP
00004aee: JUMPDEST
00004aef: PUSH1 0x00
00004af1: PUSH1 0x01
00004af3: SWAP1
00004af4: SLOAD
00004af5: SWAP1
00004af6: PUSH2 0x0100
00004af9: EXP
00004afa: SWAP1
00004afb: DIV
00004afc: PUSH1 0xff
00004afe: AND
00004aff: DUP1
00004b00: PUSH2 0x4b0d
00004b03: JUMPI
00004b04: POP
00004b05: PUSH2 0x4b0c
00004b08: PUSH2 0x4ad7
00004b0b: JUMP
00004b0c: JUMPDEST
00004b0d: JUMPDEST
00004b0e: DUP1
00004b0f: PUSH2 0x4b24
00004b12: JUMPI
00004b13: POP
00004b14: PUSH1 0x00
00004b16: DUP1
00004b17: SWAP1
00004b18: SLOAD
00004b19: SWAP1
00004b1a: PUSH2 0x0100
00004b1d: EXP
00004b1e: SWAP1
00004b1f: DIV
00004b20: PUSH1 0xff
00004b22: AND
00004b23: ISZERO
00004b24: JUMPDEST
00004b25: PUSH2 0x4b79
00004b28: JUMPI
00004b29: PUSH1 0x40
00004b2b: MLOAD
00004b2c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004b4d: DUP2
00004b4e: MSTORE
00004b4f: PUSH1 0x04
00004b51: ADD
00004b52: DUP1
00004b53: DUP1
00004b54: PUSH1 0x20
00004b56: ADD
00004b57: DUP3
00004b58: DUP2
00004b59: SUB
00004b5a: DUP3
00004b5b: MSTORE
00004b5c: PUSH1 0x2e
00004b5e: DUP2
00004b5f: MSTORE
00004b60: PUSH1 0x20
00004b62: ADD
00004b63: DUP1
00004b64: PUSH2 0x57b9
00004b67: PUSH1 0x2e
00004b69: SWAP2
00004b6a: CODECOPY
00004b6b: PUSH1 0x40
00004b6d: ADD
00004b6e: SWAP2
00004b6f: POP
00004b70: POP
00004b71: PUSH1 0x40
00004b73: MLOAD
00004b74: DUP1
00004b75: SWAP2
00004b76: SUB
00004b77: SWAP1
00004b78: REVERT
00004b79: JUMPDEST
00004b7a: PUSH1 0x00
00004b7c: DUP1
00004b7d: PUSH1 0x01
00004b7f: SWAP1
00004b80: SLOAD
00004b81: SWAP1
00004b82: PUSH2 0x0100
00004b85: EXP
00004b86: SWAP1
00004b87: DIV
00004b88: PUSH1 0xff
00004b8a: AND
00004b8b: ISZERO
00004b8c: SWAP1
00004b8d: POP
00004b8e: DUP1
00004b8f: ISZERO
00004b90: PUSH2 0x4bc9
00004b93: JUMPI
00004b94: PUSH1 0x01
00004b96: PUSH1 0x00
00004b98: PUSH1 0x01
00004b9a: PUSH2 0x0100
00004b9d: EXP
00004b9e: DUP2
00004b9f: SLOAD
00004ba0: DUP2
00004ba1: PUSH1 0xff
00004ba3: MUL
00004ba4: NOT
00004ba5: AND
00004ba6: SWAP1
00004ba7: DUP4
00004ba8: ISZERO
00004ba9: ISZERO
00004baa: MUL
00004bab: OR
00004bac: SWAP1
00004bad: SSTORE
00004bae: POP
00004baf: PUSH1 0x01
00004bb1: PUSH1 0x00
00004bb3: DUP1
00004bb4: PUSH2 0x0100
00004bb7: EXP
00004bb8: DUP2
00004bb9: SLOAD
00004bba: DUP2
00004bbb: PUSH1 0xff
00004bbd: MUL
00004bbe: NOT
00004bbf: AND
00004bc0: SWAP1
00004bc1: DUP4
00004bc2: ISZERO
00004bc3: ISZERO
00004bc4: MUL
00004bc5: OR
00004bc6: SWAP1
00004bc7: SSTORE
00004bc8: POP
00004bc9: JUMPDEST
00004bca: PUSH2 0x4bd1
00004bcd: PUSH2 0x5337
00004bd0: JUMP
00004bd1: JUMPDEST
00004bd2: DUP1
00004bd3: ISZERO
00004bd4: PUSH2 0x4bf2
00004bd7: JUMPI
00004bd8: PUSH1 0x00
00004bda: DUP1
00004bdb: PUSH1 0x01
00004bdd: PUSH2 0x0100
00004be0: EXP
00004be1: DUP2
00004be2: SLOAD
00004be3: DUP2
00004be4: PUSH1 0xff
00004be6: MUL
00004be7: NOT
00004be8: AND
00004be9: SWAP1
00004bea: DUP4
00004beb: ISZERO
00004bec: ISZERO
00004bed: MUL
00004bee: OR
00004bef: SWAP1
00004bf0: SSTORE
00004bf1: POP
00004bf2: JUMPDEST
00004bf3: POP
00004bf4: JUMP
00004bf5: JUMPDEST
00004bf6: PUSH1 0x00
00004bf8: PUSH1 0x01
00004bfa: SWAP1
00004bfb: SLOAD
00004bfc: SWAP1
00004bfd: PUSH2 0x0100
00004c00: EXP
00004c01: SWAP1
00004c02: DIV
00004c03: PUSH1 0xff
00004c05: AND
00004c06: DUP1
00004c07: PUSH2 0x4c14
00004c0a: JUMPI
00004c0b: POP
00004c0c: PUSH2 0x4c13
00004c0f: PUSH2 0x4ad7
00004c12: JUMP
00004c13: JUMPDEST
00004c14: JUMPDEST
00004c15: DUP1
00004c16: PUSH2 0x4c2b
00004c19: JUMPI
00004c1a: POP
00004c1b: PUSH1 0x00
00004c1d: DUP1
00004c1e: SWAP1
00004c1f: SLOAD
00004c20: SWAP1
00004c21: PUSH2 0x0100
00004c24: EXP
00004c25: SWAP1
00004c26: DIV
00004c27: PUSH1 0xff
00004c29: AND
00004c2a: ISZERO
00004c2b: JUMPDEST
00004c2c: PUSH2 0x4c80
00004c2f: JUMPI
00004c30: PUSH1 0x40
00004c32: MLOAD
00004c33: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004c54: DUP2
00004c55: MSTORE
00004c56: PUSH1 0x04
00004c58: ADD
00004c59: DUP1
00004c5a: DUP1
00004c5b: PUSH1 0x20
00004c5d: ADD
00004c5e: DUP3
00004c5f: DUP2
00004c60: SUB
00004c61: DUP3
00004c62: MSTORE
00004c63: PUSH1 0x2e
00004c65: DUP2
00004c66: MSTORE
00004c67: PUSH1 0x20
00004c69: ADD
00004c6a: DUP1
00004c6b: PUSH2 0x57b9
00004c6e: PUSH1 0x2e
00004c70: SWAP2
00004c71: CODECOPY
00004c72: PUSH1 0x40
00004c74: ADD
00004c75: SWAP2
00004c76: POP
00004c77: POP
00004c78: PUSH1 0x40
00004c7a: MLOAD
00004c7b: DUP1
00004c7c: SWAP2
00004c7d: SUB
00004c7e: SWAP1
00004c7f: REVERT
00004c80: JUMPDEST
00004c81: PUSH1 0x00
00004c83: DUP1
00004c84: PUSH1 0x01
00004c86: SWAP1
00004c87: SLOAD
00004c88: SWAP1
00004c89: PUSH2 0x0100
00004c8c: EXP
00004c8d: SWAP1
00004c8e: DIV
00004c8f: PUSH1 0xff
00004c91: AND
00004c92: ISZERO
00004c93: SWAP1
00004c94: POP
00004c95: DUP1
00004c96: ISZERO
00004c97: PUSH2 0x4cd0
00004c9a: JUMPI
00004c9b: PUSH1 0x01
00004c9d: PUSH1 0x00
00004c9f: PUSH1 0x01
00004ca1: PUSH2 0x0100
00004ca4: EXP
00004ca5: DUP2
00004ca6: SLOAD
00004ca7: DUP2
00004ca8: PUSH1 0xff
00004caa: MUL
00004cab: NOT
00004cac: AND
00004cad: SWAP1
00004cae: DUP4
00004caf: ISZERO
00004cb0: ISZERO
00004cb1: MUL
00004cb2: OR
00004cb3: SWAP1
00004cb4: SSTORE
00004cb5: POP
00004cb6: PUSH1 0x01
00004cb8: PUSH1 0x00
00004cba: DUP1
00004cbb: PUSH2 0x0100
00004cbe: EXP
00004cbf: DUP2
00004cc0: SLOAD
00004cc1: DUP2
00004cc2: PUSH1 0xff
00004cc4: MUL
00004cc5: NOT
00004cc6: AND
00004cc7: SWAP1
00004cc8: DUP4
00004cc9: ISZERO
00004cca: ISZERO
00004ccb: MUL
00004ccc: OR
00004ccd: SWAP1
00004cce: SSTORE
00004ccf: POP
00004cd0: JUMPDEST
00004cd1: PUSH2 0x4cd8
00004cd4: PUSH2 0x5451
00004cd7: JUMP
00004cd8: JUMPDEST
00004cd9: PUSH2 0x4ce0
00004cdc: PUSH2 0x5550
00004cdf: JUMP
00004ce0: JUMPDEST
00004ce1: DUP1
00004ce2: ISZERO
00004ce3: PUSH2 0x4d01
00004ce6: JUMPI
00004ce7: PUSH1 0x00
00004ce9: DUP1
00004cea: PUSH1 0x01
00004cec: PUSH2 0x0100
00004cef: EXP
00004cf0: DUP2
00004cf1: SLOAD
00004cf2: DUP2
00004cf3: PUSH1 0xff
00004cf5: MUL
00004cf6: NOT
00004cf7: AND
00004cf8: SWAP1
00004cf9: DUP4
00004cfa: ISZERO
00004cfb: ISZERO
00004cfc: MUL
00004cfd: OR
00004cfe: SWAP1
00004cff: SSTORE
00004d00: POP
00004d01: JUMPDEST
00004d02: POP
00004d03: JUMP
00004d04: JUMPDEST
00004d05: PUSH1 0x00
00004d07: DUP1
00004d08: DUP4
00004d09: GT
00004d0a: DUP3
00004d0b: SWAP1
00004d0c: PUSH2 0x4db0
00004d0f: JUMPI
00004d10: PUSH1 0x40
00004d12: MLOAD
00004d13: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004d34: DUP2
00004d35: MSTORE
00004d36: PUSH1 0x04
00004d38: ADD
00004d39: DUP1
00004d3a: DUP1
00004d3b: PUSH1 0x20
00004d3d: ADD
00004d3e: DUP3
00004d3f: DUP2
00004d40: SUB
00004d41: DUP3
00004d42: MSTORE
00004d43: DUP4
00004d44: DUP2
00004d45: DUP2
00004d46: MLOAD
00004d47: DUP2
00004d48: MSTORE
00004d49: PUSH1 0x20
00004d4b: ADD
00004d4c: SWAP2
00004d4d: POP
00004d4e: DUP1
00004d4f: MLOAD
00004d50: SWAP1
00004d51: PUSH1 0x20
00004d53: ADD
00004d54: SWAP1
00004d55: DUP1
00004d56: DUP4
00004d57: DUP4
00004d58: PUSH1 0x00
00004d5a: JUMPDEST
00004d5b: DUP4
00004d5c: DUP2
00004d5d: LT
00004d5e: ISZERO
00004d5f: PUSH2 0x4d75
00004d62: JUMPI
00004d63: DUP1
00004d64: DUP3
00004d65: ADD
00004d66: MLOAD
00004d67: DUP2
00004d68: DUP5
00004d69: ADD
00004d6a: MSTORE
00004d6b: PUSH1 0x20
00004d6d: DUP2
00004d6e: ADD
00004d6f: SWAP1
00004d70: POP
00004d71: PUSH2 0x4d5a
00004d74: JUMP
00004d75: JUMPDEST
00004d76: POP
00004d77: POP
00004d78: POP
00004d79: POP
00004d7a: SWAP1
00004d7b: POP
00004d7c: SWAP1
00004d7d: DUP2
00004d7e: ADD
00004d7f: SWAP1
00004d80: PUSH1 0x1f
00004d82: AND
00004d83: DUP1
00004d84: ISZERO
00004d85: PUSH2 0x4da2
00004d88: JUMPI
00004d89: DUP1
00004d8a: DUP3
00004d8b: SUB
00004d8c: DUP1
00004d8d: MLOAD
00004d8e: PUSH1 0x01
00004d90: DUP4
00004d91: PUSH1 0x20
00004d93: SUB
00004d94: PUSH2 0x0100
00004d97: EXP
00004d98: SUB
00004d99: NOT
00004d9a: AND
00004d9b: DUP2
00004d9c: MSTORE
00004d9d: PUSH1 0x20
00004d9f: ADD
00004da0: SWAP2
00004da1: POP
00004da2: JUMPDEST
00004da3: POP
00004da4: SWAP3
00004da5: POP
00004da6: POP
00004da7: POP
00004da8: PUSH1 0x40
00004daa: MLOAD
00004dab: DUP1
00004dac: SWAP2
00004dad: SUB
00004dae: SWAP1
00004daf: REVERT
00004db0: JUMPDEST
00004db1: POP
00004db2: PUSH1 0x00
00004db4: DUP4
00004db5: DUP6
00004db6: DUP2
00004db7: PUSH2 0x4dbc
00004dba: JUMPI
00004dbb: INVALID
00004dbc: JUMPDEST
00004dbd: DIV
00004dbe: SWAP1
00004dbf: POP
00004dc0: DUP1
00004dc1: SWAP2
00004dc2: POP
00004dc3: POP
00004dc4: SWAP4
00004dc5: SWAP3
00004dc6: POP
00004dc7: POP
00004dc8: POP
00004dc9: JUMP
00004dca: JUMPDEST
00004dcb: PUSH1 0x00
00004dcd: DUP1
00004dce: PUSH1 0x00
00004dd0: DUP1
00004dd1: PUSH1 0x00
00004dd3: PUSH2 0x4ddc
00004dd6: DUP8
00004dd7: DUP8
00004dd8: PUSH2 0x3c52
00004ddb: JUMP
00004ddc: JUMPDEST
00004ddd: SWAP5
00004dde: POP
00004ddf: SWAP5
00004de0: POP
00004de1: SWAP5
00004de2: POP
00004de3: SWAP5
00004de4: POP
00004de5: SWAP5
00004de6: POP
00004de7: PUSH1 0x00
00004de9: PUSH1 0xcb
00004deb: PUSH1 0x00
00004ded: DUP10
00004dee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004e03: AND
00004e04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004e19: AND
00004e1a: DUP2
00004e1b: MSTORE
00004e1c: PUSH1 0x20
00004e1e: ADD
00004e1f: SWAP1
00004e20: DUP2
00004e21: MSTORE
00004e22: PUSH1 0x20
00004e24: ADD
00004e25: PUSH1 0x00
00004e27: KECCAK256
00004e28: SWAP1
00004e29: POP
00004e2a: DUP2
00004e2b: ISZERO
00004e2c: PUSH2 0x4e5d
00004e2f: JUMPI
00004e30: PUSH2 0x4e4a
00004e33: DUP2
00004e34: PUSH1 0x01
00004e36: ADD
00004e37: SLOAD
00004e38: DUP3
00004e39: PUSH1 0x00
00004e3b: ADD
00004e3c: SLOAD
00004e3d: PUSH2 0x3ff9
00004e40: SWAP1
00004e41: SWAP2
00004e42: SWAP1
00004e43: PUSH4 0xffffffff
00004e48: AND
00004e49: JUMP
00004e4a: JUMPDEST
00004e4b: DUP2
00004e4c: PUSH1 0x00
00004e4e: ADD
00004e4f: DUP2
00004e50: SWAP1
00004e51: SSTORE
00004e52: POP
00004e53: PUSH1 0x00
00004e55: DUP2
00004e56: PUSH1 0x01
00004e58: ADD
00004e59: DUP2
00004e5a: SWAP1
00004e5b: SSTORE
00004e5c: POP
00004e5d: JUMPDEST
00004e5e: PUSH2 0x4e74
00004e61: DUP7
00004e62: DUP3
00004e63: PUSH1 0x05
00004e65: ADD
00004e66: SLOAD
00004e67: PUSH2 0x3ff9
00004e6a: SWAP1
00004e6b: SWAP2
00004e6c: SWAP1
00004e6d: PUSH4 0xffffffff
00004e72: AND
00004e73: JUMP
00004e74: JUMPDEST
00004e75: DUP2
00004e76: PUSH1 0x05
00004e78: ADD
00004e79: DUP2
00004e7a: SWAP1
00004e7b: SSTORE
00004e7c: POP
00004e7d: PUSH2 0x4e93
00004e80: DUP6
00004e81: DUP3
00004e82: PUSH1 0x02
00004e84: ADD
00004e85: SLOAD
00004e86: PUSH2 0x3ff9
00004e89: SWAP1
00004e8a: SWAP2
00004e8b: SWAP1
00004e8c: PUSH4 0xffffffff
00004e91: AND
00004e92: JUMP
00004e93: JUMPDEST
00004e94: DUP2
00004e95: PUSH1 0x02
00004e97: ADD
00004e98: DUP2
00004e99: SWAP1
00004e9a: SSTORE
00004e9b: POP
00004e9c: PUSH2 0x4eb2
00004e9f: DUP5
00004ea0: DUP3
00004ea1: PUSH1 0x03
00004ea3: ADD
00004ea4: SLOAD
00004ea5: PUSH2 0x3ff9
00004ea8: SWAP1
00004ea9: SWAP2
00004eaa: SWAP1
00004eab: PUSH4 0xffffffff
00004eb0: AND
00004eb1: JUMP
00004eb2: JUMPDEST
00004eb3: DUP2
00004eb4: PUSH1 0x03
00004eb6: ADD
00004eb7: DUP2
00004eb8: SWAP1
00004eb9: SSTORE
00004eba: POP
00004ebb: DUP3
00004ebc: DUP2
00004ebd: PUSH1 0x04
00004ebf: ADD
00004ec0: DUP2
00004ec1: SWAP1
00004ec2: SSTORE
00004ec3: POP
00004ec4: POP
00004ec5: POP
00004ec6: POP
00004ec7: POP
00004ec8: POP
00004ec9: POP
00004eca: POP
00004ecb: POP
00004ecc: JUMP
00004ecd: JUMPDEST
00004ece: PUSH1 0x00
00004ed0: DUP4
00004ed1: DUP4
00004ed2: GT
00004ed3: ISZERO
00004ed4: DUP3
00004ed5: SWAP1
00004ed6: PUSH2 0x4f7a
00004ed9: JUMPI
00004eda: PUSH1 0x40
00004edc: MLOAD
00004edd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004efe: DUP2
00004eff: MSTORE
00004f00: PUSH1 0x04
00004f02: ADD
00004f03: DUP1
00004f04: DUP1
00004f05: PUSH1 0x20
00004f07: ADD
00004f08: DUP3
00004f09: DUP2
00004f0a: SUB
00004f0b: DUP3
00004f0c: MSTORE
00004f0d: DUP4
00004f0e: DUP2
00004f0f: DUP2
00004f10: MLOAD
00004f11: DUP2
00004f12: MSTORE
00004f13: PUSH1 0x20
00004f15: ADD
00004f16: SWAP2
00004f17: POP
00004f18: DUP1
00004f19: MLOAD
00004f1a: SWAP1
00004f1b: PUSH1 0x20
00004f1d: ADD
00004f1e: SWAP1
00004f1f: DUP1
00004f20: DUP4
00004f21: DUP4
00004f22: PUSH1 0x00
00004f24: JUMPDEST
00004f25: DUP4
00004f26: DUP2
00004f27: LT
00004f28: ISZERO
00004f29: PUSH2 0x4f3f
00004f2c: JUMPI
00004f2d: DUP1
00004f2e: DUP3
00004f2f: ADD
00004f30: MLOAD
00004f31: DUP2
00004f32: DUP5
00004f33: ADD
00004f34: MSTORE
00004f35: PUSH1 0x20
00004f37: DUP2
00004f38: ADD
00004f39: SWAP1
00004f3a: POP
00004f3b: PUSH2 0x4f24
00004f3e: JUMP
00004f3f: JUMPDEST
00004f40: POP
00004f41: POP
00004f42: POP
00004f43: POP
00004f44: SWAP1
00004f45: POP
00004f46: SWAP1
00004f47: DUP2
00004f48: ADD
00004f49: SWAP1
00004f4a: PUSH1 0x1f
00004f4c: AND
00004f4d: DUP1
00004f4e: ISZERO
00004f4f: PUSH2 0x4f6c
00004f52: JUMPI
00004f53: DUP1
00004f54: DUP3
00004f55: SUB
00004f56: DUP1
00004f57: MLOAD
00004f58: PUSH1 0x01
00004f5a: DUP4
00004f5b: PUSH1 0x20
00004f5d: SUB
00004f5e: PUSH2 0x0100
00004f61: EXP
00004f62: SUB
00004f63: NOT
00004f64: AND
00004f65: DUP2
00004f66: MSTORE
00004f67: PUSH1 0x20
00004f69: ADD
00004f6a: SWAP2
00004f6b: POP
00004f6c: JUMPDEST
00004f6d: POP
00004f6e: SWAP3
00004f6f: POP
00004f70: POP
00004f71: POP
00004f72: PUSH1 0x40
00004f74: MLOAD
00004f75: DUP1
00004f76: SWAP2
00004f77: SUB
00004f78: SWAP1
00004f79: REVERT
00004f7a: JUMPDEST
00004f7b: POP
00004f7c: PUSH1 0x00
00004f7e: DUP4
00004f7f: DUP6
00004f80: SUB
00004f81: SWAP1
00004f82: POP
00004f83: DUP1
00004f84: SWAP2
00004f85: POP
00004f86: POP
00004f87: SWAP4
00004f88: SWAP3
00004f89: POP
00004f8a: POP
00004f8b: POP
00004f8c: JUMP
00004f8d: JUMPDEST
00004f8e: PUSH2 0x4fac
00004f91: DUP3
00004f92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004fa7: AND
00004fa8: PUSH2 0x56f8
00004fab: JUMP
00004fac: JUMPDEST
00004fad: PUSH2 0x501e
00004fb0: JUMPI
00004fb1: PUSH1 0x40
00004fb3: MLOAD
00004fb4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004fd5: DUP2
00004fd6: MSTORE
00004fd7: PUSH1 0x04
00004fd9: ADD
00004fda: DUP1
00004fdb: DUP1
00004fdc: PUSH1 0x20
00004fde: ADD
00004fdf: DUP3
00004fe0: DUP2
00004fe1: SUB
00004fe2: DUP3
00004fe3: MSTORE
00004fe4: PUSH1 0x1f
00004fe6: DUP2
00004fe7: MSTORE
00004fe8: PUSH1 0x20
00004fea: ADD
00004feb: DUP1
00004fec: PUSH32 0x5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400
0000500d: DUP2
0000500e: MSTORE
0000500f: POP
00005010: PUSH1 0x20
00005012: ADD
00005013: SWAP2
00005014: POP
00005015: POP
00005016: PUSH1 0x40
00005018: MLOAD
00005019: DUP1
0000501a: SWAP2
0000501b: SUB
0000501c: SWAP1
0000501d: REVERT
0000501e: JUMPDEST
0000501f: PUSH1 0x00
00005021: PUSH1 0x60
00005023: DUP4
00005024: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005039: AND
0000503a: DUP4
0000503b: PUSH1 0x40
0000503d: MLOAD
0000503e: DUP1
0000503f: DUP3
00005040: DUP1
00005041: MLOAD
00005042: SWAP1
00005043: PUSH1 0x20
00005045: ADD
00005046: SWAP1
00005047: DUP1
00005048: DUP4
00005049: DUP4
0000504a: JUMPDEST
0000504b: PUSH1 0x20
0000504d: DUP4
0000504e: LT
0000504f: PUSH2 0x506d
00005052: JUMPI
00005053: DUP1
00005054: MLOAD
00005055: DUP3
00005056: MSTORE
00005057: PUSH1 0x20
00005059: DUP3
0000505a: ADD
0000505b: SWAP2
0000505c: POP
0000505d: PUSH1 0x20
0000505f: DUP2
00005060: ADD
00005061: SWAP1
00005062: POP
00005063: PUSH1 0x20
00005065: DUP4
00005066: SUB
00005067: SWAP3
00005068: POP
00005069: PUSH2 0x504a
0000506c: JUMP
0000506d: JUMPDEST
0000506e: PUSH1 0x01
00005070: DUP4
00005071: PUSH1 0x20
00005073: SUB
00005074: PUSH2 0x0100
00005077: EXP
00005078: SUB
00005079: DUP1
0000507a: NOT
0000507b: DUP3
0000507c: MLOAD
0000507d: AND
0000507e: DUP2
0000507f: DUP5
00005080: MLOAD
00005081: AND
00005082: DUP1
00005083: DUP3
00005084: OR
00005085: DUP6
00005086: MSTORE
00005087: POP
00005088: POP
00005089: POP
0000508a: POP
0000508b: POP
0000508c: POP
0000508d: SWAP1
0000508e: POP
0000508f: ADD
00005090: SWAP2
00005091: POP
00005092: POP
00005093: PUSH1 0x00
00005095: PUSH1 0x40
00005097: MLOAD
00005098: DUP1
00005099: DUP4
0000509a: SUB
0000509b: DUP2
0000509c: PUSH1 0x00
0000509e: DUP7
0000509f: GAS
000050a0: CALL
000050a1: SWAP2
000050a2: POP
000050a3: POP
000050a4: RETURNDATASIZE
000050a5: DUP1
000050a6: PUSH1 0x00
000050a8: DUP2
000050a9: EQ
000050aa: PUSH2 0x50cf
000050ad: JUMPI
000050ae: PUSH1 0x40
000050b0: MLOAD
000050b1: SWAP2
000050b2: POP
000050b3: PUSH1 0x1f
000050b5: NOT
000050b6: PUSH1 0x3f
000050b8: RETURNDATASIZE
000050b9: ADD
000050ba: AND
000050bb: DUP3
000050bc: ADD
000050bd: PUSH1 0x40
000050bf: MSTORE
000050c0: RETURNDATASIZE
000050c1: DUP3
000050c2: MSTORE
000050c3: RETURNDATASIZE
000050c4: PUSH1 0x00
000050c6: PUSH1 0x20
000050c8: DUP5
000050c9: ADD
000050ca: RETURNDATACOPY
000050cb: PUSH2 0x50d4
000050ce: JUMP
000050cf: JUMPDEST
000050d0: PUSH1 0x60
000050d2: SWAP2
000050d3: POP
000050d4: JUMPDEST
000050d5: POP
000050d6: SWAP2
000050d7: POP
000050d8: SWAP2
000050d9: POP
000050da: DUP2
000050db: PUSH2 0x514c
000050de: JUMPI
000050df: PUSH1 0x40
000050e1: MLOAD
000050e2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00005103: DUP2
00005104: MSTORE
00005105: PUSH1 0x04
00005107: ADD
00005108: DUP1
00005109: DUP1
0000510a: PUSH1 0x20
0000510c: ADD
0000510d: DUP3
0000510e: DUP2
0000510f: SUB
00005110: DUP3
00005111: MSTORE
00005112: PUSH1 0x20
00005114: DUP2
00005115: MSTORE
00005116: PUSH1 0x20
00005118: ADD
00005119: DUP1
0000511a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
0000513b: DUP2
0000513c: MSTORE
0000513d: POP
0000513e: PUSH1 0x20
00005140: ADD
00005141: SWAP2
00005142: POP
00005143: POP
00005144: PUSH1 0x40
00005146: MLOAD
00005147: DUP1
00005148: SWAP2
00005149: SUB
0000514a: SWAP1
0000514b: REVERT
0000514c: JUMPDEST
0000514d: PUSH1 0x00
0000514f: DUP2
00005150: MLOAD
00005151: GT
00005152: ISZERO
00005153: PUSH2 0x51d2
00005156: JUMPI
00005157: DUP1
00005158: DUP1
00005159: PUSH1 0x20
0000515b: ADD
0000515c: SWAP1
0000515d: MLOAD
0000515e: PUSH1 0x20
00005160: DUP2
00005161: LT
00005162: ISZERO
00005163: PUSH2 0x516b
00005166: JUMPI
00005167: PUSH1 0x00
00005169: DUP1
0000516a: REVERT
0000516b: JUMPDEST
0000516c: DUP2
0000516d: ADD
0000516e: SWAP1
0000516f: DUP1
00005170: DUP1
00005171: MLOAD
00005172: SWAP1
00005173: PUSH1 0x20
00005175: ADD
00005176: SWAP1
00005177: SWAP3
00005178: SWAP2
00005179: SWAP1
0000517a: POP
0000517b: POP
0000517c: POP
0000517d: PUSH2 0x51d1
00005180: JUMPI
00005181: PUSH1 0x40
00005183: MLOAD
00005184: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000051a5: DUP2
000051a6: MSTORE
000051a7: PUSH1 0x04
000051a9: ADD
000051aa: DUP1
000051ab: DUP1
000051ac: PUSH1 0x20
000051ae: ADD
000051af: DUP3
000051b0: DUP2
000051b1: SUB
000051b2: DUP3
000051b3: MSTORE
000051b4: PUSH1 0x2a
000051b6: DUP2
000051b7: MSTORE
000051b8: PUSH1 0x20
000051ba: ADD
000051bb: DUP1
000051bc: PUSH2 0x5877
000051bf: PUSH1 0x2a
000051c1: SWAP2
000051c2: CODECOPY
000051c3: PUSH1 0x40
000051c5: ADD
000051c6: SWAP2
000051c7: POP
000051c8: POP
000051c9: PUSH1 0x40
000051cb: MLOAD
000051cc: DUP1
000051cd: SWAP2
000051ce: SUB
000051cf: SWAP1
000051d0: REVERT
000051d1: JUMPDEST
000051d2: JUMPDEST
000051d3: POP
000051d4: POP
000051d5: POP
000051d6: POP
000051d7: JUMP
000051d8: JUMPDEST
000051d9: PUSH1 0x00
000051db: DUP3
000051dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000051f1: AND
000051f2: DUP3
000051f3: PUSH1 0x00
000051f5: PUSH8 0xffffffffffffffff
000051fe: DUP2
000051ff: GT
00005200: DUP1
00005201: ISZERO
00005202: PUSH2 0x520a
00005205: JUMPI
00005206: PUSH1 0x00
00005208: DUP1
00005209: REVERT
0000520a: JUMPDEST
0000520b: POP
0000520c: PUSH1 0x40
0000520e: MLOAD
0000520f: SWAP1
00005210: DUP1
00005211: DUP3
00005212: MSTORE
00005213: DUP1
00005214: PUSH1 0x1f
00005216: ADD
00005217: PUSH1 0x1f
00005219: NOT
0000521a: AND
0000521b: PUSH1 0x20
0000521d: ADD
0000521e: DUP3
0000521f: ADD
00005220: PUSH1 0x40
00005222: MSTORE
00005223: DUP1
00005224: ISZERO
00005225: PUSH2 0x523d
00005228: JUMPI
00005229: DUP2
0000522a: PUSH1 0x20
0000522c: ADD
0000522d: PUSH1 0x01
0000522f: DUP3
00005230: MUL
00005231: DUP1
00005232: CALLDATASIZE
00005233: DUP4
00005234: CALLDATACOPY
00005235: DUP1
00005236: DUP3
00005237: ADD
00005238: SWAP2
00005239: POP
0000523a: POP
0000523b: SWAP1
0000523c: POP
0000523d: JUMPDEST
0000523e: POP
0000523f: PUSH1 0x40
00005241: MLOAD
00005242: DUP1
00005243: DUP3
00005244: DUP1
00005245: MLOAD
00005246: SWAP1
00005247: PUSH1 0x20
00005249: ADD
0000524a: SWAP1
0000524b: DUP1
0000524c: DUP4
0000524d: DUP4
0000524e: JUMPDEST
0000524f: PUSH1 0x20
00005251: DUP4
00005252: LT
00005253: PUSH2 0x5271
00005256: JUMPI
00005257: DUP1
00005258: MLOAD
00005259: DUP3
0000525a: MSTORE
0000525b: PUSH1 0x20
0000525d: DUP3
0000525e: ADD
0000525f: SWAP2
00005260: POP
00005261: PUSH1 0x20
00005263: DUP2
00005264: ADD
00005265: SWAP1
00005266: POP
00005267: PUSH1 0x20
00005269: DUP4
0000526a: SUB
0000526b: SWAP3
0000526c: POP
0000526d: PUSH2 0x524e
00005270: JUMP
00005271: JUMPDEST
00005272: PUSH1 0x01
00005274: DUP4
00005275: PUSH1 0x20
00005277: SUB
00005278: PUSH2 0x0100
0000527b: EXP
0000527c: SUB
0000527d: DUP1
0000527e: NOT
0000527f: DUP3
00005280: MLOAD
00005281: AND
00005282: DUP2
00005283: DUP5
00005284: MLOAD
00005285: AND
00005286: DUP1
00005287: DUP3
00005288: OR
00005289: DUP6
0000528a: MSTORE
0000528b: POP
0000528c: POP
0000528d: POP
0000528e: POP
0000528f: POP
00005290: POP
00005291: SWAP1
00005292: POP
00005293: ADD
00005294: SWAP2
00005295: POP
00005296: POP
00005297: PUSH1 0x00
00005299: PUSH1 0x40
0000529b: MLOAD
0000529c: DUP1
0000529d: DUP4
0000529e: SUB
0000529f: DUP2
000052a0: DUP6
000052a1: DUP8
000052a2: GAS
000052a3: CALL
000052a4: SWAP3
000052a5: POP
000052a6: POP
000052a7: POP
000052a8: RETURNDATASIZE
000052a9: DUP1
000052aa: PUSH1 0x00
000052ac: DUP2
000052ad: EQ
000052ae: PUSH2 0x52d3
000052b1: JUMPI
000052b2: PUSH1 0x40
000052b4: MLOAD
000052b5: SWAP2
000052b6: POP
000052b7: PUSH1 0x1f
000052b9: NOT
000052ba: PUSH1 0x3f
000052bc: RETURNDATASIZE
000052bd: ADD
000052be: AND
000052bf: DUP3
000052c0: ADD
000052c1: PUSH1 0x40
000052c3: MSTORE
000052c4: RETURNDATASIZE
000052c5: DUP3
000052c6: MSTORE
000052c7: RETURNDATASIZE
000052c8: PUSH1 0x00
000052ca: PUSH1 0x20
000052cc: DUP5
000052cd: ADD
000052ce: RETURNDATACOPY
000052cf: PUSH2 0x52d8
000052d2: JUMP
000052d3: JUMPDEST
000052d4: PUSH1 0x60
000052d6: SWAP2
000052d7: POP
000052d8: JUMPDEST
000052d9: POP
000052da: POP
000052db: SWAP1
000052dc: POP
000052dd: DUP1
000052de: PUSH2 0x5332
000052e1: JUMPI
000052e2: PUSH1 0x40
000052e4: MLOAD
000052e5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00005306: DUP2
00005307: MSTORE
00005308: PUSH1 0x04
0000530a: ADD
0000530b: DUP1
0000530c: DUP1
0000530d: PUSH1 0x20
0000530f: ADD
00005310: DUP3
00005311: DUP2
00005312: SUB
00005313: DUP3
00005314: MSTORE
00005315: PUSH1 0x23
00005317: DUP2
00005318: MSTORE
00005319: PUSH1 0x20
0000531b: ADD
0000531c: DUP1
0000531d: PUSH2 0x5854
00005320: PUSH1 0x23
00005322: SWAP2
00005323: CODECOPY
00005324: PUSH1 0x40
00005326: ADD
00005327: SWAP2
00005328: POP
00005329: POP
0000532a: PUSH1 0x40
0000532c: MLOAD
0000532d: DUP1
0000532e: SWAP2
0000532f: SUB
00005330: SWAP1
00005331: REVERT
00005332: JUMPDEST
00005333: POP
00005334: POP
00005335: POP
00005336: JUMP
00005337: JUMPDEST
00005338: PUSH1 0x00
0000533a: PUSH1 0x01
0000533c: SWAP1
0000533d: SLOAD
0000533e: SWAP1
0000533f: PUSH2 0x0100
00005342: EXP
00005343: SWAP1
00005344: DIV
00005345: PUSH1 0xff
00005347: AND
00005348: DUP1
00005349: PUSH2 0x5356
0000534c: JUMPI
0000534d: POP
0000534e: PUSH2 0x5355
00005351: PUSH2 0x4ad7
00005354: JUMP
00005355: JUMPDEST
00005356: JUMPDEST
00005357: DUP1
00005358: PUSH2 0x536d
0000535b: JUMPI
0000535c: POP
0000535d: PUSH1 0x00
0000535f: DUP1
00005360: SWAP1
00005361: SLOAD
00005362: SWAP1
00005363: PUSH2 0x0100
00005366: EXP
00005367: SWAP1
00005368: DIV
00005369: PUSH1 0xff
0000536b: AND
0000536c: ISZERO
0000536d: JUMPDEST
0000536e: PUSH2 0x53c2
00005371: JUMPI
00005372: PUSH1 0x40
00005374: MLOAD
00005375: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00005396: DUP2
00005397: MSTORE
00005398: PUSH1 0x04
0000539a: ADD
0000539b: DUP1
0000539c: DUP1
0000539d: PUSH1 0x20
0000539f: ADD
000053a0: DUP3
000053a1: DUP2
000053a2: SUB
000053a3: DUP3
000053a4: MSTORE
000053a5: PUSH1 0x2e
000053a7: DUP2
000053a8: MSTORE
000053a9: PUSH1 0x20
000053ab: ADD
000053ac: DUP1
000053ad: PUSH2 0x57b9
000053b0: PUSH1 0x2e
000053b2: SWAP2
000053b3: CODECOPY
000053b4: PUSH1 0x40
000053b6: ADD
000053b7: SWAP2
000053b8: POP
000053b9: POP
000053ba: PUSH1 0x40
000053bc: MLOAD
000053bd: DUP1
000053be: SWAP2
000053bf: SUB
000053c0: SWAP1
000053c1: REVERT
000053c2: JUMPDEST
000053c3: PUSH1 0x00
000053c5: DUP1
000053c6: PUSH1 0x01
000053c8: SWAP1
000053c9: SLOAD
000053ca: SWAP1
000053cb: PUSH2 0x0100
000053ce: EXP
000053cf: SWAP1
000053d0: DIV
000053d1: PUSH1 0xff
000053d3: AND
000053d4: ISZERO
000053d5: SWAP1
000053d6: POP
000053d7: DUP1
000053d8: ISZERO
000053d9: PUSH2 0x5412
000053dc: JUMPI
000053dd: PUSH1 0x01
000053df: PUSH1 0x00
000053e1: PUSH1 0x01
000053e3: PUSH2 0x0100
000053e6: EXP
000053e7: DUP2
000053e8: SLOAD
000053e9: DUP2
000053ea: PUSH1 0xff
000053ec: MUL
000053ed: NOT
000053ee: AND
000053ef: SWAP1
000053f0: DUP4
000053f1: ISZERO
000053f2: ISZERO
000053f3: MUL
000053f4: OR
000053f5: SWAP1
000053f6: SSTORE
000053f7: POP
000053f8: PUSH1 0x01
000053fa: PUSH1 0x00
000053fc: DUP1
000053fd: PUSH2 0x0100
00005400: EXP
00005401: DUP2
00005402: SLOAD
00005403: DUP2
00005404: PUSH1 0xff
00005406: MUL
00005407: NOT
00005408: AND
00005409: SWAP1
0000540a: DUP4
0000540b: ISZERO
0000540c: ISZERO
0000540d: MUL
0000540e: OR
0000540f: SWAP1
00005410: SSTORE
00005411: POP
00005412: JUMPDEST
00005413: PUSH1 0x01
00005415: PUSH1 0x33
00005417: PUSH1 0x00
00005419: PUSH2 0x0100
0000541c: EXP
0000541d: DUP2
0000541e: SLOAD
0000541f: DUP2
00005420: PUSH1 0xff
00005422: MUL
00005423: NOT
00005424: AND
00005425: SWAP1
00005426: DUP4
00005427: ISZERO
00005428: ISZERO
00005429: MUL
0000542a: OR
0000542b: SWAP1
0000542c: SSTORE
0000542d: POP
0000542e: DUP1
0000542f: ISZERO
00005430: PUSH2 0x544e
00005433: JUMPI
00005434: PUSH1 0x00
00005436: DUP1
00005437: PUSH1 0x01
00005439: PUSH2 0x0100
0000543c: EXP
0000543d: DUP2
0000543e: SLOAD
0000543f: DUP2
00005440: PUSH1 0xff
00005442: MUL
00005443: NOT
00005444: AND
00005445: SWAP1
00005446: DUP4
00005447: ISZERO
00005448: ISZERO
00005449: MUL
0000544a: OR
0000544b: SWAP1
0000544c: SSTORE
0000544d: POP
0000544e: JUMPDEST
0000544f: POP
00005450: JUMP
00005451: JUMPDEST
00005452: PUSH1 0x00
00005454: PUSH1 0x01
00005456: SWAP1
00005457: SLOAD
00005458: SWAP1
00005459: PUSH2 0x0100
0000545c: EXP
0000545d: SWAP1
0000545e: DIV
0000545f: PUSH1 0xff
00005461: AND
00005462: DUP1
00005463: PUSH2 0x5470
00005466: JUMPI
00005467: POP
00005468: PUSH2 0x546f
0000546b: PUSH2 0x4ad7
0000546e: JUMP
0000546f: JUMPDEST
00005470: JUMPDEST
00005471: DUP1
00005472: PUSH2 0x5487
00005475: JUMPI
00005476: POP
00005477: PUSH1 0x00
00005479: DUP1
0000547a: SWAP1
0000547b: SLOAD
0000547c: SWAP1
0000547d: PUSH2 0x0100
00005480: EXP
00005481: SWAP1
00005482: DIV
00005483: PUSH1 0xff
00005485: AND
00005486: ISZERO
00005487: JUMPDEST
00005488: PUSH2 0x54dc
0000548b: JUMPI
0000548c: PUSH1 0x40
0000548e: MLOAD
0000548f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000054b0: DUP2
000054b1: MSTORE
000054b2: PUSH1 0x04
000054b4: ADD
000054b5: DUP1
000054b6: DUP1
000054b7: PUSH1 0x20
000054b9: ADD
000054ba: DUP3
000054bb: DUP2
000054bc: SUB
000054bd: DUP3
000054be: MSTORE
000054bf: PUSH1 0x2e
000054c1: DUP2
000054c2: MSTORE
000054c3: PUSH1 0x20
000054c5: ADD
000054c6: DUP1
000054c7: PUSH2 0x57b9
000054ca: PUSH1 0x2e
000054cc: SWAP2
000054cd: CODECOPY
000054ce: PUSH1 0x40
000054d0: ADD
000054d1: SWAP2
000054d2: POP
000054d3: POP
000054d4: PUSH1 0x40
000054d6: MLOAD
000054d7: DUP1
000054d8: SWAP2
000054d9: SUB
000054da: SWAP1
000054db: REVERT
000054dc: JUMPDEST
000054dd: PUSH1 0x00
000054df: DUP1
000054e0: PUSH1 0x01
000054e2: SWAP1
000054e3: SLOAD
000054e4: SWAP1
000054e5: PUSH2 0x0100
000054e8: EXP
000054e9: SWAP1
000054ea: DIV
000054eb: PUSH1 0xff
000054ed: AND
000054ee: ISZERO
000054ef: SWAP1
000054f0: POP
000054f1: DUP1
000054f2: ISZERO
000054f3: PUSH2 0x552c
000054f6: JUMPI
000054f7: PUSH1 0x01
000054f9: PUSH1 0x00
000054fb: PUSH1 0x01
000054fd: PUSH2 0x0100
00005500: EXP
00005501: DUP2
00005502: SLOAD
00005503: DUP2
00005504: PUSH1 0xff
00005506: MUL
00005507: NOT
00005508: AND
00005509: SWAP1
0000550a: DUP4
0000550b: ISZERO
0000550c: ISZERO
0000550d: MUL
0000550e: OR
0000550f: SWAP1
00005510: SSTORE
00005511: POP
00005512: PUSH1 0x01
00005514: PUSH1 0x00
00005516: DUP1
00005517: PUSH2 0x0100
0000551a: EXP
0000551b: DUP2
0000551c: SLOAD
0000551d: DUP2
0000551e: PUSH1 0xff
00005520: MUL
00005521: NOT
00005522: AND
00005523: SWAP1
00005524: DUP4
00005525: ISZERO
00005526: ISZERO
00005527: MUL
00005528: OR
00005529: SWAP1
0000552a: SSTORE
0000552b: POP
0000552c: JUMPDEST
0000552d: DUP1
0000552e: ISZERO
0000552f: PUSH2 0x554d
00005532: JUMPI
00005533: PUSH1 0x00
00005535: DUP1
00005536: PUSH1 0x01
00005538: PUSH2 0x0100
0000553b: EXP
0000553c: DUP2
0000553d: SLOAD
0000553e: DUP2
0000553f: PUSH1 0xff
00005541: MUL
00005542: NOT
00005543: AND
00005544: SWAP1
00005545: DUP4
00005546: ISZERO
00005547: ISZERO
00005548: MUL
00005549: OR
0000554a: SWAP1
0000554b: SSTORE
0000554c: POP
0000554d: JUMPDEST
0000554e: POP
0000554f: JUMP
00005550: JUMPDEST
00005551: PUSH1 0x00
00005553: PUSH1 0x01
00005555: SWAP1
00005556: SLOAD
00005557: SWAP1
00005558: PUSH2 0x0100
0000555b: EXP
0000555c: SWAP1
0000555d: DIV
0000555e: PUSH1 0xff
00005560: AND
00005561: DUP1
00005562: PUSH2 0x556f
00005565: JUMPI
00005566: POP
00005567: PUSH2 0x556e
0000556a: PUSH2 0x4ad7
0000556d: JUMP
0000556e: JUMPDEST
0000556f: JUMPDEST
00005570: DUP1
00005571: PUSH2 0x5586
00005574: JUMPI
00005575: POP
00005576: PUSH1 0x00
00005578: DUP1
00005579: SWAP1
0000557a: SLOAD
0000557b: SWAP1
0000557c: PUSH2 0x0100
0000557f: EXP
00005580: SWAP1
00005581: DIV
00005582: PUSH1 0xff
00005584: AND
00005585: ISZERO
00005586: JUMPDEST
00005587: PUSH2 0x55db
0000558a: JUMPI
0000558b: PUSH1 0x40
0000558d: MLOAD
0000558e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000055af: DUP2
000055b0: MSTORE
000055b1: PUSH1 0x04
000055b3: ADD
000055b4: DUP1
000055b5: DUP1
000055b6: PUSH1 0x20
000055b8: ADD
000055b9: DUP3
000055ba: DUP2
000055bb: SUB
000055bc: DUP3
000055bd: MSTORE
000055be: PUSH1 0x2e
000055c0: DUP2
000055c1: MSTORE
000055c2: PUSH1 0x20
000055c4: ADD
000055c5: DUP1
000055c6: PUSH2 0x57b9
000055c9: PUSH1 0x2e
000055cb: SWAP2
000055cc: CODECOPY
000055cd: PUSH1 0x40
000055cf: ADD
000055d0: SWAP2
000055d1: POP
000055d2: POP
000055d3: PUSH1 0x40
000055d5: MLOAD
000055d6: DUP1
000055d7: SWAP2
000055d8: SUB
000055d9: SWAP1
000055da: REVERT
000055db: JUMPDEST
000055dc: PUSH1 0x00
000055de: DUP1
000055df: PUSH1 0x01
000055e1: SWAP1
000055e2: SLOAD
000055e3: SWAP1
000055e4: PUSH2 0x0100
000055e7: EXP
000055e8: SWAP1
000055e9: DIV
000055ea: PUSH1 0xff
000055ec: AND
000055ed: ISZERO
000055ee: SWAP1
000055ef: POP
000055f0: DUP1
000055f1: ISZERO
000055f2: PUSH2 0x562b
000055f5: JUMPI
000055f6: PUSH1 0x01
000055f8: PUSH1 0x00
000055fa: PUSH1 0x01
000055fc: PUSH2 0x0100
000055ff: EXP
00005600: DUP2
00005601: SLOAD
00005602: DUP2
00005603: PUSH1 0xff
00005605: MUL
00005606: NOT
00005607: AND
00005608: SWAP1
00005609: DUP4
0000560a: ISZERO
0000560b: ISZERO
0000560c: MUL
0000560d: OR
0000560e: SWAP1
0000560f: SSTORE
00005610: POP
00005611: PUSH1 0x01
00005613: PUSH1 0x00
00005615: DUP1
00005616: PUSH2 0x0100
00005619: EXP
0000561a: DUP2
0000561b: SLOAD
0000561c: DUP2
0000561d: PUSH1 0xff
0000561f: MUL
00005620: NOT
00005621: AND
00005622: SWAP1
00005623: DUP4
00005624: ISZERO
00005625: ISZERO
00005626: MUL
00005627: OR
00005628: SWAP1
00005629: SSTORE
0000562a: POP
0000562b: JUMPDEST
0000562c: PUSH1 0x00
0000562e: PUSH2 0x5635
00005631: PUSH2 0x4151
00005634: JUMP
00005635: JUMPDEST
00005636: SWAP1
00005637: POP
00005638: DUP1
00005639: PUSH1 0x97
0000563b: PUSH1 0x00
0000563d: PUSH2 0x0100
00005640: EXP
00005641: DUP2
00005642: SLOAD
00005643: DUP2
00005644: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005659: MUL
0000565a: NOT
0000565b: AND
0000565c: SWAP1
0000565d: DUP4
0000565e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005673: AND
00005674: MUL
00005675: OR
00005676: SWAP1
00005677: SSTORE
00005678: POP
00005679: DUP1
0000567a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000568f: AND
00005690: PUSH1 0x00
00005692: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000056a7: AND
000056a8: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000056c9: PUSH1 0x40
000056cb: MLOAD
000056cc: PUSH1 0x40
000056ce: MLOAD
000056cf: DUP1
000056d0: SWAP2
000056d1: SUB
000056d2: SWAP1
000056d3: LOG3
000056d4: POP
000056d5: DUP1
000056d6: ISZERO
000056d7: PUSH2 0x56f5
000056da: JUMPI
000056db: PUSH1 0x00
000056dd: DUP1
000056de: PUSH1 0x01
000056e0: PUSH2 0x0100
000056e3: EXP
000056e4: DUP2
000056e5: SLOAD
000056e6: DUP2
000056e7: PUSH1 0xff
000056e9: MUL
000056ea: NOT
000056eb: AND
000056ec: SWAP1
000056ed: DUP4
000056ee: ISZERO
000056ef: ISZERO
000056f0: MUL
000056f1: OR
000056f2: SWAP1
000056f3: SSTORE
000056f4: POP
000056f5: JUMPDEST
000056f6: POP
000056f7: JUMP
000056f8: JUMPDEST
000056f9: PUSH1 0x00
000056fb: DUP1
000056fc: PUSH1 0x00
000056fe: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
0000571f: PUSH1 0x00
00005721: SHL
00005722: SWAP1
00005723: POP
00005724: DUP4
00005725: EXTCODEHASH
00005726: SWAP2
00005727: POP
00005728: DUP1
00005729: DUP3
0000572a: EQ
0000572b: ISZERO
0000572c: DUP1
0000572d: ISZERO
0000572e: PUSH2 0x573a
00005731: JUMPI
00005732: POP
00005733: PUSH1 0x00
00005735: DUP1
00005736: SHL
00005737: DUP3
00005738: EQ
00005739: ISZERO
0000573a: JUMPDEST
0000573b: SWAP3
0000573c: POP
0000573d: POP
0000573e: POP
0000573f: SWAP2
00005740: SWAP1
00005741: POP
00005742: JUMP
00005743: INVALID
00005744: UNKNOWN(0x4F)
00005745: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
0000575e: PUSH27 0x65726f20616464726573734552523a3a4944454e544943414c5f41
0000577a: DIFFICULTY
0000577b: DIFFICULTY
0000577c: MSTORE
0000577d: GASLIMIT
0000577e: MSTORE8
0000577f: MSTORE8
00005780: GASLIMIT
00005781: MSTORE8
00005782: GASPRICE
00005783: KECCAK256
00005784: POP
00005785: PUSH2 0x6972
00005788: KECCAK256
00005789: PUSH5 0x6f6573206e
0000578f: PUSH16 0x7420657869737421536166654d617468
000057a0: GASPRICE
000057a1: KECCAK256
000057a2: PUSH14 0x756c7469706c69636174696f6e20
000057b1: PUSH16 0x766572666c6f77436f6e747261637420
000057c2: PUSH10 0x6e7374616e6365206861
000057cd: PUSH20 0x20616c7265616479206265656e20696e69746961
000057e2: PUSH13 0x697a656453414e495459204348
000057f0: GASLIMIT
000057f1: NUMBER
000057f2: UNKNOWN(0x4B)
000057f3: KECCAK256
000057f4: CHAINID
000057f5: COINBASE
000057f6: BLOBHASH
000057f7: UNKNOWN(0x4C)
000057f8: GASPRICE
000057f9: KECCAK256
000057fa: PUSH2 0x6c6c
000057fd: PUSH16 0x63617465645570546f45706f63684944
0000580e: KECCAK256
0000580f: RETURNDATACOPY
00005810: KECCAK256
00005811: PUSH4 0x75727265
00005816: PUSH15 0x7445706f636849444552523a3a4e4f
00005826: PUSH0
00005827: POP
00005828: GASLIMIT
00005829: MSTORE
0000582a: UNKNOWN(0x4D)
0000582b: BLOBHASH
0000582c: MSTORE8
0000582d: MSTORE8
0000582e: BLOBHASH
0000582f: UNKNOWN(0x4F)
00005830: UNKNOWN(0x4E)
00005831: GASPRICE
00005832: KECCAK256
00005833: UNKNOWN(0x4D)
00005834: PUSH2 0x6b65
00005837: KECCAK256
00005838: PUSH20 0x75726520746f2061646420656e6f75676820616c
0000584d: PUSH13 0x6f77616e63655472616e736665
0000585b: PUSH19 0x48656c7065723a204554485f5452414e534645
0000586f: MSTORE
00005870: PUSH0
00005871: CHAINID
00005872: COINBASE
00005873: BLOBHASH
00005874: UNKNOWN(0x4C)
00005875: GASLIMIT
00005876: DIFFICULTY
00005877: MSTORE8
00005878: PUSH2 0x6665
0000587b: GASLIMIT
0000587c: MSTORE
0000587d: NUMBER
0000587e: ORIGIN
0000587f: ADDRESS
00005880: GASPRICE
00005881: KECCAK256
00005882: GASLIMIT
00005883: MSTORE
00005884: NUMBER
00005885: ORIGIN
00005886: ADDRESS
00005887: KECCAK256
00005888: PUSH16 0x7065726174696f6e20646964206e6f74
00005899: KECCAK256
0000589a: PUSH20 0x756363656564a2646970667358221220d8824c35
000058af: UNKNOWN(0xE4)
000058b0: UNKNOWN(0x0C)
000058b1: UNKNOWN(0xE8)
000058b2: CREATE2
000058b3: PUSH15 0xc418c9b7311251e311e2b956100c53
000058c3: UNKNOWN(0xCC)
000058c4: SIGNEXTEND
000058c5: BASEFEE
000058c6: EQ
000058c7: LOG2
000058c8: UNKNOWN(0xBD)
000058c9: SWAP11
000058ca: UNKNOWN(0xD9)
000058cb: PUSH5 0x736f6c6343
000058d1: STOP
000058d2: MOD
000058d3: MOD
000058d4: STOP
000058d5: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf897a22b",
            "selector": "0xf897a22b",
            "calldata_variants": [
                "0xf897a22b",
                "0xf897a22b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa2eed52",
            "selector": "0xfa2eed52",
            "calldata_variants": [
                "0xfa2eed52",
                "0xfa2eed520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcce7b49",
            "selector": "0xfcce7b49",
            "calldata_variants": [
                "0xfcce7b49",
                "0xfcce7b490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe57d91a6",
            "selector": "0xe57d91a6",
            "calldata_variants": [
                "0xe57d91a6",
                "0xe57d91a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5b26495",
            "selector": "0xe5b26495",
            "calldata_variants": [
                "0xe5b26495",
                "0xe5b264950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8ff2b72",
            "selector": "0xe8ff2b72",
            "calldata_variants": [
                "0xe8ff2b72",
                "0xe8ff2b720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23efd9",
            "selector": "0xdf23efd9",
            "calldata_variants": [
                "0xdf23efd9",
                "0xdf23efd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 22654,
            "type": "tx_origin_used"
        },
        {
            "pc": 22661,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x2ce0ab2d54d9efd71d4a16b80c5fab7935134763084b03e77448af9c1d8639ae
call_targets: 0xd9ba88441ae3766f77a6582bc711ba9b7378fb61
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2ce0ab2d54d9efd71d4a16b80c5fab7935134763084b03e77448af9c1d8639ae",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd9ba88441ae3766f77a6582bc711ba9b7378fb61"
    ],
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf897a22b",
            "selector": "0xf897a22b",
            "calldata_variants": [
                "0xf897a22b",
                "0xf897a22b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa2eed52",
            "selector": "0xfa2eed52",
            "calldata_variants": [
                "0xfa2eed52",
                "0xfa2eed520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcce7b49",
            "selector": "0xfcce7b49",
            "calldata_variants": [
                "0xfcce7b49",
                "0xfcce7b490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe57d91a6",
            "selector": "0xe57d91a6",
            "calldata_variants": [
                "0xe57d91a6",
                "0xe57d91a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5b26495",
            "selector": "0xe5b26495",
            "calldata_variants": [
                "0xe5b26495",
                "0xe5b264950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8ff2b72",
            "selector": "0xe8ff2b72",
            "calldata_variants": [
                "0xe8ff2b72",
                "0xe8ff2b720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23efd9",
            "selector": "0xdf23efd9",
            "calldata_variants": [
                "0xdf23efd9",
                "0xdf23efd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 20640,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 21155,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 22654,
            "type": "tx_origin_used"
        },
        {
            "pc": 22661,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x2ce0ab2d54d9efd71d4a16b80c5fab7935134763084b03e77448af9c1d8639ae
call_targets: 0xd9ba88441ae3766f77a6582bc711ba9b7378fb61
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2ce0ab2d54d9efd71d4a16b80c5fab7935134763084b03e77448af9c1d8639ae",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd9ba88441ae3766f77a6582bc711ba9b7378fb61"
    ],
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf897a22b",
            "selector": "0xf897a22b",
            "calldata_variants": [
                "0xf897a22b",
                "0xf897a22b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa2eed52",
            "selector": "0xfa2eed52",
            "calldata_variants": [
                "0xfa2eed52",
                "0xfa2eed520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcce7b49",
            "selector": "0xfcce7b49",
            "calldata_variants": [
                "0xfcce7b49",
                "0xfcce7b490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe57d91a6",
            "selector": "0xe57d91a6",
            "calldata_variants": [
                "0xe57d91a6",
                "0xe57d91a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5b26495",
            "selector": "0xe5b26495",
            "calldata_variants": [
                "0xe5b26495",
                "0xe5b264950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8ff2b72",
            "selector": "0xe8ff2b72",
            "calldata_variants": [
                "0xe8ff2b72",
                "0xe8ff2b720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23efd9",
            "selector": "0xdf23efd9",
            "calldata_variants": [
                "0xdf23efd9",
                "0xdf23efd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 20640,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 21155,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 22654,
            "type": "tx_origin_used"
        },
        {
            "pc": 22661,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x815c13d7d177f7d2df0f362fc06a951758f97d3a8168609bcf0450bdcbfa68c4
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x815c13d7d177f7d2df0f362fc06a951758f97d3a8168609bcf0450bdcbfa68c4",
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf897a22b",
            "selector": "0xf897a22b",
            "calldata_variants": [
                "0xf897a22b",
                "0xf897a22b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa2eed52",
            "selector": "0xfa2eed52",
            "calldata_variants": [
                "0xfa2eed52",
                "0xfa2eed520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfcce7b49",
            "selector": "0xfcce7b49",
            "calldata_variants": [
                "0xfcce7b49",
                "0xfcce7b490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe57d91a6",
            "selector": "0xe57d91a6",
            "calldata_variants": [
                "0xe57d91a6",
                "0xe57d91a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5b26495",
            "selector": "0xe5b26495",
            "calldata_variants": [
                "0xe5b26495",
                "0xe5b264950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8ff2b72",
            "selector": "0xe8ff2b72",
            "calldata_variants": [
                "0xe8ff2b72",
                "0xe8ff2b720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23efd9",
            "selector": "0xdf23efd9",
            "calldata_variants": [
                "0xdf23efd9",
                "0xdf23efd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 12
}
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": 12
}