c50edc8e-3ef7-4b91-a195-fc49f1056510
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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":[]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "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 |
viewtrace_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 |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 12
}
|