7d2bac58-a289-4234-a31f-53e8a3be7a1c
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 |
|---|---|---|---|---|
| 31786 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 96139 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 96140 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 96141 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 96142 | capability.graph | complete | 1 / 3 | 1 week ago |
| 96143 | detector.run | complete | 1 / 3 | 1 week ago |
| 96144 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:304257] OpenAI Codex v0.77.0 (research preview)
[codex:304257] --------
[codex:304257] workdir: /tmp/codex-multi-fozsh6is
[codex:304257] model: gpt-5.2-codex
[codex:304257] provider: openai
[codex:304257] approval: never
[codex:304257] sandbox: read-only
[codex:304257] reasoning effort: xhigh
[codex:304257] reasoning summaries: auto
[codex:304257] session id: 019b901d-824c-7351-96d0-e4296d5c1c30
[codex:304257] --------
[codex:304257] user
[codex:304257] 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:304257]
[codex:304257] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:304257]
[codex:304257] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:304257] - Gas inefficiency, code quality, or best practices
[codex:304257] - Theoretical vulnerabilities without a clear extraction path
[codex:304257] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:304257] - Issues requiring social engineering or off-chain coordination
[codex:304257]
[codex:304257] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:304257] - CALL/DELEGATECALL with controllable destination or calldata
[codex:304257] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:304257] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:304257] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:304257] - External calls before state updates (reentrancy)
[codex:304257] - SELFDESTRUCT with controllable beneficiary
[codex:304257] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:304257]
[codex:304257] For each finding, you MUST explain:
[codex:304257] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:304257] 2. The concrete sequence of transactions to extract value
[codex:304257] 3. Why you believe this is exploitable (not just suspicious)
[codex:304257]
[codex:304257] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:304257] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:304257]
[codex:304257] Output MUST be valid JSON matching the provided schema.
[codex:304257] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:304257] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:304257] mcp startup: no servers
[codex:304257]
[codex:304257] thinking
[codex:304257] **Preparing to review bytecode**
[codex:304257] exec
[codex:304257] /bin/bash -lc ls in /tmp/codex-multi-fozsh6is succeeded in 5ms:
[codex:304257] BYTECODE_BUNDLE.txt
[codex:304257] codex-output-schema.json
[codex:304257] exec
[codex:304257] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-fozsh6is succeeded in 5ms:
[codex:304257] Runtime bytecode bundle for best-effort auditing.
[codex:304257] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:304257]
[codex:304257] FILE: runtime_bytecode.hex
[codex:304257] 0x6080604052600436106101a05763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663046111e9811461042e57806306fdde03146104815780630783d8201461050b57806310f01eba1461053b578063182374761461055c5780632a12408e146105be5780632e19ebdc146106295780632e1a7d4d1461064157806335f0d665146106595780634496b502146106715780634c1f76351461068957806358931f7a146106dd5780636cb69f42146106e85780636e725302146106fd5780636ff08dd61461071b5780639201de551461073357806395d89b4114610481578063a07456231461074b578063a4e8535814610763578063a5fc299414610781578063a8bda3e9146107a5578063a9b86924146107c3578063ada52d7c146107ce578063adbc9bed146107e3578063ce9ae91c146107fe578063cfb5192814610819578063d53b267914610872578063d9a9662b1461089b578063db8f0301146108b3578063de7874f3146108ce578063e5af350e14610916578063ee5f8c8f1461092e578063fefc38fd14610943575b601554600090819060ff161515600114610206576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b33321461024b576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca008110156102a3576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af68000008111156102f3576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6102fd6000610958565b3360008181526004602052604090205415156103665760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b3360009081526004602090815260408083205480845260069092529091206002015490945092508215156103e4576040805160e560020a62461bcd02815260206004820152600f60248201527f6d75737420686176652061666669640000000000000000000000000000000000604482015290519081900360640190fd5b6103ef848434610a19565b60408051348152426020820152815186927f17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0928290030190a250505050005b60408051602060046024803582810135601f810185900485028601850190965285855261047f958335953695604494919390910191908190840183828082843750949750610a6b9650505050505050565b005b34801561048d57600080fd5b50610496610ead565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104d05781810151838201526020016104b8565b50505050905090810190601f1680156104fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561051757600080fd5b50610529600435602435604435610ee4565b60408051918252519081900360200190f35b34801561054757600080fd5b50610529600160a060020a0360043516610f49565b34801561056857600080fd5b5061057d600160a060020a0360043516610f5b565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156105ca57600080fd5b506105d3611063565b604080519b8c5260208c019a909a528a8a019890985260608a0196909652608089019490945260a088019290925260c087015260e086015261010085015261012084015261014083015251908190036101600190f35b34801561063557600080fd5b50610529600435611087565b34801561064d57600080fd5b5061047f600435611099565b34801561066557600080fd5b5061047f600435611324565b34801561067d57600080fd5b5061047f600435611597565b34801561069557600080fd5b506106aa600160a060020a0360043516611604565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61047f6004356116e4565b3480156106f457600080fd5b506106aa61196c565b34801561070957600080fd5b50610529600435602435604435611a61565b34801561072757600080fd5b50610529600435611b1a565b34801561073f57600080fd5b50610496600435611b42565b34801561075757600080fd5b50610529600435611c88565b34801561076f57600080fd5b50610529600435602435604435611c9a565b34801561078d57600080fd5b5061047f600160a060020a0360043516602435611cac565b3480156107b157600080fd5b50610529600435602435604435612038565b61047f600435612054565b3480156107da57600080fd5b506105296122da565b3480156107ef57600080fd5b506105296004356024356122e0565b34801561080a57600080fd5b5061052960043560243561232f565b34801561082557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526105299436949293602493928401919081908401838280828437509497506123589650505050505050565b34801561087e57600080fd5b5061088761235f565b604080519115158252519081900360200190f35b3480156108a757600080fd5b5061057d600435612368565b3480156108bf57600080fd5b506105296004356024356123b0565b3480156108da57600080fd5b506108e66004356123c1565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561092257600080fd5b5061047f6004356123f2565b34801561093a57600080fd5b50610529612667565b34801561094f57600080fd5b5061047f61266d565b600080600a6000015442101561096d57610a14565b600a5461098190429063ffffffff6126ef16565b91506109986001548361270d90919063ffffffff16565b60010190508215806109a957508083115b156109b2578092505b600e54601281905560105460138190556109cd918591612730565b6014556011556001546109fa906109eb90859063ffffffff61280016565b600a549063ffffffff61282e16565b600a55600b54610a10908463ffffffff61282e16565b600b555b505050565b600080610a2d83606463ffffffff61280016565b9150610a418361027163ffffffff61280016565b9050610a508585600085612840565b610a5a85826128c1565b610a648584612940565b5050505050565b601554600090819081908190819060ff161515600114610ad7576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b333214610b1c576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca00811015610b74576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115610bc4576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b610bce6000610958565b336000818152600460205260409020541515610c375760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b67016345785d8a0000341015610c97576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f7420656e6f75676820657468000000000000000000000000000000000000604482015290519081900360640190fd5b610ca08861299b565b60008181526005602052604090205490975015610d07576040805160e560020a62461bcd02815260206004820152600860248201527f686173206e616d65000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600460209081526040808320548a84526005835281842081905580845260069092529091206001018890559550678ac7230489e800009450610d4e85611b1a565b9350610d5d86868660006131ae565b610d67868a613271565b9250821515610d7e57610d793461336c565b610e61565b610d9d610d983466b1a2bc2ec5000063ffffffff6126ef16565b61336c565b600083815260066020526040808220549051600160a060020a03909116919066b1a2bc2ec500009082818181858883f19350505050158015610de3573d6000803e3d6000fd5b50600083815260076020526040902060020154610e0d9066b1a2bc2ec5000063ffffffff61282e16565b600084815260076020526040902060020155610e618684610e466064610e3a8a600563ffffffff61280016565b9063ffffffff61270d16565b610e5c6064610e3a8a600563ffffffff61280016565b6133aa565b604080518881523460208201524281830152905187917f1d1175eab16695c0a8f6d8783added39f80484d19702efe9df55a5fb190f86c4919081900360600190a2505050505050505050565b60408051808201909152600681527f746f6b656e740000000000000000000000000000000000000000000000000000602082015281565b60008084118015610ef55750600083115b8015610f015750600082115b15610f2a57610f23610f14858585611c9a565b600c549063ffffffff6126ef16565b9050610f42565b601254601354610f3f91610f14916000611c9a565b90505b9392505050565b60046020526000908152604090205481565b600160a060020a038116600090815260046020526040812054601254601354601154600a54859485948594859485948594859490939092909185904210610fd757600154600a54610fb89190610e3a90429063ffffffff6126ef16565b600e5460105490955093506001019050610fd3818585612730565b5091505b600085815260076020526040902080546002820154600383015460048401546005850154600190950154939492939192909161101590869089612038565b600760008c815260200190815260200160002060060154600760008d8152602001908152602001600020600701549c509c509c509c509c509c509c509c505050505050919395975091939597565b600a54600b54600c54600d54600e54600f546010546011546012546013546014548b565b60056020526000908152604090205481565b60155460009060ff1615156001146110fd576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b333214611142576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b81633b9aca0081101561119a576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af68000008111156111ea576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6111f46000610958565b33600090815260046020526040902054915081151561124b576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b611255828461347b565b60008281526007602081905260409091200154611278908463ffffffff61282e16565b60008381526007602081905260409091200155600d5461129e908463ffffffff61282e16565b600d55600082815260066020526040808220549051600160a060020a039091169185156108fc02918691818181858888f193505050501580156112e5573d6000803e3d6000fd5b5060408051848152426020820152815184927f2d722d012bc607b5f83f79311b4c51c5bba4bf05b49329dfe18bba104f9d1570928290030190a2505050565b601554600090819060ff16151560011461138a576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b3332146113cf576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b82633b9aca00811015611427576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115611477576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6114816000610958565b3360009081526004602052604090205492508215156114d8576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b6000838152600660205260409020600201549150811515611543576040805160e560020a62461bcd02815260206004820152601160248201527f6572726f722c206e656564206166664944000000000000000000000000000000604482015290519081900360640190fd5b61154d838561347b565b611558838386610a19565b60408051858152426020820152815185927fef578942396a62165c09f6f9fb96b70905e4521e022eab9b718f8436083620d5928290030190a250505050565b60155460ff1615156001146115f8576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b61160181610958565b50565b600160a060020a038116600090815260046020526040812054601254601354601154600a54859485948594859485948590421061167657600154600a546116579190610e3a90429063ffffffff6126ef16565b600e5460105490955093506001019050611672818585612730565b5091505b60008581526007602052604090206001015461169290836122e0565b61169c868461232f565b6116ab6064610e3a898761232f565b60008881526006602052604090206003810154600190910154939e50919c509a5098509496509394508593505050505091939550919395565b601554600090819060ff16151560011461174a576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b33321461178f576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca008110156117e7576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115611837576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6118416000610958565b3360008181526004602052604090205415156118aa5760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b3360009081526004602052604090205493506118c68486613271565b925082151561191f576040805160e560020a62461bcd02815260206004820152600f60248201527f6d75737420686176652061666669640000000000000000000000000000000000604482015290519081900360640190fd5b61192c8484346000612840565b60408051348152426020820152815186927ff7853eb9f87cc79be5225a10e98aeed3d2359ad4033582aabb0511937fcbda4f928290030190a25050505050565b601254601354601154600a546014546000948594859485948594859493929190854283116119f857600154600a546119b09190610e3a90429063ffffffff6126ef16565b600e54601054909750955060010190506119cb818787612730565b60015491955092506119f5906119e890839063ffffffff61280016565b849063ffffffff61282e16565b92505b82611a04878787610ee4565b601054611a1190876122e0565b611a1c898989612038565b611a3c6064610e3a88611a308e8e8e612038565b9063ffffffff6126ef16565b611a478b8b8b611a61565b9b509b509b509b509b509b50505050505050909192939495565b600080600085118015611a745750600084115b8015611a805750600083115b15611a9757611a90858585610ee4565b9150611aa7565b611aa46000806000610ee4565b91505b601054611ab490846122e0565b9050801515611ac65760009150611b12565b611af681610e3a60b4816064611aea88670de0b6b3a764000063ffffffff61280016565b9063ffffffff61280016565b91506601c6bf52634000821115611b12576601c6bf5263400091505b509392505050565b601154600090611b3c90610e3a84670de0b6b3a764000063ffffffff61280016565b92915050565b6040805160208082528183019092526060918291600091829182918591908082016104008038833901905050945060009350600092505b6020831015611bee576008830260020a870291507fff00000000000000000000000000000000000000000000000000000000000000821615611be357818585815181101515611bc457fe5b906020010190600160f860020a031916908160001a9053506001909301925b600190920191611b79565b836040519080825280601f01601f191660200182016040528015611c1c578160200160208202803883390190505b509050600092505b83831015611c7e578483815181101515611c3a57fe5b90602001015160f860020a900460f860020a028184815181101515611c5b57fe5b906020010190600160f860020a031916908160001a905350600190920191611c24565b9695505050505050565b60086020526000908152604090205481565b6000610f3f6064610e3a868686612038565b6015546000908190819060ff161515600114611d14576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b333214611d59576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b600160a060020a03851660009081526004602052604090205485901515611dcd5760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b611dd76000610958565b6044361015611e30576040805160e560020a62461bcd02815260206004820152601660248201527f6e6f7420656e6f7567682064617461206c656e67746800000000000000000000604482015290519081900360640190fd5b336000908152600460205260409020549350831515611e87576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b600084815260066020526040902060030154851115611ef0576040805160e560020a62461bcd02815260206004820152601760248201527f6572726f722c206e6f7420656e6f7567682073746f7265000000000000000000604482015290519081900360640190fd5b600084815260066020526040902060030154611f12908663ffffffff6126ef16565b600085815260066020908152604080832060030193909355600160a060020a0389168252600490522054925082841415611f96576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f742073656e6420746f206d65000000000000000000000000000000000000604482015290519081900360640190fd5b611f9f85611b1a565b9150611fae83868460006131ae565b600083815260066020526040902060020154611ff2908490611fdc6064610e3a8a600563ffffffff61280016565b610e5c6064610e3a88600563ffffffff61280016565b604080518681524260208201528151859287927f6c354bfd83b3215eed14779fb8c4eae2793efca05e2394c9d04328494204d067929081900390910190a3505050505050565b6000610f3f61204784846122e0565b859063ffffffff6126ef16565b601554600090819060ff1615156001146120ba576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b3332146120ff576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca00811015612157576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af68000008111156121a7576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6121b16000610958565b33600081815260046020526040902054151561221a5760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b3360009081526004602052604090205493506122368486613271565b925082151561228f576040805160e560020a62461bcd02815260206004820152600f60248201527f6d75737420686176652061666669640000000000000000000000000000000000604482015290519081900360640190fd5b61229a848434610a19565b60408051348152426020820152815186927f17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0928290030190a25050505050565b60025481565b60008082111561230d57612306670de0b6b3a7640000610e3a858563ffffffff61280016565b9050611b3c565b601154610f4290670de0b6b3a764000090610e3a90869063ffffffff61280016565b600082815260076020526040812060058101548154600190920154610f4292611a309186612038565b6020015190565b60155460ff1681565b60076020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154905088565b6000610f426064610e3a858561232f565b6006602052600090815260409020805460018201546002830154600390930154600160a060020a0390921692909184565b601554600090819060ff161515600114612458576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b33321461249d576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b82633b9aca008110156124f5576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115612545576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b61254f6000610958565b3360009081526004602052604090205492508215156125a6576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b6000838152600660205260409020600201549150811515612611576040805160e560020a62461bcd02815260206004820152601160248201527f6572726f722c206e656564206166664944000000000000000000000000000000604482015290519081900360640190fd5b61261b838561347b565b6126288383866000612840565b60408051858152426020820152815185927f96ad13f6e4fc98a529562e3ed06929dbebda1a7a2208473422df505f0d55d5f8928290030190a250505050565b60015481565b600054600160a060020a031633146126cf576040805160e560020a62461bcd02815260206004820152600960248201527f6e6f742061646d696e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60155460ff16156126df576126ed565b6015805460ff191660011790555b565b600080838311156126ff57600080fd5b5050808203805b5092915050565b60008080831161271c57600080fd5b828481151561272757fe5b04949350505050565b6000808080861161278b576040805160e560020a62461bcd02815260206004820152600960248201527f726e64206572726f720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b505060115460145490915060005b858110156127f7576127ac858585612038565b91506127ed670de0b6b3a7640000610e3a6127e06127cb898989611a61565b670de0b6b3a76400009063ffffffff6126ef16565b869063ffffffff61280016565b9250600101612799565b50935093915050565b6000808315156128135760009150612706565b5082820282848281151561282357fe5b0414610f4257600080fd5b600082820183811015610f4257600080fd5b6000808311156128785761286c826128608561027163ffffffff61280016565b9063ffffffff61282e16565b91506128788584612940565b61288182611b1a565b905061289085838360006131ae565b610a6485856128ab6064610e3a87600563ffffffff61280016565b610e5c6064610e3a87600563ffffffff61280016565b6000828152600660205260409020600301546128e3908263ffffffff61282e16565b600083815260066020908152604080832060030193909355600790522060040154612914908263ffffffff61282e16565b600083815260076020526040902060040155600f54612939908263ffffffff61282e16565b600f555050565b60008281526007602052604090206006015461296390829063ffffffff61282e16565b60008381526007602052604090206006015561297e81613528565b600c54909150612994908263ffffffff61282e16565b600c555050565b80516000908290828080602084118015906129b65750600084115b1515612a32576040805160e560020a62461bcd02815260206004820152602a60248201527f737472696e67206d757374206265206265747765656e203120616e642033322060448201527f6368617261637465727300000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515612a4157fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214158015612aa857508460018503815181101515612a8057fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214155b1515612b24576040805160e560020a62461bcd02815260206004820152602560248201527f737472696e672063616e6e6f74207374617274206f7220656e6420776974682060448201527f7370616365000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515612b3357fe5b90602001015160f860020a900460f860020a02600160f860020a031916603060f860020a021415612c7657846001815181101515612b6d57fe5b90602001015160f860020a900460f860020a02600160f860020a031916607860f860020a0214151515612bea576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030780000000000604482015290519081900360640190fd5b846001815181101515612bf957fe5b90602001015160f860020a900460f860020a02600160f860020a031916605860f860020a0214151515612c76576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030580000000000604482015290519081900360640190fd5b600091505b838210156131465784517f400000000000000000000000000000000000000000000000000000000000000090869084908110612cb357fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015612d27575084517f5b0000000000000000000000000000000000000000000000000000000000000090869084908110612d0857fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b15612d94578482815181101515612d3a57fe5b90602001015160f860020a900460f860020a0260f860020a900460200160f860020a028583815181101515612d6b57fe5b906020010190600160f860020a031916908160001a905350821515612d8f57600192505b61313b565b8482815181101515612da257fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a021480612e72575084517f600000000000000000000000000000000000000000000000000000000000000090869084908110612dfe57fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015612e72575084517f7b0000000000000000000000000000000000000000000000000000000000000090869084908110612e5357fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b80612f1c575084517f2f0000000000000000000000000000000000000000000000000000000000000090869084908110612ea857fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015612f1c575084517f3a0000000000000000000000000000000000000000000000000000000000000090869084908110612efd57fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b1515612f98576040805160e560020a62461bcd02815260206004820152602260248201527f737472696e6720636f6e7461696e7320696e76616c696420636861726163746560448201527f7273000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8482815181101515612fa657fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a021415613085578482600101815181101515612fe257fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214151515613085576040805160e560020a62461bcd02815260206004820152602860248201527f737472696e672063616e6e6f7420636f6e7461696e20636f6e7365637574697660448201527f6520737061636573000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b82158015613131575084517f3000000000000000000000000000000000000000000000000000000000000000908690849081106130be57fe5b90602001015160f860020a900460f860020a02600160f860020a0319161080613131575084517f39000000000000000000000000000000000000000000000000000000000000009086908490811061311257fe5b90602001015160f860020a900460f860020a02600160f860020a031916115b1561313b57600192505b600190910190612c7b565b6001831515146131a0576040805160e560020a62461bcd02815260206004820152601d60248201527f737472696e672063616e6e6f74206265206f6e6c79206e756d62657273000000604482015290519081900360640190fd5b505050506020015192915050565b6000848152600760205260409020546131cd908463ffffffff61282e16565b6000858152600760205260409020908155600101546131f2908363ffffffff61282e16565b600085815260076020526040902060010155801561323f5760008481526007602052604090206003015461322c908463ffffffff61282e16565b6000858152600760205260409020600301555b601054613252908363ffffffff61282e16565b601055600e54613268908463ffffffff61282e16565b600e5550505050565b600081815260056020526040812054908082158015906132915750848314155b80156132ac5750600085815260066020526040902060020154155b156133535760008581526006602052604080822060029081018690559482528120909301549291505b600f821015613353578215156132ea57613353565b84831415613334575060005b8160020181101561332f5760009283526008602090815260408085206002808601909155600690925290932090920154916001016132f6565b613353565b60009283526006602052604090922060020154916001909101906132d5565b5050506000918252506006602052604090206002015490565b600354604051600160a060020a039091169082156108fc029083906000818181858888f193505050501580156133a6573d6000803e3d6000fd5b5050565b600060105b6000811115613473578415806133c457508585145b156133ce57613473565b6702c68af0bb1400008410156133e357613473565b811580156133fd5750600085815260086020526040812054115b156134235760008581526008602052604090205460019250613420908290613557565b90505b61343085858560016131ae565b61344184600263ffffffff61270d16565b935061345483600263ffffffff61270d16565b60009586526006602052604090952060020154949250600019016133af565b505050505050565b806134878360006123b0565b10156134dd576040805160e560020a62461bcd02815260206004820152601560248201527f6572726f722c206e6f7420656e6f756768207265640000000000000000000000604482015290519081900360640190fd5b61350f6134f182606463ffffffff61280016565b6000848152600760205260409020600501549063ffffffff61282e16565b6000928352600760205260409092206005019190915550565b60008061353c83600a63ffffffff61270d16565b90506135478161336c565b610f42838263ffffffff6126ef16565b60008183106135665781610f42565b509091905056006e20646973636f726400000000000000000000000000000000000000000000006572726f722c206e6f2070696400000000000000000000000000000000000000706f636b6574206c696e743a206e6f7420612076616c69642063757272656e63697473206e6f74207265616479207965742e2020636865636b203f65746120696e6f20766974616c696b2c206e6f000000000000000000000000000000000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a723058201e506f3992ec91ff7af5a2e9fb5b9218edecfc2df57769c4ce3564e212ffc3340029
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing bytecode for exploits**
[codex:304257] exec
[codex:304257] /bin/bash -lc 'which evm || which ethereumjs-evm || which hevm || which evmdis || true' in /tmp/codex-multi-fozsh6is succeeded in 10ms:
[codex:304257]
[codex:304257]
[codex:304257] thinking
[codex:304257] **Planning minimal EVM disassembler**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import binascii
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] # extract runtime_bytecode.hex content after 'FILE: runtime_bytecode.hex' line
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] if not m:
[codex:304257] raise SystemExit('hex not found')
[codex:304257] hexstr=m.group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257] # opcode table
[codex:304257] opnames = {
[codex:304257] 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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:304257] }
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n = op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] # find CALL/DELEGATECALL/SELFDESTRUCT
[codex:304257] for idx,(off,name,data) in enumerate(insts):
[codex:304257] if name in ('CALL','DELEGATECALL','CALLCODE','STATICCALL','SELFDESTRUCT'):
[codex:304257] print(off, name)
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 59ms:
[codex:304257] 3533 CALL
[codex:304257] 4815 CALL
[codex:304257] 13200 CALL
[codex:304257]
[codex:304257] thinking
[codex:304257] **Examining CALL instructions context**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257] # disasm
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n = op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] # map offset to index
[codex:304257] index_by_off={off:i for i,(off,_,__) in enumerate(insts)}
[codex:304257] call_offsets=[off for off,name,_ in insts if name=='CALL']
[codex:304257]
[codex:304257] for off in call_offsets:
[codex:304257] idx=index_by_off[off]
[codex:304257] start=max(0, idx-25)
[codex:304257] end=min(len(insts), idx+15)
[codex:304257] print('--- CALL at', off, '---')
[codex:304257] for off2,name,data in insts[start:end]:
[codex:304257] if data is None:
[codex:304257] print(f'{off2:05x}: {name}')
[codex:304257] else:
[codex:304257] print(f'{off2:05x}: {name} 0x{data.hex()}')
[codex:304257] print()
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] --- CALL at 3533 ---
[codex:304257] 00daa: DUP1
[codex:304257] 00dab: DUP3
[codex:304257] 00dac: SHA3
[codex:304257] 00dad: SLOAD
[codex:304257] 00dae: SWAP1
[codex:304257] 00daf: MLOAD
[codex:304257] 00db0: PUSH1 0x01
[codex:304257] 00db2: PUSH1 0xa0
[codex:304257] 00db4: PUSH1 0x02
[codex:304257] 00db6: EXP
[codex:304257] 00db7: SUB
[codex:304257] 00db8: SWAP1
[codex:304257] 00db9: SWAP2
[codex:304257] 00dba: AND
[codex:304257] 00dbb: SWAP2
[codex:304257] 00dbc: SWAP1
[codex:304257] 00dbd: PUSH7 0xb1a2bc2ec50000
[codex:304257] 00dc5: SWAP1
[codex:304257] 00dc6: DUP3
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing call sites and arguments**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257]
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n = op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] # print a range around offset 0xd60-0xe20
[codex:304257] start_off=0x0d60
[codex:304257] end_off=0x0e40
[codex:304257] for off,name,data in insts:
[codex:304257] if start_off <= off <= end_off:
[codex:304257] if data is None:
[codex:304257] print(f'{off:05x}: {name}')
[codex:304257] else:
[codex:304257] print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] 00d61: DUP7
[codex:304257] 00d62: DUP11
[codex:304257] 00d63: PUSH2 0x3271
[codex:304257] 00d66: JUMP
[codex:304257] 00d67: JUMPDEST
[codex:304257] 00d68: SWAP3
[codex:304257] 00d69: POP
[codex:304257] 00d6a: DUP3
[codex:304257] 00d6b: ISZERO
[codex:304257] 00d6c: ISZERO
[codex:304257] 00d6d: PUSH2 0x0d7e
[codex:304257] 00d70: JUMPI
[codex:304257] 00d71: PUSH2 0x0d79
[codex:304257] 00d74: CALLVALUE
[codex:304257] 00d75: PUSH2 0x336c
[codex:304257] 00d78: JUMP
[codex:304257] 00d79: JUMPDEST
[codex:304257] 00d7a: PUSH2 0x0e61
[codex:304257] 00d7d: JUMP
[codex:304257] 00d7e: JUMPDEST
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing function call and access control**
[codex:304257]
[codex:304257] I'm checking the function around 0xc70 to 0xe80 to understand a call involving a mapping with a constant 0.05 ETH value. I want to verify if this function, possibly buyName(), has proper access or payment checks before sending ETH and emitting an event. I plan to disassemble this code range with JUMPDEST labels to fully grasp the function boundaries and conditions.
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257]
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n = op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] start_off=0x0c60
[codex:304257] end_off=0x0ec0
[codex:304257] for off,name,data in insts:
[codex:304257] if start_off <= off <= end_off:
[codex:304257] if data is None:
[codex:304257] print(f'{off:05x}: {name}')
[codex:304257] else:
[codex:304257] print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 38ms:
[codex:304257] 00c61: PUSH1 0x24
[codex:304257] 00c63: DUP3
[codex:304257] 00c64: ADD
[codex:304257] 00c65: MSTORE
[codex:304257] 00c66: PUSH32 0x6e6f7420656e6f75676820657468000000000000000000000000000000000000
[codex:304257] 00c87: PUSH1 0x44
[codex:304257] 00c89: DUP3
[codex:304257] 00c8a: ADD
[codex:304257] 00c8b: MSTORE
[codex:304257] 00c8c: SWAP1
[codex:304257] 00c8d: MLOAD
[codex:304257] 00c8e: SWAP1
[codex:304257] 00c8f: DUP2
[codex:304257] 00c90: SWAP1
[codex:304257] 00c91: SUB
[codex:304257] 00c92: PUSH1 0x64
[codex:304257] 00c94: ADD
[codex:304257] 00c95: SWAP1
[codex:304257] 00c96: REVERT
[codex:304257] 00c97: JUMPDEST
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing ETH payment logic**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257]
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n = op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] start_off=0x1220
[codex:304257] end_off=0x1320
[codex:304257] for off,name,data in insts:
[codex:304257] if start_off <= off <= end_off:
[codex:304257] if data is None:
[codex:304257] print(f'{off:05x}: {name}')
[codex:304257] else:
[codex:304257] print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 35ms:
[codex:304257] 01220: PUSH1 0x04
[codex:304257] 01222: DUP3
[codex:304257] 01223: ADD
[codex:304257] 01224: MSTORE
[codex:304257] 01225: PUSH1 0x0d
[codex:304257] 01227: PUSH1 0x24
[codex:304257] 01229: DUP3
[codex:304257] 0122a: ADD
[codex:304257] 0122b: MSTORE
[codex:304257] 0122c: PUSH1 0x00
[codex:304257] 0122e: DUP1
[codex:304257] 0122f: MLOAD
[codex:304257] 01230: PUSH1 0x20
[codex:304257] 01232: PUSH2 0x358e
[codex:304257] 01235: DUP4
[codex:304257] 01236: CODECOPY
[codex:304257] 01237: DUP2
[codex:304257] 01238: MLOAD
[codex:304257] 01239: SWAP2
[codex:304257] 0123a: MSTORE
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing EVM call patterns and gas usage**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257]
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n = op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] start_off=0x3300
[codex:304257] end_off=0x33c0
[codex:304257] for off,name,data in insts:
[codex:304257] if start_off <= off <= end_off:
[codex:304257] if data is None:
[codex:304257] print(f'{off:05x}: {name}')
[codex:304257] else:
[codex:304257] print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] 03301: JUMPI
[codex:304257] 03302: PUSH1 0x00
[codex:304257] 03304: SWAP3
[codex:304257] 03305: DUP4
[codex:304257] 03306: MSTORE
[codex:304257] 03307: PUSH1 0x08
[codex:304257] 03309: PUSH1 0x20
[codex:304257] 0330b: SWAP1
[codex:304257] 0330c: DUP2
[codex:304257] 0330d: MSTORE
[codex:304257] 0330e: PUSH1 0x40
[codex:304257] 03310: DUP1
[codex:304257] 03311: DUP6
[codex:304257] 03312: SHA3
[codex:304257] 03313: PUSH1 0x02
[codex:304257] 03315: DUP1
[codex:304257] 03316: DUP7
[codex:304257] 03317: ADD
[codex:304257] 03318: SWAP1
[codex:304257] 03319: SWAP2
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing internal ETH transfer function and access control**
[codex:304257]
[codex:304257] I'm piecing together a function at 0x336c that sends ETH to an address stored in slot3, likely an admin or fee recipient, using a value already on the stack. It looks like an internal payout helper invoked by other functions. I'm also checking ownership verification patterns that restrict critical functions to the contract owner via storage slot0 and msg.sender==tx.origin checks, which suggest defenses against contract-based reentrancy. Next, I plan to extract and map function selectors from the dispatcher to identify external interfaces and better understand accessible functions.
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257] # disasm minimal to extract selectors in dispatcher: pattern PUSH4 <sel> EQ JUMPI maybe
[codex:304257] selectors=[]
[codex:304257] # naive: find bytes pattern 0x63 + 4 bytes then 0x14 0x61?? 0x57? not necessary.
[codex:304257] for i in range(len(code)-5):
[codex:304257] if code[i]==0x63: # PUSH4
[codex:304257] sel=code[i+1:i+5]
[codex:304257] # check subsequent pattern within next few bytes: 0x14 (EQ) then 0x61 (PUSH2) maybe 0x57 (JUMPI)
[codex:304257] if i+5 < len(code) and code[i+5]==0x14:
[codex:304257] selectors.append(sel.hex())
[codex:304257]
[codex:304257] # print unique selectors sorted
[codex:304257] uniq=sorted(set(selectors))
[codex:304257] print('count', len(uniq))
[codex:304257] print('\\n'.join(uniq))
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 29ms:
[codex:304257] count 32
[codex:304257] 06fdde03
[codex:304257] 0783d820
[codex:304257] 10f01eba
[codex:304257] 18237476
[codex:304257] 2a12408e
[codex:304257] 2e19ebdc
[codex:304257] 2e1a7d4d
[codex:304257] 35f0d665
[codex:304257] 4496b502
[codex:304257] 4c1f7635
[codex:304257] 58931f7a
[codex:304257] 6cb69f42
[codex:304257] 6e725302
[codex:304257] 6ff08dd6
[codex:304257] 9201de55
[codex:304257] 95d89b41
[codex:304257] a0745623
[codex:304257] a4e85358
[codex:304257] a5fc2994
[codex:304257]
[codex:304257] thinking
[codex:304257] **Investigating function entries and payable checks**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257]
[codex:304257] opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',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',0x20:'SHA3',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',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',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',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',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',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',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n=op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] start_off=0x10d0
[codex:304257] end_off=0x1335
[codex:304257] for off,name,data in insts:
[codex:304257] if start_off <= off <= end_off:
[codex:304257] if data is None:
[codex:304257] print(f'{off:05x}: {name}')
[codex:304257] else:
[codex:304257] print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] 010d0: PUSH2 0x35ce
[codex:304257] 010d3: DUP4
[codex:304257] 010d4: CODECOPY
[codex:304257] 010d5: DUP2
[codex:304257] 010d6: MLOAD
[codex:304257] 010d7: SWAP2
[codex:304257] 010d8: MSTORE
[codex:304257] 010d9: PUSH1 0x44
[codex:304257] 010db: DUP3
[codex:304257] 010dc: ADD
[codex:304257] 010dd: MSTORE
[codex:304257] 010de: PUSH1 0x00
[codex:304257] 010e0: DUP1
[codex:304257] 010e1: MLOAD
[codex:304257] 010e2: PUSH1 0x20
[codex:304257] 010e4: PUSH2 0x356e
[codex:304257] 010e7: DUP4
[codex:304257] 010e8: CODECOPY
[codex:304257] 010e9: DUP2
[codex:304257] 010ea: MLOAD
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing function logic and storage patterns**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] # find occurrences of 0x600055 (PUSH1 0x00 SSTORE)
[codex:304257] pat='600055'
[codex:304257] idx=0
[codex:304257] positions=[]
[codex:304257] while True:
[codex:304257] i=hexstr.find(pat, idx)
[codex:304257] if i==-1: break
[codex:304257] positions.append(i//2)
[codex:304257] idx=i+1
[codex:304257] print('positions', positions)
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 28ms:
[codex:304257] positions []
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing SSTORE access control**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] pat='600355'
[codex:304257] idx=0
[codex:304257] positions=[]
[codex:304257] while True:
[codex:304257] i=hexstr.find(pat, idx)
[codex:304257] if i==-1: break
[codex:304257] positions.append(i//2)
[codex:304257] idx=i+1
[codex:304257] print('positions', positions)
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 31ms:
[codex:304257] positions []
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing SSTORE usage patterns**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257]
[codex:304257] opnames={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:304257] 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:304257] 0x20:'SHA3',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:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 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',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:304257] 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:304257] 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:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257]
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257] op=code[i]
[codex:304257] name=opnames.get(op, f'OP{op:02x}')
[codex:304257] if 0x60 <= op <= 0x7f:
[codex:304257] n=op-0x5f
[codex:304257] data=code[i+1:i+1+n]
[codex:304257] insts.append((i,name,data))
[codex:304257] i+=1+n
[codex:304257] else:
[codex:304257] insts.append((i,name,None))
[codex:304257] i+=1
[codex:304257]
[codex:304257] for idx,(off,name,data) in enumerate(insts):
[codex:304257] if name=='SSTORE':
[codex:304257] print('--- SSTORE at', hex(off))
[codex:304257] for j in range(max(0,idx-5), idx+1):
[codex:304257] off2,name2,data2=insts[j]
[codex:304257] if data2 is None:
[codex:304257] print(f'{off2:05x}: {name2}')
[codex:304257] else:
[codex:304257] print(f'{off2:05x}: {name2} 0x{data2.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 43ms:
[codex:304257] --- SSTORE at 0x335
[codex:304257] 00330: DUP1
[codex:304257] 00331: DUP4
[codex:304257] 00332: SHA3
[codex:304257] 00333: DUP6
[codex:304257] 00334: SWAP1
[codex:304257] 00335: SSTORE
[codex:304257] --- SSTORE at 0x35e
[codex:304257] 00359: AND
[codex:304257] 0035a: SWAP1
[codex:304257] 0035b: SWAP2
[codex:304257] 0035c: OR
[codex:304257] 0035d: SWAP1
[codex:304257] 0035e: SSTORE
[codex:304257] --- SSTORE at 0x365
[codex:304257] 0035f: DUP1
[codex:304257] 00360: SLOAD
[codex:304257] 00361: PUSH1 0x01
[codex:304257] 00363: ADD
[codex:304257] 00364: SWAP1
[codex:304257]
[codex:304257]
[codex:304257] thinking
[codex:304257] **Analyzing storage writes and call validations**
[codex:304257]
[codex:304257] I'm carefully checking storage slot writes for unprotected key changes and verifying that ETH transfers are guarded by msg.value and tx.origin checks. The calls appear to send fixed values only after confirming sufficient payment, and no delegatecall or selfdestruct are found. Given the complex parameter tracing and absence of obvious exploits, I lean toward concluding no critical vulnerabilities exist here.
[codex:304257] thinking
[codex:304257] **Verifying affiliate mapping and call recipient controls**
[codex:304257]
[codex:304257] I'm analyzing whether users can manipulate affiliate mappings to redirect payouts to arbitrary addresses without proper checks. The evidence suggests mappings prevent overwrites and update state before external calls, mitigating reentrancy risks. Since no call uses CALLER as direct recipient and registration checks prevent mapping tampering, I conclude there is no straightforward exploit here.
[codex:304257] exec
[codex:304257] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-fozsh6is succeeded in 6ms:
[codex:304257] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:304257]
[codex:304257] thinking
[codex:304257] **Preparing JSON output for findings**
[codex:304257] codex
[codex:304257] {"no_findings":true,"summary":"Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.","findings":[]}
[codex:304257] tokens used
[codex:304257] 76,035
[codex:304257] {"no_findings":true,"summary":"Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.","findings":[]}
{
"codex": {
"ran_at": "2026-01-05T21:51:02.928948+00:00",
"returncode": 0
},
"summary": "Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.",
"raw_final": {
"summary": "Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.",
"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 0x01a0 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH4 0x046111e9 0000003a: DUP2 0000003b: EQ 0000003c: PUSH2 0x042e 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x06fdde03 00000046: EQ 00000047: PUSH2 0x0481 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x0783d820 00000051: EQ 00000052: PUSH2 0x050b 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x10f01eba 0000005c: EQ 0000005d: PUSH2 0x053b 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x18237476 00000067: EQ 00000068: PUSH2 0x055c 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x2a12408e 00000072: EQ 00000073: PUSH2 0x05be 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x2e19ebdc 0000007d: EQ 0000007e: PUSH2 0x0629 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x2e1a7d4d 00000088: EQ 00000089: PUSH2 0x0641 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x35f0d665 00000093: EQ 00000094: PUSH2 0x0659 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x4496b502 0000009e: EQ 0000009f: PUSH2 0x0671 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x4c1f7635 000000a9: EQ 000000aa: PUSH2 0x0689 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x58931f7a 000000b4: EQ 000000b5: PUSH2 0x06dd 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x6cb69f42 000000bf: EQ 000000c0: PUSH2 0x06e8 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x6e725302 000000ca: EQ 000000cb: PUSH2 0x06fd 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x6ff08dd6 000000d5: EQ 000000d6: PUSH2 0x071b 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x9201de55 000000e0: EQ 000000e1: PUSH2 0x0733 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x95d89b41 000000eb: EQ 000000ec: PUSH2 0x0481 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0xa0745623 000000f6: EQ 000000f7: PUSH2 0x074b 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0xa4e85358 00000101: EQ 00000102: PUSH2 0x0763 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0xa5fc2994 0000010c: EQ 0000010d: PUSH2 0x0781 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0xa8bda3e9 00000117: EQ 00000118: PUSH2 0x07a5 0000011b: JUMPI 0000011c: DUP1 0000011d: PUSH4 0xa9b86924 00000122: EQ 00000123: PUSH2 0x07c3 00000126: JUMPI 00000127: DUP1 00000128: PUSH4 0xada52d7c 0000012d: EQ 0000012e: PUSH2 0x07ce 00000131: JUMPI 00000132: DUP1 00000133: PUSH4 0xadbc9bed 00000138: EQ 00000139: PUSH2 0x07e3 0000013c: JUMPI 0000013d: DUP1 0000013e: PUSH4 0xce9ae91c 00000143: EQ 00000144: PUSH2 0x07fe 00000147: JUMPI 00000148: DUP1 00000149: PUSH4 0xcfb51928 0000014e: EQ 0000014f: PUSH2 0x0819 00000152: JUMPI 00000153: DUP1 00000154: PUSH4 0xd53b2679 00000159: EQ 0000015a: PUSH2 0x0872 0000015d: JUMPI 0000015e: DUP1 0000015f: PUSH4 0xd9a9662b 00000164: EQ 00000165: PUSH2 0x089b 00000168: JUMPI 00000169: DUP1 0000016a: PUSH4 0xdb8f0301 0000016f: EQ 00000170: PUSH2 0x08b3 00000173: JUMPI 00000174: DUP1 00000175: PUSH4 0xde7874f3 0000017a: EQ 0000017b: PUSH2 0x08ce 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0xe5af350e 00000185: EQ 00000186: PUSH2 0x0916 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0xee5f8c8f 00000190: EQ 00000191: PUSH2 0x092e 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0xfefc38fd 0000019b: EQ 0000019c: PUSH2 0x0943 0000019f: JUMPI 000001a0: JUMPDEST 000001a1: PUSH1 0x15 000001a3: SLOAD 000001a4: PUSH1 0x00 000001a6: SWAP1 000001a7: DUP2 000001a8: SWAP1 000001a9: PUSH1 0xff 000001ab: AND 000001ac: ISZERO 000001ad: ISZERO 000001ae: PUSH1 0x01 000001b0: EQ 000001b1: PUSH2 0x0206 000001b4: JUMPI 000001b5: PUSH1 0x40 000001b7: DUP1 000001b8: MLOAD 000001b9: PUSH1 0xe5 000001bb: PUSH1 0x02 000001bd: EXP 000001be: PUSH3 0x461bcd 000001c2: MUL 000001c3: DUP2 000001c4: MSTORE 000001c5: PUSH1 0x20 000001c7: PUSH1 0x04 000001c9: DUP3 000001ca: ADD 000001cb: MSTORE 000001cc: PUSH1 0x29 000001ce: PUSH1 0x24 000001d0: DUP3 000001d1: ADD 000001d2: MSTORE 000001d3: PUSH1 0x00 000001d5: DUP1 000001d6: MLOAD 000001d7: PUSH1 0x20 000001d9: PUSH2 0x35ce 000001dc: DUP4 000001dd: CODECOPY 000001de: DUP2 000001df: MLOAD 000001e0: SWAP2 000001e1: MSTORE 000001e2: PUSH1 0x44 000001e4: DUP3 000001e5: ADD 000001e6: MSTORE 000001e7: PUSH1 0x00 000001e9: DUP1 000001ea: MLOAD 000001eb: PUSH1 0x20 000001ed: PUSH2 0x356e 000001f0: DUP4 000001f1: CODECOPY 000001f2: DUP2 000001f3: MLOAD 000001f4: SWAP2 000001f5: MSTORE 000001f6: PUSH1 0x64 000001f8: DUP3 000001f9: ADD 000001fa: MSTORE 000001fb: SWAP1 000001fc: MLOAD 000001fd: SWAP1 000001fe: DUP2 000001ff: SWAP1 00000200: SUB 00000201: PUSH1 0x84 00000203: ADD 00000204: SWAP1 00000205: REVERT 00000206: JUMPDEST 00000207: CALLER 00000208: ORIGIN 00000209: EQ 0000020a: PUSH2 0x024b 0000020d: JUMPI 0000020e: PUSH1 0x40 00000210: DUP1 00000211: MLOAD 00000212: PUSH1 0xe5 00000214: PUSH1 0x02 00000216: EXP 00000217: PUSH3 0x461bcd 0000021b: MUL 0000021c: DUP2 0000021d: MSTORE 0000021e: PUSH1 0x20 00000220: PUSH1 0x04 00000222: DUP3 00000223: ADD 00000224: MSTORE 00000225: PUSH1 0x11 00000227: PUSH1 0x24 00000229: DUP3 0000022a: ADD 0000022b: MSTORE 0000022c: PUSH1 0x00 0000022e: DUP1 0000022f: MLOAD 00000230: PUSH1 0x20 00000232: PUSH2 0x360e 00000235: DUP4 00000236: CODECOPY 00000237: DUP2 00000238: MLOAD 00000239: SWAP2 0000023a: MSTORE 0000023b: PUSH1 0x44 0000023d: DUP3 0000023e: ADD 0000023f: MSTORE 00000240: SWAP1 00000241: MLOAD 00000242: SWAP1 00000243: DUP2 00000244: SWAP1 00000245: SUB 00000246: PUSH1 0x64 00000248: ADD 00000249: SWAP1 0000024a: REVERT 0000024b: JUMPDEST 0000024c: CALLVALUE 0000024d: PUSH4 0x3b9aca00 00000252: DUP2 00000253: LT 00000254: ISZERO 00000255: PUSH2 0x02a3 00000258: JUMPI 00000259: PUSH1 0x40 0000025b: DUP1 0000025c: MLOAD 0000025d: PUSH1 0xe5 0000025f: PUSH1 0x02 00000261: EXP 00000262: PUSH3 0x461bcd 00000266: MUL 00000267: DUP2 00000268: MSTORE 00000269: PUSH1 0x20 0000026b: PUSH1 0x04 0000026d: DUP3 0000026e: ADD 0000026f: MSTORE 00000270: PUSH1 0x21 00000272: PUSH1 0x24 00000274: DUP3 00000275: ADD 00000276: MSTORE 00000277: PUSH1 0x00 00000279: DUP1 0000027a: MLOAD 0000027b: PUSH1 0x20 0000027d: PUSH2 0x35ae 00000280: DUP4 00000281: CODECOPY 00000282: DUP2 00000283: MLOAD 00000284: SWAP2 00000285: MSTORE 00000286: PUSH1 0x44 00000288: DUP3 00000289: ADD 0000028a: MSTORE 0000028b: PUSH1 0xf8 0000028d: PUSH1 0x02 0000028f: EXP 00000290: PUSH1 0x79 00000292: MUL 00000293: PUSH1 0x64 00000295: DUP3 00000296: ADD 00000297: MSTORE 00000298: SWAP1 00000299: MLOAD 0000029a: SWAP1 0000029b: DUP2 0000029c: SWAP1 0000029d: SUB 0000029e: PUSH1 0x84 000002a0: ADD 000002a1: SWAP1 000002a2: REVERT 000002a3: JUMPDEST 000002a4: PUSH10 0x152d02c7e14af6800000 000002af: DUP2 000002b0: GT 000002b1: ISZERO 000002b2: PUSH2 0x02f3 000002b5: JUMPI 000002b6: PUSH1 0x40 000002b8: DUP1 000002b9: MLOAD 000002ba: PUSH1 0xe5 000002bc: PUSH1 0x02 000002be: EXP 000002bf: PUSH3 0x461bcd 000002c3: MUL 000002c4: DUP2 000002c5: MSTORE 000002c6: PUSH1 0x20 000002c8: PUSH1 0x04 000002ca: DUP3 000002cb: ADD 000002cc: MSTORE 000002cd: PUSH1 0x0e 000002cf: PUSH1 0x24 000002d1: DUP3 000002d2: ADD 000002d3: MSTORE 000002d4: PUSH1 0x00 000002d6: DUP1 000002d7: MLOAD 000002d8: PUSH1 0x20 000002da: PUSH2 0x35ee 000002dd: DUP4 000002de: CODECOPY 000002df: DUP2 000002e0: MLOAD 000002e1: SWAP2 000002e2: MSTORE 000002e3: PUSH1 0x44 000002e5: DUP3 000002e6: ADD 000002e7: MSTORE 000002e8: SWAP1 000002e9: MLOAD 000002ea: SWAP1 000002eb: DUP2 000002ec: SWAP1 000002ed: SUB 000002ee: PUSH1 0x64 000002f0: ADD 000002f1: SWAP1 000002f2: REVERT 000002f3: JUMPDEST 000002f4: PUSH2 0x02fd 000002f7: PUSH1 0x00 000002f9: PUSH2 0x0958 000002fc: JUMP 000002fd: JUMPDEST 000002fe: CALLER 000002ff: PUSH1 0x00 00000301: DUP2 00000302: DUP2 00000303: MSTORE 00000304: PUSH1 0x04 00000306: PUSH1 0x20 00000308: MSTORE 00000309: PUSH1 0x40 0000030b: SWAP1 0000030c: KECCAK256 0000030d: SLOAD 0000030e: ISZERO 0000030f: ISZERO 00000310: PUSH2 0x0366 00000313: JUMPI 00000314: PUSH1 0x09 00000316: DUP1 00000317: SLOAD 00000318: PUSH1 0x01 0000031a: PUSH1 0xa0 0000031c: PUSH1 0x02 0000031e: EXP 0000031f: SUB 00000320: DUP4 00000321: AND 00000322: PUSH1 0x00 00000324: DUP2 00000325: DUP2 00000326: MSTORE 00000327: PUSH1 0x04 00000329: PUSH1 0x20 0000032b: SWAP1 0000032c: DUP2 0000032d: MSTORE 0000032e: PUSH1 0x40 00000330: DUP1 00000331: DUP4 00000332: KECCAK256 00000333: DUP6 00000334: SWAP1 00000335: SSTORE 00000336: SWAP4 00000337: DUP3 00000338: MSTORE 00000339: PUSH1 0x06 0000033b: SWAP1 0000033c: MSTORE 0000033d: SWAP2 0000033e: SWAP1 0000033f: SWAP2 00000340: KECCAK256 00000341: DUP1 00000342: SLOAD 00000343: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000358: NOT 00000359: AND 0000035a: SWAP1 0000035b: SWAP2 0000035c: OR 0000035d: SWAP1 0000035e: SSTORE 0000035f: DUP1 00000360: SLOAD 00000361: PUSH1 0x01 00000363: ADD 00000364: SWAP1 00000365: SSTORE 00000366: JUMPDEST 00000367: CALLER 00000368: PUSH1 0x00 0000036a: SWAP1 0000036b: DUP2 0000036c: MSTORE 0000036d: PUSH1 0x04 0000036f: PUSH1 0x20 00000371: SWAP1 00000372: DUP2 00000373: MSTORE 00000374: PUSH1 0x40 00000376: DUP1 00000377: DUP4 00000378: KECCAK256 00000379: SLOAD 0000037a: DUP1 0000037b: DUP5 0000037c: MSTORE 0000037d: PUSH1 0x06 0000037f: SWAP1 00000380: SWAP3 00000381: MSTORE 00000382: SWAP1 00000383: SWAP2 00000384: KECCAK256 00000385: PUSH1 0x02 00000387: ADD 00000388: SLOAD 00000389: SWAP1 0000038a: SWAP5 0000038b: POP 0000038c: SWAP3 0000038d: POP 0000038e: DUP3 0000038f: ISZERO 00000390: ISZERO 00000391: PUSH2 0x03e4 00000394: JUMPI 00000395: PUSH1 0x40 00000397: DUP1 00000398: MLOAD 00000399: PUSH1 0xe5 0000039b: PUSH1 0x02 0000039d: EXP 0000039e: PUSH3 0x461bcd 000003a2: MUL 000003a3: DUP2 000003a4: MSTORE 000003a5: PUSH1 0x20 000003a7: PUSH1 0x04 000003a9: DUP3 000003aa: ADD 000003ab: MSTORE 000003ac: PUSH1 0x0f 000003ae: PUSH1 0x24 000003b0: DUP3 000003b1: ADD 000003b2: MSTORE 000003b3: PUSH32 0x6d75737420686176652061666669640000000000000000000000000000000000 000003d4: PUSH1 0x44 000003d6: DUP3 000003d7: ADD 000003d8: MSTORE 000003d9: SWAP1 000003da: MLOAD 000003db: SWAP1 000003dc: DUP2 000003dd: SWAP1 000003de: SUB 000003df: PUSH1 0x64 000003e1: ADD 000003e2: SWAP1 000003e3: REVERT 000003e4: JUMPDEST 000003e5: PUSH2 0x03ef 000003e8: DUP5 000003e9: DUP5 000003ea: CALLVALUE 000003eb: PUSH2 0x0a19 000003ee: JUMP 000003ef: JUMPDEST 000003f0: PUSH1 0x40 000003f2: DUP1 000003f3: MLOAD 000003f4: CALLVALUE 000003f5: DUP2 000003f6: MSTORE 000003f7: TIMESTAMP 000003f8: PUSH1 0x20 000003fa: DUP3 000003fb: ADD 000003fc: MSTORE 000003fd: DUP2 000003fe: MLOAD 000003ff: DUP7 00000400: SWAP3 00000401: PUSH32 0x17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0 00000422: SWAP3 00000423: DUP3 00000424: SWAP1 00000425: SUB 00000426: ADD 00000427: SWAP1 00000428: LOG2 00000429: POP 0000042a: POP 0000042b: POP 0000042c: POP 0000042d: STOP 0000042e: JUMPDEST 0000042f: PUSH1 0x40 00000431: DUP1 00000432: MLOAD 00000433: PUSH1 0x20 00000435: PUSH1 0x04 00000437: PUSH1 0x24 00000439: DUP1 0000043a: CALLDATALOAD 0000043b: DUP3 0000043c: DUP2 0000043d: ADD 0000043e: CALLDATALOAD 0000043f: PUSH1 0x1f 00000441: DUP2 00000442: ADD 00000443: DUP6 00000444: SWAP1 00000445: DIV 00000446: DUP6 00000447: MUL 00000448: DUP7 00000449: ADD 0000044a: DUP6 0000044b: ADD 0000044c: SWAP1 0000044d: SWAP7 0000044e: MSTORE 0000044f: DUP6 00000450: DUP6 00000451: MSTORE 00000452: PUSH2 0x047f 00000455: SWAP6 00000456: DUP4 00000457: CALLDATALOAD 00000458: SWAP6 00000459: CALLDATASIZE 0000045a: SWAP6 0000045b: PUSH1 0x44 0000045d: SWAP5 0000045e: SWAP2 0000045f: SWAP4 00000460: SWAP1 00000461: SWAP2 00000462: ADD 00000463: SWAP2 00000464: SWAP1 00000465: DUP2 00000466: SWAP1 00000467: DUP5 00000468: ADD 00000469: DUP4 0000046a: DUP3 0000046b: DUP1 0000046c: DUP3 0000046d: DUP5 0000046e: CALLDATACOPY 0000046f: POP 00000470: SWAP5 00000471: SWAP8 00000472: POP 00000473: PUSH2 0x0a6b 00000476: SWAP7 00000477: POP 00000478: POP 00000479: POP 0000047a: POP 0000047b: POP 0000047c: POP 0000047d: POP 0000047e: JUMP 0000047f: JUMPDEST 00000480: STOP 00000481: JUMPDEST 00000482: CALLVALUE 00000483: DUP1 00000484: ISZERO 00000485: PUSH2 0x048d 00000488: JUMPI 00000489: PUSH1 0x00 0000048b: DUP1 0000048c: REVERT 0000048d: JUMPDEST 0000048e: POP 0000048f: PUSH2 0x0496 00000492: PUSH2 0x0ead 00000495: JUMP 00000496: JUMPDEST 00000497: PUSH1 0x40 00000499: DUP1 0000049a: MLOAD 0000049b: PUSH1 0x20 0000049d: DUP1 0000049e: DUP3 0000049f: MSTORE 000004a0: DUP4 000004a1: MLOAD 000004a2: DUP2 000004a3: DUP4 000004a4: ADD 000004a5: MSTORE 000004a6: DUP4 000004a7: MLOAD 000004a8: SWAP2 000004a9: SWAP3 000004aa: DUP4 000004ab: SWAP3 000004ac: SWAP1 000004ad: DUP4 000004ae: ADD 000004af: SWAP2 000004b0: DUP6 000004b1: ADD 000004b2: SWAP1 000004b3: DUP1 000004b4: DUP4 000004b5: DUP4 000004b6: PUSH1 0x00 000004b8: JUMPDEST 000004b9: DUP4 000004ba: DUP2 000004bb: LT 000004bc: ISZERO 000004bd: PUSH2 0x04d0 000004c0: JUMPI 000004c1: DUP2 000004c2: DUP2 000004c3: ADD 000004c4: MLOAD 000004c5: DUP4 000004c6: DUP3 000004c7: ADD 000004c8: MSTORE 000004c9: PUSH1 0x20 000004cb: ADD 000004cc: PUSH2 0x04b8 000004cf: JUMP 000004d0: JUMPDEST 000004d1: POP 000004d2: POP 000004d3: POP 000004d4: POP 000004d5: SWAP1 000004d6: POP 000004d7: SWAP1 000004d8: DUP2 000004d9: ADD 000004da: SWAP1 000004db: PUSH1 0x1f 000004dd: AND 000004de: DUP1 000004df: ISZERO 000004e0: PUSH2 0x04fd 000004e3: JUMPI 000004e4: DUP1 000004e5: DUP3 000004e6: SUB 000004e7: DUP1 000004e8: MLOAD 000004e9: PUSH1 0x01 000004eb: DUP4 000004ec: PUSH1 0x20 000004ee: SUB 000004ef: PUSH2 0x0100 000004f2: EXP 000004f3: SUB 000004f4: NOT 000004f5: AND 000004f6: DUP2 000004f7: MSTORE 000004f8: PUSH1 0x20 000004fa: ADD 000004fb: SWAP2 000004fc: POP 000004fd: JUMPDEST 000004fe: POP 000004ff: SWAP3 00000500: POP 00000501: POP 00000502: POP 00000503: PUSH1 0x40 00000505: MLOAD 00000506: DUP1 00000507: SWAP2 00000508: SUB 00000509: SWAP1 0000050a: RETURN 0000050b: JUMPDEST 0000050c: CALLVALUE 0000050d: DUP1 0000050e: ISZERO 0000050f: PUSH2 0x0517 00000512: JUMPI 00000513: PUSH1 0x00 00000515: DUP1 00000516: REVERT 00000517: JUMPDEST 00000518: POP 00000519: PUSH2 0x0529 0000051c: PUSH1 0x04 0000051e: CALLDATALOAD 0000051f: PUSH1 0x24 00000521: CALLDATALOAD 00000522: PUSH1 0x44 00000524: CALLDATALOAD 00000525: PUSH2 0x0ee4 00000528: JUMP 00000529: JUMPDEST 0000052a: PUSH1 0x40 0000052c: DUP1 0000052d: MLOAD 0000052e: SWAP2 0000052f: DUP3 00000530: MSTORE 00000531: MLOAD 00000532: SWAP1 00000533: DUP2 00000534: SWAP1 00000535: SUB 00000536: PUSH1 0x20 00000538: ADD 00000539: SWAP1 0000053a: RETURN 0000053b: JUMPDEST 0000053c: CALLVALUE 0000053d: DUP1 0000053e: ISZERO 0000053f: PUSH2 0x0547 00000542: JUMPI 00000543: PUSH1 0x00 00000545: DUP1 00000546: REVERT 00000547: JUMPDEST 00000548: POP 00000549: PUSH2 0x0529 0000054c: PUSH1 0x01 0000054e: PUSH1 0xa0 00000550: PUSH1 0x02 00000552: EXP 00000553: SUB 00000554: PUSH1 0x04 00000556: CALLDATALOAD 00000557: AND 00000558: PUSH2 0x0f49 0000055b: JUMP 0000055c: JUMPDEST 0000055d: CALLVALUE 0000055e: DUP1 0000055f: ISZERO 00000560: PUSH2 0x0568 00000563: JUMPI 00000564: PUSH1 0x00 00000566: DUP1 00000567: REVERT 00000568: JUMPDEST 00000569: POP 0000056a: PUSH2 0x057d 0000056d: PUSH1 0x01 0000056f: PUSH1 0xa0 00000571: PUSH1 0x02 00000573: EXP 00000574: SUB 00000575: PUSH1 0x04 00000577: CALLDATALOAD 00000578: AND 00000579: PUSH2 0x0f5b 0000057c: JUMP 0000057d: JUMPDEST 0000057e: PUSH1 0x40 00000580: DUP1 00000581: MLOAD 00000582: SWAP9 00000583: DUP10 00000584: MSTORE 00000585: PUSH1 0x20 00000587: DUP10 00000588: ADD 00000589: SWAP8 0000058a: SWAP1 0000058b: SWAP8 0000058c: MSTORE 0000058d: DUP8 0000058e: DUP8 0000058f: ADD 00000590: SWAP6 00000591: SWAP1 00000592: SWAP6 00000593: MSTORE 00000594: PUSH1 0x60 00000596: DUP8 00000597: ADD 00000598: SWAP4 00000599: SWAP1 0000059a: SWAP4 0000059b: MSTORE 0000059c: PUSH1 0x80 0000059e: DUP7 0000059f: ADD 000005a0: SWAP2 000005a1: SWAP1 000005a2: SWAP2 000005a3: MSTORE 000005a4: PUSH1 0xa0 000005a6: DUP6 000005a7: ADD 000005a8: MSTORE 000005a9: PUSH1 0xc0 000005ab: DUP5 000005ac: ADD 000005ad: MSTORE 000005ae: PUSH1 0xe0 000005b0: DUP4 000005b1: ADD 000005b2: MSTORE 000005b3: MLOAD 000005b4: SWAP1 000005b5: DUP2 000005b6: SWAP1 000005b7: SUB 000005b8: PUSH2 0x0100 000005bb: ADD 000005bc: SWAP1 000005bd: RETURN 000005be: JUMPDEST 000005bf: CALLVALUE 000005c0: DUP1 000005c1: ISZERO 000005c2: PUSH2 0x05ca 000005c5: JUMPI 000005c6: PUSH1 0x00 000005c8: DUP1 000005c9: REVERT 000005ca: JUMPDEST 000005cb: POP 000005cc: PUSH2 0x05d3 000005cf: PUSH2 0x1063 000005d2: JUMP 000005d3: JUMPDEST 000005d4: PUSH1 0x40 000005d6: DUP1 000005d7: MLOAD 000005d8: SWAP12 000005d9: DUP13 000005da: MSTORE 000005db: PUSH1 0x20 000005dd: DUP13 000005de: ADD 000005df: SWAP11 000005e0: SWAP1 000005e1: SWAP11 000005e2: MSTORE 000005e3: DUP11 000005e4: DUP11 000005e5: ADD 000005e6: SWAP9 000005e7: SWAP1 000005e8: SWAP9 000005e9: MSTORE 000005ea: PUSH1 0x60 000005ec: DUP11 000005ed: ADD 000005ee: SWAP7 000005ef: SWAP1 000005f0: SWAP7 000005f1: MSTORE 000005f2: PUSH1 0x80 000005f4: DUP10 000005f5: ADD 000005f6: SWAP5 000005f7: SWAP1 000005f8: SWAP5 000005f9: MSTORE 000005fa: PUSH1 0xa0 000005fc: DUP9 000005fd: ADD 000005fe: SWAP3 000005ff: SWAP1 00000600: SWAP3 00000601: MSTORE 00000602: PUSH1 0xc0 00000604: DUP8 00000605: ADD 00000606: MSTORE 00000607: PUSH1 0xe0 00000609: DUP7 0000060a: ADD 0000060b: MSTORE 0000060c: PUSH2 0x0100 0000060f: DUP6 00000610: ADD 00000611: MSTORE 00000612: PUSH2 0x0120 00000615: DUP5 00000616: ADD 00000617: MSTORE 00000618: PUSH2 0x0140 0000061b: DUP4 0000061c: ADD 0000061d: MSTORE 0000061e: MLOAD 0000061f: SWAP1 00000620: DUP2 00000621: SWAP1 00000622: SUB 00000623: PUSH2 0x0160 00000626: ADD 00000627: SWAP1 00000628: RETURN 00000629: JUMPDEST 0000062a: CALLVALUE 0000062b: DUP1 0000062c: ISZERO 0000062d: PUSH2 0x0635 00000630: JUMPI 00000631: PUSH1 0x00 00000633: DUP1 00000634: REVERT 00000635: JUMPDEST 00000636: POP 00000637: PUSH2 0x0529 0000063a: PUSH1 0x04 0000063c: CALLDATALOAD 0000063d: PUSH2 0x1087 00000640: JUMP 00000641: JUMPDEST 00000642: CALLVALUE 00000643: DUP1 00000644: ISZERO 00000645: PUSH2 0x064d 00000648: JUMPI 00000649: PUSH1 0x00 0000064b: DUP1 0000064c: REVERT 0000064d: JUMPDEST 0000064e: POP 0000064f: PUSH2 0x047f 00000652: PUSH1 0x04 00000654: CALLDATALOAD 00000655: PUSH2 0x1099 00000658: JUMP 00000659: JUMPDEST 0000065a: CALLVALUE 0000065b: DUP1 0000065c: ISZERO 0000065d: PUSH2 0x0665 00000660: JUMPI 00000661: PUSH1 0x00 00000663: DUP1 00000664: REVERT 00000665: JUMPDEST 00000666: POP 00000667: PUSH2 0x047f 0000066a: PUSH1 0x04 0000066c: CALLDATALOAD 0000066d: PUSH2 0x1324 00000670: JUMP 00000671: JUMPDEST 00000672: CALLVALUE 00000673: DUP1 00000674: ISZERO 00000675: PUSH2 0x067d 00000678: JUMPI 00000679: PUSH1 0x00 0000067b: DUP1 0000067c: REVERT 0000067d: JUMPDEST 0000067e: POP 0000067f: PUSH2 0x047f 00000682: PUSH1 0x04 00000684: CALLDATALOAD 00000685: PUSH2 0x1597 00000688: JUMP 00000689: JUMPDEST 0000068a: CALLVALUE 0000068b: DUP1 0000068c: ISZERO 0000068d: PUSH2 0x0695 00000690: JUMPI 00000691: PUSH1 0x00 00000693: DUP1 00000694: REVERT 00000695: JUMPDEST 00000696: POP 00000697: PUSH2 0x06aa 0000069a: PUSH1 0x01 0000069c: PUSH1 0xa0 0000069e: PUSH1 0x02 000006a0: EXP 000006a1: SUB 000006a2: PUSH1 0x04 000006a4: CALLDATALOAD 000006a5: AND 000006a6: PUSH2 0x1604 000006a9: JUMP 000006aa: JUMPDEST 000006ab: PUSH1 0x40 000006ad: DUP1 000006ae: MLOAD 000006af: SWAP7 000006b0: DUP8 000006b1: MSTORE 000006b2: PUSH1 0x20 000006b4: DUP8 000006b5: ADD 000006b6: SWAP6 000006b7: SWAP1 000006b8: SWAP6 000006b9: MSTORE 000006ba: DUP6 000006bb: DUP6 000006bc: ADD 000006bd: SWAP4 000006be: SWAP1 000006bf: SWAP4 000006c0: MSTORE 000006c1: PUSH1 0x60 000006c3: DUP6 000006c4: ADD 000006c5: SWAP2 000006c6: SWAP1 000006c7: SWAP2 000006c8: MSTORE 000006c9: PUSH1 0x80 000006cb: DUP5 000006cc: ADD 000006cd: MSTORE 000006ce: PUSH1 0xa0 000006d0: DUP4 000006d1: ADD 000006d2: MSTORE 000006d3: MLOAD 000006d4: SWAP1 000006d5: DUP2 000006d6: SWAP1 000006d7: SUB 000006d8: PUSH1 0xc0 000006da: ADD 000006db: SWAP1 000006dc: RETURN 000006dd: JUMPDEST 000006de: PUSH2 0x047f 000006e1: PUSH1 0x04 000006e3: CALLDATALOAD 000006e4: PUSH2 0x16e4 000006e7: JUMP 000006e8: JUMPDEST 000006e9: CALLVALUE 000006ea: DUP1 000006eb: ISZERO 000006ec: PUSH2 0x06f4 000006ef: JUMPI 000006f0: PUSH1 0x00 000006f2: DUP1 000006f3: REVERT 000006f4: JUMPDEST 000006f5: POP 000006f6: PUSH2 0x06aa 000006f9: PUSH2 0x196c 000006fc: JUMP 000006fd: JUMPDEST 000006fe: CALLVALUE 000006ff: DUP1 00000700: ISZERO 00000701: PUSH2 0x0709 00000704: JUMPI 00000705: PUSH1 0x00 00000707: DUP1 00000708: REVERT 00000709: JUMPDEST 0000070a: POP 0000070b: PUSH2 0x0529 0000070e: PUSH1 0x04 00000710: CALLDATALOAD 00000711: PUSH1 0x24 00000713: CALLDATALOAD 00000714: PUSH1 0x44 00000716: CALLDATALOAD 00000717: PUSH2 0x1a61 0000071a: JUMP 0000071b: JUMPDEST 0000071c: CALLVALUE 0000071d: DUP1 0000071e: ISZERO 0000071f: PUSH2 0x0727 00000722: JUMPI 00000723: PUSH1 0x00 00000725: DUP1 00000726: REVERT 00000727: JUMPDEST 00000728: POP 00000729: PUSH2 0x0529 0000072c: PUSH1 0x04 0000072e: CALLDATALOAD 0000072f: PUSH2 0x1b1a 00000732: JUMP 00000733: JUMPDEST 00000734: CALLVALUE 00000735: DUP1 00000736: ISZERO 00000737: PUSH2 0x073f 0000073a: JUMPI 0000073b: PUSH1 0x00 0000073d: DUP1 0000073e: REVERT 0000073f: JUMPDEST 00000740: POP 00000741: PUSH2 0x0496 00000744: PUSH1 0x04 00000746: CALLDATALOAD 00000747: PUSH2 0x1b42 0000074a: JUMP 0000074b: JUMPDEST 0000074c: CALLVALUE 0000074d: DUP1 0000074e: ISZERO 0000074f: PUSH2 0x0757 00000752: JUMPI 00000753: PUSH1 0x00 00000755: DUP1 00000756: REVERT 00000757: JUMPDEST 00000758: POP 00000759: PUSH2 0x0529 0000075c: PUSH1 0x04 0000075e: CALLDATALOAD 0000075f: PUSH2 0x1c88 00000762: JUMP 00000763: JUMPDEST 00000764: CALLVALUE 00000765: DUP1 00000766: ISZERO 00000767: PUSH2 0x076f 0000076a: JUMPI 0000076b: PUSH1 0x00 0000076d: DUP1 0000076e: REVERT 0000076f: JUMPDEST 00000770: POP 00000771: PUSH2 0x0529 00000774: PUSH1 0x04 00000776: CALLDATALOAD 00000777: PUSH1 0x24 00000779: CALLDATALOAD 0000077a: PUSH1 0x44 0000077c: CALLDATALOAD 0000077d: PUSH2 0x1c9a 00000780: JUMP 00000781: JUMPDEST 00000782: CALLVALUE 00000783: DUP1 00000784: ISZERO 00000785: PUSH2 0x078d 00000788: JUMPI 00000789: PUSH1 0x00 0000078b: DUP1 0000078c: REVERT 0000078d: JUMPDEST 0000078e: POP 0000078f: PUSH2 0x047f 00000792: PUSH1 0x01 00000794: PUSH1 0xa0 00000796: PUSH1 0x02 00000798: EXP 00000799: SUB 0000079a: PUSH1 0x04 0000079c: CALLDATALOAD 0000079d: AND 0000079e: PUSH1 0x24 000007a0: CALLDATALOAD 000007a1: PUSH2 0x1cac 000007a4: JUMP 000007a5: JUMPDEST 000007a6: CALLVALUE 000007a7: DUP1 000007a8: ISZERO 000007a9: PUSH2 0x07b1 000007ac: JUMPI 000007ad: PUSH1 0x00 000007af: DUP1 000007b0: REVERT 000007b1: JUMPDEST 000007b2: POP 000007b3: PUSH2 0x0529 000007b6: PUSH1 0x04 000007b8: CALLDATALOAD 000007b9: PUSH1 0x24 000007bb: CALLDATALOAD 000007bc: PUSH1 0x44 000007be: CALLDATALOAD 000007bf: PUSH2 0x2038 000007c2: JUMP 000007c3: JUMPDEST 000007c4: PUSH2 0x047f 000007c7: PUSH1 0x04 000007c9: CALLDATALOAD 000007ca: PUSH2 0x2054 000007cd: JUMP 000007ce: JUMPDEST 000007cf: CALLVALUE 000007d0: DUP1 000007d1: ISZERO 000007d2: PUSH2 0x07da 000007d5: JUMPI 000007d6: PUSH1 0x00 000007d8: DUP1 000007d9: REVERT 000007da: JUMPDEST 000007db: POP 000007dc: PUSH2 0x0529 000007df: PUSH2 0x22da 000007e2: JUMP 000007e3: JUMPDEST 000007e4: CALLVALUE 000007e5: DUP1 000007e6: ISZERO 000007e7: PUSH2 0x07ef 000007ea: JUMPI 000007eb: PUSH1 0x00 000007ed: DUP1 000007ee: REVERT 000007ef: JUMPDEST 000007f0: POP 000007f1: PUSH2 0x0529 000007f4: PUSH1 0x04 000007f6: CALLDATALOAD 000007f7: PUSH1 0x24 000007f9: CALLDATALOAD 000007fa: PUSH2 0x22e0 000007fd: JUMP 000007fe: JUMPDEST 000007ff: CALLVALUE 00000800: DUP1 00000801: ISZERO 00000802: PUSH2 0x080a 00000805: JUMPI 00000806: PUSH1 0x00 00000808: DUP1 00000809: REVERT 0000080a: JUMPDEST 0000080b: POP 0000080c: PUSH2 0x0529 0000080f: PUSH1 0x04 00000811: CALLDATALOAD 00000812: PUSH1 0x24 00000814: CALLDATALOAD 00000815: PUSH2 0x232f 00000818: JUMP 00000819: JUMPDEST 0000081a: CALLVALUE 0000081b: DUP1 0000081c: ISZERO 0000081d: PUSH2 0x0825 00000820: JUMPI 00000821: PUSH1 0x00 00000823: DUP1 00000824: REVERT 00000825: JUMPDEST 00000826: POP 00000827: PUSH1 0x40 00000829: DUP1 0000082a: MLOAD 0000082b: PUSH1 0x20 0000082d: PUSH1 0x04 0000082f: DUP1 00000830: CALLDATALOAD 00000831: DUP1 00000832: DUP3 00000833: ADD 00000834: CALLDATALOAD 00000835: PUSH1 0x1f 00000837: DUP2 00000838: ADD 00000839: DUP5 0000083a: SWAP1 0000083b: DIV 0000083c: DUP5 0000083d: MUL 0000083e: DUP6 0000083f: ADD 00000840: DUP5 00000841: ADD 00000842: SWAP1 00000843: SWAP6 00000844: MSTORE 00000845: DUP5 00000846: DUP5 00000847: MSTORE 00000848: PUSH2 0x0529 0000084b: SWAP5 0000084c: CALLDATASIZE 0000084d: SWAP5 0000084e: SWAP3 0000084f: SWAP4 00000850: PUSH1 0x24 00000852: SWAP4 00000853: SWAP3 00000854: DUP5 00000855: ADD 00000856: SWAP2 00000857: SWAP1 00000858: DUP2 00000859: SWAP1 0000085a: DUP5 0000085b: ADD 0000085c: DUP4 0000085d: DUP3 0000085e: DUP1 0000085f: DUP3 00000860: DUP5 00000861: CALLDATACOPY 00000862: POP 00000863: SWAP5 00000864: SWAP8 00000865: POP 00000866: PUSH2 0x2358 00000869: SWAP7 0000086a: POP 0000086b: POP 0000086c: POP 0000086d: POP 0000086e: POP 0000086f: POP 00000870: POP 00000871: JUMP 00000872: JUMPDEST 00000873: CALLVALUE 00000874: DUP1 00000875: ISZERO 00000876: PUSH2 0x087e 00000879: JUMPI 0000087a: PUSH1 0x00 0000087c: DUP1 0000087d: REVERT 0000087e: JUMPDEST 0000087f: POP 00000880: PUSH2 0x0887 00000883: PUSH2 0x235f 00000886: JUMP 00000887: JUMPDEST 00000888: PUSH1 0x40 0000088a: DUP1 0000088b: MLOAD 0000088c: SWAP2 0000088d: ISZERO 0000088e: ISZERO 0000088f: DUP3 00000890: MSTORE 00000891: MLOAD 00000892: SWAP1 00000893: DUP2 00000894: SWAP1 00000895: SUB 00000896: PUSH1 0x20 00000898: ADD 00000899: SWAP1 0000089a: RETURN 0000089b: JUMPDEST 0000089c: CALLVALUE 0000089d: DUP1 0000089e: ISZERO 0000089f: PUSH2 0x08a7 000008a2: JUMPI 000008a3: PUSH1 0x00 000008a5: DUP1 000008a6: REVERT 000008a7: JUMPDEST 000008a8: POP 000008a9: PUSH2 0x057d 000008ac: PUSH1 0x04 000008ae: CALLDATALOAD 000008af: PUSH2 0x2368 000008b2: JUMP 000008b3: JUMPDEST 000008b4: CALLVALUE 000008b5: DUP1 000008b6: ISZERO 000008b7: PUSH2 0x08bf 000008ba: JUMPI 000008bb: PUSH1 0x00 000008bd: DUP1 000008be: REVERT 000008bf: JUMPDEST 000008c0: POP 000008c1: PUSH2 0x0529 000008c4: PUSH1 0x04 000008c6: CALLDATALOAD 000008c7: PUSH1 0x24 000008c9: CALLDATALOAD 000008ca: PUSH2 0x23b0 000008cd: JUMP 000008ce: JUMPDEST 000008cf: CALLVALUE 000008d0: DUP1 000008d1: ISZERO 000008d2: PUSH2 0x08da 000008d5: JUMPI 000008d6: PUSH1 0x00 000008d8: DUP1 000008d9: REVERT 000008da: JUMPDEST 000008db: POP 000008dc: PUSH2 0x08e6 000008df: PUSH1 0x04 000008e1: CALLDATALOAD 000008e2: PUSH2 0x23c1 000008e5: JUMP 000008e6: JUMPDEST 000008e7: PUSH1 0x40 000008e9: DUP1 000008ea: MLOAD 000008eb: PUSH1 0x01 000008ed: PUSH1 0xa0 000008ef: PUSH1 0x02 000008f1: EXP 000008f2: SUB 000008f3: SWAP1 000008f4: SWAP6 000008f5: AND 000008f6: DUP6 000008f7: MSTORE 000008f8: PUSH1 0x20 000008fa: DUP6 000008fb: ADD 000008fc: SWAP4 000008fd: SWAP1 000008fe: SWAP4 000008ff: MSTORE 00000900: DUP4 00000901: DUP4 00000902: ADD 00000903: SWAP2 00000904: SWAP1 00000905: SWAP2 00000906: MSTORE 00000907: PUSH1 0x60 00000909: DUP4 0000090a: ADD 0000090b: MSTORE 0000090c: MLOAD 0000090d: SWAP1 0000090e: DUP2 0000090f: SWAP1 00000910: SUB 00000911: PUSH1 0x80 00000913: ADD 00000914: SWAP1 00000915: RETURN 00000916: JUMPDEST 00000917: CALLVALUE 00000918: DUP1 00000919: ISZERO 0000091a: PUSH2 0x0922 0000091d: JUMPI 0000091e: PUSH1 0x00 00000920: DUP1 00000921: REVERT 00000922: JUMPDEST 00000923: POP 00000924: PUSH2 0x047f 00000927: PUSH1 0x04 00000929: CALLDATALOAD 0000092a: PUSH2 0x23f2 0000092d: JUMP 0000092e: JUMPDEST 0000092f: CALLVALUE 00000930: DUP1 00000931: ISZERO 00000932: PUSH2 0x093a 00000935: JUMPI 00000936: PUSH1 0x00 00000938: DUP1 00000939: REVERT 0000093a: JUMPDEST 0000093b: POP 0000093c: PUSH2 0x0529 0000093f: PUSH2 0x2667 00000942: JUMP 00000943: JUMPDEST 00000944: CALLVALUE 00000945: DUP1 00000946: ISZERO 00000947: PUSH2 0x094f 0000094a: JUMPI 0000094b: PUSH1 0x00 0000094d: DUP1 0000094e: REVERT 0000094f: JUMPDEST 00000950: POP 00000951: PUSH2 0x047f 00000954: PUSH2 0x266d 00000957: JUMP 00000958: JUMPDEST 00000959: PUSH1 0x00 0000095b: DUP1 0000095c: PUSH1 0x0a 0000095e: PUSH1 0x00 00000960: ADD 00000961: SLOAD 00000962: TIMESTAMP 00000963: LT 00000964: ISZERO 00000965: PUSH2 0x096d 00000968: JUMPI 00000969: PUSH2 0x0a14 0000096c: JUMP 0000096d: JUMPDEST 0000096e: PUSH1 0x0a 00000970: SLOAD 00000971: PUSH2 0x0981 00000974: SWAP1 00000975: TIMESTAMP 00000976: SWAP1 00000977: PUSH4 0xffffffff 0000097c: PUSH2 0x26ef 0000097f: AND 00000980: JUMP 00000981: JUMPDEST 00000982: SWAP2 00000983: POP 00000984: PUSH2 0x0998 00000987: PUSH1 0x01 00000989: SLOAD 0000098a: DUP4 0000098b: PUSH2 0x270d 0000098e: SWAP1 0000098f: SWAP2 00000990: SWAP1 00000991: PUSH4 0xffffffff 00000996: AND 00000997: JUMP 00000998: JUMPDEST 00000999: PUSH1 0x01 0000099b: ADD 0000099c: SWAP1 0000099d: POP 0000099e: DUP3 0000099f: ISZERO 000009a0: DUP1 000009a1: PUSH2 0x09a9 000009a4: JUMPI 000009a5: POP 000009a6: DUP1 000009a7: DUP4 000009a8: GT 000009a9: JUMPDEST 000009aa: ISZERO 000009ab: PUSH2 0x09b2 000009ae: JUMPI 000009af: DUP1 000009b0: SWAP3 000009b1: POP 000009b2: JUMPDEST 000009b3: PUSH1 0x0e 000009b5: SLOAD 000009b6: PUSH1 0x12 000009b8: DUP2 000009b9: SWAP1 000009ba: SSTORE 000009bb: PUSH1 0x10 000009bd: SLOAD 000009be: PUSH1 0x13 000009c0: DUP2 000009c1: SWAP1 000009c2: SSTORE 000009c3: PUSH2 0x09cd 000009c6: SWAP2 000009c7: DUP6 000009c8: SWAP2 000009c9: PUSH2 0x2730 000009cc: JUMP 000009cd: JUMPDEST 000009ce: PUSH1 0x14 000009d0: SSTORE 000009d1: PUSH1 0x11 000009d3: SSTORE 000009d4: PUSH1 0x01 000009d6: SLOAD 000009d7: PUSH2 0x09fa 000009da: SWAP1 000009db: PUSH2 0x09eb 000009de: SWAP1 000009df: DUP6 000009e0: SWAP1 000009e1: PUSH4 0xffffffff 000009e6: PUSH2 0x2800 000009e9: AND 000009ea: JUMP 000009eb: JUMPDEST 000009ec: PUSH1 0x0a 000009ee: SLOAD 000009ef: SWAP1 000009f0: PUSH4 0xffffffff 000009f5: PUSH2 0x282e 000009f8: AND 000009f9: JUMP 000009fa: JUMPDEST 000009fb: PUSH1 0x0a 000009fd: SSTORE 000009fe: PUSH1 0x0b 00000a00: SLOAD 00000a01: PUSH2 0x0a10 00000a04: SWAP1 00000a05: DUP5 00000a06: PUSH4 0xffffffff 00000a0b: PUSH2 0x282e 00000a0e: AND 00000a0f: JUMP 00000a10: JUMPDEST 00000a11: PUSH1 0x0b 00000a13: SSTORE 00000a14: JUMPDEST 00000a15: POP 00000a16: POP 00000a17: POP 00000a18: JUMP 00000a19: JUMPDEST 00000a1a: PUSH1 0x00 00000a1c: DUP1 00000a1d: PUSH2 0x0a2d 00000a20: DUP4 00000a21: PUSH1 0x64 00000a23: PUSH4 0xffffffff 00000a28: PUSH2 0x2800 00000a2b: AND 00000a2c: JUMP 00000a2d: JUMPDEST 00000a2e: SWAP2 00000a2f: POP 00000a30: PUSH2 0x0a41 00000a33: DUP4 00000a34: PUSH2 0x0271 00000a37: PUSH4 0xffffffff 00000a3c: PUSH2 0x2800 00000a3f: AND 00000a40: JUMP 00000a41: JUMPDEST 00000a42: SWAP1 00000a43: POP 00000a44: PUSH2 0x0a50 00000a47: DUP6 00000a48: DUP6 00000a49: PUSH1 0x00 00000a4b: DUP6 00000a4c: PUSH2 0x2840 00000a4f: JUMP 00000a50: JUMPDEST 00000a51: PUSH2 0x0a5a 00000a54: DUP6 00000a55: DUP3 00000a56: PUSH2 0x28c1 00000a59: JUMP 00000a5a: JUMPDEST 00000a5b: PUSH2 0x0a64 00000a5e: DUP6 00000a5f: DUP5 00000a60: PUSH2 0x2940 00000a63: JUMP 00000a64: JUMPDEST 00000a65: POP 00000a66: POP 00000a67: POP 00000a68: POP 00000a69: POP 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: PUSH1 0x15 00000a6e: SLOAD 00000a6f: PUSH1 0x00 00000a71: SWAP1 00000a72: DUP2 00000a73: SWAP1 00000a74: DUP2 00000a75: SWAP1 00000a76: DUP2 00000a77: SWAP1 00000a78: DUP2 00000a79: SWAP1 00000a7a: PUSH1 0xff 00000a7c: AND 00000a7d: ISZERO 00000a7e: ISZERO 00000a7f: PUSH1 0x01 00000a81: EQ 00000a82: PUSH2 0x0ad7 00000a85: JUMPI 00000a86: PUSH1 0x40 00000a88: DUP1 00000a89: MLOAD 00000a8a: PUSH1 0xe5 00000a8c: PUSH1 0x02 00000a8e: EXP 00000a8f: PUSH3 0x461bcd 00000a93: MUL 00000a94: DUP2 00000a95: MSTORE 00000a96: PUSH1 0x20 00000a98: PUSH1 0x04 00000a9a: DUP3 00000a9b: ADD 00000a9c: MSTORE 00000a9d: PUSH1 0x29 00000a9f: PUSH1 0x24 00000aa1: DUP3 00000aa2: ADD 00000aa3: MSTORE 00000aa4: PUSH1 0x00 00000aa6: DUP1 00000aa7: MLOAD 00000aa8: PUSH1 0x20 00000aaa: PUSH2 0x35ce 00000aad: DUP4 00000aae: CODECOPY 00000aaf: DUP2 00000ab0: MLOAD 00000ab1: SWAP2 00000ab2: MSTORE 00000ab3: PUSH1 0x44 00000ab5: DUP3 00000ab6: ADD 00000ab7: MSTORE 00000ab8: PUSH1 0x00 00000aba: DUP1 00000abb: MLOAD 00000abc: PUSH1 0x20 00000abe: PUSH2 0x356e 00000ac1: DUP4 00000ac2: CODECOPY 00000ac3: DUP2 00000ac4: MLOAD 00000ac5: SWAP2 00000ac6: MSTORE 00000ac7: PUSH1 0x64 00000ac9: DUP3 00000aca: ADD 00000acb: MSTORE 00000acc: SWAP1 00000acd: MLOAD 00000ace: SWAP1 00000acf: DUP2 00000ad0: SWAP1 00000ad1: SUB 00000ad2: PUSH1 0x84 00000ad4: ADD 00000ad5: SWAP1 00000ad6: REVERT 00000ad7: JUMPDEST 00000ad8: CALLER 00000ad9: ORIGIN 00000ada: EQ 00000adb: PUSH2 0x0b1c 00000ade: JUMPI 00000adf: PUSH1 0x40 00000ae1: DUP1 00000ae2: MLOAD 00000ae3: PUSH1 0xe5 00000ae5: PUSH1 0x02 00000ae7: EXP 00000ae8: PUSH3 0x461bcd 00000aec: MUL 00000aed: DUP2 00000aee: MSTORE 00000aef: PUSH1 0x20 00000af1: PUSH1 0x04 00000af3: DUP3 00000af4: ADD 00000af5: MSTORE 00000af6: PUSH1 0x11 00000af8: PUSH1 0x24 00000afa: DUP3 00000afb: ADD 00000afc: MSTORE 00000afd: PUSH1 0x00 00000aff: DUP1 00000b00: MLOAD 00000b01: PUSH1 0x20 00000b03: PUSH2 0x360e 00000b06: DUP4 00000b07: CODECOPY 00000b08: DUP2 00000b09: MLOAD 00000b0a: SWAP2 00000b0b: MSTORE 00000b0c: PUSH1 0x44 00000b0e: DUP3 00000b0f: ADD 00000b10: MSTORE 00000b11: SWAP1 00000b12: MLOAD 00000b13: SWAP1 00000b14: DUP2 00000b15: SWAP1 00000b16: SUB 00000b17: PUSH1 0x64 00000b19: ADD 00000b1a: SWAP1 00000b1b: REVERT 00000b1c: JUMPDEST 00000b1d: CALLVALUE 00000b1e: PUSH4 0x3b9aca00 00000b23: DUP2 00000b24: LT 00000b25: ISZERO 00000b26: PUSH2 0x0b74 00000b29: JUMPI 00000b2a: PUSH1 0x40 00000b2c: DUP1 00000b2d: MLOAD 00000b2e: PUSH1 0xe5 00000b30: PUSH1 0x02 00000b32: EXP 00000b33: PUSH3 0x461bcd 00000b37: MUL 00000b38: DUP2 00000b39: MSTORE 00000b3a: PUSH1 0x20 00000b3c: PUSH1 0x04 00000b3e: DUP3 00000b3f: ADD 00000b40: MSTORE 00000b41: PUSH1 0x21 00000b43: PUSH1 0x24 00000b45: DUP3 00000b46: ADD 00000b47: MSTORE 00000b48: PUSH1 0x00 00000b4a: DUP1 00000b4b: MLOAD 00000b4c: PUSH1 0x20 00000b4e: PUSH2 0x35ae 00000b51: DUP4 00000b52: CODECOPY 00000b53: DUP2 00000b54: MLOAD 00000b55: SWAP2 00000b56: MSTORE 00000b57: PUSH1 0x44 00000b59: DUP3 00000b5a: ADD 00000b5b: MSTORE 00000b5c: PUSH1 0xf8 00000b5e: PUSH1 0x02 00000b60: EXP 00000b61: PUSH1 0x79 00000b63: MUL 00000b64: PUSH1 0x64 00000b66: DUP3 00000b67: ADD 00000b68: MSTORE 00000b69: SWAP1 00000b6a: MLOAD 00000b6b: SWAP1 00000b6c: DUP2 00000b6d: SWAP1 00000b6e: SUB 00000b6f: PUSH1 0x84 00000b71: ADD 00000b72: SWAP1 00000b73: REVERT 00000b74: JUMPDEST 00000b75: PUSH10 0x152d02c7e14af6800000 00000b80: DUP2 00000b81: GT 00000b82: ISZERO 00000b83: PUSH2 0x0bc4 00000b86: JUMPI 00000b87: PUSH1 0x40 00000b89: DUP1 00000b8a: MLOAD 00000b8b: PUSH1 0xe5 00000b8d: PUSH1 0x02 00000b8f: EXP 00000b90: PUSH3 0x461bcd 00000b94: MUL 00000b95: DUP2 00000b96: MSTORE 00000b97: PUSH1 0x20 00000b99: PUSH1 0x04 00000b9b: DUP3 00000b9c: ADD 00000b9d: MSTORE 00000b9e: PUSH1 0x0e 00000ba0: PUSH1 0x24 00000ba2: DUP3 00000ba3: ADD 00000ba4: MSTORE 00000ba5: PUSH1 0x00 00000ba7: DUP1 00000ba8: MLOAD 00000ba9: PUSH1 0x20 00000bab: PUSH2 0x35ee 00000bae: DUP4 00000baf: CODECOPY 00000bb0: DUP2 00000bb1: MLOAD 00000bb2: SWAP2 00000bb3: MSTORE 00000bb4: PUSH1 0x44 00000bb6: DUP3 00000bb7: ADD 00000bb8: MSTORE 00000bb9: SWAP1 00000bba: MLOAD 00000bbb: SWAP1 00000bbc: DUP2 00000bbd: SWAP1 00000bbe: SUB 00000bbf: PUSH1 0x64 00000bc1: ADD 00000bc2: SWAP1 00000bc3: REVERT 00000bc4: JUMPDEST 00000bc5: PUSH2 0x0bce 00000bc8: PUSH1 0x00 00000bca: PUSH2 0x0958 00000bcd: JUMP 00000bce: JUMPDEST 00000bcf: CALLER 00000bd0: PUSH1 0x00 00000bd2: DUP2 00000bd3: DUP2 00000bd4: MSTORE 00000bd5: PUSH1 0x04 00000bd7: PUSH1 0x20 00000bd9: MSTORE 00000bda: PUSH1 0x40 00000bdc: SWAP1 00000bdd: KECCAK256 00000bde: SLOAD 00000bdf: ISZERO 00000be0: ISZERO 00000be1: PUSH2 0x0c37 00000be4: JUMPI 00000be5: PUSH1 0x09 00000be7: DUP1 00000be8: SLOAD 00000be9: PUSH1 0x01 00000beb: PUSH1 0xa0 00000bed: PUSH1 0x02 00000bef: EXP 00000bf0: SUB 00000bf1: DUP4 00000bf2: AND 00000bf3: PUSH1 0x00 00000bf5: DUP2 00000bf6: DUP2 00000bf7: MSTORE 00000bf8: PUSH1 0x04 00000bfa: PUSH1 0x20 00000bfc: SWAP1 00000bfd: DUP2 00000bfe: MSTORE 00000bff: PUSH1 0x40 00000c01: DUP1 00000c02: DUP4 00000c03: KECCAK256 00000c04: DUP6 00000c05: SWAP1 00000c06: SSTORE 00000c07: SWAP4 00000c08: DUP3 00000c09: MSTORE 00000c0a: PUSH1 0x06 00000c0c: SWAP1 00000c0d: MSTORE 00000c0e: SWAP2 00000c0f: SWAP1 00000c10: SWAP2 00000c11: KECCAK256 00000c12: DUP1 00000c13: SLOAD 00000c14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c29: NOT 00000c2a: AND 00000c2b: SWAP1 00000c2c: SWAP2 00000c2d: OR 00000c2e: SWAP1 00000c2f: SSTORE 00000c30: DUP1 00000c31: SLOAD 00000c32: PUSH1 0x01 00000c34: ADD 00000c35: SWAP1 00000c36: SSTORE 00000c37: JUMPDEST 00000c38: PUSH8 0x016345785d8a0000 00000c41: CALLVALUE 00000c42: LT 00000c43: ISZERO 00000c44: PUSH2 0x0c97 00000c47: JUMPI 00000c48: PUSH1 0x40 00000c4a: DUP1 00000c4b: MLOAD 00000c4c: PUSH1 0xe5 00000c4e: PUSH1 0x02 00000c50: EXP 00000c51: PUSH3 0x461bcd 00000c55: MUL 00000c56: DUP2 00000c57: MSTORE 00000c58: PUSH1 0x20 00000c5a: PUSH1 0x04 00000c5c: DUP3 00000c5d: ADD 00000c5e: MSTORE 00000c5f: PUSH1 0x0e 00000c61: PUSH1 0x24 00000c63: DUP3 00000c64: ADD 00000c65: MSTORE 00000c66: PUSH32 0x6e6f7420656e6f75676820657468000000000000000000000000000000000000 00000c87: PUSH1 0x44 00000c89: DUP3 00000c8a: ADD 00000c8b: MSTORE 00000c8c: SWAP1 00000c8d: MLOAD 00000c8e: SWAP1 00000c8f: DUP2 00000c90: SWAP1 00000c91: SUB 00000c92: PUSH1 0x64 00000c94: ADD 00000c95: SWAP1 00000c96: REVERT 00000c97: JUMPDEST 00000c98: PUSH2 0x0ca0 00000c9b: DUP9 00000c9c: PUSH2 0x299b 00000c9f: JUMP 00000ca0: JUMPDEST 00000ca1: PUSH1 0x00 00000ca3: DUP2 00000ca4: DUP2 00000ca5: MSTORE 00000ca6: PUSH1 0x05 00000ca8: PUSH1 0x20 00000caa: MSTORE 00000cab: PUSH1 0x40 00000cad: SWAP1 00000cae: KECCAK256 00000caf: SLOAD 00000cb0: SWAP1 00000cb1: SWAP8 00000cb2: POP 00000cb3: ISZERO 00000cb4: PUSH2 0x0d07 00000cb7: JUMPI 00000cb8: PUSH1 0x40 00000cba: DUP1 00000cbb: MLOAD 00000cbc: PUSH1 0xe5 00000cbe: PUSH1 0x02 00000cc0: EXP 00000cc1: PUSH3 0x461bcd 00000cc5: MUL 00000cc6: DUP2 00000cc7: MSTORE 00000cc8: PUSH1 0x20 00000cca: PUSH1 0x04 00000ccc: DUP3 00000ccd: ADD 00000cce: MSTORE 00000ccf: PUSH1 0x08 00000cd1: PUSH1 0x24 00000cd3: DUP3 00000cd4: ADD 00000cd5: MSTORE 00000cd6: PUSH32 0x686173206e616d65000000000000000000000000000000000000000000000000 00000cf7: PUSH1 0x44 00000cf9: DUP3 00000cfa: ADD 00000cfb: MSTORE 00000cfc: SWAP1 00000cfd: MLOAD 00000cfe: SWAP1 00000cff: DUP2 00000d00: SWAP1 00000d01: SUB 00000d02: PUSH1 0x64 00000d04: ADD 00000d05: SWAP1 00000d06: REVERT 00000d07: JUMPDEST 00000d08: CALLER 00000d09: PUSH1 0x00 00000d0b: SWAP1 00000d0c: DUP2 00000d0d: MSTORE 00000d0e: PUSH1 0x04 00000d10: PUSH1 0x20 00000d12: SWAP1 00000d13: DUP2 00000d14: MSTORE 00000d15: PUSH1 0x40 00000d17: DUP1 00000d18: DUP4 00000d19: KECCAK256 00000d1a: SLOAD 00000d1b: DUP11 00000d1c: DUP5 00000d1d: MSTORE 00000d1e: PUSH1 0x05 00000d20: DUP4 00000d21: MSTORE 00000d22: DUP2 00000d23: DUP5 00000d24: KECCAK256 00000d25: DUP2 00000d26: SWAP1 00000d27: SSTORE 00000d28: DUP1 00000d29: DUP5 00000d2a: MSTORE 00000d2b: PUSH1 0x06 00000d2d: SWAP1 00000d2e: SWAP3 00000d2f: MSTORE 00000d30: SWAP1 00000d31: SWAP2 00000d32: KECCAK256 00000d33: PUSH1 0x01 00000d35: ADD 00000d36: DUP9 00000d37: SWAP1 00000d38: SSTORE 00000d39: SWAP6 00000d3a: POP 00000d3b: PUSH8 0x8ac7230489e80000 00000d44: SWAP5 00000d45: POP 00000d46: PUSH2 0x0d4e 00000d49: DUP6 00000d4a: PUSH2 0x1b1a 00000d4d: JUMP 00000d4e: JUMPDEST 00000d4f: SWAP4 00000d50: POP 00000d51: PUSH2 0x0d5d 00000d54: DUP7 00000d55: DUP7 00000d56: DUP7 00000d57: PUSH1 0x00 00000d59: PUSH2 0x31ae 00000d5c: JUMP 00000d5d: JUMPDEST 00000d5e: PUSH2 0x0d67 00000d61: DUP7 00000d62: DUP11 00000d63: PUSH2 0x3271 00000d66: JUMP 00000d67: JUMPDEST 00000d68: SWAP3 00000d69: POP 00000d6a: DUP3 00000d6b: ISZERO 00000d6c: ISZERO 00000d6d: PUSH2 0x0d7e 00000d70: JUMPI 00000d71: PUSH2 0x0d79 00000d74: CALLVALUE 00000d75: PUSH2 0x336c 00000d78: JUMP 00000d79: JUMPDEST 00000d7a: PUSH2 0x0e61 00000d7d: JUMP 00000d7e: JUMPDEST 00000d7f: PUSH2 0x0d9d 00000d82: PUSH2 0x0d98 00000d85: CALLVALUE 00000d86: PUSH7 0xb1a2bc2ec50000 00000d8e: PUSH4 0xffffffff 00000d93: PUSH2 0x26ef 00000d96: AND 00000d97: JUMP 00000d98: JUMPDEST 00000d99: PUSH2 0x336c 00000d9c: JUMP 00000d9d: JUMPDEST 00000d9e: PUSH1 0x00 00000da0: DUP4 00000da1: DUP2 00000da2: MSTORE 00000da3: PUSH1 0x06 00000da5: PUSH1 0x20 00000da7: MSTORE 00000da8: PUSH1 0x40 00000daa: DUP1 00000dab: DUP3 00000dac: KECCAK256 00000dad: SLOAD 00000dae: SWAP1 00000daf: MLOAD 00000db0: PUSH1 0x01 00000db2: PUSH1 0xa0 00000db4: PUSH1 0x02 00000db6: EXP 00000db7: SUB 00000db8: SWAP1 00000db9: SWAP2 00000dba: AND 00000dbb: SWAP2 00000dbc: SWAP1 00000dbd: PUSH7 0xb1a2bc2ec50000 00000dc5: SWAP1 00000dc6: DUP3 00000dc7: DUP2 00000dc8: DUP2 00000dc9: DUP2 00000dca: DUP6 00000dcb: DUP9 00000dcc: DUP4 00000dcd: CALL 00000dce: SWAP4 00000dcf: POP 00000dd0: POP 00000dd1: POP 00000dd2: POP 00000dd3: ISZERO 00000dd4: DUP1 00000dd5: ISZERO 00000dd6: PUSH2 0x0de3 00000dd9: JUMPI 00000dda: RETURNDATASIZE 00000ddb: PUSH1 0x00 00000ddd: DUP1 00000dde: RETURNDATACOPY 00000ddf: RETURNDATASIZE 00000de0: PUSH1 0x00 00000de2: REVERT 00000de3: JUMPDEST 00000de4: POP 00000de5: PUSH1 0x00 00000de7: DUP4 00000de8: DUP2 00000de9: MSTORE 00000dea: PUSH1 0x07 00000dec: PUSH1 0x20 00000dee: MSTORE 00000def: PUSH1 0x40 00000df1: SWAP1 00000df2: KECCAK256 00000df3: PUSH1 0x02 00000df5: ADD 00000df6: SLOAD 00000df7: PUSH2 0x0e0d 00000dfa: SWAP1 00000dfb: PUSH7 0xb1a2bc2ec50000 00000e03: PUSH4 0xffffffff 00000e08: PUSH2 0x282e 00000e0b: AND 00000e0c: JUMP 00000e0d: JUMPDEST 00000e0e: PUSH1 0x00 00000e10: DUP5 00000e11: DUP2 00000e12: MSTORE 00000e13: PUSH1 0x07 00000e15: PUSH1 0x20 00000e17: MSTORE 00000e18: PUSH1 0x40 00000e1a: SWAP1 00000e1b: KECCAK256 00000e1c: PUSH1 0x02 00000e1e: ADD 00000e1f: SSTORE 00000e20: PUSH2 0x0e61 00000e23: DUP7 00000e24: DUP5 00000e25: PUSH2 0x0e46 00000e28: PUSH1 0x64 00000e2a: PUSH2 0x0e3a 00000e2d: DUP11 00000e2e: PUSH1 0x05 00000e30: PUSH4 0xffffffff 00000e35: PUSH2 0x2800 00000e38: AND 00000e39: JUMP 00000e3a: JUMPDEST 00000e3b: SWAP1 00000e3c: PUSH4 0xffffffff 00000e41: PUSH2 0x270d 00000e44: AND 00000e45: JUMP 00000e46: JUMPDEST 00000e47: PUSH2 0x0e5c 00000e4a: PUSH1 0x64 00000e4c: PUSH2 0x0e3a 00000e4f: DUP11 00000e50: PUSH1 0x05 00000e52: PUSH4 0xffffffff 00000e57: PUSH2 0x2800 00000e5a: AND 00000e5b: JUMP 00000e5c: JUMPDEST 00000e5d: PUSH2 0x33aa 00000e60: JUMP 00000e61: JUMPDEST 00000e62: PUSH1 0x40 00000e64: DUP1 00000e65: MLOAD 00000e66: DUP9 00000e67: DUP2 00000e68: MSTORE 00000e69: CALLVALUE 00000e6a: PUSH1 0x20 00000e6c: DUP3 00000e6d: ADD 00000e6e: MSTORE 00000e6f: TIMESTAMP 00000e70: DUP2 00000e71: DUP4 00000e72: ADD 00000e73: MSTORE 00000e74: SWAP1 00000e75: MLOAD 00000e76: DUP8 00000e77: SWAP2 00000e78: PUSH32 0x1d1175eab16695c0a8f6d8783added39f80484d19702efe9df55a5fb190f86c4 00000e99: SWAP2 00000e9a: SWAP1 00000e9b: DUP2 00000e9c: SWAP1 00000e9d: SUB 00000e9e: PUSH1 0x60 00000ea0: ADD 00000ea1: SWAP1 00000ea2: LOG2 00000ea3: POP 00000ea4: POP 00000ea5: POP 00000ea6: POP 00000ea7: POP 00000ea8: POP 00000ea9: POP 00000eaa: POP 00000eab: POP 00000eac: JUMP 00000ead: JUMPDEST 00000eae: PUSH1 0x40 00000eb0: DUP1 00000eb1: MLOAD 00000eb2: DUP1 00000eb3: DUP3 00000eb4: ADD 00000eb5: SWAP1 00000eb6: SWAP2 00000eb7: MSTORE 00000eb8: PUSH1 0x06 00000eba: DUP2 00000ebb: MSTORE 00000ebc: PUSH32 0x746f6b656e740000000000000000000000000000000000000000000000000000 00000edd: PUSH1 0x20 00000edf: DUP3 00000ee0: ADD 00000ee1: MSTORE 00000ee2: DUP2 00000ee3: JUMP 00000ee4: JUMPDEST 00000ee5: PUSH1 0x00 00000ee7: DUP1 00000ee8: DUP5 00000ee9: GT 00000eea: DUP1 00000eeb: ISZERO 00000eec: PUSH2 0x0ef5 00000eef: JUMPI 00000ef0: POP 00000ef1: PUSH1 0x00 00000ef3: DUP4 00000ef4: GT 00000ef5: JUMPDEST 00000ef6: DUP1 00000ef7: ISZERO 00000ef8: PUSH2 0x0f01 00000efb: JUMPI 00000efc: POP 00000efd: PUSH1 0x00 00000eff: DUP3 00000f00: GT 00000f01: JUMPDEST 00000f02: ISZERO 00000f03: PUSH2 0x0f2a 00000f06: JUMPI 00000f07: PUSH2 0x0f23 00000f0a: PUSH2 0x0f14 00000f0d: DUP6 00000f0e: DUP6 00000f0f: DUP6 00000f10: PUSH2 0x1c9a 00000f13: JUMP 00000f14: JUMPDEST 00000f15: PUSH1 0x0c 00000f17: SLOAD 00000f18: SWAP1 00000f19: PUSH4 0xffffffff 00000f1e: PUSH2 0x26ef 00000f21: AND 00000f22: JUMP 00000f23: JUMPDEST 00000f24: SWAP1 00000f25: POP 00000f26: PUSH2 0x0f42 00000f29: JUMP 00000f2a: JUMPDEST 00000f2b: PUSH1 0x12 00000f2d: SLOAD 00000f2e: PUSH1 0x13 00000f30: SLOAD 00000f31: PUSH2 0x0f3f 00000f34: SWAP2 00000f35: PUSH2 0x0f14 00000f38: SWAP2 00000f39: PUSH1 0x00 00000f3b: PUSH2 0x1c9a 00000f3e: JUMP 00000f3f: JUMPDEST 00000f40: SWAP1 00000f41: POP 00000f42: JUMPDEST 00000f43: SWAP4 00000f44: SWAP3 00000f45: POP 00000f46: POP 00000f47: POP 00000f48: JUMP 00000f49: JUMPDEST 00000f4a: PUSH1 0x04 00000f4c: PUSH1 0x20 00000f4e: MSTORE 00000f4f: PUSH1 0x00 00000f51: SWAP1 00000f52: DUP2 00000f53: MSTORE 00000f54: PUSH1 0x40 00000f56: SWAP1 00000f57: KECCAK256 00000f58: SLOAD 00000f59: DUP2 00000f5a: JUMP 00000f5b: JUMPDEST 00000f5c: PUSH1 0x01 00000f5e: PUSH1 0xa0 00000f60: PUSH1 0x02 00000f62: EXP 00000f63: SUB 00000f64: DUP2 00000f65: AND 00000f66: PUSH1 0x00 00000f68: SWAP1 00000f69: DUP2 00000f6a: MSTORE 00000f6b: PUSH1 0x04 00000f6d: PUSH1 0x20 00000f6f: MSTORE 00000f70: PUSH1 0x40 00000f72: DUP2 00000f73: KECCAK256 00000f74: SLOAD 00000f75: PUSH1 0x12 00000f77: SLOAD 00000f78: PUSH1 0x13 00000f7a: SLOAD 00000f7b: PUSH1 0x11 00000f7d: SLOAD 00000f7e: PUSH1 0x0a 00000f80: SLOAD 00000f81: DUP6 00000f82: SWAP5 00000f83: DUP6 00000f84: SWAP5 00000f85: DUP6 00000f86: SWAP5 00000f87: DUP6 00000f88: SWAP5 00000f89: DUP6 00000f8a: SWAP5 00000f8b: DUP6 00000f8c: SWAP5 00000f8d: DUP6 00000f8e: SWAP5 00000f8f: SWAP1 00000f90: SWAP4 00000f91: SWAP1 00000f92: SWAP3 00000f93: SWAP1 00000f94: SWAP2 00000f95: DUP6 00000f96: SWAP1 00000f97: TIMESTAMP 00000f98: LT 00000f99: PUSH2 0x0fd7 00000f9c: JUMPI 00000f9d: PUSH1 0x01 00000f9f: SLOAD 00000fa0: PUSH1 0x0a 00000fa2: SLOAD 00000fa3: PUSH2 0x0fb8 00000fa6: SWAP2 00000fa7: SWAP1 00000fa8: PUSH2 0x0e3a 00000fab: SWAP1 00000fac: TIMESTAMP 00000fad: SWAP1 00000fae: PUSH4 0xffffffff 00000fb3: PUSH2 0x26ef 00000fb6: AND 00000fb7: JUMP 00000fb8: JUMPDEST 00000fb9: PUSH1 0x0e 00000fbb: SLOAD 00000fbc: PUSH1 0x10 00000fbe: SLOAD 00000fbf: SWAP1 00000fc0: SWAP6 00000fc1: POP 00000fc2: SWAP4 00000fc3: POP 00000fc4: PUSH1 0x01 00000fc6: ADD 00000fc7: SWAP1 00000fc8: POP 00000fc9: PUSH2 0x0fd3 00000fcc: DUP2 00000fcd: DUP6 00000fce: DUP6 00000fcf: PUSH2 0x2730 00000fd2: JUMP 00000fd3: JUMPDEST 00000fd4: POP 00000fd5: SWAP2 00000fd6: POP 00000fd7: JUMPDEST 00000fd8: PUSH1 0x00 00000fda: DUP6 00000fdb: DUP2 00000fdc: MSTORE 00000fdd: PUSH1 0x07 00000fdf: PUSH1 0x20 00000fe1: MSTORE 00000fe2: PUSH1 0x40 00000fe4: SWAP1 00000fe5: KECCAK256 00000fe6: DUP1 00000fe7: SLOAD 00000fe8: PUSH1 0x02 00000fea: DUP3 00000feb: ADD 00000fec: SLOAD 00000fed: PUSH1 0x03 00000fef: DUP4 00000ff0: ADD 00000ff1: SLOAD 00000ff2: PUSH1 0x04 00000ff4: DUP5 00000ff5: ADD 00000ff6: SLOAD 00000ff7: PUSH1 0x05 00000ff9: DUP6 00000ffa: ADD 00000ffb: SLOAD 00000ffc: PUSH1 0x01 00000ffe: SWAP1 00000fff: SWAP6 00001000: ADD 00001001: SLOAD 00001002: SWAP4 00001003: SWAP5 00001004: SWAP3 00001005: SWAP4 00001006: SWAP2 00001007: SWAP3 00001008: SWAP1 00001009: SWAP2 0000100a: PUSH2 0x1015 0000100d: SWAP1 0000100e: DUP7 0000100f: SWAP1 00001010: DUP10 00001011: PUSH2 0x2038 00001014: JUMP 00001015: JUMPDEST 00001016: PUSH1 0x07 00001018: PUSH1 0x00 0000101a: DUP13 0000101b: DUP2 0000101c: MSTORE 0000101d: PUSH1 0x20 0000101f: ADD 00001020: SWAP1 00001021: DUP2 00001022: MSTORE 00001023: PUSH1 0x20 00001025: ADD 00001026: PUSH1 0x00 00001028: KECCAK256 00001029: PUSH1 0x06 0000102b: ADD 0000102c: SLOAD 0000102d: PUSH1 0x07 0000102f: PUSH1 0x00 00001031: DUP14 00001032: DUP2 00001033: MSTORE 00001034: PUSH1 0x20 00001036: ADD 00001037: SWAP1 00001038: DUP2 00001039: MSTORE 0000103a: PUSH1 0x20 0000103c: ADD 0000103d: PUSH1 0x00 0000103f: KECCAK256 00001040: PUSH1 0x07 00001042: ADD 00001043: SLOAD 00001044: SWAP13 00001045: POP 00001046: SWAP13 00001047: POP 00001048: SWAP13 00001049: POP 0000104a: SWAP13 0000104b: POP 0000104c: SWAP13 0000104d: POP 0000104e: SWAP13 0000104f: POP 00001050: SWAP13 00001051: POP 00001052: SWAP13 00001053: POP 00001054: POP 00001055: POP 00001056: POP 00001057: POP 00001058: POP 00001059: SWAP2 0000105a: SWAP4 0000105b: SWAP6 0000105c: SWAP8 0000105d: POP 0000105e: SWAP2 0000105f: SWAP4 00001060: SWAP6 00001061: SWAP8 00001062: JUMP 00001063: JUMPDEST 00001064: PUSH1 0x0a 00001066: SLOAD 00001067: PUSH1 0x0b 00001069: SLOAD 0000106a: PUSH1 0x0c 0000106c: SLOAD 0000106d: PUSH1 0x0d 0000106f: SLOAD 00001070: PUSH1 0x0e 00001072: SLOAD 00001073: PUSH1 0x0f 00001075: SLOAD 00001076: PUSH1 0x10 00001078: SLOAD 00001079: PUSH1 0x11 0000107b: SLOAD 0000107c: PUSH1 0x12 0000107e: SLOAD 0000107f: PUSH1 0x13 00001081: SLOAD 00001082: PUSH1 0x14 00001084: SLOAD 00001085: DUP12 00001086: JUMP 00001087: JUMPDEST 00001088: PUSH1 0x05 0000108a: PUSH1 0x20 0000108c: MSTORE 0000108d: PUSH1 0x00 0000108f: SWAP1 00001090: DUP2 00001091: MSTORE 00001092: PUSH1 0x40 00001094: SWAP1 00001095: KECCAK256 00001096: SLOAD 00001097: DUP2 00001098: JUMP 00001099: JUMPDEST 0000109a: PUSH1 0x15 0000109c: SLOAD 0000109d: PUSH1 0x00 0000109f: SWAP1 000010a0: PUSH1 0xff 000010a2: AND 000010a3: ISZERO 000010a4: ISZERO 000010a5: PUSH1 0x01 000010a7: EQ 000010a8: PUSH2 0x10fd 000010ab: JUMPI 000010ac: PUSH1 0x40 000010ae: DUP1 000010af: MLOAD 000010b0: PUSH1 0xe5 000010b2: PUSH1 0x02 000010b4: EXP 000010b5: PUSH3 0x461bcd 000010b9: MUL 000010ba: DUP2 000010bb: MSTORE 000010bc: PUSH1 0x20 000010be: PUSH1 0x04 000010c0: DUP3 000010c1: ADD 000010c2: MSTORE 000010c3: PUSH1 0x29 000010c5: PUSH1 0x24 000010c7: DUP3 000010c8: ADD 000010c9: MSTORE 000010ca: PUSH1 0x00 000010cc: DUP1 000010cd: MLOAD 000010ce: PUSH1 0x20 000010d0: PUSH2 0x35ce 000010d3: DUP4 000010d4: CODECOPY 000010d5: DUP2 000010d6: MLOAD 000010d7: SWAP2 000010d8: MSTORE 000010d9: PUSH1 0x44 000010db: DUP3 000010dc: ADD 000010dd: MSTORE 000010de: PUSH1 0x00 000010e0: DUP1 000010e1: MLOAD 000010e2: PUSH1 0x20 000010e4: PUSH2 0x356e 000010e7: DUP4 000010e8: CODECOPY 000010e9: DUP2 000010ea: MLOAD 000010eb: SWAP2 000010ec: MSTORE 000010ed: PUSH1 0x64 000010ef: DUP3 000010f0: ADD 000010f1: MSTORE 000010f2: SWAP1 000010f3: MLOAD 000010f4: SWAP1 000010f5: DUP2 000010f6: SWAP1 000010f7: SUB 000010f8: PUSH1 0x84 000010fa: ADD 000010fb: SWAP1 000010fc: REVERT 000010fd: JUMPDEST 000010fe: CALLER 000010ff: ORIGIN 00001100: EQ 00001101: PUSH2 0x1142 00001104: JUMPI 00001105: PUSH1 0x40 00001107: DUP1 00001108: MLOAD 00001109: PUSH1 0xe5 0000110b: PUSH1 0x02 0000110d: EXP 0000110e: PUSH3 0x461bcd 00001112: MUL 00001113: DUP2 00001114: MSTORE 00001115: PUSH1 0x20 00001117: PUSH1 0x04 00001119: DUP3 0000111a: ADD 0000111b: MSTORE 0000111c: PUSH1 0x11 0000111e: PUSH1 0x24 00001120: DUP3 00001121: ADD 00001122: MSTORE 00001123: PUSH1 0x00 00001125: DUP1 00001126: MLOAD 00001127: PUSH1 0x20 00001129: PUSH2 0x360e 0000112c: DUP4 0000112d: CODECOPY 0000112e: DUP2 0000112f: MLOAD 00001130: SWAP2 00001131: MSTORE 00001132: PUSH1 0x44 00001134: DUP3 00001135: ADD 00001136: MSTORE 00001137: SWAP1 00001138: MLOAD 00001139: SWAP1 0000113a: DUP2 0000113b: SWAP1 0000113c: SUB 0000113d: PUSH1 0x64 0000113f: ADD 00001140: SWAP1 00001141: REVERT 00001142: JUMPDEST 00001143: DUP2 00001144: PUSH4 0x3b9aca00 00001149: DUP2 0000114a: LT 0000114b: ISZERO 0000114c: PUSH2 0x119a 0000114f: JUMPI 00001150: PUSH1 0x40 00001152: DUP1 00001153: MLOAD 00001154: PUSH1 0xe5 00001156: PUSH1 0x02 00001158: EXP 00001159: PUSH3 0x461bcd 0000115d: MUL 0000115e: DUP2 0000115f: MSTORE 00001160: PUSH1 0x20 00001162: PUSH1 0x04 00001164: DUP3 00001165: ADD 00001166: MSTORE 00001167: PUSH1 0x21 00001169: PUSH1 0x24 0000116b: DUP3 0000116c: ADD 0000116d: MSTORE 0000116e: PUSH1 0x00 00001170: DUP1 00001171: MLOAD 00001172: PUSH1 0x20 00001174: PUSH2 0x35ae 00001177: DUP4 00001178: CODECOPY 00001179: DUP2 0000117a: MLOAD 0000117b: SWAP2 0000117c: MSTORE 0000117d: PUSH1 0x44 0000117f: DUP3 00001180: ADD 00001181: MSTORE 00001182: PUSH1 0xf8 00001184: PUSH1 0x02 00001186: EXP 00001187: PUSH1 0x79 00001189: MUL 0000118a: PUSH1 0x64 0000118c: DUP3 0000118d: ADD 0000118e: MSTORE 0000118f: SWAP1 00001190: MLOAD 00001191: SWAP1 00001192: DUP2 00001193: SWAP1 00001194: SUB 00001195: PUSH1 0x84 00001197: ADD 00001198: SWAP1 00001199: REVERT 0000119a: JUMPDEST 0000119b: PUSH10 0x152d02c7e14af6800000 000011a6: DUP2 000011a7: GT 000011a8: ISZERO 000011a9: PUSH2 0x11ea 000011ac: JUMPI 000011ad: PUSH1 0x40 000011af: DUP1 000011b0: MLOAD 000011b1: PUSH1 0xe5 000011b3: PUSH1 0x02 000011b5: EXP 000011b6: PUSH3 0x461bcd 000011ba: MUL 000011bb: DUP2 000011bc: MSTORE 000011bd: PUSH1 0x20 000011bf: PUSH1 0x04 000011c1: DUP3 000011c2: ADD 000011c3: MSTORE 000011c4: PUSH1 0x0e 000011c6: PUSH1 0x24 000011c8: DUP3 000011c9: ADD 000011ca: MSTORE 000011cb: PUSH1 0x00 000011cd: DUP1 000011ce: MLOAD 000011cf: PUSH1 0x20 000011d1: PUSH2 0x35ee 000011d4: DUP4 000011d5: CODECOPY 000011d6: DUP2 000011d7: MLOAD 000011d8: SWAP2 000011d9: MSTORE 000011da: PUSH1 0x44 000011dc: DUP3 000011dd: ADD 000011de: MSTORE 000011df: SWAP1 000011e0: MLOAD 000011e1: SWAP1 000011e2: DUP2 000011e3: SWAP1 000011e4: SUB 000011e5: PUSH1 0x64 000011e7: ADD 000011e8: SWAP1 000011e9: REVERT 000011ea: JUMPDEST 000011eb: PUSH2 0x11f4 000011ee: PUSH1 0x00 000011f0: PUSH2 0x0958 000011f3: JUMP 000011f4: JUMPDEST 000011f5: CALLER 000011f6: PUSH1 0x00 000011f8: SWAP1 000011f9: DUP2 000011fa: MSTORE 000011fb: PUSH1 0x04 000011fd: PUSH1 0x20 000011ff: MSTORE 00001200: PUSH1 0x40 00001202: SWAP1 00001203: KECCAK256 00001204: SLOAD 00001205: SWAP2 00001206: POP 00001207: DUP2 00001208: ISZERO 00001209: ISZERO 0000120a: PUSH2 0x124b 0000120d: JUMPI 0000120e: PUSH1 0x40 00001210: DUP1 00001211: MLOAD 00001212: PUSH1 0xe5 00001214: PUSH1 0x02 00001216: EXP 00001217: PUSH3 0x461bcd 0000121b: MUL 0000121c: DUP2 0000121d: MSTORE 0000121e: PUSH1 0x20 00001220: PUSH1 0x04 00001222: DUP3 00001223: ADD 00001224: MSTORE 00001225: PUSH1 0x0d 00001227: PUSH1 0x24 00001229: DUP3 0000122a: ADD 0000122b: MSTORE 0000122c: PUSH1 0x00 0000122e: DUP1 0000122f: MLOAD 00001230: PUSH1 0x20 00001232: PUSH2 0x358e 00001235: DUP4 00001236: CODECOPY 00001237: DUP2 00001238: MLOAD 00001239: SWAP2 0000123a: MSTORE 0000123b: PUSH1 0x44 0000123d: DUP3 0000123e: ADD 0000123f: MSTORE 00001240: SWAP1 00001241: MLOAD 00001242: SWAP1 00001243: DUP2 00001244: SWAP1 00001245: SUB 00001246: PUSH1 0x64 00001248: ADD 00001249: SWAP1 0000124a: REVERT 0000124b: JUMPDEST 0000124c: PUSH2 0x1255 0000124f: DUP3 00001250: DUP5 00001251: PUSH2 0x347b 00001254: JUMP 00001255: JUMPDEST 00001256: PUSH1 0x00 00001258: DUP3 00001259: DUP2 0000125a: MSTORE 0000125b: PUSH1 0x07 0000125d: PUSH1 0x20 0000125f: DUP2 00001260: SWAP1 00001261: MSTORE 00001262: PUSH1 0x40 00001264: SWAP1 00001265: SWAP2 00001266: KECCAK256 00001267: ADD 00001268: SLOAD 00001269: PUSH2 0x1278 0000126c: SWAP1 0000126d: DUP5 0000126e: PUSH4 0xffffffff 00001273: PUSH2 0x282e 00001276: AND 00001277: JUMP 00001278: JUMPDEST 00001279: PUSH1 0x00 0000127b: DUP4 0000127c: DUP2 0000127d: MSTORE 0000127e: PUSH1 0x07 00001280: PUSH1 0x20 00001282: DUP2 00001283: SWAP1 00001284: MSTORE 00001285: PUSH1 0x40 00001287: SWAP1 00001288: SWAP2 00001289: KECCAK256 0000128a: ADD 0000128b: SSTORE 0000128c: PUSH1 0x0d 0000128e: SLOAD 0000128f: PUSH2 0x129e 00001292: SWAP1 00001293: DUP5 00001294: PUSH4 0xffffffff 00001299: PUSH2 0x282e 0000129c: AND 0000129d: JUMP 0000129e: JUMPDEST 0000129f: PUSH1 0x0d 000012a1: SSTORE 000012a2: PUSH1 0x00 000012a4: DUP3 000012a5: DUP2 000012a6: MSTORE 000012a7: PUSH1 0x06 000012a9: PUSH1 0x20 000012ab: MSTORE 000012ac: PUSH1 0x40 000012ae: DUP1 000012af: DUP3 000012b0: KECCAK256 000012b1: SLOAD 000012b2: SWAP1 000012b3: MLOAD 000012b4: PUSH1 0x01 000012b6: PUSH1 0xa0 000012b8: PUSH1 0x02 000012ba: EXP 000012bb: SUB 000012bc: SWAP1 000012bd: SWAP2 000012be: AND 000012bf: SWAP2 000012c0: DUP6 000012c1: ISZERO 000012c2: PUSH2 0x08fc 000012c5: MUL 000012c6: SWAP2 000012c7: DUP7 000012c8: SWAP2 000012c9: DUP2 000012ca: DUP2 000012cb: DUP2 000012cc: DUP6 000012cd: DUP9 000012ce: DUP9 000012cf: CALL 000012d0: SWAP4 000012d1: POP 000012d2: POP 000012d3: POP 000012d4: POP 000012d5: ISZERO 000012d6: DUP1 000012d7: ISZERO 000012d8: PUSH2 0x12e5 000012db: JUMPI 000012dc: RETURNDATASIZE 000012dd: PUSH1 0x00 000012df: DUP1 000012e0: RETURNDATACOPY 000012e1: RETURNDATASIZE 000012e2: PUSH1 0x00 000012e4: REVERT 000012e5: JUMPDEST 000012e6: POP 000012e7: PUSH1 0x40 000012e9: DUP1 000012ea: MLOAD 000012eb: DUP5 000012ec: DUP2 000012ed: MSTORE 000012ee: TIMESTAMP 000012ef: PUSH1 0x20 000012f1: DUP3 000012f2: ADD 000012f3: MSTORE 000012f4: DUP2 000012f5: MLOAD 000012f6: DUP5 000012f7: SWAP3 000012f8: PUSH32 0x2d722d012bc607b5f83f79311b4c51c5bba4bf05b49329dfe18bba104f9d1570 00001319: SWAP3 0000131a: DUP3 0000131b: SWAP1 0000131c: SUB 0000131d: ADD 0000131e: SWAP1 0000131f: LOG2 00001320: POP 00001321: POP 00001322: POP 00001323: JUMP 00001324: JUMPDEST 00001325: PUSH1 0x15 00001327: SLOAD 00001328: PUSH1 0x00 0000132a: SWAP1 0000132b: DUP2 0000132c: SWAP1 0000132d: PUSH1 0xff 0000132f: AND 00001330: ISZERO 00001331: ISZERO 00001332: PUSH1 0x01 00001334: EQ 00001335: PUSH2 0x138a 00001338: JUMPI 00001339: PUSH1 0x40 0000133b: DUP1 0000133c: MLOAD 0000133d: PUSH1 0xe5 0000133f: PUSH1 0x02 00001341: EXP 00001342: PUSH3 0x461bcd 00001346: MUL 00001347: DUP2 00001348: MSTORE 00001349: PUSH1 0x20 0000134b: PUSH1 0x04 0000134d: DUP3 0000134e: ADD 0000134f: MSTORE 00001350: PUSH1 0x29 00001352: PUSH1 0x24 00001354: DUP3 00001355: ADD 00001356: MSTORE 00001357: PUSH1 0x00 00001359: DUP1 0000135a: MLOAD 0000135b: PUSH1 0x20 0000135d: PUSH2 0x35ce 00001360: DUP4 00001361: CODECOPY 00001362: DUP2 00001363: MLOAD 00001364: SWAP2 00001365: MSTORE 00001366: PUSH1 0x44 00001368: DUP3 00001369: ADD 0000136a: MSTORE 0000136b: PUSH1 0x00 0000136d: DUP1 0000136e: MLOAD 0000136f: PUSH1 0x20 00001371: PUSH2 0x356e 00001374: DUP4 00001375: CODECOPY 00001376: DUP2 00001377: MLOAD 00001378: SWAP2 00001379: MSTORE 0000137a: PUSH1 0x64 0000137c: DUP3 0000137d: ADD 0000137e: MSTORE 0000137f: SWAP1 00001380: MLOAD 00001381: SWAP1 00001382: DUP2 00001383: SWAP1 00001384: SUB 00001385: PUSH1 0x84 00001387: ADD 00001388: SWAP1 00001389: REVERT 0000138a: JUMPDEST 0000138b: CALLER 0000138c: ORIGIN 0000138d: EQ 0000138e: PUSH2 0x13cf 00001391: JUMPI 00001392: PUSH1 0x40 00001394: DUP1 00001395: MLOAD 00001396: PUSH1 0xe5 00001398: PUSH1 0x02 0000139a: EXP 0000139b: PUSH3 0x461bcd 0000139f: MUL 000013a0: DUP2 000013a1: MSTORE 000013a2: PUSH1 0x20 000013a4: PUSH1 0x04 000013a6: DUP3 000013a7: ADD 000013a8: MSTORE 000013a9: PUSH1 0x11 000013ab: PUSH1 0x24 000013ad: DUP3 000013ae: ADD 000013af: MSTORE 000013b0: PUSH1 0x00 000013b2: DUP1 000013b3: MLOAD 000013b4: PUSH1 0x20 000013b6: PUSH2 0x360e 000013b9: DUP4 000013ba: CODECOPY 000013bb: DUP2 000013bc: MLOAD 000013bd: SWAP2 000013be: MSTORE 000013bf: PUSH1 0x44 000013c1: DUP3 000013c2: ADD 000013c3: MSTORE 000013c4: SWAP1 000013c5: MLOAD 000013c6: SWAP1 000013c7: DUP2 000013c8: SWAP1 000013c9: SUB 000013ca: PUSH1 0x64 000013cc: ADD 000013cd: SWAP1 000013ce: REVERT 000013cf: JUMPDEST 000013d0: DUP3 000013d1: PUSH4 0x3b9aca00 000013d6: DUP2 000013d7: LT 000013d8: ISZERO 000013d9: PUSH2 0x1427 000013dc: JUMPI 000013dd: PUSH1 0x40 000013df: DUP1 000013e0: MLOAD 000013e1: PUSH1 0xe5 000013e3: PUSH1 0x02 000013e5: EXP 000013e6: PUSH3 0x461bcd 000013ea: MUL 000013eb: DUP2 000013ec: MSTORE 000013ed: PUSH1 0x20 000013ef: PUSH1 0x04 000013f1: DUP3 000013f2: ADD 000013f3: MSTORE 000013f4: PUSH1 0x21 000013f6: PUSH1 0x24 000013f8: DUP3 000013f9: ADD 000013fa: MSTORE 000013fb: PUSH1 0x00 000013fd: DUP1 000013fe: MLOAD 000013ff: PUSH1 0x20 00001401: PUSH2 0x35ae 00001404: DUP4 00001405: CODECOPY 00001406: DUP2 00001407: MLOAD 00001408: SWAP2 00001409: MSTORE 0000140a: PUSH1 0x44 0000140c: DUP3 0000140d: ADD 0000140e: MSTORE 0000140f: PUSH1 0xf8 00001411: PUSH1 0x02 00001413: EXP 00001414: PUSH1 0x79 00001416: MUL 00001417: PUSH1 0x64 00001419: DUP3 0000141a: ADD 0000141b: MSTORE 0000141c: SWAP1 0000141d: MLOAD 0000141e: SWAP1 0000141f: DUP2 00001420: SWAP1 00001421: SUB 00001422: PUSH1 0x84 00001424: ADD 00001425: SWAP1 00001426: REVERT 00001427: JUMPDEST 00001428: PUSH10 0x152d02c7e14af6800000 00001433: DUP2 00001434: GT 00001435: ISZERO 00001436: PUSH2 0x1477 00001439: JUMPI 0000143a: PUSH1 0x40 0000143c: DUP1 0000143d: MLOAD 0000143e: PUSH1 0xe5 00001440: PUSH1 0x02 00001442: EXP 00001443: PUSH3 0x461bcd 00001447: MUL 00001448: DUP2 00001449: MSTORE 0000144a: PUSH1 0x20 0000144c: PUSH1 0x04 0000144e: DUP3 0000144f: ADD 00001450: MSTORE 00001451: PUSH1 0x0e 00001453: PUSH1 0x24 00001455: DUP3 00001456: ADD 00001457: MSTORE 00001458: PUSH1 0x00 0000145a: DUP1 0000145b: MLOAD 0000145c: PUSH1 0x20 0000145e: PUSH2 0x35ee 00001461: DUP4 00001462: CODECOPY 00001463: DUP2 00001464: MLOAD 00001465: SWAP2 00001466: MSTORE 00001467: PUSH1 0x44 00001469: DUP3 0000146a: ADD 0000146b: MSTORE 0000146c: SWAP1 0000146d: MLOAD 0000146e: SWAP1 0000146f: DUP2 00001470: SWAP1 00001471: SUB 00001472: PUSH1 0x64 00001474: ADD 00001475: SWAP1 00001476: REVERT 00001477: JUMPDEST 00001478: PUSH2 0x1481 0000147b: PUSH1 0x00 0000147d: PUSH2 0x0958 00001480: JUMP 00001481: JUMPDEST 00001482: CALLER 00001483: PUSH1 0x00 00001485: SWAP1 00001486: DUP2 00001487: MSTORE 00001488: PUSH1 0x04 0000148a: PUSH1 0x20 0000148c: MSTORE 0000148d: PUSH1 0x40 0000148f: SWAP1 00001490: KECCAK256 00001491: SLOAD 00001492: SWAP3 00001493: POP 00001494: DUP3 00001495: ISZERO 00001496: ISZERO 00001497: PUSH2 0x14d8 0000149a: JUMPI 0000149b: PUSH1 0x40 0000149d: DUP1 0000149e: MLOAD 0000149f: PUSH1 0xe5 000014a1: PUSH1 0x02 000014a3: EXP 000014a4: PUSH3 0x461bcd 000014a8: MUL 000014a9: DUP2 000014aa: MSTORE 000014ab: PUSH1 0x20 000014ad: PUSH1 0x04 000014af: DUP3 000014b0: ADD 000014b1: MSTORE 000014b2: PUSH1 0x0d 000014b4: PUSH1 0x24 000014b6: DUP3 000014b7: ADD 000014b8: MSTORE 000014b9: PUSH1 0x00 000014bb: DUP1 000014bc: MLOAD 000014bd: PUSH1 0x20 000014bf: PUSH2 0x358e 000014c2: DUP4 000014c3: CODECOPY 000014c4: DUP2 000014c5: MLOAD 000014c6: SWAP2 000014c7: MSTORE 000014c8: PUSH1 0x44 000014ca: DUP3 000014cb: ADD 000014cc: MSTORE 000014cd: SWAP1 000014ce: MLOAD 000014cf: SWAP1 000014d0: DUP2 000014d1: SWAP1 000014d2: SUB 000014d3: PUSH1 0x64 000014d5: ADD 000014d6: SWAP1 000014d7: REVERT 000014d8: JUMPDEST 000014d9: PUSH1 0x00 000014db: DUP4 000014dc: DUP2 000014dd: MSTORE 000014de: PUSH1 0x06 000014e0: PUSH1 0x20 000014e2: MSTORE 000014e3: PUSH1 0x40 000014e5: SWAP1 000014e6: KECCAK256 000014e7: PUSH1 0x02 000014e9: ADD 000014ea: SLOAD 000014eb: SWAP2 000014ec: POP 000014ed: DUP2 000014ee: ISZERO 000014ef: ISZERO 000014f0: PUSH2 0x1543 000014f3: JUMPI 000014f4: PUSH1 0x40 000014f6: DUP1 000014f7: MLOAD 000014f8: PUSH1 0xe5 000014fa: PUSH1 0x02 000014fc: EXP 000014fd: PUSH3 0x461bcd 00001501: MUL 00001502: DUP2 00001503: MSTORE 00001504: PUSH1 0x20 00001506: PUSH1 0x04 00001508: DUP3 00001509: ADD 0000150a: MSTORE 0000150b: PUSH1 0x11 0000150d: PUSH1 0x24 0000150f: DUP3 00001510: ADD 00001511: MSTORE 00001512: PUSH32 0x6572726f722c206e656564206166664944000000000000000000000000000000 00001533: PUSH1 0x44 00001535: DUP3 00001536: ADD 00001537: MSTORE 00001538: SWAP1 00001539: MLOAD 0000153a: SWAP1 0000153b: DUP2 0000153c: SWAP1 0000153d: SUB 0000153e: PUSH1 0x64 00001540: ADD 00001541: SWAP1 00001542: REVERT 00001543: JUMPDEST 00001544: PUSH2 0x154d 00001547: DUP4 00001548: DUP6 00001549: PUSH2 0x347b 0000154c: JUMP 0000154d: JUMPDEST 0000154e: PUSH2 0x1558 00001551: DUP4 00001552: DUP4 00001553: DUP7 00001554: PUSH2 0x0a19 00001557: JUMP 00001558: JUMPDEST 00001559: PUSH1 0x40 0000155b: DUP1 0000155c: MLOAD 0000155d: DUP6 0000155e: DUP2 0000155f: MSTORE 00001560: TIMESTAMP 00001561: PUSH1 0x20 00001563: DUP3 00001564: ADD 00001565: MSTORE 00001566: DUP2 00001567: MLOAD 00001568: DUP6 00001569: SWAP3 0000156a: PUSH32 0xef578942396a62165c09f6f9fb96b70905e4521e022eab9b718f8436083620d5 0000158b: SWAP3 0000158c: DUP3 0000158d: SWAP1 0000158e: SUB 0000158f: ADD 00001590: SWAP1 00001591: LOG2 00001592: POP 00001593: POP 00001594: POP 00001595: POP 00001596: JUMP 00001597: JUMPDEST 00001598: PUSH1 0x15 0000159a: SLOAD 0000159b: PUSH1 0xff 0000159d: AND 0000159e: ISZERO 0000159f: ISZERO 000015a0: PUSH1 0x01 000015a2: EQ 000015a3: PUSH2 0x15f8 000015a6: JUMPI 000015a7: PUSH1 0x40 000015a9: DUP1 000015aa: MLOAD 000015ab: PUSH1 0xe5 000015ad: PUSH1 0x02 000015af: EXP 000015b0: PUSH3 0x461bcd 000015b4: MUL 000015b5: DUP2 000015b6: MSTORE 000015b7: PUSH1 0x20 000015b9: PUSH1 0x04 000015bb: DUP3 000015bc: ADD 000015bd: MSTORE 000015be: PUSH1 0x29 000015c0: PUSH1 0x24 000015c2: DUP3 000015c3: ADD 000015c4: MSTORE 000015c5: PUSH1 0x00 000015c7: DUP1 000015c8: MLOAD 000015c9: PUSH1 0x20 000015cb: PUSH2 0x35ce 000015ce: DUP4 000015cf: CODECOPY 000015d0: DUP2 000015d1: MLOAD 000015d2: SWAP2 000015d3: MSTORE 000015d4: PUSH1 0x44 000015d6: DUP3 000015d7: ADD 000015d8: MSTORE 000015d9: PUSH1 0x00 000015db: DUP1 000015dc: MLOAD 000015dd: PUSH1 0x20 000015df: PUSH2 0x356e 000015e2: DUP4 000015e3: CODECOPY 000015e4: DUP2 000015e5: MLOAD 000015e6: SWAP2 000015e7: MSTORE 000015e8: PUSH1 0x64 000015ea: DUP3 000015eb: ADD 000015ec: MSTORE 000015ed: SWAP1 000015ee: MLOAD 000015ef: SWAP1 000015f0: DUP2 000015f1: SWAP1 000015f2: SUB 000015f3: PUSH1 0x84 000015f5: ADD 000015f6: SWAP1 000015f7: REVERT 000015f8: JUMPDEST 000015f9: PUSH2 0x1601 000015fc: DUP2 000015fd: PUSH2 0x0958 00001600: JUMP 00001601: JUMPDEST 00001602: POP 00001603: JUMP 00001604: JUMPDEST 00001605: PUSH1 0x01 00001607: PUSH1 0xa0 00001609: PUSH1 0x02 0000160b: EXP 0000160c: SUB 0000160d: DUP2 0000160e: AND 0000160f: PUSH1 0x00 00001611: SWAP1 00001612: DUP2 00001613: MSTORE 00001614: PUSH1 0x04 00001616: PUSH1 0x20 00001618: MSTORE 00001619: PUSH1 0x40 0000161b: DUP2 0000161c: KECCAK256 0000161d: SLOAD 0000161e: PUSH1 0x12 00001620: SLOAD 00001621: PUSH1 0x13 00001623: SLOAD 00001624: PUSH1 0x11 00001626: SLOAD 00001627: PUSH1 0x0a 00001629: SLOAD 0000162a: DUP6 0000162b: SWAP5 0000162c: DUP6 0000162d: SWAP5 0000162e: DUP6 0000162f: SWAP5 00001630: DUP6 00001631: SWAP5 00001632: DUP6 00001633: SWAP5 00001634: DUP6 00001635: SWAP1 00001636: TIMESTAMP 00001637: LT 00001638: PUSH2 0x1676 0000163b: JUMPI 0000163c: PUSH1 0x01 0000163e: SLOAD 0000163f: PUSH1 0x0a 00001641: SLOAD 00001642: PUSH2 0x1657 00001645: SWAP2 00001646: SWAP1 00001647: PUSH2 0x0e3a 0000164a: SWAP1 0000164b: TIMESTAMP 0000164c: SWAP1 0000164d: PUSH4 0xffffffff 00001652: PUSH2 0x26ef 00001655: AND 00001656: JUMP 00001657: JUMPDEST 00001658: PUSH1 0x0e 0000165a: SLOAD 0000165b: PUSH1 0x10 0000165d: SLOAD 0000165e: SWAP1 0000165f: SWAP6 00001660: POP 00001661: SWAP4 00001662: POP 00001663: PUSH1 0x01 00001665: ADD 00001666: SWAP1 00001667: POP 00001668: PUSH2 0x1672 0000166b: DUP2 0000166c: DUP6 0000166d: DUP6 0000166e: PUSH2 0x2730 00001671: JUMP 00001672: JUMPDEST 00001673: POP 00001674: SWAP2 00001675: POP 00001676: JUMPDEST 00001677: PUSH1 0x00 00001679: DUP6 0000167a: DUP2 0000167b: MSTORE 0000167c: PUSH1 0x07 0000167e: PUSH1 0x20 00001680: MSTORE 00001681: PUSH1 0x40 00001683: SWAP1 00001684: KECCAK256 00001685: PUSH1 0x01 00001687: ADD 00001688: SLOAD 00001689: PUSH2 0x1692 0000168c: SWAP1 0000168d: DUP4 0000168e: PUSH2 0x22e0 00001691: JUMP 00001692: JUMPDEST 00001693: PUSH2 0x169c 00001696: DUP7 00001697: DUP5 00001698: PUSH2 0x232f 0000169b: JUMP 0000169c: JUMPDEST 0000169d: PUSH2 0x16ab 000016a0: PUSH1 0x64 000016a2: PUSH2 0x0e3a 000016a5: DUP10 000016a6: DUP8 000016a7: PUSH2 0x232f 000016aa: JUMP 000016ab: JUMPDEST 000016ac: PUSH1 0x00 000016ae: DUP9 000016af: DUP2 000016b0: MSTORE 000016b1: PUSH1 0x06 000016b3: PUSH1 0x20 000016b5: MSTORE 000016b6: PUSH1 0x40 000016b8: SWAP1 000016b9: KECCAK256 000016ba: PUSH1 0x03 000016bc: DUP2 000016bd: ADD 000016be: SLOAD 000016bf: PUSH1 0x01 000016c1: SWAP1 000016c2: SWAP2 000016c3: ADD 000016c4: SLOAD 000016c5: SWAP4 000016c6: SWAP15 000016c7: POP 000016c8: SWAP2 000016c9: SWAP13 000016ca: POP 000016cb: SWAP11 000016cc: POP 000016cd: SWAP9 000016ce: POP 000016cf: SWAP5 000016d0: SWAP7 000016d1: POP 000016d2: SWAP4 000016d3: SWAP5 000016d4: POP 000016d5: DUP6 000016d6: SWAP4 000016d7: POP 000016d8: POP 000016d9: POP 000016da: POP 000016db: POP 000016dc: SWAP2 000016dd: SWAP4 000016de: SWAP6 000016df: POP 000016e0: SWAP2 000016e1: SWAP4 000016e2: SWAP6 000016e3: JUMP 000016e4: JUMPDEST 000016e5: PUSH1 0x15 000016e7: SLOAD 000016e8: PUSH1 0x00 000016ea: SWAP1 000016eb: DUP2 000016ec: SWAP1 000016ed: PUSH1 0xff 000016ef: AND 000016f0: ISZERO 000016f1: ISZERO 000016f2: PUSH1 0x01 000016f4: EQ 000016f5: PUSH2 0x174a 000016f8: JUMPI 000016f9: PUSH1 0x40 000016fb: DUP1 000016fc: MLOAD 000016fd: PUSH1 0xe5 000016ff: PUSH1 0x02 00001701: EXP 00001702: PUSH3 0x461bcd 00001706: MUL 00001707: DUP2 00001708: MSTORE 00001709: PUSH1 0x20 0000170b: PUSH1 0x04 0000170d: DUP3 0000170e: ADD 0000170f: MSTORE 00001710: PUSH1 0x29 00001712: PUSH1 0x24 00001714: DUP3 00001715: ADD 00001716: MSTORE 00001717: PUSH1 0x00 00001719: DUP1 0000171a: MLOAD 0000171b: PUSH1 0x20 0000171d: PUSH2 0x35ce 00001720: DUP4 00001721: CODECOPY 00001722: DUP2 00001723: MLOAD 00001724: SWAP2 00001725: MSTORE 00001726: PUSH1 0x44 00001728: DUP3 00001729: ADD 0000172a: MSTORE 0000172b: PUSH1 0x00 0000172d: DUP1 0000172e: MLOAD 0000172f: PUSH1 0x20 00001731: PUSH2 0x356e 00001734: DUP4 00001735: CODECOPY 00001736: DUP2 00001737: MLOAD 00001738: SWAP2 00001739: MSTORE 0000173a: PUSH1 0x64 0000173c: DUP3 0000173d: ADD 0000173e: MSTORE 0000173f: SWAP1 00001740: MLOAD 00001741: SWAP1 00001742: DUP2 00001743: SWAP1 00001744: SUB 00001745: PUSH1 0x84 00001747: ADD 00001748: SWAP1 00001749: REVERT 0000174a: JUMPDEST 0000174b: CALLER 0000174c: ORIGIN 0000174d: EQ 0000174e: PUSH2 0x178f 00001751: JUMPI 00001752: PUSH1 0x40 00001754: DUP1 00001755: MLOAD 00001756: PUSH1 0xe5 00001758: PUSH1 0x02 0000175a: EXP 0000175b: PUSH3 0x461bcd 0000175f: MUL 00001760: DUP2 00001761: MSTORE 00001762: PUSH1 0x20 00001764: PUSH1 0x04 00001766: DUP3 00001767: ADD 00001768: MSTORE 00001769: PUSH1 0x11 0000176b: PUSH1 0x24 0000176d: DUP3 0000176e: ADD 0000176f: MSTORE 00001770: PUSH1 0x00 00001772: DUP1 00001773: MLOAD 00001774: PUSH1 0x20 00001776: PUSH2 0x360e 00001779: DUP4 0000177a: CODECOPY 0000177b: DUP2 0000177c: MLOAD 0000177d: SWAP2 0000177e: MSTORE 0000177f: PUSH1 0x44 00001781: DUP3 00001782: ADD 00001783: MSTORE 00001784: SWAP1 00001785: MLOAD 00001786: SWAP1 00001787: DUP2 00001788: SWAP1 00001789: SUB 0000178a: PUSH1 0x64 0000178c: ADD 0000178d: SWAP1 0000178e: REVERT 0000178f: JUMPDEST 00001790: CALLVALUE 00001791: PUSH4 0x3b9aca00 00001796: DUP2 00001797: LT 00001798: ISZERO 00001799: PUSH2 0x17e7 0000179c: JUMPI 0000179d: PUSH1 0x40 0000179f: DUP1 000017a0: MLOAD 000017a1: PUSH1 0xe5 000017a3: PUSH1 0x02 000017a5: EXP 000017a6: PUSH3 0x461bcd 000017aa: MUL 000017ab: DUP2 000017ac: MSTORE 000017ad: PUSH1 0x20 000017af: PUSH1 0x04 000017b1: DUP3 000017b2: ADD 000017b3: MSTORE 000017b4: PUSH1 0x21 000017b6: PUSH1 0x24 000017b8: DUP3 000017b9: ADD 000017ba: MSTORE 000017bb: PUSH1 0x00 000017bd: DUP1 000017be: MLOAD 000017bf: PUSH1 0x20 000017c1: PUSH2 0x35ae 000017c4: DUP4 000017c5: CODECOPY 000017c6: DUP2 000017c7: MLOAD 000017c8: SWAP2 000017c9: MSTORE 000017ca: PUSH1 0x44 000017cc: DUP3 000017cd: ADD 000017ce: MSTORE 000017cf: PUSH1 0xf8 000017d1: PUSH1 0x02 000017d3: EXP 000017d4: PUSH1 0x79 000017d6: MUL 000017d7: PUSH1 0x64 000017d9: DUP3 000017da: ADD 000017db: MSTORE 000017dc: SWAP1 000017dd: MLOAD 000017de: SWAP1 000017df: DUP2 000017e0: SWAP1 000017e1: SUB 000017e2: PUSH1 0x84 000017e4: ADD 000017e5: SWAP1 000017e6: REVERT 000017e7: JUMPDEST 000017e8: PUSH10 0x152d02c7e14af6800000 000017f3: DUP2 000017f4: GT 000017f5: ISZERO 000017f6: PUSH2 0x1837 000017f9: JUMPI 000017fa: PUSH1 0x40 000017fc: DUP1 000017fd: MLOAD 000017fe: PUSH1 0xe5 00001800: PUSH1 0x02 00001802: EXP 00001803: PUSH3 0x461bcd 00001807: MUL 00001808: DUP2 00001809: MSTORE 0000180a: PUSH1 0x20 0000180c: PUSH1 0x04 0000180e: DUP3 0000180f: ADD 00001810: MSTORE 00001811: PUSH1 0x0e 00001813: PUSH1 0x24 00001815: DUP3 00001816: ADD 00001817: MSTORE 00001818: PUSH1 0x00 0000181a: DUP1 0000181b: MLOAD 0000181c: PUSH1 0x20 0000181e: PUSH2 0x35ee 00001821: DUP4 00001822: CODECOPY 00001823: DUP2 00001824: MLOAD 00001825: SWAP2 00001826: MSTORE 00001827: PUSH1 0x44 00001829: DUP3 0000182a: ADD 0000182b: MSTORE 0000182c: SWAP1 0000182d: MLOAD 0000182e: SWAP1 0000182f: DUP2 00001830: SWAP1 00001831: SUB 00001832: PUSH1 0x64 00001834: ADD 00001835: SWAP1 00001836: REVERT 00001837: JUMPDEST 00001838: PUSH2 0x1841 0000183b: PUSH1 0x00 0000183d: PUSH2 0x0958 00001840: JUMP 00001841: JUMPDEST 00001842: CALLER 00001843: PUSH1 0x00 00001845: DUP2 00001846: DUP2 00001847: MSTORE 00001848: PUSH1 0x04 0000184a: PUSH1 0x20 0000184c: MSTORE 0000184d: PUSH1 0x40 0000184f: SWAP1 00001850: KECCAK256 00001851: SLOAD 00001852: ISZERO 00001853: ISZERO 00001854: PUSH2 0x18aa 00001857: JUMPI 00001858: PUSH1 0x09 0000185a: DUP1 0000185b: SLOAD 0000185c: PUSH1 0x01 0000185e: PUSH1 0xa0 00001860: PUSH1 0x02 00001862: EXP 00001863: SUB 00001864: DUP4 00001865: AND 00001866: PUSH1 0x00 00001868: DUP2 00001869: DUP2 0000186a: MSTORE 0000186b: PUSH1 0x04 0000186d: PUSH1 0x20 0000186f: SWAP1 00001870: DUP2 00001871: MSTORE 00001872: PUSH1 0x40 00001874: DUP1 00001875: DUP4 00001876: KECCAK256 00001877: DUP6 00001878: SWAP1 00001879: SSTORE 0000187a: SWAP4 0000187b: DUP3 0000187c: MSTORE 0000187d: PUSH1 0x06 0000187f: SWAP1 00001880: MSTORE 00001881: SWAP2 00001882: SWAP1 00001883: SWAP2 00001884: KECCAK256 00001885: DUP1 00001886: SLOAD 00001887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000189c: NOT 0000189d: AND 0000189e: SWAP1 0000189f: SWAP2 000018a0: OR 000018a1: SWAP1 000018a2: SSTORE 000018a3: DUP1 000018a4: SLOAD 000018a5: PUSH1 0x01 000018a7: ADD 000018a8: SWAP1 000018a9: SSTORE 000018aa: JUMPDEST 000018ab: CALLER 000018ac: PUSH1 0x00 000018ae: SWAP1 000018af: DUP2 000018b0: MSTORE 000018b1: PUSH1 0x04 000018b3: PUSH1 0x20 000018b5: MSTORE 000018b6: PUSH1 0x40 000018b8: SWAP1 000018b9: KECCAK256 000018ba: SLOAD 000018bb: SWAP4 000018bc: POP 000018bd: PUSH2 0x18c6 000018c0: DUP5 000018c1: DUP7 000018c2: PUSH2 0x3271 000018c5: JUMP 000018c6: JUMPDEST 000018c7: SWAP3 000018c8: POP 000018c9: DUP3 000018ca: ISZERO 000018cb: ISZERO 000018cc: PUSH2 0x191f 000018cf: JUMPI 000018d0: PUSH1 0x40 000018d2: DUP1 000018d3: MLOAD 000018d4: PUSH1 0xe5 000018d6: PUSH1 0x02 000018d8: EXP 000018d9: PUSH3 0x461bcd 000018dd: MUL 000018de: DUP2 000018df: MSTORE 000018e0: PUSH1 0x20 000018e2: PUSH1 0x04 000018e4: DUP3 000018e5: ADD 000018e6: MSTORE 000018e7: PUSH1 0x0f 000018e9: PUSH1 0x24 000018eb: DUP3 000018ec: ADD 000018ed: MSTORE 000018ee: PUSH32 0x6d75737420686176652061666669640000000000000000000000000000000000 0000190f: PUSH1 0x44 00001911: DUP3 00001912: ADD 00001913: MSTORE 00001914: SWAP1 00001915: MLOAD 00001916: SWAP1 00001917: DUP2 00001918: SWAP1 00001919: SUB 0000191a: PUSH1 0x64 0000191c: ADD 0000191d: SWAP1 0000191e: REVERT 0000191f: JUMPDEST 00001920: PUSH2 0x192c 00001923: DUP5 00001924: DUP5 00001925: CALLVALUE 00001926: PUSH1 0x00 00001928: PUSH2 0x2840 0000192b: JUMP 0000192c: JUMPDEST 0000192d: PUSH1 0x40 0000192f: DUP1 00001930: MLOAD 00001931: CALLVALUE 00001932: DUP2 00001933: MSTORE 00001934: TIMESTAMP 00001935: PUSH1 0x20 00001937: DUP3 00001938: ADD 00001939: MSTORE 0000193a: DUP2 0000193b: MLOAD 0000193c: DUP7 0000193d: SWAP3 0000193e: PUSH32 0xf7853eb9f87cc79be5225a10e98aeed3d2359ad4033582aabb0511937fcbda4f 0000195f: SWAP3 00001960: DUP3 00001961: SWAP1 00001962: SUB 00001963: ADD 00001964: SWAP1 00001965: LOG2 00001966: POP 00001967: POP 00001968: POP 00001969: POP 0000196a: POP 0000196b: JUMP 0000196c: JUMPDEST 0000196d: PUSH1 0x12 0000196f: SLOAD 00001970: PUSH1 0x13 00001972: SLOAD 00001973: PUSH1 0x11 00001975: SLOAD 00001976: PUSH1 0x0a 00001978: SLOAD 00001979: PUSH1 0x14 0000197b: SLOAD 0000197c: PUSH1 0x00 0000197e: SWAP5 0000197f: DUP6 00001980: SWAP5 00001981: DUP6 00001982: SWAP5 00001983: DUP6 00001984: SWAP5 00001985: DUP6 00001986: SWAP5 00001987: DUP6 00001988: SWAP5 00001989: SWAP4 0000198a: SWAP3 0000198b: SWAP2 0000198c: SWAP1 0000198d: DUP6 0000198e: TIMESTAMP 0000198f: DUP4 00001990: GT 00001991: PUSH2 0x19f8 00001994: JUMPI 00001995: PUSH1 0x01 00001997: SLOAD 00001998: PUSH1 0x0a 0000199a: SLOAD 0000199b: PUSH2 0x19b0 0000199e: SWAP2 0000199f: SWAP1 000019a0: PUSH2 0x0e3a 000019a3: SWAP1 000019a4: TIMESTAMP 000019a5: SWAP1 000019a6: PUSH4 0xffffffff 000019ab: PUSH2 0x26ef 000019ae: AND 000019af: JUMP 000019b0: JUMPDEST 000019b1: PUSH1 0x0e 000019b3: SLOAD 000019b4: PUSH1 0x10 000019b6: SLOAD 000019b7: SWAP1 000019b8: SWAP8 000019b9: POP 000019ba: SWAP6 000019bb: POP 000019bc: PUSH1 0x01 000019be: ADD 000019bf: SWAP1 000019c0: POP 000019c1: PUSH2 0x19cb 000019c4: DUP2 000019c5: DUP8 000019c6: DUP8 000019c7: PUSH2 0x2730 000019ca: JUMP 000019cb: JUMPDEST 000019cc: PUSH1 0x01 000019ce: SLOAD 000019cf: SWAP2 000019d0: SWAP6 000019d1: POP 000019d2: SWAP3 000019d3: POP 000019d4: PUSH2 0x19f5 000019d7: SWAP1 000019d8: PUSH2 0x19e8 000019db: SWAP1 000019dc: DUP4 000019dd: SWAP1 000019de: PUSH4 0xffffffff 000019e3: PUSH2 0x2800 000019e6: AND 000019e7: JUMP 000019e8: JUMPDEST 000019e9: DUP5 000019ea: SWAP1 000019eb: PUSH4 0xffffffff 000019f0: PUSH2 0x282e 000019f3: AND 000019f4: JUMP 000019f5: JUMPDEST 000019f6: SWAP3 000019f7: POP 000019f8: JUMPDEST 000019f9: DUP3 000019fa: PUSH2 0x1a04 000019fd: DUP8 000019fe: DUP8 000019ff: DUP8 00001a00: PUSH2 0x0ee4 00001a03: JUMP 00001a04: JUMPDEST 00001a05: PUSH1 0x10 00001a07: SLOAD 00001a08: PUSH2 0x1a11 00001a0b: SWAP1 00001a0c: DUP8 00001a0d: PUSH2 0x22e0 00001a10: JUMP 00001a11: JUMPDEST 00001a12: PUSH2 0x1a1c 00001a15: DUP10 00001a16: DUP10 00001a17: DUP10 00001a18: PUSH2 0x2038 00001a1b: JUMP 00001a1c: JUMPDEST 00001a1d: PUSH2 0x1a3c 00001a20: PUSH1 0x64 00001a22: PUSH2 0x0e3a 00001a25: DUP9 00001a26: PUSH2 0x1a30 00001a29: DUP15 00001a2a: DUP15 00001a2b: DUP15 00001a2c: PUSH2 0x2038 00001a2f: JUMP 00001a30: JUMPDEST 00001a31: SWAP1 00001a32: PUSH4 0xffffffff 00001a37: PUSH2 0x26ef 00001a3a: AND 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: PUSH2 0x1a47 00001a40: DUP12 00001a41: DUP12 00001a42: DUP12 00001a43: PUSH2 0x1a61 00001a46: JUMP 00001a47: JUMPDEST 00001a48: SWAP12 00001a49: POP 00001a4a: SWAP12 00001a4b: POP 00001a4c: SWAP12 00001a4d: POP 00001a4e: SWAP12 00001a4f: POP 00001a50: SWAP12 00001a51: POP 00001a52: SWAP12 00001a53: POP 00001a54: POP 00001a55: POP 00001a56: POP 00001a57: POP 00001a58: POP 00001a59: POP 00001a5a: SWAP1 00001a5b: SWAP2 00001a5c: SWAP3 00001a5d: SWAP4 00001a5e: SWAP5 00001a5f: SWAP6 00001a60: JUMP 00001a61: JUMPDEST 00001a62: PUSH1 0x00 00001a64: DUP1 00001a65: PUSH1 0x00 00001a67: DUP6 00001a68: GT 00001a69: DUP1 00001a6a: ISZERO 00001a6b: PUSH2 0x1a74 00001a6e: JUMPI 00001a6f: POP 00001a70: PUSH1 0x00 00001a72: DUP5 00001a73: GT 00001a74: JUMPDEST 00001a75: DUP1 00001a76: ISZERO 00001a77: PUSH2 0x1a80 00001a7a: JUMPI 00001a7b: POP 00001a7c: PUSH1 0x00 00001a7e: DUP4 00001a7f: GT 00001a80: JUMPDEST 00001a81: ISZERO 00001a82: PUSH2 0x1a97 00001a85: JUMPI 00001a86: PUSH2 0x1a90 00001a89: DUP6 00001a8a: DUP6 00001a8b: DUP6 00001a8c: PUSH2 0x0ee4 00001a8f: JUMP 00001a90: JUMPDEST 00001a91: SWAP2 00001a92: POP 00001a93: PUSH2 0x1aa7 00001a96: JUMP 00001a97: JUMPDEST 00001a98: PUSH2 0x1aa4 00001a9b: PUSH1 0x00 00001a9d: DUP1 00001a9e: PUSH1 0x00 00001aa0: PUSH2 0x0ee4 00001aa3: JUMP 00001aa4: JUMPDEST 00001aa5: SWAP2 00001aa6: POP 00001aa7: JUMPDEST 00001aa8: PUSH1 0x10 00001aaa: SLOAD 00001aab: PUSH2 0x1ab4 00001aae: SWAP1 00001aaf: DUP5 00001ab0: PUSH2 0x22e0 00001ab3: JUMP 00001ab4: JUMPDEST 00001ab5: SWAP1 00001ab6: POP 00001ab7: DUP1 00001ab8: ISZERO 00001ab9: ISZERO 00001aba: PUSH2 0x1ac6 00001abd: JUMPI 00001abe: PUSH1 0x00 00001ac0: SWAP2 00001ac1: POP 00001ac2: PUSH2 0x1b12 00001ac5: JUMP 00001ac6: JUMPDEST 00001ac7: PUSH2 0x1af6 00001aca: DUP2 00001acb: PUSH2 0x0e3a 00001ace: PUSH1 0xb4 00001ad0: DUP2 00001ad1: PUSH1 0x64 00001ad3: PUSH2 0x1aea 00001ad6: DUP9 00001ad7: PUSH8 0x0de0b6b3a7640000 00001ae0: PUSH4 0xffffffff 00001ae5: PUSH2 0x2800 00001ae8: AND 00001ae9: JUMP 00001aea: JUMPDEST 00001aeb: SWAP1 00001aec: PUSH4 0xffffffff 00001af1: PUSH2 0x2800 00001af4: AND 00001af5: JUMP 00001af6: JUMPDEST 00001af7: SWAP2 00001af8: POP 00001af9: PUSH7 0x01c6bf52634000 00001b01: DUP3 00001b02: GT 00001b03: ISZERO 00001b04: PUSH2 0x1b12 00001b07: JUMPI 00001b08: PUSH7 0x01c6bf52634000 00001b10: SWAP2 00001b11: POP 00001b12: JUMPDEST 00001b13: POP 00001b14: SWAP4 00001b15: SWAP3 00001b16: POP 00001b17: POP 00001b18: POP 00001b19: JUMP 00001b1a: JUMPDEST 00001b1b: PUSH1 0x11 00001b1d: SLOAD 00001b1e: PUSH1 0x00 00001b20: SWAP1 00001b21: PUSH2 0x1b3c 00001b24: SWAP1 00001b25: PUSH2 0x0e3a 00001b28: DUP5 00001b29: PUSH8 0x0de0b6b3a7640000 00001b32: PUSH4 0xffffffff 00001b37: PUSH2 0x2800 00001b3a: AND 00001b3b: JUMP 00001b3c: JUMPDEST 00001b3d: SWAP3 00001b3e: SWAP2 00001b3f: POP 00001b40: POP 00001b41: JUMP 00001b42: JUMPDEST 00001b43: PUSH1 0x40 00001b45: DUP1 00001b46: MLOAD 00001b47: PUSH1 0x20 00001b49: DUP1 00001b4a: DUP3 00001b4b: MSTORE 00001b4c: DUP2 00001b4d: DUP4 00001b4e: ADD 00001b4f: SWAP1 00001b50: SWAP3 00001b51: MSTORE 00001b52: PUSH1 0x60 00001b54: SWAP2 00001b55: DUP3 00001b56: SWAP2 00001b57: PUSH1 0x00 00001b59: SWAP2 00001b5a: DUP3 00001b5b: SWAP2 00001b5c: DUP3 00001b5d: SWAP2 00001b5e: DUP6 00001b5f: SWAP2 00001b60: SWAP1 00001b61: DUP1 00001b62: DUP3 00001b63: ADD 00001b64: PUSH2 0x0400 00001b67: DUP1 00001b68: CODESIZE 00001b69: DUP4 00001b6a: CODECOPY 00001b6b: ADD 00001b6c: SWAP1 00001b6d: POP 00001b6e: POP 00001b6f: SWAP5 00001b70: POP 00001b71: PUSH1 0x00 00001b73: SWAP4 00001b74: POP 00001b75: PUSH1 0x00 00001b77: SWAP3 00001b78: POP 00001b79: JUMPDEST 00001b7a: PUSH1 0x20 00001b7c: DUP4 00001b7d: LT 00001b7e: ISZERO 00001b7f: PUSH2 0x1bee 00001b82: JUMPI 00001b83: PUSH1 0x08 00001b85: DUP4 00001b86: MUL 00001b87: PUSH1 0x02 00001b89: EXP 00001b8a: DUP8 00001b8b: MUL 00001b8c: SWAP2 00001b8d: POP 00001b8e: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00001baf: DUP3 00001bb0: AND 00001bb1: ISZERO 00001bb2: PUSH2 0x1be3 00001bb5: JUMPI 00001bb6: DUP2 00001bb7: DUP6 00001bb8: DUP6 00001bb9: DUP2 00001bba: MLOAD 00001bbb: DUP2 00001bbc: LT 00001bbd: ISZERO 00001bbe: ISZERO 00001bbf: PUSH2 0x1bc4 00001bc2: JUMPI 00001bc3: INVALID 00001bc4: JUMPDEST 00001bc5: SWAP1 00001bc6: PUSH1 0x20 00001bc8: ADD 00001bc9: ADD 00001bca: SWAP1 00001bcb: PUSH1 0x01 00001bcd: PUSH1 0xf8 00001bcf: PUSH1 0x02 00001bd1: EXP 00001bd2: SUB 00001bd3: NOT 00001bd4: AND 00001bd5: SWAP1 00001bd6: DUP2 00001bd7: PUSH1 0x00 00001bd9: BYTE 00001bda: SWAP1 00001bdb: MSTORE8 00001bdc: POP 00001bdd: PUSH1 0x01 00001bdf: SWAP1 00001be0: SWAP4 00001be1: ADD 00001be2: SWAP3 00001be3: JUMPDEST 00001be4: PUSH1 0x01 00001be6: SWAP1 00001be7: SWAP3 00001be8: ADD 00001be9: SWAP2 00001bea: PUSH2 0x1b79 00001bed: JUMP 00001bee: JUMPDEST 00001bef: DUP4 00001bf0: PUSH1 0x40 00001bf2: MLOAD 00001bf3: SWAP1 00001bf4: DUP1 00001bf5: DUP3 00001bf6: MSTORE 00001bf7: DUP1 00001bf8: PUSH1 0x1f 00001bfa: ADD 00001bfb: PUSH1 0x1f 00001bfd: NOT 00001bfe: AND 00001bff: PUSH1 0x20 00001c01: ADD 00001c02: DUP3 00001c03: ADD 00001c04: PUSH1 0x40 00001c06: MSTORE 00001c07: DUP1 00001c08: ISZERO 00001c09: PUSH2 0x1c1c 00001c0c: JUMPI 00001c0d: DUP2 00001c0e: PUSH1 0x20 00001c10: ADD 00001c11: PUSH1 0x20 00001c13: DUP3 00001c14: MUL 00001c15: DUP1 00001c16: CODESIZE 00001c17: DUP4 00001c18: CODECOPY 00001c19: ADD 00001c1a: SWAP1 00001c1b: POP 00001c1c: JUMPDEST 00001c1d: POP 00001c1e: SWAP1 00001c1f: POP 00001c20: PUSH1 0x00 00001c22: SWAP3 00001c23: POP 00001c24: JUMPDEST 00001c25: DUP4 00001c26: DUP4 00001c27: LT 00001c28: ISZERO 00001c29: PUSH2 0x1c7e 00001c2c: JUMPI 00001c2d: DUP5 00001c2e: DUP4 00001c2f: DUP2 00001c30: MLOAD 00001c31: DUP2 00001c32: LT 00001c33: ISZERO 00001c34: ISZERO 00001c35: PUSH2 0x1c3a 00001c38: JUMPI 00001c39: INVALID 00001c3a: JUMPDEST 00001c3b: SWAP1 00001c3c: PUSH1 0x20 00001c3e: ADD 00001c3f: ADD 00001c40: MLOAD 00001c41: PUSH1 0xf8 00001c43: PUSH1 0x02 00001c45: EXP 00001c46: SWAP1 00001c47: DIV 00001c48: PUSH1 0xf8 00001c4a: PUSH1 0x02 00001c4c: EXP 00001c4d: MUL 00001c4e: DUP2 00001c4f: DUP5 00001c50: DUP2 00001c51: MLOAD 00001c52: DUP2 00001c53: LT 00001c54: ISZERO 00001c55: ISZERO 00001c56: PUSH2 0x1c5b 00001c59: JUMPI 00001c5a: INVALID 00001c5b: JUMPDEST 00001c5c: SWAP1 00001c5d: PUSH1 0x20 00001c5f: ADD 00001c60: ADD 00001c61: SWAP1 00001c62: PUSH1 0x01 00001c64: PUSH1 0xf8 00001c66: PUSH1 0x02 00001c68: EXP 00001c69: SUB 00001c6a: NOT 00001c6b: AND 00001c6c: SWAP1 00001c6d: DUP2 00001c6e: PUSH1 0x00 00001c70: BYTE 00001c71: SWAP1 00001c72: MSTORE8 00001c73: POP 00001c74: PUSH1 0x01 00001c76: SWAP1 00001c77: SWAP3 00001c78: ADD 00001c79: SWAP2 00001c7a: PUSH2 0x1c24 00001c7d: JUMP 00001c7e: JUMPDEST 00001c7f: SWAP7 00001c80: SWAP6 00001c81: POP 00001c82: POP 00001c83: POP 00001c84: POP 00001c85: POP 00001c86: POP 00001c87: JUMP 00001c88: JUMPDEST 00001c89: PUSH1 0x08 00001c8b: PUSH1 0x20 00001c8d: MSTORE 00001c8e: PUSH1 0x00 00001c90: SWAP1 00001c91: DUP2 00001c92: MSTORE 00001c93: PUSH1 0x40 00001c95: SWAP1 00001c96: KECCAK256 00001c97: SLOAD 00001c98: DUP2 00001c99: JUMP 00001c9a: JUMPDEST 00001c9b: PUSH1 0x00 00001c9d: PUSH2 0x0f3f 00001ca0: PUSH1 0x64 00001ca2: PUSH2 0x0e3a 00001ca5: DUP7 00001ca6: DUP7 00001ca7: DUP7 00001ca8: PUSH2 0x2038 00001cab: JUMP 00001cac: JUMPDEST 00001cad: PUSH1 0x15 00001caf: SLOAD 00001cb0: PUSH1 0x00 00001cb2: SWAP1 00001cb3: DUP2 00001cb4: SWAP1 00001cb5: DUP2 00001cb6: SWAP1 00001cb7: PUSH1 0xff 00001cb9: AND 00001cba: ISZERO 00001cbb: ISZERO 00001cbc: PUSH1 0x01 00001cbe: EQ 00001cbf: PUSH2 0x1d14 00001cc2: JUMPI 00001cc3: PUSH1 0x40 00001cc5: DUP1 00001cc6: MLOAD 00001cc7: PUSH1 0xe5 00001cc9: PUSH1 0x02 00001ccb: EXP 00001ccc: PUSH3 0x461bcd 00001cd0: MUL 00001cd1: DUP2 00001cd2: MSTORE 00001cd3: PUSH1 0x20 00001cd5: PUSH1 0x04 00001cd7: DUP3 00001cd8: ADD 00001cd9: MSTORE 00001cda: PUSH1 0x29 00001cdc: PUSH1 0x24 00001cde: DUP3 00001cdf: ADD 00001ce0: MSTORE 00001ce1: PUSH1 0x00 00001ce3: DUP1 00001ce4: MLOAD 00001ce5: PUSH1 0x20 00001ce7: PUSH2 0x35ce 00001cea: DUP4 00001ceb: CODECOPY 00001cec: DUP2 00001ced: MLOAD 00001cee: SWAP2 00001cef: MSTORE 00001cf0: PUSH1 0x44 00001cf2: DUP3 00001cf3: ADD 00001cf4: MSTORE 00001cf5: PUSH1 0x00 00001cf7: DUP1 00001cf8: MLOAD 00001cf9: PUSH1 0x20 00001cfb: PUSH2 0x356e 00001cfe: DUP4 00001cff: CODECOPY 00001d00: DUP2 00001d01: MLOAD 00001d02: SWAP2 00001d03: MSTORE 00001d04: PUSH1 0x64 00001d06: DUP3 00001d07: ADD 00001d08: MSTORE 00001d09: SWAP1 00001d0a: MLOAD 00001d0b: SWAP1 00001d0c: DUP2 00001d0d: SWAP1 00001d0e: SUB 00001d0f: PUSH1 0x84 00001d11: ADD 00001d12: SWAP1 00001d13: REVERT 00001d14: JUMPDEST 00001d15: CALLER 00001d16: ORIGIN 00001d17: EQ 00001d18: PUSH2 0x1d59 00001d1b: JUMPI 00001d1c: PUSH1 0x40 00001d1e: DUP1 00001d1f: MLOAD 00001d20: PUSH1 0xe5 00001d22: PUSH1 0x02 00001d24: EXP 00001d25: PUSH3 0x461bcd 00001d29: MUL 00001d2a: DUP2 00001d2b: MSTORE 00001d2c: PUSH1 0x20 00001d2e: PUSH1 0x04 00001d30: DUP3 00001d31: ADD 00001d32: MSTORE 00001d33: PUSH1 0x11 00001d35: PUSH1 0x24 00001d37: DUP3 00001d38: ADD 00001d39: MSTORE 00001d3a: PUSH1 0x00 00001d3c: DUP1 00001d3d: MLOAD 00001d3e: PUSH1 0x20 00001d40: PUSH2 0x360e 00001d43: DUP4 00001d44: CODECOPY 00001d45: DUP2 00001d46: MLOAD 00001d47: SWAP2 00001d48: MSTORE 00001d49: PUSH1 0x44 00001d4b: DUP3 00001d4c: ADD 00001d4d: MSTORE 00001d4e: SWAP1 00001d4f: MLOAD 00001d50: SWAP1 00001d51: DUP2 00001d52: SWAP1 00001d53: SUB 00001d54: PUSH1 0x64 00001d56: ADD 00001d57: SWAP1 00001d58: REVERT 00001d59: JUMPDEST 00001d5a: PUSH1 0x01 00001d5c: PUSH1 0xa0 00001d5e: PUSH1 0x02 00001d60: EXP 00001d61: SUB 00001d62: DUP6 00001d63: AND 00001d64: PUSH1 0x00 00001d66: SWAP1 00001d67: DUP2 00001d68: MSTORE 00001d69: PUSH1 0x04 00001d6b: PUSH1 0x20 00001d6d: MSTORE 00001d6e: PUSH1 0x40 00001d70: SWAP1 00001d71: KECCAK256 00001d72: SLOAD 00001d73: DUP6 00001d74: SWAP1 00001d75: ISZERO 00001d76: ISZERO 00001d77: PUSH2 0x1dcd 00001d7a: JUMPI 00001d7b: PUSH1 0x09 00001d7d: DUP1 00001d7e: SLOAD 00001d7f: PUSH1 0x01 00001d81: PUSH1 0xa0 00001d83: PUSH1 0x02 00001d85: EXP 00001d86: SUB 00001d87: DUP4 00001d88: AND 00001d89: PUSH1 0x00 00001d8b: DUP2 00001d8c: DUP2 00001d8d: MSTORE 00001d8e: PUSH1 0x04 00001d90: PUSH1 0x20 00001d92: SWAP1 00001d93: DUP2 00001d94: MSTORE 00001d95: PUSH1 0x40 00001d97: DUP1 00001d98: DUP4 00001d99: KECCAK256 00001d9a: DUP6 00001d9b: SWAP1 00001d9c: SSTORE 00001d9d: SWAP4 00001d9e: DUP3 00001d9f: MSTORE 00001da0: PUSH1 0x06 00001da2: SWAP1 00001da3: MSTORE 00001da4: SWAP2 00001da5: SWAP1 00001da6: SWAP2 00001da7: KECCAK256 00001da8: DUP1 00001da9: SLOAD 00001daa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dbf: NOT 00001dc0: AND 00001dc1: SWAP1 00001dc2: SWAP2 00001dc3: OR 00001dc4: SWAP1 00001dc5: SSTORE 00001dc6: DUP1 00001dc7: SLOAD 00001dc8: PUSH1 0x01 00001dca: ADD 00001dcb: SWAP1 00001dcc: SSTORE 00001dcd: JUMPDEST 00001dce: PUSH2 0x1dd7 00001dd1: PUSH1 0x00 00001dd3: PUSH2 0x0958 00001dd6: JUMP 00001dd7: JUMPDEST 00001dd8: PUSH1 0x44 00001dda: CALLDATASIZE 00001ddb: LT 00001ddc: ISZERO 00001ddd: PUSH2 0x1e30 00001de0: JUMPI 00001de1: PUSH1 0x40 00001de3: DUP1 00001de4: MLOAD 00001de5: PUSH1 0xe5 00001de7: PUSH1 0x02 00001de9: EXP 00001dea: PUSH3 0x461bcd 00001dee: MUL 00001def: DUP2 00001df0: MSTORE 00001df1: PUSH1 0x20 00001df3: PUSH1 0x04 00001df5: DUP3 00001df6: ADD 00001df7: MSTORE 00001df8: PUSH1 0x16 00001dfa: PUSH1 0x24 00001dfc: DUP3 00001dfd: ADD 00001dfe: MSTORE 00001dff: PUSH32 0x6e6f7420656e6f7567682064617461206c656e67746800000000000000000000 00001e20: PUSH1 0x44 00001e22: DUP3 00001e23: ADD 00001e24: MSTORE 00001e25: SWAP1 00001e26: MLOAD 00001e27: SWAP1 00001e28: DUP2 00001e29: SWAP1 00001e2a: SUB 00001e2b: PUSH1 0x64 00001e2d: ADD 00001e2e: SWAP1 00001e2f: REVERT 00001e30: JUMPDEST 00001e31: CALLER 00001e32: PUSH1 0x00 00001e34: SWAP1 00001e35: DUP2 00001e36: MSTORE 00001e37: PUSH1 0x04 00001e39: PUSH1 0x20 00001e3b: MSTORE 00001e3c: PUSH1 0x40 00001e3e: SWAP1 00001e3f: KECCAK256 00001e40: SLOAD 00001e41: SWAP4 00001e42: POP 00001e43: DUP4 00001e44: ISZERO 00001e45: ISZERO 00001e46: PUSH2 0x1e87 00001e49: JUMPI 00001e4a: PUSH1 0x40 00001e4c: DUP1 00001e4d: MLOAD 00001e4e: PUSH1 0xe5 00001e50: PUSH1 0x02 00001e52: EXP 00001e53: PUSH3 0x461bcd 00001e57: MUL 00001e58: DUP2 00001e59: MSTORE 00001e5a: PUSH1 0x20 00001e5c: PUSH1 0x04 00001e5e: DUP3 00001e5f: ADD 00001e60: MSTORE 00001e61: PUSH1 0x0d 00001e63: PUSH1 0x24 00001e65: DUP3 00001e66: ADD 00001e67: MSTORE 00001e68: PUSH1 0x00 00001e6a: DUP1 00001e6b: MLOAD 00001e6c: PUSH1 0x20 00001e6e: PUSH2 0x358e 00001e71: DUP4 00001e72: CODECOPY 00001e73: DUP2 00001e74: MLOAD 00001e75: SWAP2 00001e76: MSTORE 00001e77: PUSH1 0x44 00001e79: DUP3 00001e7a: ADD 00001e7b: MSTORE 00001e7c: SWAP1 00001e7d: MLOAD 00001e7e: SWAP1 00001e7f: DUP2 00001e80: SWAP1 00001e81: SUB 00001e82: PUSH1 0x64 00001e84: ADD 00001e85: SWAP1 00001e86: REVERT 00001e87: JUMPDEST 00001e88: PUSH1 0x00 00001e8a: DUP5 00001e8b: DUP2 00001e8c: MSTORE 00001e8d: PUSH1 0x06 00001e8f: PUSH1 0x20 00001e91: MSTORE 00001e92: PUSH1 0x40 00001e94: SWAP1 00001e95: KECCAK256 00001e96: PUSH1 0x03 00001e98: ADD 00001e99: SLOAD 00001e9a: DUP6 00001e9b: GT 00001e9c: ISZERO 00001e9d: PUSH2 0x1ef0 00001ea0: JUMPI 00001ea1: PUSH1 0x40 00001ea3: DUP1 00001ea4: MLOAD 00001ea5: PUSH1 0xe5 00001ea7: PUSH1 0x02 00001ea9: EXP 00001eaa: PUSH3 0x461bcd 00001eae: MUL 00001eaf: DUP2 00001eb0: MSTORE 00001eb1: PUSH1 0x20 00001eb3: PUSH1 0x04 00001eb5: DUP3 00001eb6: ADD 00001eb7: MSTORE 00001eb8: PUSH1 0x17 00001eba: PUSH1 0x24 00001ebc: DUP3 00001ebd: ADD 00001ebe: MSTORE 00001ebf: PUSH32 0x6572726f722c206e6f7420656e6f7567682073746f7265000000000000000000 00001ee0: PUSH1 0x44 00001ee2: DUP3 00001ee3: ADD 00001ee4: MSTORE 00001ee5: SWAP1 00001ee6: MLOAD 00001ee7: SWAP1 00001ee8: DUP2 00001ee9: SWAP1 00001eea: SUB 00001eeb: PUSH1 0x64 00001eed: ADD 00001eee: SWAP1 00001eef: REVERT 00001ef0: JUMPDEST 00001ef1: PUSH1 0x00 00001ef3: DUP5 00001ef4: DUP2 00001ef5: MSTORE 00001ef6: PUSH1 0x06 00001ef8: PUSH1 0x20 00001efa: MSTORE 00001efb: PUSH1 0x40 00001efd: SWAP1 00001efe: KECCAK256 00001eff: PUSH1 0x03 00001f01: ADD 00001f02: SLOAD 00001f03: PUSH2 0x1f12 00001f06: SWAP1 00001f07: DUP7 00001f08: PUSH4 0xffffffff 00001f0d: PUSH2 0x26ef 00001f10: AND 00001f11: JUMP 00001f12: JUMPDEST 00001f13: PUSH1 0x00 00001f15: DUP6 00001f16: DUP2 00001f17: MSTORE 00001f18: PUSH1 0x06 00001f1a: PUSH1 0x20 00001f1c: SWAP1 00001f1d: DUP2 00001f1e: MSTORE 00001f1f: PUSH1 0x40 00001f21: DUP1 00001f22: DUP4 00001f23: KECCAK256 00001f24: PUSH1 0x03 00001f26: ADD 00001f27: SWAP4 00001f28: SWAP1 00001f29: SWAP4 00001f2a: SSTORE 00001f2b: PUSH1 0x01 00001f2d: PUSH1 0xa0 00001f2f: PUSH1 0x02 00001f31: EXP 00001f32: SUB 00001f33: DUP10 00001f34: AND 00001f35: DUP3 00001f36: MSTORE 00001f37: PUSH1 0x04 00001f39: SWAP1 00001f3a: MSTORE 00001f3b: KECCAK256 00001f3c: SLOAD 00001f3d: SWAP3 00001f3e: POP 00001f3f: DUP3 00001f40: DUP5 00001f41: EQ 00001f42: ISZERO 00001f43: PUSH2 0x1f96 00001f46: JUMPI 00001f47: PUSH1 0x40 00001f49: DUP1 00001f4a: MLOAD 00001f4b: PUSH1 0xe5 00001f4d: PUSH1 0x02 00001f4f: EXP 00001f50: PUSH3 0x461bcd 00001f54: MUL 00001f55: DUP2 00001f56: MSTORE 00001f57: PUSH1 0x20 00001f59: PUSH1 0x04 00001f5b: DUP3 00001f5c: ADD 00001f5d: MSTORE 00001f5e: PUSH1 0x0e 00001f60: PUSH1 0x24 00001f62: DUP3 00001f63: ADD 00001f64: MSTORE 00001f65: PUSH32 0x6e6f742073656e6420746f206d65000000000000000000000000000000000000 00001f86: PUSH1 0x44 00001f88: DUP3 00001f89: ADD 00001f8a: MSTORE 00001f8b: SWAP1 00001f8c: MLOAD 00001f8d: SWAP1 00001f8e: DUP2 00001f8f: SWAP1 00001f90: SUB 00001f91: PUSH1 0x64 00001f93: ADD 00001f94: SWAP1 00001f95: REVERT 00001f96: JUMPDEST 00001f97: PUSH2 0x1f9f 00001f9a: DUP6 00001f9b: PUSH2 0x1b1a 00001f9e: JUMP 00001f9f: JUMPDEST 00001fa0: SWAP2 00001fa1: POP 00001fa2: PUSH2 0x1fae 00001fa5: DUP4 00001fa6: DUP7 00001fa7: DUP5 00001fa8: PUSH1 0x00 00001faa: PUSH2 0x31ae 00001fad: JUMP 00001fae: JUMPDEST 00001faf: PUSH1 0x00 00001fb1: DUP4 00001fb2: DUP2 00001fb3: MSTORE 00001fb4: PUSH1 0x06 00001fb6: PUSH1 0x20 00001fb8: MSTORE 00001fb9: PUSH1 0x40 00001fbb: SWAP1 00001fbc: KECCAK256 00001fbd: PUSH1 0x02 00001fbf: ADD 00001fc0: SLOAD 00001fc1: PUSH2 0x1ff2 00001fc4: SWAP1 00001fc5: DUP5 00001fc6: SWAP1 00001fc7: PUSH2 0x1fdc 00001fca: PUSH1 0x64 00001fcc: PUSH2 0x0e3a 00001fcf: DUP11 00001fd0: PUSH1 0x05 00001fd2: PUSH4 0xffffffff 00001fd7: PUSH2 0x2800 00001fda: AND 00001fdb: JUMP 00001fdc: JUMPDEST 00001fdd: PUSH2 0x0e5c 00001fe0: PUSH1 0x64 00001fe2: PUSH2 0x0e3a 00001fe5: DUP9 00001fe6: PUSH1 0x05 00001fe8: PUSH4 0xffffffff 00001fed: PUSH2 0x2800 00001ff0: AND 00001ff1: JUMP 00001ff2: JUMPDEST 00001ff3: PUSH1 0x40 00001ff5: DUP1 00001ff6: MLOAD 00001ff7: DUP7 00001ff8: DUP2 00001ff9: MSTORE 00001ffa: TIMESTAMP 00001ffb: PUSH1 0x20 00001ffd: DUP3 00001ffe: ADD 00001fff: MSTORE 00002000: DUP2 00002001: MLOAD 00002002: DUP6 00002003: SWAP3 00002004: DUP8 00002005: SWAP3 00002006: PUSH32 0x6c354bfd83b3215eed14779fb8c4eae2793efca05e2394c9d04328494204d067 00002027: SWAP3 00002028: SWAP1 00002029: DUP2 0000202a: SWAP1 0000202b: SUB 0000202c: SWAP1 0000202d: SWAP2 0000202e: ADD 0000202f: SWAP1 00002030: LOG3 00002031: POP 00002032: POP 00002033: POP 00002034: POP 00002035: POP 00002036: POP 00002037: JUMP 00002038: JUMPDEST 00002039: PUSH1 0x00 0000203b: PUSH2 0x0f3f 0000203e: PUSH2 0x2047 00002041: DUP5 00002042: DUP5 00002043: PUSH2 0x22e0 00002046: JUMP 00002047: JUMPDEST 00002048: DUP6 00002049: SWAP1 0000204a: PUSH4 0xffffffff 0000204f: PUSH2 0x26ef 00002052: AND 00002053: JUMP 00002054: JUMPDEST 00002055: PUSH1 0x15 00002057: SLOAD 00002058: PUSH1 0x00 0000205a: SWAP1 0000205b: DUP2 0000205c: SWAP1 0000205d: PUSH1 0xff 0000205f: AND 00002060: ISZERO 00002061: ISZERO 00002062: PUSH1 0x01 00002064: EQ 00002065: PUSH2 0x20ba 00002068: JUMPI 00002069: PUSH1 0x40 0000206b: DUP1 0000206c: MLOAD 0000206d: PUSH1 0xe5 0000206f: PUSH1 0x02 00002071: EXP 00002072: PUSH3 0x461bcd 00002076: MUL 00002077: DUP2 00002078: MSTORE 00002079: PUSH1 0x20 0000207b: PUSH1 0x04 0000207d: DUP3 0000207e: ADD 0000207f: MSTORE 00002080: PUSH1 0x29 00002082: PUSH1 0x24 00002084: DUP3 00002085: ADD 00002086: MSTORE 00002087: PUSH1 0x00 00002089: DUP1 0000208a: MLOAD 0000208b: PUSH1 0x20 0000208d: PUSH2 0x35ce 00002090: DUP4 00002091: CODECOPY 00002092: DUP2 00002093: MLOAD 00002094: SWAP2 00002095: MSTORE 00002096: PUSH1 0x44 00002098: DUP3 00002099: ADD 0000209a: MSTORE 0000209b: PUSH1 0x00 0000209d: DUP1 0000209e: MLOAD 0000209f: PUSH1 0x20 000020a1: PUSH2 0x356e 000020a4: DUP4 000020a5: CODECOPY 000020a6: DUP2 000020a7: MLOAD 000020a8: SWAP2 000020a9: MSTORE 000020aa: PUSH1 0x64 000020ac: DUP3 000020ad: ADD 000020ae: MSTORE 000020af: SWAP1 000020b0: MLOAD 000020b1: SWAP1 000020b2: DUP2 000020b3: SWAP1 000020b4: SUB 000020b5: PUSH1 0x84 000020b7: ADD 000020b8: SWAP1 000020b9: REVERT 000020ba: JUMPDEST 000020bb: CALLER 000020bc: ORIGIN 000020bd: EQ 000020be: PUSH2 0x20ff 000020c1: JUMPI 000020c2: PUSH1 0x40 000020c4: DUP1 000020c5: MLOAD 000020c6: PUSH1 0xe5 000020c8: PUSH1 0x02 000020ca: EXP 000020cb: PUSH3 0x461bcd 000020cf: MUL 000020d0: DUP2 000020d1: MSTORE 000020d2: PUSH1 0x20 000020d4: PUSH1 0x04 000020d6: DUP3 000020d7: ADD 000020d8: MSTORE 000020d9: PUSH1 0x11 000020db: PUSH1 0x24 000020dd: DUP3 000020de: ADD 000020df: MSTORE 000020e0: PUSH1 0x00 000020e2: DUP1 000020e3: MLOAD 000020e4: PUSH1 0x20 000020e6: PUSH2 0x360e 000020e9: DUP4 000020ea: CODECOPY 000020eb: DUP2 000020ec: MLOAD 000020ed: SWAP2 000020ee: MSTORE 000020ef: PUSH1 0x44 000020f1: DUP3 000020f2: ADD 000020f3: MSTORE 000020f4: SWAP1 000020f5: MLOAD 000020f6: SWAP1 000020f7: DUP2 000020f8: SWAP1 000020f9: SUB 000020fa: PUSH1 0x64 000020fc: ADD 000020fd: SWAP1 000020fe: REVERT 000020ff: JUMPDEST 00002100: CALLVALUE 00002101: PUSH4 0x3b9aca00 00002106: DUP2 00002107: LT 00002108: ISZERO 00002109: PUSH2 0x2157 0000210c: JUMPI 0000210d: PUSH1 0x40 0000210f: DUP1 00002110: MLOAD 00002111: PUSH1 0xe5 00002113: PUSH1 0x02 00002115: EXP 00002116: PUSH3 0x461bcd 0000211a: MUL 0000211b: DUP2 0000211c: MSTORE 0000211d: PUSH1 0x20 0000211f: PUSH1 0x04 00002121: DUP3 00002122: ADD 00002123: MSTORE 00002124: PUSH1 0x21 00002126: PUSH1 0x24 00002128: DUP3 00002129: ADD 0000212a: MSTORE 0000212b: PUSH1 0x00 0000212d: DUP1 0000212e: MLOAD 0000212f: PUSH1 0x20 00002131: PUSH2 0x35ae 00002134: DUP4 00002135: CODECOPY 00002136: DUP2 00002137: MLOAD 00002138: SWAP2 00002139: MSTORE 0000213a: PUSH1 0x44 0000213c: DUP3 0000213d: ADD 0000213e: MSTORE 0000213f: PUSH1 0xf8 00002141: PUSH1 0x02 00002143: EXP 00002144: PUSH1 0x79 00002146: MUL 00002147: PUSH1 0x64 00002149: DUP3 0000214a: ADD 0000214b: MSTORE 0000214c: SWAP1 0000214d: MLOAD 0000214e: SWAP1 0000214f: DUP2 00002150: SWAP1 00002151: SUB 00002152: PUSH1 0x84 00002154: ADD 00002155: SWAP1 00002156: REVERT 00002157: JUMPDEST 00002158: PUSH10 0x152d02c7e14af6800000 00002163: DUP2 00002164: GT 00002165: ISZERO 00002166: PUSH2 0x21a7 00002169: JUMPI 0000216a: PUSH1 0x40 0000216c: DUP1 0000216d: MLOAD 0000216e: PUSH1 0xe5 00002170: PUSH1 0x02 00002172: EXP 00002173: PUSH3 0x461bcd 00002177: MUL 00002178: DUP2 00002179: MSTORE 0000217a: PUSH1 0x20 0000217c: PUSH1 0x04 0000217e: DUP3 0000217f: ADD 00002180: MSTORE 00002181: PUSH1 0x0e 00002183: PUSH1 0x24 00002185: DUP3 00002186: ADD 00002187: MSTORE 00002188: PUSH1 0x00 0000218a: DUP1 0000218b: MLOAD 0000218c: PUSH1 0x20 0000218e: PUSH2 0x35ee 00002191: DUP4 00002192: CODECOPY 00002193: DUP2 00002194: MLOAD 00002195: SWAP2 00002196: MSTORE 00002197: PUSH1 0x44 00002199: DUP3 0000219a: ADD 0000219b: MSTORE 0000219c: SWAP1 0000219d: MLOAD 0000219e: SWAP1 0000219f: DUP2 000021a0: SWAP1 000021a1: SUB 000021a2: PUSH1 0x64 000021a4: ADD 000021a5: SWAP1 000021a6: REVERT 000021a7: JUMPDEST 000021a8: PUSH2 0x21b1 000021ab: PUSH1 0x00 000021ad: PUSH2 0x0958 000021b0: JUMP 000021b1: JUMPDEST 000021b2: CALLER 000021b3: PUSH1 0x00 000021b5: DUP2 000021b6: DUP2 000021b7: MSTORE 000021b8: PUSH1 0x04 000021ba: PUSH1 0x20 000021bc: MSTORE 000021bd: PUSH1 0x40 000021bf: SWAP1 000021c0: KECCAK256 000021c1: SLOAD 000021c2: ISZERO 000021c3: ISZERO 000021c4: PUSH2 0x221a 000021c7: JUMPI 000021c8: PUSH1 0x09 000021ca: DUP1 000021cb: SLOAD 000021cc: PUSH1 0x01 000021ce: PUSH1 0xa0 000021d0: PUSH1 0x02 000021d2: EXP 000021d3: SUB 000021d4: DUP4 000021d5: AND 000021d6: PUSH1 0x00 000021d8: DUP2 000021d9: DUP2 000021da: MSTORE 000021db: PUSH1 0x04 000021dd: PUSH1 0x20 000021df: SWAP1 000021e0: DUP2 000021e1: MSTORE 000021e2: PUSH1 0x40 000021e4: DUP1 000021e5: DUP4 000021e6: KECCAK256 000021e7: DUP6 000021e8: SWAP1 000021e9: SSTORE 000021ea: SWAP4 000021eb: DUP3 000021ec: MSTORE 000021ed: PUSH1 0x06 000021ef: SWAP1 000021f0: MSTORE 000021f1: SWAP2 000021f2: SWAP1 000021f3: SWAP2 000021f4: KECCAK256 000021f5: DUP1 000021f6: SLOAD 000021f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000220c: NOT 0000220d: AND 0000220e: SWAP1 0000220f: SWAP2 00002210: OR 00002211: SWAP1 00002212: SSTORE 00002213: DUP1 00002214: SLOAD 00002215: PUSH1 0x01 00002217: ADD 00002218: SWAP1 00002219: SSTORE 0000221a: JUMPDEST 0000221b: CALLER 0000221c: PUSH1 0x00 0000221e: SWAP1 0000221f: DUP2 00002220: MSTORE 00002221: PUSH1 0x04 00002223: PUSH1 0x20 00002225: MSTORE 00002226: PUSH1 0x40 00002228: SWAP1 00002229: KECCAK256 0000222a: SLOAD 0000222b: SWAP4 0000222c: POP 0000222d: PUSH2 0x2236 00002230: DUP5 00002231: DUP7 00002232: PUSH2 0x3271 00002235: JUMP 00002236: JUMPDEST 00002237: SWAP3 00002238: POP 00002239: DUP3 0000223a: ISZERO 0000223b: ISZERO 0000223c: PUSH2 0x228f 0000223f: JUMPI 00002240: PUSH1 0x40 00002242: DUP1 00002243: MLOAD 00002244: PUSH1 0xe5 00002246: PUSH1 0x02 00002248: EXP 00002249: PUSH3 0x461bcd 0000224d: MUL 0000224e: DUP2 0000224f: MSTORE 00002250: PUSH1 0x20 00002252: PUSH1 0x04 00002254: DUP3 00002255: ADD 00002256: MSTORE 00002257: PUSH1 0x0f 00002259: PUSH1 0x24 0000225b: DUP3 0000225c: ADD 0000225d: MSTORE 0000225e: PUSH32 0x6d75737420686176652061666669640000000000000000000000000000000000 0000227f: PUSH1 0x44 00002281: DUP3 00002282: ADD 00002283: MSTORE 00002284: SWAP1 00002285: MLOAD 00002286: SWAP1 00002287: DUP2 00002288: SWAP1 00002289: SUB 0000228a: PUSH1 0x64 0000228c: ADD 0000228d: SWAP1 0000228e: REVERT 0000228f: JUMPDEST 00002290: PUSH2 0x229a 00002293: DUP5 00002294: DUP5 00002295: CALLVALUE 00002296: PUSH2 0x0a19 00002299: JUMP 0000229a: JUMPDEST 0000229b: PUSH1 0x40 0000229d: DUP1 0000229e: MLOAD 0000229f: CALLVALUE 000022a0: DUP2 000022a1: MSTORE 000022a2: TIMESTAMP 000022a3: PUSH1 0x20 000022a5: DUP3 000022a6: ADD 000022a7: MSTORE 000022a8: DUP2 000022a9: MLOAD 000022aa: DUP7 000022ab: SWAP3 000022ac: PUSH32 0x17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0 000022cd: SWAP3 000022ce: DUP3 000022cf: SWAP1 000022d0: SUB 000022d1: ADD 000022d2: SWAP1 000022d3: LOG2 000022d4: POP 000022d5: POP 000022d6: POP 000022d7: POP 000022d8: POP 000022d9: JUMP 000022da: JUMPDEST 000022db: PUSH1 0x02 000022dd: SLOAD 000022de: DUP2 000022df: JUMP 000022e0: JUMPDEST 000022e1: PUSH1 0x00 000022e3: DUP1 000022e4: DUP3 000022e5: GT 000022e6: ISZERO 000022e7: PUSH2 0x230d 000022ea: JUMPI 000022eb: PUSH2 0x2306 000022ee: PUSH8 0x0de0b6b3a7640000 000022f7: PUSH2 0x0e3a 000022fa: DUP6 000022fb: DUP6 000022fc: PUSH4 0xffffffff 00002301: PUSH2 0x2800 00002304: AND 00002305: JUMP 00002306: JUMPDEST 00002307: SWAP1 00002308: POP 00002309: PUSH2 0x1b3c 0000230c: JUMP 0000230d: JUMPDEST 0000230e: PUSH1 0x11 00002310: SLOAD 00002311: PUSH2 0x0f42 00002314: SWAP1 00002315: PUSH8 0x0de0b6b3a7640000 0000231e: SWAP1 0000231f: PUSH2 0x0e3a 00002322: SWAP1 00002323: DUP7 00002324: SWAP1 00002325: PUSH4 0xffffffff 0000232a: PUSH2 0x2800 0000232d: AND 0000232e: JUMP 0000232f: JUMPDEST 00002330: PUSH1 0x00 00002332: DUP3 00002333: DUP2 00002334: MSTORE 00002335: PUSH1 0x07 00002337: PUSH1 0x20 00002339: MSTORE 0000233a: PUSH1 0x40 0000233c: DUP2 0000233d: KECCAK256 0000233e: PUSH1 0x05 00002340: DUP2 00002341: ADD 00002342: SLOAD 00002343: DUP2 00002344: SLOAD 00002345: PUSH1 0x01 00002347: SWAP1 00002348: SWAP3 00002349: ADD 0000234a: SLOAD 0000234b: PUSH2 0x0f42 0000234e: SWAP3 0000234f: PUSH2 0x1a30 00002352: SWAP2 00002353: DUP7 00002354: PUSH2 0x2038 00002357: JUMP 00002358: JUMPDEST 00002359: PUSH1 0x20 0000235b: ADD 0000235c: MLOAD 0000235d: SWAP1 0000235e: JUMP 0000235f: JUMPDEST 00002360: PUSH1 0x15 00002362: SLOAD 00002363: PUSH1 0xff 00002365: AND 00002366: DUP2 00002367: JUMP 00002368: JUMPDEST 00002369: PUSH1 0x07 0000236b: PUSH1 0x20 0000236d: MSTORE 0000236e: DUP1 0000236f: PUSH1 0x00 00002371: MSTORE 00002372: PUSH1 0x40 00002374: PUSH1 0x00 00002376: KECCAK256 00002377: PUSH1 0x00 00002379: SWAP2 0000237a: POP 0000237b: SWAP1 0000237c: POP 0000237d: DUP1 0000237e: PUSH1 0x00 00002380: ADD 00002381: SLOAD 00002382: SWAP1 00002383: DUP1 00002384: PUSH1 0x01 00002386: ADD 00002387: SLOAD 00002388: SWAP1 00002389: DUP1 0000238a: PUSH1 0x02 0000238c: ADD 0000238d: SLOAD 0000238e: SWAP1 0000238f: DUP1 00002390: PUSH1 0x03 00002392: ADD 00002393: SLOAD 00002394: SWAP1 00002395: DUP1 00002396: PUSH1 0x04 00002398: ADD 00002399: SLOAD 0000239a: SWAP1 0000239b: DUP1 0000239c: PUSH1 0x05 0000239e: ADD 0000239f: SLOAD 000023a0: SWAP1 000023a1: DUP1 000023a2: PUSH1 0x06 000023a4: ADD 000023a5: SLOAD 000023a6: SWAP1 000023a7: DUP1 000023a8: PUSH1 0x07 000023aa: ADD 000023ab: SLOAD 000023ac: SWAP1 000023ad: POP 000023ae: DUP9 000023af: JUMP 000023b0: JUMPDEST 000023b1: PUSH1 0x00 000023b3: PUSH2 0x0f42 000023b6: PUSH1 0x64 000023b8: PUSH2 0x0e3a 000023bb: DUP6 000023bc: DUP6 000023bd: PUSH2 0x232f 000023c0: JUMP 000023c1: JUMPDEST 000023c2: PUSH1 0x06 000023c4: PUSH1 0x20 000023c6: MSTORE 000023c7: PUSH1 0x00 000023c9: SWAP1 000023ca: DUP2 000023cb: MSTORE 000023cc: PUSH1 0x40 000023ce: SWAP1 000023cf: KECCAK256 000023d0: DUP1 000023d1: SLOAD 000023d2: PUSH1 0x01 000023d4: DUP3 000023d5: ADD 000023d6: SLOAD 000023d7: PUSH1 0x02 000023d9: DUP4 000023da: ADD 000023db: SLOAD 000023dc: PUSH1 0x03 000023de: SWAP1 000023df: SWAP4 000023e0: ADD 000023e1: SLOAD 000023e2: PUSH1 0x01 000023e4: PUSH1 0xa0 000023e6: PUSH1 0x02 000023e8: EXP 000023e9: SUB 000023ea: SWAP1 000023eb: SWAP3 000023ec: AND 000023ed: SWAP3 000023ee: SWAP1 000023ef: SWAP2 000023f0: DUP5 000023f1: JUMP 000023f2: JUMPDEST 000023f3: PUSH1 0x15 000023f5: SLOAD 000023f6: PUSH1 0x00 000023f8: SWAP1 000023f9: DUP2 000023fa: SWAP1 000023fb: PUSH1 0xff 000023fd: AND 000023fe: ISZERO 000023ff: ISZERO 00002400: PUSH1 0x01 00002402: EQ 00002403: PUSH2 0x2458 00002406: JUMPI 00002407: PUSH1 0x40 00002409: DUP1 0000240a: MLOAD 0000240b: PUSH1 0xe5 0000240d: PUSH1 0x02 0000240f: EXP 00002410: PUSH3 0x461bcd 00002414: MUL 00002415: DUP2 00002416: MSTORE 00002417: PUSH1 0x20 00002419: PUSH1 0x04 0000241b: DUP3 0000241c: ADD 0000241d: MSTORE 0000241e: PUSH1 0x29 00002420: PUSH1 0x24 00002422: DUP3 00002423: ADD 00002424: MSTORE 00002425: PUSH1 0x00 00002427: DUP1 00002428: MLOAD 00002429: PUSH1 0x20 0000242b: PUSH2 0x35ce 0000242e: DUP4 0000242f: CODECOPY 00002430: DUP2 00002431: MLOAD 00002432: SWAP2 00002433: MSTORE 00002434: PUSH1 0x44 00002436: DUP3 00002437: ADD 00002438: MSTORE 00002439: PUSH1 0x00 0000243b: DUP1 0000243c: MLOAD 0000243d: PUSH1 0x20 0000243f: PUSH2 0x356e 00002442: DUP4 00002443: CODECOPY 00002444: DUP2 00002445: MLOAD 00002446: SWAP2 00002447: MSTORE 00002448: PUSH1 0x64 0000244a: DUP3 0000244b: ADD 0000244c: MSTORE 0000244d: SWAP1 0000244e: MLOAD 0000244f: SWAP1 00002450: DUP2 00002451: SWAP1 00002452: SUB 00002453: PUSH1 0x84 00002455: ADD 00002456: SWAP1 00002457: REVERT 00002458: JUMPDEST 00002459: CALLER 0000245a: ORIGIN 0000245b: EQ 0000245c: PUSH2 0x249d 0000245f: JUMPI 00002460: PUSH1 0x40 00002462: DUP1 00002463: MLOAD 00002464: PUSH1 0xe5 00002466: PUSH1 0x02 00002468: EXP 00002469: PUSH3 0x461bcd 0000246d: MUL 0000246e: DUP2 0000246f: MSTORE 00002470: PUSH1 0x20 00002472: PUSH1 0x04 00002474: DUP3 00002475: ADD 00002476: MSTORE 00002477: PUSH1 0x11 00002479: PUSH1 0x24 0000247b: DUP3 0000247c: ADD 0000247d: MSTORE 0000247e: PUSH1 0x00 00002480: DUP1 00002481: MLOAD 00002482: PUSH1 0x20 00002484: PUSH2 0x360e 00002487: DUP4 00002488: CODECOPY 00002489: DUP2 0000248a: MLOAD 0000248b: SWAP2 0000248c: MSTORE 0000248d: PUSH1 0x44 0000248f: DUP3 00002490: ADD 00002491: MSTORE 00002492: SWAP1 00002493: MLOAD 00002494: SWAP1 00002495: DUP2 00002496: SWAP1 00002497: SUB 00002498: PUSH1 0x64 0000249a: ADD 0000249b: SWAP1 0000249c: REVERT 0000249d: JUMPDEST 0000249e: DUP3 0000249f: PUSH4 0x3b9aca00 000024a4: DUP2 000024a5: LT 000024a6: ISZERO 000024a7: PUSH2 0x24f5 000024aa: JUMPI 000024ab: PUSH1 0x40 000024ad: DUP1 000024ae: MLOAD 000024af: PUSH1 0xe5 000024b1: PUSH1 0x02 000024b3: EXP 000024b4: PUSH3 0x461bcd 000024b8: MUL 000024b9: DUP2 000024ba: MSTORE 000024bb: PUSH1 0x20 000024bd: PUSH1 0x04 000024bf: DUP3 000024c0: ADD 000024c1: MSTORE 000024c2: PUSH1 0x21 000024c4: PUSH1 0x24 000024c6: DUP3 000024c7: ADD 000024c8: MSTORE 000024c9: PUSH1 0x00 000024cb: DUP1 000024cc: MLOAD 000024cd: PUSH1 0x20 000024cf: PUSH2 0x35ae 000024d2: DUP4 000024d3: CODECOPY 000024d4: DUP2 000024d5: MLOAD 000024d6: SWAP2 000024d7: MSTORE 000024d8: PUSH1 0x44 000024da: DUP3 000024db: ADD 000024dc: MSTORE 000024dd: PUSH1 0xf8 000024df: PUSH1 0x02 000024e1: EXP 000024e2: PUSH1 0x79 000024e4: MUL 000024e5: PUSH1 0x64 000024e7: DUP3 000024e8: ADD 000024e9: MSTORE 000024ea: SWAP1 000024eb: MLOAD 000024ec: SWAP1 000024ed: DUP2 000024ee: SWAP1 000024ef: SUB 000024f0: PUSH1 0x84 000024f2: ADD 000024f3: SWAP1 000024f4: REVERT 000024f5: JUMPDEST 000024f6: PUSH10 0x152d02c7e14af6800000 00002501: DUP2 00002502: GT 00002503: ISZERO 00002504: PUSH2 0x2545 00002507: JUMPI 00002508: PUSH1 0x40 0000250a: DUP1 0000250b: MLOAD 0000250c: PUSH1 0xe5 0000250e: PUSH1 0x02 00002510: EXP 00002511: PUSH3 0x461bcd 00002515: MUL 00002516: DUP2 00002517: MSTORE 00002518: PUSH1 0x20 0000251a: PUSH1 0x04 0000251c: DUP3 0000251d: ADD 0000251e: MSTORE 0000251f: PUSH1 0x0e 00002521: PUSH1 0x24 00002523: DUP3 00002524: ADD 00002525: MSTORE 00002526: PUSH1 0x00 00002528: DUP1 00002529: MLOAD 0000252a: PUSH1 0x20 0000252c: PUSH2 0x35ee 0000252f: DUP4 00002530: CODECOPY 00002531: DUP2 00002532: MLOAD 00002533: SWAP2 00002534: MSTORE 00002535: PUSH1 0x44 00002537: DUP3 00002538: ADD 00002539: MSTORE 0000253a: SWAP1 0000253b: MLOAD 0000253c: SWAP1 0000253d: DUP2 0000253e: SWAP1 0000253f: SUB 00002540: PUSH1 0x64 00002542: ADD 00002543: SWAP1 00002544: REVERT 00002545: JUMPDEST 00002546: PUSH2 0x254f 00002549: PUSH1 0x00 0000254b: PUSH2 0x0958 0000254e: JUMP 0000254f: JUMPDEST 00002550: CALLER 00002551: PUSH1 0x00 00002553: SWAP1 00002554: DUP2 00002555: MSTORE 00002556: PUSH1 0x04 00002558: PUSH1 0x20 0000255a: MSTORE 0000255b: PUSH1 0x40 0000255d: SWAP1 0000255e: KECCAK256 0000255f: SLOAD 00002560: SWAP3 00002561: POP 00002562: DUP3 00002563: ISZERO 00002564: ISZERO 00002565: PUSH2 0x25a6 00002568: JUMPI 00002569: PUSH1 0x40 0000256b: DUP1 0000256c: MLOAD 0000256d: PUSH1 0xe5 0000256f: PUSH1 0x02 00002571: EXP 00002572: PUSH3 0x461bcd 00002576: MUL 00002577: DUP2 00002578: MSTORE 00002579: PUSH1 0x20 0000257b: PUSH1 0x04 0000257d: DUP3 0000257e: ADD 0000257f: MSTORE 00002580: PUSH1 0x0d 00002582: PUSH1 0x24 00002584: DUP3 00002585: ADD 00002586: MSTORE 00002587: PUSH1 0x00 00002589: DUP1 0000258a: MLOAD 0000258b: PUSH1 0x20 0000258d: PUSH2 0x358e 00002590: DUP4 00002591: CODECOPY 00002592: DUP2 00002593: MLOAD 00002594: SWAP2 00002595: MSTORE 00002596: PUSH1 0x44 00002598: DUP3 00002599: ADD 0000259a: MSTORE 0000259b: SWAP1 0000259c: MLOAD 0000259d: SWAP1 0000259e: DUP2 0000259f: SWAP1 000025a0: SUB 000025a1: PUSH1 0x64 000025a3: ADD 000025a4: SWAP1 000025a5: REVERT 000025a6: JUMPDEST 000025a7: PUSH1 0x00 000025a9: DUP4 000025aa: DUP2 000025ab: MSTORE 000025ac: PUSH1 0x06 000025ae: PUSH1 0x20 000025b0: MSTORE 000025b1: PUSH1 0x40 000025b3: SWAP1 000025b4: KECCAK256 000025b5: PUSH1 0x02 000025b7: ADD 000025b8: SLOAD 000025b9: SWAP2 000025ba: POP 000025bb: DUP2 000025bc: ISZERO 000025bd: ISZERO 000025be: PUSH2 0x2611 000025c1: JUMPI 000025c2: PUSH1 0x40 000025c4: DUP1 000025c5: MLOAD 000025c6: PUSH1 0xe5 000025c8: PUSH1 0x02 000025ca: EXP 000025cb: PUSH3 0x461bcd 000025cf: MUL 000025d0: DUP2 000025d1: MSTORE 000025d2: PUSH1 0x20 000025d4: PUSH1 0x04 000025d6: DUP3 000025d7: ADD 000025d8: MSTORE 000025d9: PUSH1 0x11 000025db: PUSH1 0x24 000025dd: DUP3 000025de: ADD 000025df: MSTORE 000025e0: PUSH32 0x6572726f722c206e656564206166664944000000000000000000000000000000 00002601: PUSH1 0x44 00002603: DUP3 00002604: ADD 00002605: MSTORE 00002606: SWAP1 00002607: MLOAD 00002608: SWAP1 00002609: DUP2 0000260a: SWAP1 0000260b: SUB 0000260c: PUSH1 0x64 0000260e: ADD 0000260f: SWAP1 00002610: REVERT 00002611: JUMPDEST 00002612: PUSH2 0x261b 00002615: DUP4 00002616: DUP6 00002617: PUSH2 0x347b 0000261a: JUMP 0000261b: JUMPDEST 0000261c: PUSH2 0x2628 0000261f: DUP4 00002620: DUP4 00002621: DUP7 00002622: PUSH1 0x00 00002624: PUSH2 0x2840 00002627: JUMP 00002628: JUMPDEST 00002629: PUSH1 0x40 0000262b: DUP1 0000262c: MLOAD 0000262d: DUP6 0000262e: DUP2 0000262f: MSTORE 00002630: TIMESTAMP 00002631: PUSH1 0x20 00002633: DUP3 00002634: ADD 00002635: MSTORE 00002636: DUP2 00002637: MLOAD 00002638: DUP6 00002639: SWAP3 0000263a: PUSH32 0x96ad13f6e4fc98a529562e3ed06929dbebda1a7a2208473422df505f0d55d5f8 0000265b: SWAP3 0000265c: DUP3 0000265d: SWAP1 0000265e: SUB 0000265f: ADD 00002660: SWAP1 00002661: LOG2 00002662: POP 00002663: POP 00002664: POP 00002665: POP 00002666: JUMP 00002667: JUMPDEST 00002668: PUSH1 0x01 0000266a: SLOAD 0000266b: DUP2 0000266c: JUMP 0000266d: JUMPDEST 0000266e: PUSH1 0x00 00002670: SLOAD 00002671: PUSH1 0x01 00002673: PUSH1 0xa0 00002675: PUSH1 0x02 00002677: EXP 00002678: SUB 00002679: AND 0000267a: CALLER 0000267b: EQ 0000267c: PUSH2 0x26cf 0000267f: JUMPI 00002680: PUSH1 0x40 00002682: DUP1 00002683: MLOAD 00002684: PUSH1 0xe5 00002686: PUSH1 0x02 00002688: EXP 00002689: PUSH3 0x461bcd 0000268d: MUL 0000268e: DUP2 0000268f: MSTORE 00002690: PUSH1 0x20 00002692: PUSH1 0x04 00002694: DUP3 00002695: ADD 00002696: MSTORE 00002697: PUSH1 0x09 00002699: PUSH1 0x24 0000269b: DUP3 0000269c: ADD 0000269d: MSTORE 0000269e: PUSH32 0x6e6f742061646d696e0000000000000000000000000000000000000000000000 000026bf: PUSH1 0x44 000026c1: DUP3 000026c2: ADD 000026c3: MSTORE 000026c4: SWAP1 000026c5: MLOAD 000026c6: SWAP1 000026c7: DUP2 000026c8: SWAP1 000026c9: SUB 000026ca: PUSH1 0x64 000026cc: ADD 000026cd: SWAP1 000026ce: REVERT 000026cf: JUMPDEST 000026d0: PUSH1 0x15 000026d2: SLOAD 000026d3: PUSH1 0xff 000026d5: AND 000026d6: ISZERO 000026d7: PUSH2 0x26df 000026da: JUMPI 000026db: PUSH2 0x26ed 000026de: JUMP 000026df: JUMPDEST 000026e0: PUSH1 0x15 000026e2: DUP1 000026e3: SLOAD 000026e4: PUSH1 0xff 000026e6: NOT 000026e7: AND 000026e8: PUSH1 0x01 000026ea: OR 000026eb: SWAP1 000026ec: SSTORE 000026ed: JUMPDEST 000026ee: JUMP 000026ef: JUMPDEST 000026f0: PUSH1 0x00 000026f2: DUP1 000026f3: DUP4 000026f4: DUP4 000026f5: GT 000026f6: ISZERO 000026f7: PUSH2 0x26ff 000026fa: JUMPI 000026fb: PUSH1 0x00 000026fd: DUP1 000026fe: REVERT 000026ff: JUMPDEST 00002700: POP 00002701: POP 00002702: DUP1 00002703: DUP3 00002704: SUB 00002705: DUP1 00002706: JUMPDEST 00002707: POP 00002708: SWAP3 00002709: SWAP2 0000270a: POP 0000270b: POP 0000270c: JUMP 0000270d: JUMPDEST 0000270e: PUSH1 0x00 00002710: DUP1 00002711: DUP1 00002712: DUP4 00002713: GT 00002714: PUSH2 0x271c 00002717: JUMPI 00002718: PUSH1 0x00 0000271a: DUP1 0000271b: REVERT 0000271c: JUMPDEST 0000271d: DUP3 0000271e: DUP5 0000271f: DUP2 00002720: ISZERO 00002721: ISZERO 00002722: PUSH2 0x2727 00002725: JUMPI 00002726: INVALID 00002727: JUMPDEST 00002728: DIV 00002729: SWAP5 0000272a: SWAP4 0000272b: POP 0000272c: POP 0000272d: POP 0000272e: POP 0000272f: JUMP 00002730: JUMPDEST 00002731: PUSH1 0x00 00002733: DUP1 00002734: DUP1 00002735: DUP1 00002736: DUP7 00002737: GT 00002738: PUSH2 0x278b 0000273b: JUMPI 0000273c: PUSH1 0x40 0000273e: DUP1 0000273f: MLOAD 00002740: PUSH1 0xe5 00002742: PUSH1 0x02 00002744: EXP 00002745: PUSH3 0x461bcd 00002749: MUL 0000274a: DUP2 0000274b: MSTORE 0000274c: PUSH1 0x20 0000274e: PUSH1 0x04 00002750: DUP3 00002751: ADD 00002752: MSTORE 00002753: PUSH1 0x09 00002755: PUSH1 0x24 00002757: DUP3 00002758: ADD 00002759: MSTORE 0000275a: PUSH32 0x726e64206572726f720000000000000000000000000000000000000000000000 0000277b: PUSH1 0x44 0000277d: DUP3 0000277e: ADD 0000277f: MSTORE 00002780: SWAP1 00002781: MLOAD 00002782: SWAP1 00002783: DUP2 00002784: SWAP1 00002785: SUB 00002786: PUSH1 0x64 00002788: ADD 00002789: SWAP1 0000278a: REVERT 0000278b: JUMPDEST 0000278c: POP 0000278d: POP 0000278e: PUSH1 0x11 00002790: SLOAD 00002791: PUSH1 0x14 00002793: SLOAD 00002794: SWAP1 00002795: SWAP2 00002796: POP 00002797: PUSH1 0x00 00002799: JUMPDEST 0000279a: DUP6 0000279b: DUP2 0000279c: LT 0000279d: ISZERO 0000279e: PUSH2 0x27f7 000027a1: JUMPI 000027a2: PUSH2 0x27ac 000027a5: DUP6 000027a6: DUP6 000027a7: DUP6 000027a8: PUSH2 0x2038 000027ab: JUMP 000027ac: JUMPDEST 000027ad: SWAP2 000027ae: POP 000027af: PUSH2 0x27ed 000027b2: PUSH8 0x0de0b6b3a7640000 000027bb: PUSH2 0x0e3a 000027be: PUSH2 0x27e0 000027c1: PUSH2 0x27cb 000027c4: DUP10 000027c5: DUP10 000027c6: DUP10 000027c7: PUSH2 0x1a61 000027ca: JUMP 000027cb: JUMPDEST 000027cc: PUSH8 0x0de0b6b3a7640000 000027d5: SWAP1 000027d6: PUSH4 0xffffffff 000027db: PUSH2 0x26ef 000027de: AND 000027df: JUMP 000027e0: JUMPDEST 000027e1: DUP7 000027e2: SWAP1 000027e3: PUSH4 0xffffffff 000027e8: PUSH2 0x2800 000027eb: AND 000027ec: JUMP 000027ed: JUMPDEST 000027ee: SWAP3 000027ef: POP 000027f0: PUSH1 0x01 000027f2: ADD 000027f3: PUSH2 0x2799 000027f6: JUMP 000027f7: JUMPDEST 000027f8: POP 000027f9: SWAP4 000027fa: POP 000027fb: SWAP4 000027fc: SWAP2 000027fd: POP 000027fe: POP 000027ff: JUMP 00002800: JUMPDEST 00002801: PUSH1 0x00 00002803: DUP1 00002804: DUP4 00002805: ISZERO 00002806: ISZERO 00002807: PUSH2 0x2813 0000280a: JUMPI 0000280b: PUSH1 0x00 0000280d: SWAP2 0000280e: POP 0000280f: PUSH2 0x2706 00002812: JUMP 00002813: JUMPDEST 00002814: POP 00002815: DUP3 00002816: DUP3 00002817: MUL 00002818: DUP3 00002819: DUP5 0000281a: DUP3 0000281b: DUP2 0000281c: ISZERO 0000281d: ISZERO 0000281e: PUSH2 0x2823 00002821: JUMPI 00002822: INVALID 00002823: JUMPDEST 00002824: DIV 00002825: EQ 00002826: PUSH2 0x0f42 00002829: JUMPI 0000282a: PUSH1 0x00 0000282c: DUP1 0000282d: REVERT 0000282e: JUMPDEST 0000282f: PUSH1 0x00 00002831: DUP3 00002832: DUP3 00002833: ADD 00002834: DUP4 00002835: DUP2 00002836: LT 00002837: ISZERO 00002838: PUSH2 0x0f42 0000283b: JUMPI 0000283c: PUSH1 0x00 0000283e: DUP1 0000283f: REVERT 00002840: JUMPDEST 00002841: PUSH1 0x00 00002843: DUP1 00002844: DUP4 00002845: GT 00002846: ISZERO 00002847: PUSH2 0x2878 0000284a: JUMPI 0000284b: PUSH2 0x286c 0000284e: DUP3 0000284f: PUSH2 0x2860 00002852: DUP6 00002853: PUSH2 0x0271 00002856: PUSH4 0xffffffff 0000285b: PUSH2 0x2800 0000285e: AND 0000285f: JUMP 00002860: JUMPDEST 00002861: SWAP1 00002862: PUSH4 0xffffffff 00002867: PUSH2 0x282e 0000286a: AND 0000286b: JUMP 0000286c: JUMPDEST 0000286d: SWAP2 0000286e: POP 0000286f: PUSH2 0x2878 00002872: DUP6 00002873: DUP5 00002874: PUSH2 0x2940 00002877: JUMP 00002878: JUMPDEST 00002879: PUSH2 0x2881 0000287c: DUP3 0000287d: PUSH2 0x1b1a 00002880: JUMP 00002881: JUMPDEST 00002882: SWAP1 00002883: POP 00002884: PUSH2 0x2890 00002887: DUP6 00002888: DUP4 00002889: DUP4 0000288a: PUSH1 0x00 0000288c: PUSH2 0x31ae 0000288f: JUMP 00002890: JUMPDEST 00002891: PUSH2 0x0a64 00002894: DUP6 00002895: DUP6 00002896: PUSH2 0x28ab 00002899: PUSH1 0x64 0000289b: PUSH2 0x0e3a 0000289e: DUP8 0000289f: PUSH1 0x05 000028a1: PUSH4 0xffffffff 000028a6: PUSH2 0x2800 000028a9: AND 000028aa: JUMP 000028ab: JUMPDEST 000028ac: PUSH2 0x0e5c 000028af: PUSH1 0x64 000028b1: PUSH2 0x0e3a 000028b4: DUP8 000028b5: PUSH1 0x05 000028b7: PUSH4 0xffffffff 000028bc: PUSH2 0x2800 000028bf: AND 000028c0: JUMP 000028c1: JUMPDEST 000028c2: PUSH1 0x00 000028c4: DUP3 000028c5: DUP2 000028c6: MSTORE 000028c7: PUSH1 0x06 000028c9: PUSH1 0x20 000028cb: MSTORE 000028cc: PUSH1 0x40 000028ce: SWAP1 000028cf: KECCAK256 000028d0: PUSH1 0x03 000028d2: ADD 000028d3: SLOAD 000028d4: PUSH2 0x28e3 000028d7: SWAP1 000028d8: DUP3 000028d9: PUSH4 0xffffffff 000028de: PUSH2 0x282e 000028e1: AND 000028e2: JUMP 000028e3: JUMPDEST 000028e4: PUSH1 0x00 000028e6: DUP4 000028e7: DUP2 000028e8: MSTORE 000028e9: PUSH1 0x06 000028eb: PUSH1 0x20 000028ed: SWAP1 000028ee: DUP2 000028ef: MSTORE 000028f0: PUSH1 0x40 000028f2: DUP1 000028f3: DUP4 000028f4: KECCAK256 000028f5: PUSH1 0x03 000028f7: ADD 000028f8: SWAP4 000028f9: SWAP1 000028fa: SWAP4 000028fb: SSTORE 000028fc: PUSH1 0x07 000028fe: SWAP1 000028ff: MSTORE 00002900: KECCAK256 00002901: PUSH1 0x04 00002903: ADD 00002904: SLOAD 00002905: PUSH2 0x2914 00002908: SWAP1 00002909: DUP3 0000290a: PUSH4 0xffffffff 0000290f: PUSH2 0x282e 00002912: AND 00002913: JUMP 00002914: JUMPDEST 00002915: PUSH1 0x00 00002917: DUP4 00002918: DUP2 00002919: MSTORE 0000291a: PUSH1 0x07 0000291c: PUSH1 0x20 0000291e: MSTORE 0000291f: PUSH1 0x40 00002921: SWAP1 00002922: KECCAK256 00002923: PUSH1 0x04 00002925: ADD 00002926: SSTORE 00002927: PUSH1 0x0f 00002929: SLOAD 0000292a: PUSH2 0x2939 0000292d: SWAP1 0000292e: DUP3 0000292f: PUSH4 0xffffffff 00002934: PUSH2 0x282e 00002937: AND 00002938: JUMP 00002939: JUMPDEST 0000293a: PUSH1 0x0f 0000293c: SSTORE 0000293d: POP 0000293e: POP 0000293f: JUMP 00002940: JUMPDEST 00002941: PUSH1 0x00 00002943: DUP3 00002944: DUP2 00002945: MSTORE 00002946: PUSH1 0x07 00002948: PUSH1 0x20 0000294a: MSTORE 0000294b: PUSH1 0x40 0000294d: SWAP1 0000294e: KECCAK256 0000294f: PUSH1 0x06 00002951: ADD 00002952: SLOAD 00002953: PUSH2 0x2963 00002956: SWAP1 00002957: DUP3 00002958: SWAP1 00002959: PUSH4 0xffffffff 0000295e: PUSH2 0x282e 00002961: AND 00002962: JUMP 00002963: JUMPDEST 00002964: PUSH1 0x00 00002966: DUP4 00002967: DUP2 00002968: MSTORE 00002969: PUSH1 0x07 0000296b: PUSH1 0x20 0000296d: MSTORE 0000296e: PUSH1 0x40 00002970: SWAP1 00002971: KECCAK256 00002972: PUSH1 0x06 00002974: ADD 00002975: SSTORE 00002976: PUSH2 0x297e 00002979: DUP2 0000297a: PUSH2 0x3528 0000297d: JUMP 0000297e: JUMPDEST 0000297f: PUSH1 0x0c 00002981: SLOAD 00002982: SWAP1 00002983: SWAP2 00002984: POP 00002985: PUSH2 0x2994 00002988: SWAP1 00002989: DUP3 0000298a: PUSH4 0xffffffff 0000298f: PUSH2 0x282e 00002992: AND 00002993: JUMP 00002994: JUMPDEST 00002995: PUSH1 0x0c 00002997: SSTORE 00002998: POP 00002999: POP 0000299a: JUMP 0000299b: JUMPDEST 0000299c: DUP1 0000299d: MLOAD 0000299e: PUSH1 0x00 000029a0: SWAP1 000029a1: DUP3 000029a2: SWAP1 000029a3: DUP3 000029a4: DUP1 000029a5: DUP1 000029a6: PUSH1 0x20 000029a8: DUP5 000029a9: GT 000029aa: DUP1 000029ab: ISZERO 000029ac: SWAP1 000029ad: PUSH2 0x29b6 000029b0: JUMPI 000029b1: POP 000029b2: PUSH1 0x00 000029b4: DUP5 000029b5: GT 000029b6: JUMPDEST 000029b7: ISZERO 000029b8: ISZERO 000029b9: PUSH2 0x2a32 000029bc: JUMPI 000029bd: PUSH1 0x40 000029bf: DUP1 000029c0: MLOAD 000029c1: PUSH1 0xe5 000029c3: PUSH1 0x02 000029c5: EXP 000029c6: PUSH3 0x461bcd 000029ca: MUL 000029cb: DUP2 000029cc: MSTORE 000029cd: PUSH1 0x20 000029cf: PUSH1 0x04 000029d1: DUP3 000029d2: ADD 000029d3: MSTORE 000029d4: PUSH1 0x2a 000029d6: PUSH1 0x24 000029d8: DUP3 000029d9: ADD 000029da: MSTORE 000029db: PUSH32 0x737472696e67206d757374206265206265747765656e203120616e6420333220 000029fc: PUSH1 0x44 000029fe: DUP3 000029ff: ADD 00002a00: MSTORE 00002a01: PUSH32 0x6368617261637465727300000000000000000000000000000000000000000000 00002a22: PUSH1 0x64 00002a24: DUP3 00002a25: ADD 00002a26: MSTORE 00002a27: SWAP1 00002a28: MLOAD 00002a29: SWAP1 00002a2a: DUP2 00002a2b: SWAP1 00002a2c: SUB 00002a2d: PUSH1 0x84 00002a2f: ADD 00002a30: SWAP1 00002a31: REVERT 00002a32: JUMPDEST 00002a33: DUP5 00002a34: PUSH1 0x00 00002a36: DUP2 00002a37: MLOAD 00002a38: DUP2 00002a39: LT 00002a3a: ISZERO 00002a3b: ISZERO 00002a3c: PUSH2 0x2a41 00002a3f: JUMPI 00002a40: INVALID 00002a41: JUMPDEST 00002a42: SWAP1 00002a43: PUSH1 0x20 00002a45: ADD 00002a46: ADD 00002a47: MLOAD 00002a48: PUSH1 0xf8 00002a4a: PUSH1 0x02 00002a4c: EXP 00002a4d: SWAP1 00002a4e: DIV 00002a4f: PUSH1 0xf8 00002a51: PUSH1 0x02 00002a53: EXP 00002a54: MUL 00002a55: PUSH1 0x01 00002a57: PUSH1 0xf8 00002a59: PUSH1 0x02 00002a5b: EXP 00002a5c: SUB 00002a5d: NOT 00002a5e: AND 00002a5f: PUSH1 0x20 00002a61: PUSH1 0xf8 00002a63: PUSH1 0x02 00002a65: EXP 00002a66: MUL 00002a67: EQ 00002a68: ISZERO 00002a69: DUP1 00002a6a: ISZERO 00002a6b: PUSH2 0x2aa8 00002a6e: JUMPI 00002a6f: POP 00002a70: DUP5 00002a71: PUSH1 0x01 00002a73: DUP6 00002a74: SUB 00002a75: DUP2 00002a76: MLOAD 00002a77: DUP2 00002a78: LT 00002a79: ISZERO 00002a7a: ISZERO 00002a7b: PUSH2 0x2a80 00002a7e: JUMPI 00002a7f: INVALID 00002a80: JUMPDEST 00002a81: SWAP1 00002a82: PUSH1 0x20 00002a84: ADD 00002a85: ADD 00002a86: MLOAD 00002a87: PUSH1 0xf8 00002a89: PUSH1 0x02 00002a8b: EXP 00002a8c: SWAP1 00002a8d: DIV 00002a8e: PUSH1 0xf8 00002a90: PUSH1 0x02 00002a92: EXP 00002a93: MUL 00002a94: PUSH1 0x01 00002a96: PUSH1 0xf8 00002a98: PUSH1 0x02 00002a9a: EXP 00002a9b: SUB 00002a9c: NOT 00002a9d: AND 00002a9e: PUSH1 0x20 00002aa0: PUSH1 0xf8 00002aa2: PUSH1 0x02 00002aa4: EXP 00002aa5: MUL 00002aa6: EQ 00002aa7: ISZERO 00002aa8: JUMPDEST 00002aa9: ISZERO 00002aaa: ISZERO 00002aab: PUSH2 0x2b24 00002aae: JUMPI 00002aaf: PUSH1 0x40 00002ab1: DUP1 00002ab2: MLOAD 00002ab3: PUSH1 0xe5 00002ab5: PUSH1 0x02 00002ab7: EXP 00002ab8: PUSH3 0x461bcd 00002abc: MUL 00002abd: DUP2 00002abe: MSTORE 00002abf: PUSH1 0x20 00002ac1: PUSH1 0x04 00002ac3: DUP3 00002ac4: ADD 00002ac5: MSTORE 00002ac6: PUSH1 0x25 00002ac8: PUSH1 0x24 00002aca: DUP3 00002acb: ADD 00002acc: MSTORE 00002acd: PUSH32 0x737472696e672063616e6e6f74207374617274206f7220656e64207769746820 00002aee: PUSH1 0x44 00002af0: DUP3 00002af1: ADD 00002af2: MSTORE 00002af3: PUSH32 0x7370616365000000000000000000000000000000000000000000000000000000 00002b14: PUSH1 0x64 00002b16: DUP3 00002b17: ADD 00002b18: MSTORE 00002b19: SWAP1 00002b1a: MLOAD 00002b1b: SWAP1 00002b1c: DUP2 00002b1d: SWAP1 00002b1e: SUB 00002b1f: PUSH1 0x84 00002b21: ADD 00002b22: SWAP1 00002b23: REVERT 00002b24: JUMPDEST 00002b25: DUP5 00002b26: PUSH1 0x00 00002b28: DUP2 00002b29: MLOAD 00002b2a: DUP2 00002b2b: LT 00002b2c: ISZERO 00002b2d: ISZERO 00002b2e: PUSH2 0x2b33 00002b31: JUMPI 00002b32: INVALID 00002b33: JUMPDEST 00002b34: SWAP1 00002b35: PUSH1 0x20 00002b37: ADD 00002b38: ADD 00002b39: MLOAD 00002b3a: PUSH1 0xf8 00002b3c: PUSH1 0x02 00002b3e: EXP 00002b3f: SWAP1 00002b40: DIV 00002b41: PUSH1 0xf8 00002b43: PUSH1 0x02 00002b45: EXP 00002b46: MUL 00002b47: PUSH1 0x01 00002b49: PUSH1 0xf8 00002b4b: PUSH1 0x02 00002b4d: EXP 00002b4e: SUB 00002b4f: NOT 00002b50: AND 00002b51: PUSH1 0x30 00002b53: PUSH1 0xf8 00002b55: PUSH1 0x02 00002b57: EXP 00002b58: MUL 00002b59: EQ 00002b5a: ISZERO 00002b5b: PUSH2 0x2c76 00002b5e: JUMPI 00002b5f: DUP5 00002b60: PUSH1 0x01 00002b62: DUP2 00002b63: MLOAD 00002b64: DUP2 00002b65: LT 00002b66: ISZERO 00002b67: ISZERO 00002b68: PUSH2 0x2b6d 00002b6b: JUMPI 00002b6c: INVALID 00002b6d: JUMPDEST 00002b6e: SWAP1 00002b6f: PUSH1 0x20 00002b71: ADD 00002b72: ADD 00002b73: MLOAD 00002b74: PUSH1 0xf8 00002b76: PUSH1 0x02 00002b78: EXP 00002b79: SWAP1 00002b7a: DIV 00002b7b: PUSH1 0xf8 00002b7d: PUSH1 0x02 00002b7f: EXP 00002b80: MUL 00002b81: PUSH1 0x01 00002b83: PUSH1 0xf8 00002b85: PUSH1 0x02 00002b87: EXP 00002b88: SUB 00002b89: NOT 00002b8a: AND 00002b8b: PUSH1 0x78 00002b8d: PUSH1 0xf8 00002b8f: PUSH1 0x02 00002b91: EXP 00002b92: MUL 00002b93: EQ 00002b94: ISZERO 00002b95: ISZERO 00002b96: ISZERO 00002b97: PUSH2 0x2bea 00002b9a: JUMPI 00002b9b: PUSH1 0x40 00002b9d: DUP1 00002b9e: MLOAD 00002b9f: PUSH1 0xe5 00002ba1: PUSH1 0x02 00002ba3: EXP 00002ba4: PUSH3 0x461bcd 00002ba8: MUL 00002ba9: DUP2 00002baa: MSTORE 00002bab: PUSH1 0x20 00002bad: PUSH1 0x04 00002baf: DUP3 00002bb0: ADD 00002bb1: MSTORE 00002bb2: PUSH1 0x1b 00002bb4: PUSH1 0x24 00002bb6: DUP3 00002bb7: ADD 00002bb8: MSTORE 00002bb9: PUSH32 0x737472696e672063616e6e6f7420737461727420776974682030780000000000 00002bda: PUSH1 0x44 00002bdc: DUP3 00002bdd: ADD 00002bde: MSTORE 00002bdf: SWAP1 00002be0: MLOAD 00002be1: SWAP1 00002be2: DUP2 00002be3: SWAP1 00002be4: SUB 00002be5: PUSH1 0x64 00002be7: ADD 00002be8: SWAP1 00002be9: REVERT 00002bea: JUMPDEST 00002beb: DUP5 00002bec: PUSH1 0x01 00002bee: DUP2 00002bef: MLOAD 00002bf0: DUP2 00002bf1: LT 00002bf2: ISZERO 00002bf3: ISZERO 00002bf4: PUSH2 0x2bf9 00002bf7: JUMPI 00002bf8: INVALID 00002bf9: JUMPDEST 00002bfa: SWAP1 00002bfb: PUSH1 0x20 00002bfd: ADD 00002bfe: ADD 00002bff: MLOAD 00002c00: PUSH1 0xf8 00002c02: PUSH1 0x02 00002c04: EXP 00002c05: SWAP1 00002c06: DIV 00002c07: PUSH1 0xf8 00002c09: PUSH1 0x02 00002c0b: EXP 00002c0c: MUL 00002c0d: PUSH1 0x01 00002c0f: PUSH1 0xf8 00002c11: PUSH1 0x02 00002c13: EXP 00002c14: SUB 00002c15: NOT 00002c16: AND 00002c17: PUSH1 0x58 00002c19: PUSH1 0xf8 00002c1b: PUSH1 0x02 00002c1d: EXP 00002c1e: MUL 00002c1f: EQ 00002c20: ISZERO 00002c21: ISZERO 00002c22: ISZERO 00002c23: PUSH2 0x2c76 00002c26: JUMPI 00002c27: PUSH1 0x40 00002c29: DUP1 00002c2a: MLOAD 00002c2b: PUSH1 0xe5 00002c2d: PUSH1 0x02 00002c2f: EXP 00002c30: PUSH3 0x461bcd 00002c34: MUL 00002c35: DUP2 00002c36: MSTORE 00002c37: PUSH1 0x20 00002c39: PUSH1 0x04 00002c3b: DUP3 00002c3c: ADD 00002c3d: MSTORE 00002c3e: PUSH1 0x1b 00002c40: PUSH1 0x24 00002c42: DUP3 00002c43: ADD 00002c44: MSTORE 00002c45: PUSH32 0x737472696e672063616e6e6f7420737461727420776974682030580000000000 00002c66: PUSH1 0x44 00002c68: DUP3 00002c69: ADD 00002c6a: MSTORE 00002c6b: SWAP1 00002c6c: MLOAD 00002c6d: SWAP1 00002c6e: DUP2 00002c6f: SWAP1 00002c70: SUB 00002c71: PUSH1 0x64 00002c73: ADD 00002c74: SWAP1 00002c75: REVERT 00002c76: JUMPDEST 00002c77: PUSH1 0x00 00002c79: SWAP2 00002c7a: POP 00002c7b: JUMPDEST 00002c7c: DUP4 00002c7d: DUP3 00002c7e: LT 00002c7f: ISZERO 00002c80: PUSH2 0x3146 00002c83: JUMPI 00002c84: DUP5 00002c85: MLOAD 00002c86: PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000 00002ca7: SWAP1 00002ca8: DUP7 00002ca9: SWAP1 00002caa: DUP5 00002cab: SWAP1 00002cac: DUP2 00002cad: LT 00002cae: PUSH2 0x2cb3 00002cb1: JUMPI 00002cb2: INVALID 00002cb3: JUMPDEST 00002cb4: SWAP1 00002cb5: PUSH1 0x20 00002cb7: ADD 00002cb8: ADD 00002cb9: MLOAD 00002cba: PUSH1 0xf8 00002cbc: PUSH1 0x02 00002cbe: EXP 00002cbf: SWAP1 00002cc0: DIV 00002cc1: PUSH1 0xf8 00002cc3: PUSH1 0x02 00002cc5: EXP 00002cc6: MUL 00002cc7: PUSH1 0x01 00002cc9: PUSH1 0xf8 00002ccb: PUSH1 0x02 00002ccd: EXP 00002cce: SUB 00002ccf: NOT 00002cd0: AND 00002cd1: GT 00002cd2: DUP1 00002cd3: ISZERO 00002cd4: PUSH2 0x2d27 00002cd7: JUMPI 00002cd8: POP 00002cd9: DUP5 00002cda: MLOAD 00002cdb: PUSH32 0x5b00000000000000000000000000000000000000000000000000000000000000 00002cfc: SWAP1 00002cfd: DUP7 00002cfe: SWAP1 00002cff: DUP5 00002d00: SWAP1 00002d01: DUP2 00002d02: LT 00002d03: PUSH2 0x2d08 00002d06: JUMPI 00002d07: INVALID 00002d08: JUMPDEST 00002d09: SWAP1 00002d0a: PUSH1 0x20 00002d0c: ADD 00002d0d: ADD 00002d0e: MLOAD 00002d0f: PUSH1 0xf8 00002d11: PUSH1 0x02 00002d13: EXP 00002d14: SWAP1 00002d15: DIV 00002d16: PUSH1 0xf8 00002d18: PUSH1 0x02 00002d1a: EXP 00002d1b: MUL 00002d1c: PUSH1 0x01 00002d1e: PUSH1 0xf8 00002d20: PUSH1 0x02 00002d22: EXP 00002d23: SUB 00002d24: NOT 00002d25: AND 00002d26: LT 00002d27: JUMPDEST 00002d28: ISZERO 00002d29: PUSH2 0x2d94 00002d2c: JUMPI 00002d2d: DUP5 00002d2e: DUP3 00002d2f: DUP2 00002d30: MLOAD 00002d31: DUP2 00002d32: LT 00002d33: ISZERO 00002d34: ISZERO 00002d35: PUSH2 0x2d3a 00002d38: JUMPI 00002d39: INVALID 00002d3a: JUMPDEST 00002d3b: SWAP1 00002d3c: PUSH1 0x20 00002d3e: ADD 00002d3f: ADD 00002d40: MLOAD 00002d41: PUSH1 0xf8 00002d43: PUSH1 0x02 00002d45: EXP 00002d46: SWAP1 00002d47: DIV 00002d48: PUSH1 0xf8 00002d4a: PUSH1 0x02 00002d4c: EXP 00002d4d: MUL 00002d4e: PUSH1 0xf8 00002d50: PUSH1 0x02 00002d52: EXP 00002d53: SWAP1 00002d54: DIV 00002d55: PUSH1 0x20 00002d57: ADD 00002d58: PUSH1 0xf8 00002d5a: PUSH1 0x02 00002d5c: EXP 00002d5d: MUL 00002d5e: DUP6 00002d5f: DUP4 00002d60: DUP2 00002d61: MLOAD 00002d62: DUP2 00002d63: LT 00002d64: ISZERO 00002d65: ISZERO 00002d66: PUSH2 0x2d6b 00002d69: JUMPI 00002d6a: INVALID 00002d6b: JUMPDEST 00002d6c: SWAP1 00002d6d: PUSH1 0x20 00002d6f: ADD 00002d70: ADD 00002d71: SWAP1 00002d72: PUSH1 0x01 00002d74: PUSH1 0xf8 00002d76: PUSH1 0x02 00002d78: EXP 00002d79: SUB 00002d7a: NOT 00002d7b: AND 00002d7c: SWAP1 00002d7d: DUP2 00002d7e: PUSH1 0x00 00002d80: BYTE 00002d81: SWAP1 00002d82: MSTORE8 00002d83: POP 00002d84: DUP3 00002d85: ISZERO 00002d86: ISZERO 00002d87: PUSH2 0x2d8f 00002d8a: JUMPI 00002d8b: PUSH1 0x01 00002d8d: SWAP3 00002d8e: POP 00002d8f: JUMPDEST 00002d90: PUSH2 0x313b 00002d93: JUMP 00002d94: JUMPDEST 00002d95: DUP5 00002d96: DUP3 00002d97: DUP2 00002d98: MLOAD 00002d99: DUP2 00002d9a: LT 00002d9b: ISZERO 00002d9c: ISZERO 00002d9d: PUSH2 0x2da2 00002da0: JUMPI 00002da1: INVALID 00002da2: JUMPDEST 00002da3: SWAP1 00002da4: PUSH1 0x20 00002da6: ADD 00002da7: ADD 00002da8: MLOAD 00002da9: PUSH1 0xf8 00002dab: PUSH1 0x02 00002dad: EXP 00002dae: SWAP1 00002daf: DIV 00002db0: PUSH1 0xf8 00002db2: PUSH1 0x02 00002db4: EXP 00002db5: MUL 00002db6: PUSH1 0x01 00002db8: PUSH1 0xf8 00002dba: PUSH1 0x02 00002dbc: EXP 00002dbd: SUB 00002dbe: NOT 00002dbf: AND 00002dc0: PUSH1 0x20 00002dc2: PUSH1 0xf8 00002dc4: PUSH1 0x02 00002dc6: EXP 00002dc7: MUL 00002dc8: EQ 00002dc9: DUP1 00002dca: PUSH2 0x2e72 00002dcd: JUMPI 00002dce: POP 00002dcf: DUP5 00002dd0: MLOAD 00002dd1: PUSH32 0x6000000000000000000000000000000000000000000000000000000000000000 00002df2: SWAP1 00002df3: DUP7 00002df4: SWAP1 00002df5: DUP5 00002df6: SWAP1 00002df7: DUP2 00002df8: LT 00002df9: PUSH2 0x2dfe 00002dfc: JUMPI 00002dfd: INVALID 00002dfe: JUMPDEST 00002dff: SWAP1 00002e00: PUSH1 0x20 00002e02: ADD 00002e03: ADD 00002e04: MLOAD 00002e05: PUSH1 0xf8 00002e07: PUSH1 0x02 00002e09: EXP 00002e0a: SWAP1 00002e0b: DIV 00002e0c: PUSH1 0xf8 00002e0e: PUSH1 0x02 00002e10: EXP 00002e11: MUL 00002e12: PUSH1 0x01 00002e14: PUSH1 0xf8 00002e16: PUSH1 0x02 00002e18: EXP 00002e19: SUB 00002e1a: NOT 00002e1b: AND 00002e1c: GT 00002e1d: DUP1 00002e1e: ISZERO 00002e1f: PUSH2 0x2e72 00002e22: JUMPI 00002e23: POP 00002e24: DUP5 00002e25: MLOAD 00002e26: PUSH32 0x7b00000000000000000000000000000000000000000000000000000000000000 00002e47: SWAP1 00002e48: DUP7 00002e49: SWAP1 00002e4a: DUP5 00002e4b: SWAP1 00002e4c: DUP2 00002e4d: LT 00002e4e: PUSH2 0x2e53 00002e51: JUMPI 00002e52: INVALID 00002e53: JUMPDEST 00002e54: SWAP1 00002e55: PUSH1 0x20 00002e57: ADD 00002e58: ADD 00002e59: MLOAD 00002e5a: PUSH1 0xf8 00002e5c: PUSH1 0x02 00002e5e: EXP 00002e5f: SWAP1 00002e60: DIV 00002e61: PUSH1 0xf8 00002e63: PUSH1 0x02 00002e65: EXP 00002e66: MUL 00002e67: PUSH1 0x01 00002e69: PUSH1 0xf8 00002e6b: PUSH1 0x02 00002e6d: EXP 00002e6e: SUB 00002e6f: NOT 00002e70: AND 00002e71: LT 00002e72: JUMPDEST 00002e73: DUP1 00002e74: PUSH2 0x2f1c 00002e77: JUMPI 00002e78: POP 00002e79: DUP5 00002e7a: MLOAD 00002e7b: PUSH32 0x2f00000000000000000000000000000000000000000000000000000000000000 00002e9c: SWAP1 00002e9d: DUP7 00002e9e: SWAP1 00002e9f: DUP5 00002ea0: SWAP1 00002ea1: DUP2 00002ea2: LT 00002ea3: PUSH2 0x2ea8 00002ea6: JUMPI 00002ea7: INVALID 00002ea8: JUMPDEST 00002ea9: SWAP1 00002eaa: PUSH1 0x20 00002eac: ADD 00002ead: ADD 00002eae: MLOAD 00002eaf: PUSH1 0xf8 00002eb1: PUSH1 0x02 00002eb3: EXP 00002eb4: SWAP1 00002eb5: DIV 00002eb6: PUSH1 0xf8 00002eb8: PUSH1 0x02 00002eba: EXP 00002ebb: MUL 00002ebc: PUSH1 0x01 00002ebe: PUSH1 0xf8 00002ec0: PUSH1 0x02 00002ec2: EXP 00002ec3: SUB 00002ec4: NOT 00002ec5: AND 00002ec6: GT 00002ec7: DUP1 00002ec8: ISZERO 00002ec9: PUSH2 0x2f1c 00002ecc: JUMPI 00002ecd: POP 00002ece: DUP5 00002ecf: MLOAD 00002ed0: PUSH32 0x3a00000000000000000000000000000000000000000000000000000000000000 00002ef1: SWAP1 00002ef2: DUP7 00002ef3: SWAP1 00002ef4: DUP5 00002ef5: SWAP1 00002ef6: DUP2 00002ef7: LT 00002ef8: PUSH2 0x2efd 00002efb: JUMPI 00002efc: INVALID 00002efd: JUMPDEST 00002efe: SWAP1 00002eff: PUSH1 0x20 00002f01: ADD 00002f02: ADD 00002f03: MLOAD 00002f04: PUSH1 0xf8 00002f06: PUSH1 0x02 00002f08: EXP 00002f09: SWAP1 00002f0a: DIV 00002f0b: PUSH1 0xf8 00002f0d: PUSH1 0x02 00002f0f: EXP 00002f10: MUL 00002f11: PUSH1 0x01 00002f13: PUSH1 0xf8 00002f15: PUSH1 0x02 00002f17: EXP 00002f18: SUB 00002f19: NOT 00002f1a: AND 00002f1b: LT 00002f1c: JUMPDEST 00002f1d: ISZERO 00002f1e: ISZERO 00002f1f: PUSH2 0x2f98 00002f22: JUMPI 00002f23: PUSH1 0x40 00002f25: DUP1 00002f26: MLOAD 00002f27: PUSH1 0xe5 00002f29: PUSH1 0x02 00002f2b: EXP 00002f2c: PUSH3 0x461bcd 00002f30: MUL 00002f31: DUP2 00002f32: MSTORE 00002f33: PUSH1 0x20 00002f35: PUSH1 0x04 00002f37: DUP3 00002f38: ADD 00002f39: MSTORE 00002f3a: PUSH1 0x22 00002f3c: PUSH1 0x24 00002f3e: DUP3 00002f3f: ADD 00002f40: MSTORE 00002f41: PUSH32 0x737472696e6720636f6e7461696e7320696e76616c6964206368617261637465 00002f62: PUSH1 0x44 00002f64: DUP3 00002f65: ADD 00002f66: MSTORE 00002f67: PUSH32 0x7273000000000000000000000000000000000000000000000000000000000000 00002f88: PUSH1 0x64 00002f8a: DUP3 00002f8b: ADD 00002f8c: MSTORE 00002f8d: SWAP1 00002f8e: MLOAD 00002f8f: SWAP1 00002f90: DUP2 00002f91: SWAP1 00002f92: SUB 00002f93: PUSH1 0x84 00002f95: ADD 00002f96: SWAP1 00002f97: REVERT 00002f98: JUMPDEST 00002f99: DUP5 00002f9a: DUP3 00002f9b: DUP2 00002f9c: MLOAD 00002f9d: DUP2 00002f9e: LT 00002f9f: ISZERO 00002fa0: ISZERO 00002fa1: PUSH2 0x2fa6 00002fa4: JUMPI 00002fa5: INVALID 00002fa6: JUMPDEST 00002fa7: SWAP1 00002fa8: PUSH1 0x20 00002faa: ADD 00002fab: ADD 00002fac: MLOAD 00002fad: PUSH1 0xf8 00002faf: PUSH1 0x02 00002fb1: EXP 00002fb2: SWAP1 00002fb3: DIV 00002fb4: PUSH1 0xf8 00002fb6: PUSH1 0x02 00002fb8: EXP 00002fb9: MUL 00002fba: PUSH1 0x01 00002fbc: PUSH1 0xf8 00002fbe: PUSH1 0x02 00002fc0: EXP 00002fc1: SUB 00002fc2: NOT 00002fc3: AND 00002fc4: PUSH1 0x20 00002fc6: PUSH1 0xf8 00002fc8: PUSH1 0x02 00002fca: EXP 00002fcb: MUL 00002fcc: EQ 00002fcd: ISZERO 00002fce: PUSH2 0x3085 00002fd1: JUMPI 00002fd2: DUP5 00002fd3: DUP3 00002fd4: PUSH1 0x01 00002fd6: ADD 00002fd7: DUP2 00002fd8: MLOAD 00002fd9: DUP2 00002fda: LT 00002fdb: ISZERO 00002fdc: ISZERO 00002fdd: PUSH2 0x2fe2 00002fe0: JUMPI 00002fe1: INVALID 00002fe2: JUMPDEST 00002fe3: SWAP1 00002fe4: PUSH1 0x20 00002fe6: ADD 00002fe7: ADD 00002fe8: MLOAD 00002fe9: PUSH1 0xf8 00002feb: PUSH1 0x02 00002fed: EXP 00002fee: SWAP1 00002fef: DIV 00002ff0: PUSH1 0xf8 00002ff2: PUSH1 0x02 00002ff4: EXP 00002ff5: MUL 00002ff6: PUSH1 0x01 00002ff8: PUSH1 0xf8 00002ffa: PUSH1 0x02 00002ffc: EXP 00002ffd: SUB 00002ffe: NOT 00002fff: AND 00003000: PUSH1 0x20 00003002: PUSH1 0xf8 00003004: PUSH1 0x02 00003006: EXP 00003007: MUL 00003008: EQ 00003009: ISZERO 0000300a: ISZERO 0000300b: ISZERO 0000300c: PUSH2 0x3085 0000300f: JUMPI 00003010: PUSH1 0x40 00003012: DUP1 00003013: MLOAD 00003014: PUSH1 0xe5 00003016: PUSH1 0x02 00003018: EXP 00003019: PUSH3 0x461bcd 0000301d: MUL 0000301e: DUP2 0000301f: MSTORE 00003020: PUSH1 0x20 00003022: PUSH1 0x04 00003024: DUP3 00003025: ADD 00003026: MSTORE 00003027: PUSH1 0x28 00003029: PUSH1 0x24 0000302b: DUP3 0000302c: ADD 0000302d: MSTORE 0000302e: PUSH32 0x737472696e672063616e6e6f7420636f6e7461696e20636f6e73656375746976 0000304f: PUSH1 0x44 00003051: DUP3 00003052: ADD 00003053: MSTORE 00003054: PUSH32 0x6520737061636573000000000000000000000000000000000000000000000000 00003075: PUSH1 0x64 00003077: DUP3 00003078: ADD 00003079: MSTORE 0000307a: SWAP1 0000307b: MLOAD 0000307c: SWAP1 0000307d: DUP2 0000307e: SWAP1 0000307f: SUB 00003080: PUSH1 0x84 00003082: ADD 00003083: SWAP1 00003084: REVERT 00003085: JUMPDEST 00003086: DUP3 00003087: ISZERO 00003088: DUP1 00003089: ISZERO 0000308a: PUSH2 0x3131 0000308d: JUMPI 0000308e: POP 0000308f: DUP5 00003090: MLOAD 00003091: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 000030b2: SWAP1 000030b3: DUP7 000030b4: SWAP1 000030b5: DUP5 000030b6: SWAP1 000030b7: DUP2 000030b8: LT 000030b9: PUSH2 0x30be 000030bc: JUMPI 000030bd: INVALID 000030be: JUMPDEST 000030bf: SWAP1 000030c0: PUSH1 0x20 000030c2: ADD 000030c3: ADD 000030c4: MLOAD 000030c5: PUSH1 0xf8 000030c7: PUSH1 0x02 000030c9: EXP 000030ca: SWAP1 000030cb: DIV 000030cc: PUSH1 0xf8 000030ce: PUSH1 0x02 000030d0: EXP 000030d1: MUL 000030d2: PUSH1 0x01 000030d4: PUSH1 0xf8 000030d6: PUSH1 0x02 000030d8: EXP 000030d9: SUB 000030da: NOT 000030db: AND 000030dc: LT 000030dd: DUP1 000030de: PUSH2 0x3131 000030e1: JUMPI 000030e2: POP 000030e3: DUP5 000030e4: MLOAD 000030e5: PUSH32 0x3900000000000000000000000000000000000000000000000000000000000000 00003106: SWAP1 00003107: DUP7 00003108: SWAP1 00003109: DUP5 0000310a: SWAP1 0000310b: DUP2 0000310c: LT 0000310d: PUSH2 0x3112 00003110: JUMPI 00003111: INVALID 00003112: JUMPDEST 00003113: SWAP1 00003114: PUSH1 0x20 00003116: ADD 00003117: ADD 00003118: MLOAD 00003119: PUSH1 0xf8 0000311b: PUSH1 0x02 0000311d: EXP 0000311e: SWAP1 0000311f: DIV 00003120: PUSH1 0xf8 00003122: PUSH1 0x02 00003124: EXP 00003125: MUL 00003126: PUSH1 0x01 00003128: PUSH1 0xf8 0000312a: PUSH1 0x02 0000312c: EXP 0000312d: SUB 0000312e: NOT 0000312f: AND 00003130: GT 00003131: JUMPDEST 00003132: ISZERO 00003133: PUSH2 0x313b 00003136: JUMPI 00003137: PUSH1 0x01 00003139: SWAP3 0000313a: POP 0000313b: JUMPDEST 0000313c: PUSH1 0x01 0000313e: SWAP1 0000313f: SWAP2 00003140: ADD 00003141: SWAP1 00003142: PUSH2 0x2c7b 00003145: JUMP 00003146: JUMPDEST 00003147: PUSH1 0x01 00003149: DUP4 0000314a: ISZERO 0000314b: ISZERO 0000314c: EQ 0000314d: PUSH2 0x31a0 00003150: JUMPI 00003151: PUSH1 0x40 00003153: DUP1 00003154: MLOAD 00003155: PUSH1 0xe5 00003157: PUSH1 0x02 00003159: EXP 0000315a: PUSH3 0x461bcd 0000315e: MUL 0000315f: DUP2 00003160: MSTORE 00003161: PUSH1 0x20 00003163: PUSH1 0x04 00003165: DUP3 00003166: ADD 00003167: MSTORE 00003168: PUSH1 0x1d 0000316a: PUSH1 0x24 0000316c: DUP3 0000316d: ADD 0000316e: MSTORE 0000316f: PUSH32 0x737472696e672063616e6e6f74206265206f6e6c79206e756d62657273000000 00003190: PUSH1 0x44 00003192: DUP3 00003193: ADD 00003194: MSTORE 00003195: SWAP1 00003196: MLOAD 00003197: SWAP1 00003198: DUP2 00003199: SWAP1 0000319a: SUB 0000319b: PUSH1 0x64 0000319d: ADD 0000319e: SWAP1 0000319f: REVERT 000031a0: JUMPDEST 000031a1: POP 000031a2: POP 000031a3: POP 000031a4: POP 000031a5: PUSH1 0x20 000031a7: ADD 000031a8: MLOAD 000031a9: SWAP3 000031aa: SWAP2 000031ab: POP 000031ac: POP 000031ad: JUMP 000031ae: JUMPDEST 000031af: PUSH1 0x00 000031b1: DUP5 000031b2: DUP2 000031b3: MSTORE 000031b4: PUSH1 0x07 000031b6: PUSH1 0x20 000031b8: MSTORE 000031b9: PUSH1 0x40 000031bb: SWAP1 000031bc: KECCAK256 000031bd: SLOAD 000031be: PUSH2 0x31cd 000031c1: SWAP1 000031c2: DUP5 000031c3: PUSH4 0xffffffff 000031c8: PUSH2 0x282e 000031cb: AND 000031cc: JUMP 000031cd: JUMPDEST 000031ce: PUSH1 0x00 000031d0: DUP6 000031d1: DUP2 000031d2: MSTORE 000031d3: PUSH1 0x07 000031d5: PUSH1 0x20 000031d7: MSTORE 000031d8: PUSH1 0x40 000031da: SWAP1 000031db: KECCAK256 000031dc: SWAP1 000031dd: DUP2 000031de: SSTORE 000031df: PUSH1 0x01 000031e1: ADD 000031e2: SLOAD 000031e3: PUSH2 0x31f2 000031e6: SWAP1 000031e7: DUP4 000031e8: PUSH4 0xffffffff 000031ed: PUSH2 0x282e 000031f0: AND 000031f1: JUMP 000031f2: JUMPDEST 000031f3: PUSH1 0x00 000031f5: DUP6 000031f6: DUP2 000031f7: MSTORE 000031f8: PUSH1 0x07 000031fa: PUSH1 0x20 000031fc: MSTORE 000031fd: PUSH1 0x40 000031ff: SWAP1 00003200: KECCAK256 00003201: PUSH1 0x01 00003203: ADD 00003204: SSTORE 00003205: DUP1 00003206: ISZERO 00003207: PUSH2 0x323f 0000320a: JUMPI 0000320b: PUSH1 0x00 0000320d: DUP5 0000320e: DUP2 0000320f: MSTORE 00003210: PUSH1 0x07 00003212: PUSH1 0x20 00003214: MSTORE 00003215: PUSH1 0x40 00003217: SWAP1 00003218: KECCAK256 00003219: PUSH1 0x03 0000321b: ADD 0000321c: SLOAD 0000321d: PUSH2 0x322c 00003220: SWAP1 00003221: DUP5 00003222: PUSH4 0xffffffff 00003227: PUSH2 0x282e 0000322a: AND 0000322b: JUMP 0000322c: JUMPDEST 0000322d: PUSH1 0x00 0000322f: DUP6 00003230: DUP2 00003231: MSTORE 00003232: PUSH1 0x07 00003234: PUSH1 0x20 00003236: MSTORE 00003237: PUSH1 0x40 00003239: SWAP1 0000323a: KECCAK256 0000323b: PUSH1 0x03 0000323d: ADD 0000323e: SSTORE 0000323f: JUMPDEST 00003240: PUSH1 0x10 00003242: SLOAD 00003243: PUSH2 0x3252 00003246: SWAP1 00003247: DUP4 00003248: PUSH4 0xffffffff 0000324d: PUSH2 0x282e 00003250: AND 00003251: JUMP 00003252: JUMPDEST 00003253: PUSH1 0x10 00003255: SSTORE 00003256: PUSH1 0x0e 00003258: SLOAD 00003259: PUSH2 0x3268 0000325c: SWAP1 0000325d: DUP5 0000325e: PUSH4 0xffffffff 00003263: PUSH2 0x282e 00003266: AND 00003267: JUMP 00003268: JUMPDEST 00003269: PUSH1 0x0e 0000326b: SSTORE 0000326c: POP 0000326d: POP 0000326e: POP 0000326f: POP 00003270: JUMP 00003271: JUMPDEST 00003272: PUSH1 0x00 00003274: DUP2 00003275: DUP2 00003276: MSTORE 00003277: PUSH1 0x05 00003279: PUSH1 0x20 0000327b: MSTORE 0000327c: PUSH1 0x40 0000327e: DUP2 0000327f: KECCAK256 00003280: SLOAD 00003281: SWAP1 00003282: DUP1 00003283: DUP3 00003284: ISZERO 00003285: DUP1 00003286: ISZERO 00003287: SWAP1 00003288: PUSH2 0x3291 0000328b: JUMPI 0000328c: POP 0000328d: DUP5 0000328e: DUP4 0000328f: EQ 00003290: ISZERO 00003291: JUMPDEST 00003292: DUP1 00003293: ISZERO 00003294: PUSH2 0x32ac 00003297: JUMPI 00003298: POP 00003299: PUSH1 0x00 0000329b: DUP6 0000329c: DUP2 0000329d: MSTORE 0000329e: PUSH1 0x06 000032a0: PUSH1 0x20 000032a2: MSTORE 000032a3: PUSH1 0x40 000032a5: SWAP1 000032a6: KECCAK256 000032a7: PUSH1 0x02 000032a9: ADD 000032aa: SLOAD 000032ab: ISZERO 000032ac: JUMPDEST 000032ad: ISZERO 000032ae: PUSH2 0x3353 000032b1: JUMPI 000032b2: PUSH1 0x00 000032b4: DUP6 000032b5: DUP2 000032b6: MSTORE 000032b7: PUSH1 0x06 000032b9: PUSH1 0x20 000032bb: MSTORE 000032bc: PUSH1 0x40 000032be: DUP1 000032bf: DUP3 000032c0: KECCAK256 000032c1: PUSH1 0x02 000032c3: SWAP1 000032c4: DUP2 000032c5: ADD 000032c6: DUP7 000032c7: SWAP1 000032c8: SSTORE 000032c9: SWAP5 000032ca: DUP3 000032cb: MSTORE 000032cc: DUP2 000032cd: KECCAK256 000032ce: SWAP1 000032cf: SWAP4 000032d0: ADD 000032d1: SLOAD 000032d2: SWAP3 000032d3: SWAP2 000032d4: POP 000032d5: JUMPDEST 000032d6: PUSH1 0x0f 000032d8: DUP3 000032d9: LT 000032da: ISZERO 000032db: PUSH2 0x3353 000032de: JUMPI 000032df: DUP3 000032e0: ISZERO 000032e1: ISZERO 000032e2: PUSH2 0x32ea 000032e5: JUMPI 000032e6: PUSH2 0x3353 000032e9: JUMP 000032ea: JUMPDEST 000032eb: DUP5 000032ec: DUP4 000032ed: EQ 000032ee: ISZERO 000032ef: PUSH2 0x3334 000032f2: JUMPI 000032f3: POP 000032f4: PUSH1 0x00 000032f6: JUMPDEST 000032f7: DUP2 000032f8: PUSH1 0x02 000032fa: ADD 000032fb: DUP2 000032fc: LT 000032fd: ISZERO 000032fe: PUSH2 0x332f 00003301: JUMPI 00003302: PUSH1 0x00 00003304: SWAP3 00003305: DUP4 00003306: MSTORE 00003307: PUSH1 0x08 00003309: PUSH1 0x20 0000330b: SWAP1 0000330c: DUP2 0000330d: MSTORE 0000330e: PUSH1 0x40 00003310: DUP1 00003311: DUP6 00003312: KECCAK256 00003313: PUSH1 0x02 00003315: DUP1 00003316: DUP7 00003317: ADD 00003318: SWAP1 00003319: SWAP2 0000331a: SSTORE 0000331b: PUSH1 0x06 0000331d: SWAP1 0000331e: SWAP3 0000331f: MSTORE 00003320: SWAP1 00003321: SWAP4 00003322: KECCAK256 00003323: SWAP1 00003324: SWAP3 00003325: ADD 00003326: SLOAD 00003327: SWAP2 00003328: PUSH1 0x01 0000332a: ADD 0000332b: PUSH2 0x32f6 0000332e: JUMP 0000332f: JUMPDEST 00003330: PUSH2 0x3353 00003333: JUMP 00003334: JUMPDEST 00003335: PUSH1 0x00 00003337: SWAP3 00003338: DUP4 00003339: MSTORE 0000333a: PUSH1 0x06 0000333c: PUSH1 0x20 0000333e: MSTORE 0000333f: PUSH1 0x40 00003341: SWAP1 00003342: SWAP3 00003343: KECCAK256 00003344: PUSH1 0x02 00003346: ADD 00003347: SLOAD 00003348: SWAP2 00003349: PUSH1 0x01 0000334b: SWAP1 0000334c: SWAP2 0000334d: ADD 0000334e: SWAP1 0000334f: PUSH2 0x32d5 00003352: JUMP 00003353: JUMPDEST 00003354: POP 00003355: POP 00003356: POP 00003357: PUSH1 0x00 00003359: SWAP2 0000335a: DUP3 0000335b: MSTORE 0000335c: POP 0000335d: PUSH1 0x06 0000335f: PUSH1 0x20 00003361: MSTORE 00003362: PUSH1 0x40 00003364: SWAP1 00003365: KECCAK256 00003366: PUSH1 0x02 00003368: ADD 00003369: SLOAD 0000336a: SWAP1 0000336b: JUMP 0000336c: JUMPDEST 0000336d: PUSH1 0x03 0000336f: SLOAD 00003370: PUSH1 0x40 00003372: MLOAD 00003373: PUSH1 0x01 00003375: PUSH1 0xa0 00003377: PUSH1 0x02 00003379: EXP 0000337a: SUB 0000337b: SWAP1 0000337c: SWAP2 0000337d: AND 0000337e: SWAP1 0000337f: DUP3 00003380: ISZERO 00003381: PUSH2 0x08fc 00003384: MUL 00003385: SWAP1 00003386: DUP4 00003387: SWAP1 00003388: PUSH1 0x00 0000338a: DUP2 0000338b: DUP2 0000338c: DUP2 0000338d: DUP6 0000338e: DUP9 0000338f: DUP9 00003390: CALL 00003391: SWAP4 00003392: POP 00003393: POP 00003394: POP 00003395: POP 00003396: ISZERO 00003397: DUP1 00003398: ISZERO 00003399: PUSH2 0x33a6 0000339c: JUMPI 0000339d: RETURNDATASIZE 0000339e: PUSH1 0x00 000033a0: DUP1 000033a1: RETURNDATACOPY 000033a2: RETURNDATASIZE 000033a3: PUSH1 0x00 000033a5: REVERT 000033a6: JUMPDEST 000033a7: POP 000033a8: POP 000033a9: JUMP 000033aa: JUMPDEST 000033ab: PUSH1 0x00 000033ad: PUSH1 0x10 000033af: JUMPDEST 000033b0: PUSH1 0x00 000033b2: DUP2 000033b3: GT 000033b4: ISZERO 000033b5: PUSH2 0x3473 000033b8: JUMPI 000033b9: DUP5 000033ba: ISZERO 000033bb: DUP1 000033bc: PUSH2 0x33c4 000033bf: JUMPI 000033c0: POP 000033c1: DUP6 000033c2: DUP6 000033c3: EQ 000033c4: JUMPDEST 000033c5: ISZERO 000033c6: PUSH2 0x33ce 000033c9: JUMPI 000033ca: PUSH2 0x3473 000033cd: JUMP 000033ce: JUMPDEST 000033cf: PUSH8 0x02c68af0bb140000 000033d8: DUP5 000033d9: LT 000033da: ISZERO 000033db: PUSH2 0x33e3 000033de: JUMPI 000033df: PUSH2 0x3473 000033e2: JUMP 000033e3: JUMPDEST 000033e4: DUP2 000033e5: ISZERO 000033e6: DUP1 000033e7: ISZERO 000033e8: PUSH2 0x33fd 000033eb: JUMPI 000033ec: POP 000033ed: PUSH1 0x00 000033ef: DUP6 000033f0: DUP2 000033f1: MSTORE 000033f2: PUSH1 0x08 000033f4: PUSH1 0x20 000033f6: MSTORE 000033f7: PUSH1 0x40 000033f9: DUP2 000033fa: KECCAK256 000033fb: SLOAD 000033fc: GT 000033fd: JUMPDEST 000033fe: ISZERO 000033ff: PUSH2 0x3423 00003402: JUMPI 00003403: PUSH1 0x00 00003405: DUP6 00003406: DUP2 00003407: MSTORE 00003408: PUSH1 0x08 0000340a: PUSH1 0x20 0000340c: MSTORE 0000340d: PUSH1 0x40 0000340f: SWAP1 00003410: KECCAK256 00003411: SLOAD 00003412: PUSH1 0x01 00003414: SWAP3 00003415: POP 00003416: PUSH2 0x3420 00003419: SWAP1 0000341a: DUP3 0000341b: SWAP1 0000341c: PUSH2 0x3557 0000341f: JUMP 00003420: JUMPDEST 00003421: SWAP1 00003422: POP 00003423: JUMPDEST 00003424: PUSH2 0x3430 00003427: DUP6 00003428: DUP6 00003429: DUP6 0000342a: PUSH1 0x01 0000342c: PUSH2 0x31ae 0000342f: JUMP 00003430: JUMPDEST 00003431: PUSH2 0x3441 00003434: DUP5 00003435: PUSH1 0x02 00003437: PUSH4 0xffffffff 0000343c: PUSH2 0x270d 0000343f: AND 00003440: JUMP 00003441: JUMPDEST 00003442: SWAP4 00003443: POP 00003444: PUSH2 0x3454 00003447: DUP4 00003448: PUSH1 0x02 0000344a: PUSH4 0xffffffff 0000344f: PUSH2 0x270d 00003452: AND 00003453: JUMP 00003454: JUMPDEST 00003455: PUSH1 0x00 00003457: SWAP6 00003458: DUP7 00003459: MSTORE 0000345a: PUSH1 0x06 0000345c: PUSH1 0x20 0000345e: MSTORE 0000345f: PUSH1 0x40 00003461: SWAP1 00003462: SWAP6 00003463: KECCAK256 00003464: PUSH1 0x02 00003466: ADD 00003467: SLOAD 00003468: SWAP5 00003469: SWAP3 0000346a: POP 0000346b: PUSH1 0x00 0000346d: NOT 0000346e: ADD 0000346f: PUSH2 0x33af 00003472: JUMP 00003473: JUMPDEST 00003474: POP 00003475: POP 00003476: POP 00003477: POP 00003478: POP 00003479: POP 0000347a: JUMP 0000347b: JUMPDEST 0000347c: DUP1 0000347d: PUSH2 0x3487 00003480: DUP4 00003481: PUSH1 0x00 00003483: PUSH2 0x23b0 00003486: JUMP 00003487: JUMPDEST 00003488: LT 00003489: ISZERO 0000348a: PUSH2 0x34dd 0000348d: JUMPI 0000348e: PUSH1 0x40 00003490: DUP1 00003491: MLOAD 00003492: PUSH1 0xe5 00003494: PUSH1 0x02 00003496: EXP 00003497: PUSH3 0x461bcd 0000349b: MUL 0000349c: DUP2 0000349d: MSTORE 0000349e: PUSH1 0x20 000034a0: PUSH1 0x04 000034a2: DUP3 000034a3: ADD 000034a4: MSTORE 000034a5: PUSH1 0x15 000034a7: PUSH1 0x24 000034a9: DUP3 000034aa: ADD 000034ab: MSTORE 000034ac: PUSH32 0x6572726f722c206e6f7420656e6f756768207265640000000000000000000000 000034cd: PUSH1 0x44 000034cf: DUP3 000034d0: ADD 000034d1: MSTORE 000034d2: SWAP1 000034d3: MLOAD 000034d4: SWAP1 000034d5: DUP2 000034d6: SWAP1 000034d7: SUB 000034d8: PUSH1 0x64 000034da: ADD 000034db: SWAP1 000034dc: REVERT 000034dd: JUMPDEST 000034de: PUSH2 0x350f 000034e1: PUSH2 0x34f1 000034e4: DUP3 000034e5: PUSH1 0x64 000034e7: PUSH4 0xffffffff 000034ec: PUSH2 0x2800 000034ef: AND 000034f0: JUMP 000034f1: JUMPDEST 000034f2: PUSH1 0x00 000034f4: DUP5 000034f5: DUP2 000034f6: MSTORE 000034f7: PUSH1 0x07 000034f9: PUSH1 0x20 000034fb: MSTORE 000034fc: PUSH1 0x40 000034fe: SWAP1 000034ff: KECCAK256 00003500: PUSH1 0x05 00003502: ADD 00003503: SLOAD 00003504: SWAP1 00003505: PUSH4 0xffffffff 0000350a: PUSH2 0x282e 0000350d: AND 0000350e: JUMP 0000350f: JUMPDEST 00003510: PUSH1 0x00 00003512: SWAP3 00003513: DUP4 00003514: MSTORE 00003515: PUSH1 0x07 00003517: PUSH1 0x20 00003519: MSTORE 0000351a: PUSH1 0x40 0000351c: SWAP1 0000351d: SWAP3 0000351e: KECCAK256 0000351f: PUSH1 0x05 00003521: ADD 00003522: SWAP2 00003523: SWAP1 00003524: SWAP2 00003525: SSTORE 00003526: POP 00003527: JUMP 00003528: JUMPDEST 00003529: PUSH1 0x00 0000352b: DUP1 0000352c: PUSH2 0x353c 0000352f: DUP4 00003530: PUSH1 0x0a 00003532: PUSH4 0xffffffff 00003537: PUSH2 0x270d 0000353a: AND 0000353b: JUMP 0000353c: JUMPDEST 0000353d: SWAP1 0000353e: POP 0000353f: PUSH2 0x3547 00003542: DUP2 00003543: PUSH2 0x336c 00003546: JUMP 00003547: JUMPDEST 00003548: PUSH2 0x0f42 0000354b: DUP4 0000354c: DUP3 0000354d: PUSH4 0xffffffff 00003552: PUSH2 0x26ef 00003555: AND 00003556: JUMP 00003557: JUMPDEST 00003558: PUSH1 0x00 0000355a: DUP2 0000355b: DUP4 0000355c: LT 0000355d: PUSH2 0x3566 00003560: JUMPI 00003561: DUP2 00003562: PUSH2 0x0f42 00003565: JUMP 00003566: JUMPDEST 00003567: POP 00003568: SWAP1 00003569: SWAP2 0000356a: SWAP1 0000356b: POP 0000356c: JUMP 0000356d: STOP 0000356e: PUSH15 0x20646973636f726400000000000000 0000357e: STOP 0000357f: STOP 00003580: STOP 00003581: STOP 00003582: STOP 00003583: STOP 00003584: STOP 00003585: STOP 00003586: STOP 00003587: STOP 00003588: STOP 00003589: STOP 0000358a: STOP 0000358b: STOP 0000358c: STOP 0000358d: STOP 0000358e: PUSH6 0x72726f722c20 00003595: PUSH15 0x6f2070696400000000000000000000 000035a5: STOP 000035a6: STOP 000035a7: STOP 000035a8: STOP 000035a9: STOP 000035aa: STOP 000035ab: STOP 000035ac: STOP 000035ad: STOP 000035ae: PUSH17 0x6f636b6574206c696e743a206e6f742061 000035c0: KECCAK256 000035c1: PUSH23 0x616c69642063757272656e63697473206e6f7420726561 000035d9: PUSH5 0x7920796574 000035df: UNKNOWN(0x2E) 000035e0: KECCAK256 000035e1: KECCAK256 000035e2: PUSH4 0x6865636b 000035e7: KECCAK256 000035e8: EXTCODEHASH 000035e9: PUSH6 0x746120696e6f 000035f0: KECCAK256 000035f1: PUSH23 0x6974616c696b2c206e6f00000000000000000000000000 00003609: STOP 0000360a: STOP 0000360b: STOP 0000360c: STOP 0000360d: STOP 0000360e: PUSH20 0x6f7272792068756d616e73206f6e6c7900000000 00003623: STOP 00003624: STOP 00003625: STOP 00003626: STOP 00003627: STOP 00003628: STOP 00003629: STOP 0000362a: STOP 0000362b: STOP 0000362c: STOP 0000362d: STOP 0000362e: LOG1 0000362f: PUSH6 0x627a7a723058 00003636: KECCAK256 00003637: CLZ 00003638: POP 00003639: PUSH16 0x3992ec91ff7af5a2e9fb5b9218edecfc 0000364a: UNKNOWN(0x2D) 0000364b: CREATE2 0000364c: PUSH24
| 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": "0x046111e9",
"selector": "0x046111e9",
"calldata_variants": [
"0x046111e9",
"0x046111e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0783d820",
"selector": "0x0783d820",
"calldata_variants": [
"0x0783d820",
"0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10f01eba",
"selector": "0x10f01eba",
"calldata_variants": [
"0x10f01eba",
"0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18237476",
"selector": "0x18237476",
"calldata_variants": [
"0x18237476",
"0x182374760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2a12408e",
"selector": "0x2a12408e",
"calldata_variants": [
"0x2a12408e",
"0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e19ebdc",
"selector": "0x2e19ebdc",
"calldata_variants": [
"0x2e19ebdc",
"0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 521,
"type": "tx_origin_used"
},
{
"pc": 2778,
"type": "tx_origin_used"
},
{
"pc": 4352,
"type": "tx_origin_used"
},
{
"pc": 5005,
"type": "tx_origin_used"
},
{
"pc": 5965,
"type": "tx_origin_used"
},
{
"pc": 7447,
"type": "tx_origin_used"
},
{
"pc": 8381,
"type": "tx_origin_used"
},
{
"pc": 9307,
"type": "tx_origin_used"
},
{
"pc": 520,
"type": "tx_origin_used"
},
{
"pc": 2777,
"type": "tx_origin_used"
},
{
"pc": 4351,
"type": "tx_origin_used"
},
{
"pc": 5004,
"type": "tx_origin_used"
},
{
"pc": 5964,
"type": "tx_origin_used"
},
{
"pc": 7446,
"type": "tx_origin_used"
},
{
"pc": 8380,
"type": "tx_origin_used"
},
{
"pc": 9306,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952
call_targets:
0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f"
],
"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": "0x046111e9",
"selector": "0x046111e9",
"calldata_variants": [
"0x046111e9",
"0x046111e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0783d820",
"selector": "0x0783d820",
"calldata_variants": [
"0x0783d820",
"0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10f01eba",
"selector": "0x10f01eba",
"calldata_variants": [
"0x10f01eba",
"0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18237476",
"selector": "0x18237476",
"calldata_variants": [
"0x18237476",
"0x182374760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2a12408e",
"selector": "0x2a12408e",
"calldata_variants": [
"0x2a12408e",
"0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e19ebdc",
"selector": "0x2e19ebdc",
"calldata_variants": [
"0x2e19ebdc",
"0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3533,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4815,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 13200,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 521,
"type": "tx_origin_used"
},
{
"pc": 2778,
"type": "tx_origin_used"
},
{
"pc": 4352,
"type": "tx_origin_used"
},
{
"pc": 5005,
"type": "tx_origin_used"
},
{
"pc": 5965,
"type": "tx_origin_used"
},
{
"pc": 7447,
"type": "tx_origin_used"
},
{
"pc": 8381,
"type": "tx_origin_used"
},
{
"pc": 9307,
"type": "tx_origin_used"
},
{
"pc": 520,
"type": "tx_origin_used"
},
{
"pc": 2777,
"type": "tx_origin_used"
},
{
"pc": 4351,
"type": "tx_origin_used"
},
{
"pc": 5004,
"type": "tx_origin_used"
},
{
"pc": 5964,
"type": "tx_origin_used"
},
{
"pc": 7446,
"type": "tx_origin_used"
},
{
"pc": 8380,
"type": "tx_origin_used"
},
{
"pc": 9306,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952
call_targets:
0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f"
],
"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": "0x046111e9",
"selector": "0x046111e9",
"calldata_variants": [
"0x046111e9",
"0x046111e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0783d820",
"selector": "0x0783d820",
"calldata_variants": [
"0x0783d820",
"0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10f01eba",
"selector": "0x10f01eba",
"calldata_variants": [
"0x10f01eba",
"0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18237476",
"selector": "0x18237476",
"calldata_variants": [
"0x18237476",
"0x182374760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2a12408e",
"selector": "0x2a12408e",
"calldata_variants": [
"0x2a12408e",
"0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e19ebdc",
"selector": "0x2e19ebdc",
"calldata_variants": [
"0x2e19ebdc",
"0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3533,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4815,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 13200,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 521,
"type": "tx_origin_used"
},
{
"pc": 2778,
"type": "tx_origin_used"
},
{
"pc": 4352,
"type": "tx_origin_used"
},
{
"pc": 5005,
"type": "tx_origin_used"
},
{
"pc": 5965,
"type": "tx_origin_used"
},
{
"pc": 7447,
"type": "tx_origin_used"
},
{
"pc": 8381,
"type": "tx_origin_used"
},
{
"pc": 9307,
"type": "tx_origin_used"
},
{
"pc": 520,
"type": "tx_origin_used"
},
{
"pc": 2777,
"type": "tx_origin_used"
},
{
"pc": 4351,
"type": "tx_origin_used"
},
{
"pc": 5004,
"type": "tx_origin_used"
},
{
"pc": 5964,
"type": "tx_origin_used"
},
{
"pc": 7446,
"type": "tx_origin_used"
},
{
"pc": 8380,
"type": "tx_origin_used"
},
{
"pc": 9306,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x49512a30bbafb62e9f25dd3e8967e445ce44f832e69eff37091ab68f1c281581
validation_json{
"sink": "CREATE",
"errors": 8,
"status": "unknown",
"attempts": 32,
"trace_id": "0x49512a30bbafb62e9f25dd3e8967e445ce44f832e69eff37091ab68f1c281581",
"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": "0x046111e9",
"selector": "0x046111e9",
"calldata_variants": [
"0x046111e9",
"0x046111e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0783d820",
"selector": "0x0783d820",
"calldata_variants": [
"0x0783d820",
"0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x10f01eba",
"selector": "0x10f01eba",
"calldata_variants": [
"0x10f01eba",
"0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18237476",
"selector": "0x18237476",
"calldata_variants": [
"0x18237476",
"0x182374760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2a12408e",
"selector": "0x2a12408e",
"calldata_variants": [
"0x2a12408e",
"0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e19ebdc",
"selector": "0x2e19ebdc",
"calldata_variants": [
"0x2e19ebdc",
"0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
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
}
|