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

Analysis Run

019bb490-f308-7066-838c-35487503581e

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

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
40004 artifact.fetch complete 1 / 3 3 months ago
40005 proxy.resolve complete 1 / 3 3 months ago
40006 tool.cast_disasm complete 1 / 3 3 months ago
40007 analysis.bundle complete 1 / 3 3 months ago
40008 capability.graph complete 1 / 3 3 months ago
40009 detector.run complete 1 / 3 3 months ago
40010 validation.fork complete 1 / 3 3 months ago
40174 report.consolidate complete 1 / 6 3 months ago
40175 tool.slither complete 1 / 2 3 months ago

Artifact

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

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
2
Solc
0.5.12 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-tuz645fb)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-tuz645fb)

ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) sends eth to arbitrary user
	Dangerous calls:
	- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#173-174)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) sends eth to arbitrary user
	Dangerous calls:
	- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#246-248)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations

ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) use msg.value in a loop: weth.allowance(address(this),swap.pool) < msg.value (contracts/Contract.sol#157-158)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) use msg.value in a loop: weth.allowance(address(this),swap.pool) < msg.value (contracts/Contract.sol#230-231)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#msgvalue-inside-a-loop

ExchangeProxy.batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) (contracts/Contract.sol#69-106) ignores return value by TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#91-92)
ExchangeProxy.batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) (contracts/Contract.sol#69-106) ignores return value by (tokenAmountOut,None) = pool.swapExactAmountIn(tokenIn,swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#92-99)
ExchangeProxy.batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) (contracts/Contract.sol#106-140) ignores return value by TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#126)
ExchangeProxy.batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) (contracts/Contract.sol#106-140) ignores return value by (tokenAmountIn,None) = pool.swapExactAmountOut(tokenIn,swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#127-134)
ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) ignores return value by weth.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#158-159)
ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) ignores return value by (tokenAmountOut,None) = pool.swapExactAmountIn(address(weth),swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#159-166)
ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215) ignores return value by TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#196-197)
ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215) ignores return value by (tokenAmountOut,None) = pool.swapExactAmountIn(tokenIn,swap.tokenInParam,address(weth),swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#198-205)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) ignores return value by weth.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#232)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) ignores return value by (tokenAmountIn,None) = pool.swapExactAmountOut(address(weth),swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#233-240)
ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287) ignores return value by TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#269-270)
ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287) ignores return value by (tokenAmountIn,None) = pool.swapExactAmountOut(tokenIn,swap.tokenInParam,address(weth),swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#270-277)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return

ExchangeProxy.batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) (contracts/Contract.sol#69-106) has external calls inside a loop: TI.allowance(address(this),swap.pool) < totalAmountIn (contracts/Contract.sol#89-91)
ExchangeProxy.batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) (contracts/Contract.sol#69-106) has external calls inside a loop: TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#91-92)
ExchangeProxy.batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) (contracts/Contract.sol#69-106) has external calls inside a loop: (tokenAmountOut,None) = pool.swapExactAmountIn(tokenIn,swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#92-99)
ExchangeProxy.batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) (contracts/Contract.sol#106-140) has external calls inside a loop: TI.allowance(address(this),swap.pool) < maxTotalAmountIn (contracts/Contract.sol#124-126)
ExchangeProxy.batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) (contracts/Contract.sol#106-140) has external calls inside a loop: TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#126)
ExchangeProxy.batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) (contracts/Contract.sol#106-140) has external calls inside a loop: (tokenAmountIn,None) = pool.swapExactAmountOut(tokenIn,swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#127-134)
ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) has external calls inside a loop: weth.allowance(address(this),swap.pool) < msg.value (contracts/Contract.sol#157-158)
ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) has external calls inside a loop: weth.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#158-159)
ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) has external calls inside a loop: (tokenAmountOut,None) = pool.swapExactAmountIn(address(weth),swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#159-166)
ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215) has external calls inside a loop: TI.allowance(address(this),swap.pool) < totalAmountIn (contracts/Contract.sol#195-196)
ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215) has external calls inside a loop: TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#196-197)
ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215) has external calls inside a loop: (tokenAmountOut,None) = pool.swapExactAmountIn(tokenIn,swap.tokenInParam,address(weth),swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#198-205)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) has external calls inside a loop: weth.allowance(address(this),swap.pool) < msg.value (contracts/Contract.sol#230-231)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) has external calls inside a loop: weth.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#232)
ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) has external calls inside a loop: (tokenAmountIn,None) = pool.swapExactAmountOut(address(weth),swap.tokenInParam,tokenOut,swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#233-240)
ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287) has external calls inside a loop: TI.allowance(address(this),swap.pool) < maxTotalAmountIn (contracts/Contract.sol#269)
ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287) has external calls inside a loop: TI.approve(swap.pool,uint256(- 1)) (contracts/Contract.sol#269-270)
ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287) has external calls inside a loop: (tokenAmountIn,None) = pool.swapExactAmountOut(tokenIn,swap.tokenInParam,address(weth),swap.tokenOutParam,swap.maxPrice) (contracts/Contract.sol#270-277)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop

Version constraint 0.5.12 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- NestedCalldataArrayAbiReencodingSizeValidation
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- ImplicitConstructorCallvalueCheck
	- TupleAssignmentMultiStackSlotComponents
	- MemoryArrayCreationOverflow
	- privateCanBeOverridden
	- YulOptimizerRedundantAssignmentBreakContinue0.5.
It is used by:
	- 0.5.12 (contracts/Contract.sol#12-14)
solc-0.5.12 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176):
	- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#173-174)
Low level call in ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215):
	- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#210-212)
Low level call in ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249):
	- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#246-248)
Low level call in ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287):
	- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#284-286)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Event ExchangeProxy.LOG_CALL(bytes4,address,bytes) (contracts/Contract.sol#38-45) is not in CapWords
Modifier ExchangeProxy._logs_() (contracts/Contract.sol#45-49) is not in mixedCase
Modifier ExchangeProxy._lock_() (contracts/Contract.sol#49-55) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) should be declared external:
	- ExchangeProxy.batchSwapExactIn(ExchangeProxy.Swap[],address,address,uint256,uint256) (contracts/Contract.sol#69-106)
Moreover, the following function parameters should change its data location:
swaps location should be calldata
batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) should be declared external:
	- ExchangeProxy.batchSwapExactOut(ExchangeProxy.Swap[],address,address,uint256) (contracts/Contract.sol#106-140)
Moreover, the following function parameters should change its data location:
swaps location should be calldata
batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) should be declared external:
	- ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176)
Moreover, the following function parameters should change its data location:
swaps location should be calldata
batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) should be declared external:
	- ExchangeProxy.batchEthOutSwapExactIn(ExchangeProxy.Swap[],address,uint256,uint256) (contracts/Contract.sol#176-215)
Moreover, the following function parameters should change its data location:
swaps location should be calldata
batchEthInSwapExactOut(ExchangeProxy.Swap[],address) should be declared external:
	- ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249)
Moreover, the following function parameters should change its data location:
swaps location should be calldata
batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) should be declared external:
	- ExchangeProxy.batchEthOutSwapExactOut(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#249-287)
Moreover, the following function parameters should change its data location:
swaps location should be calldata
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external
. analyzed (3 contracts with 100 detectors), 49 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.5.12",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.5.12",
        "install_stderr": null,
        "install_stdout": "Installing solc '0.5.12'...\nVersion '0.5.12' installed."
    },
    "solc_args": "--base-path /tmp/slither-tuz645fb --allow-paths /tmp/slither-tuz645fb,/tmp/slither-tuz645fb/lib,/tmp/slither-tuz645fb/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 49,
    "workspace_hash": "c829f028f683e69ce6f9a7608effe2eb856429c21aa0582aa9a2eedd02c9bf8f",
    "duration_seconds": 1.0821256637573242,
    "solc_version_requested": "0.5.12"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
Reviewed `contracts/Contract.sol`; no exploitable vulnerabilities found in scope. Core swap functions use a mutex guard and basic bounds checks.
View stdout
{"no_findings":true,"summary":"Reviewed `contracts/Contract.sol`; no exploitable vulnerabilities found in scope. Core swap functions use a mutex guard and basic bounds checks.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-eufdyr_k
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb491-dfe0-7e52-85e8-90ffa8589174
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

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

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

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

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-eufdyr_k succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Contract.sol
================================================================================
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity 0.5.12;


thinking
**Analyzing reentrancy and token handling risks**

I've examined reentrancy protections via the mutex lock and external calls; they seem solid except for the fallback payable function which has no lock but no state changes either. A more notable concern is the unlimited token approvals to arbitrary pools, which could let malicious pools drain any leftover tokens held by the contract, especially tokens accidentally sent or forgotten. While this is generally low risk due to statelessness and user choice of pools, it remains a medium-low risk since the contract never revokes approvals. Also, transferring full token balances back to users without strict accounting poses risk if tokens are stuck or fee-on-transfer tokens are used. Finally, trusting external pools to report accurate swap amounts allows a malicious pool to misreport values, potentially causing overcharging scenarios, though this risk mostly falls on users selecting those pools. Overall, no critical vulnerabilities but some design trade-offs and minor risks around token approvals, leftover balances, and reliance on third-party pools.
thinking
**Confirming lack of exploitable issues**

I've reviewed conditions carefully and concluded that the mutex effectively prevents reentrancy in all critical functions except the fallback, which has no state changes. Approvals and token transfers have minor design risks but no clear exploits. Unlimited allowances to pools pose a low risk only if tokens are accidentally left in the contract. Overall, no exploitable vulnerabilities appear, and core functions have appropriate guards and checks.
codex
{"no_findings":true,"summary":"Reviewed `contracts/Contract.sol`; no exploitable vulnerabilities found in scope. Core swap functions use a mutex guard and basic bounds checks.","findings":[]}
tokens used
12,067
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T23:38:37.829729+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Reviewed `contracts/Contract.sol`; no exploitable vulnerabilities found in scope. Core swap functions use a mutex guard and basic bounds checks.",
    "raw_final": {
        "summary": "Reviewed `contracts/Contract.sol`; no exploitable vulnerabilities found in scope. Core swap functions use a mutex guard and basic bounds checks.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
50
EXT*/BALANCE
47
Total opcodes
7265
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0065
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x6b9b8f8f
00000019: GT
0000001a: PUSH2 0x0043
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x6b9b8f8f
00000024: EQ
00000025: PUSH2 0x00d0
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x6d24fb96
0000002f: EQ
00000030: PUSH2 0x00e3
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf4378240
0000003a: EQ
0000003b: PUSH2 0x0103
0000003e: JUMPI
0000003f: PUSH2 0x0065
00000042: JUMP
00000043: JUMPDEST
00000044: DUP1
00000045: PUSH4 0x2999cdc7
0000004a: EQ
0000004b: PUSH2 0x0067
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x3ca9184e
00000055: EQ
00000056: PUSH2 0x009d
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x4e7ffa04
00000060: EQ
00000061: PUSH2 0x00bd
00000064: JUMPI
00000065: JUMPDEST
00000066: STOP
00000067: JUMPDEST
00000068: CALLVALUE
00000069: DUP1
0000006a: ISZERO
0000006b: PUSH2 0x0073
0000006e: JUMPI
0000006f: PUSH1 0x00
00000071: DUP1
00000072: REVERT
00000073: JUMPDEST
00000074: POP
00000075: PUSH2 0x0087
00000078: PUSH2 0x0082
0000007b: CALLDATASIZE
0000007c: PUSH1 0x04
0000007e: PUSH2 0x2831
00000081: JUMP
00000082: JUMPDEST
00000083: PUSH2 0x0123
00000086: JUMP
00000087: JUMPDEST
00000088: PUSH1 0x40
0000008a: MLOAD
0000008b: PUSH2 0x0094
0000008e: SWAP2
0000008f: SWAP1
00000090: PUSH2 0x2c5e
00000093: JUMP
00000094: JUMPDEST
00000095: PUSH1 0x40
00000097: MLOAD
00000098: DUP1
00000099: SWAP2
0000009a: SUB
0000009b: SWAP1
0000009c: RETURN
0000009d: JUMPDEST
0000009e: CALLVALUE
0000009f: DUP1
000000a0: ISZERO
000000a1: PUSH2 0x00a9
000000a4: JUMPI
000000a5: PUSH1 0x00
000000a7: DUP1
000000a8: REVERT
000000a9: JUMPDEST
000000aa: POP
000000ab: PUSH2 0x0087
000000ae: PUSH2 0x00b8
000000b1: CALLDATASIZE
000000b2: PUSH1 0x04
000000b4: PUSH2 0x2895
000000b7: JUMP
000000b8: JUMPDEST
000000b9: PUSH2 0x078b
000000bc: JUMP
000000bd: JUMPDEST
000000be: PUSH2 0x0087
000000c1: PUSH2 0x00cb
000000c4: CALLDATASIZE
000000c5: PUSH1 0x04
000000c7: PUSH2 0x2831
000000ca: JUMP
000000cb: JUMPDEST
000000cc: PUSH2 0x0deb
000000cf: JUMP
000000d0: JUMPDEST
000000d1: PUSH2 0x0087
000000d4: PUSH2 0x00de
000000d7: CALLDATASIZE
000000d8: PUSH1 0x04
000000da: PUSH2 0x26dc
000000dd: JUMP
000000de: JUMPDEST
000000df: PUSH2 0x1383
000000e2: JUMP
000000e3: JUMPDEST
000000e4: CALLVALUE
000000e5: DUP1
000000e6: ISZERO
000000e7: PUSH2 0x00ef
000000ea: JUMPI
000000eb: PUSH1 0x00
000000ed: DUP1
000000ee: REVERT
000000ef: JUMPDEST
000000f0: POP
000000f1: PUSH2 0x0087
000000f4: PUSH2 0x00fe
000000f7: CALLDATASIZE
000000f8: PUSH1 0x04
000000fa: PUSH2 0x272d
000000fd: JUMP
000000fe: JUMPDEST
000000ff: PUSH2 0x19aa
00000102: JUMP
00000103: JUMPDEST
00000104: CALLVALUE
00000105: DUP1
00000106: ISZERO
00000107: PUSH2 0x010f
0000010a: JUMPI
0000010b: PUSH1 0x00
0000010d: DUP1
0000010e: REVERT
0000010f: JUMPDEST
00000110: POP
00000111: PUSH2 0x0087
00000114: PUSH2 0x011e
00000117: CALLDATASIZE
00000118: PUSH1 0x04
0000011a: PUSH2 0x27a5
0000011d: JUMP
0000011e: JUMPDEST
0000011f: PUSH2 0x1f85
00000122: JUMP
00000123: JUMPDEST
00000124: PUSH1 0x40
00000126: MLOAD
00000127: PUSH1 0x00
00000129: SWAP1
0000012a: CALLER
0000012b: SWAP1
0000012c: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000014d: DUP4
0000014e: CALLDATALOAD
0000014f: AND
00000150: SWAP1
00000151: PUSH2 0x015d
00000154: SWAP1
00000155: DUP5
00000156: SWAP1
00000157: CALLDATASIZE
00000158: SWAP1
00000159: PUSH2 0x2bec
0000015c: JUMP
0000015d: JUMPDEST
0000015e: PUSH1 0x40
00000160: MLOAD
00000161: DUP1
00000162: SWAP2
00000163: SUB
00000164: SWAP1
00000165: LOG2
00000166: PUSH1 0x00
00000168: SLOAD
00000169: PUSH1 0xff
0000016b: AND
0000016c: ISZERO
0000016d: PUSH2 0x0191
00000170: JUMPI
00000171: PUSH1 0x40
00000173: MLOAD
00000174: PUSH3 0x461bcd
00000178: PUSH1 0xe5
0000017a: SHL
0000017b: DUP2
0000017c: MSTORE
0000017d: PUSH1 0x04
0000017f: ADD
00000180: PUSH2 0x0188
00000183: SWAP1
00000184: PUSH2 0x2c1e
00000187: JUMP
00000188: JUMPDEST
00000189: PUSH1 0x40
0000018b: MLOAD
0000018c: DUP1
0000018d: SWAP2
0000018e: SUB
0000018f: SWAP1
00000190: REVERT
00000191: JUMPDEST
00000192: PUSH1 0x00
00000194: DUP1
00000195: SLOAD
00000196: PUSH1 0xff
00000198: NOT
00000199: AND
0000019a: PUSH1 0x01
0000019c: OR
0000019d: SWAP1
0000019e: SSTORE
0000019f: PUSH1 0x40
000001a1: MLOAD
000001a2: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000001c3: DUP2
000001c4: MSTORE
000001c5: DUP4
000001c6: SWAP1
000001c7: PUSH1 0x01
000001c9: PUSH1 0x01
000001cb: PUSH1 0xa0
000001cd: SHL
000001ce: SUB
000001cf: DUP3
000001d0: AND
000001d1: SWAP1
000001d2: PUSH4 0x23b872dd
000001d7: SWAP1
000001d8: PUSH2 0x01e9
000001db: SWAP1
000001dc: CALLER
000001dd: SWAP1
000001de: ADDRESS
000001df: SWAP1
000001e0: DUP9
000001e1: SWAP1
000001e2: PUSH1 0x04
000001e4: ADD
000001e5: PUSH2 0x2b4f
000001e8: JUMP
000001e9: JUMPDEST
000001ea: PUSH1 0x20
000001ec: PUSH1 0x40
000001ee: MLOAD
000001ef: DUP1
000001f0: DUP4
000001f1: SUB
000001f2: DUP2
000001f3: PUSH1 0x00
000001f5: DUP8
000001f6: DUP1
000001f7: EXTCODESIZE
000001f8: ISZERO
000001f9: DUP1
000001fa: ISZERO
000001fb: PUSH2 0x0203
000001fe: JUMPI
000001ff: PUSH1 0x00
00000201: DUP1
00000202: REVERT
00000203: JUMPDEST
00000204: POP
00000205: GAS
00000206: CALL
00000207: ISZERO
00000208: DUP1
00000209: ISZERO
0000020a: PUSH2 0x0217
0000020d: JUMPI
0000020e: RETURNDATASIZE
0000020f: PUSH1 0x00
00000211: DUP1
00000212: RETURNDATACOPY
00000213: RETURNDATASIZE
00000214: PUSH1 0x00
00000216: REVERT
00000217: JUMPDEST
00000218: POP
00000219: POP
0000021a: POP
0000021b: POP
0000021c: PUSH1 0x40
0000021e: MLOAD
0000021f: RETURNDATASIZE
00000220: PUSH1 0x1f
00000222: NOT
00000223: PUSH1 0x1f
00000225: DUP3
00000226: ADD
00000227: AND
00000228: DUP3
00000229: ADD
0000022a: DUP1
0000022b: PUSH1 0x40
0000022d: MSTORE
0000022e: POP
0000022f: PUSH2 0x023b
00000232: SWAP2
00000233: SWAP1
00000234: DUP2
00000235: ADD
00000236: SWAP1
00000237: PUSH2 0x28f0
0000023a: JUMP
0000023b: JUMPDEST
0000023c: PUSH2 0x0257
0000023f: JUMPI
00000240: PUSH1 0x40
00000242: MLOAD
00000243: PUSH3 0x461bcd
00000247: PUSH1 0xe5
00000249: SHL
0000024a: DUP2
0000024b: MSTORE
0000024c: PUSH1 0x04
0000024e: ADD
0000024f: PUSH2 0x0188
00000252: SWAP1
00000253: PUSH2 0x2c3e
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH1 0x00
0000025a: JUMPDEST
0000025b: DUP6
0000025c: MLOAD
0000025d: DUP2
0000025e: LT
0000025f: ISZERO
00000260: PUSH2 0x048d
00000263: JUMPI
00000264: PUSH2 0x026b
00000267: PUSH2 0x258f
0000026a: JUMP
0000026b: JUMPDEST
0000026c: DUP7
0000026d: DUP3
0000026e: DUP2
0000026f: MLOAD
00000270: DUP2
00000271: LT
00000272: PUSH2 0x0277
00000275: JUMPI
00000276: INVALID
00000277: JUMPDEST
00000278: PUSH1 0x20
0000027a: SWAP1
0000027b: DUP2
0000027c: MUL
0000027d: SWAP2
0000027e: SWAP1
0000027f: SWAP2
00000280: ADD
00000281: ADD
00000282: MLOAD
00000283: DUP1
00000284: MLOAD
00000285: PUSH1 0x40
00000287: MLOAD
00000288: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
000002a9: DUP2
000002aa: MSTORE
000002ab: SWAP2
000002ac: SWAP3
000002ad: POP
000002ae: SWAP1
000002af: DUP7
000002b0: SWAP1
000002b1: PUSH1 0x01
000002b3: PUSH1 0x01
000002b5: PUSH1 0xa0
000002b7: SHL
000002b8: SUB
000002b9: DUP7
000002ba: AND
000002bb: SWAP1
000002bc: PUSH4 0xdd62ed3e
000002c1: SWAP1
000002c2: PUSH2 0x02d1
000002c5: SWAP1
000002c6: ADDRESS
000002c7: SWAP1
000002c8: DUP7
000002c9: SWAP1
000002ca: PUSH1 0x04
000002cc: ADD
000002cd: PUSH2 0x2b2d
000002d0: JUMP
000002d1: JUMPDEST
000002d2: PUSH1 0x20
000002d4: PUSH1 0x40
000002d6: MLOAD
000002d7: DUP1
000002d8: DUP4
000002d9: SUB
000002da: DUP2
000002db: PUSH1 0x00
000002dd: DUP8
000002de: DUP1
000002df: EXTCODESIZE
000002e0: ISZERO
000002e1: DUP1
000002e2: ISZERO
000002e3: PUSH2 0x02eb
000002e6: JUMPI
000002e7: PUSH1 0x00
000002e9: DUP1
000002ea: REVERT
000002eb: JUMPDEST
000002ec: POP
000002ed: GAS
000002ee: CALL
000002ef: ISZERO
000002f0: DUP1
000002f1: ISZERO
000002f2: PUSH2 0x02ff
000002f5: JUMPI
000002f6: RETURNDATASIZE
000002f7: PUSH1 0x00
000002f9: DUP1
000002fa: RETURNDATACOPY
000002fb: RETURNDATASIZE
000002fc: PUSH1 0x00
000002fe: REVERT
000002ff: JUMPDEST
00000300: POP
00000301: POP
00000302: POP
00000303: POP
00000304: PUSH1 0x40
00000306: MLOAD
00000307: RETURNDATASIZE
00000308: PUSH1 0x1f
0000030a: NOT
0000030b: PUSH1 0x1f
0000030d: DUP3
0000030e: ADD
0000030f: AND
00000310: DUP3
00000311: ADD
00000312: DUP1
00000313: PUSH1 0x40
00000315: MSTORE
00000316: POP
00000317: PUSH2 0x0323
0000031a: SWAP2
0000031b: SWAP1
0000031c: DUP2
0000031d: ADD
0000031e: SWAP1
0000031f: PUSH2 0x2916
00000322: JUMP
00000323: JUMPDEST
00000324: LT
00000325: ISZERO
00000326: PUSH2 0x03c7
00000329: JUMPI
0000032a: DUP2
0000032b: MLOAD
0000032c: PUSH1 0x40
0000032e: MLOAD
0000032f: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00000350: DUP2
00000351: MSTORE
00000352: PUSH1 0x01
00000354: PUSH1 0x01
00000356: PUSH1 0xa0
00000358: SHL
00000359: SUB
0000035a: DUP7
0000035b: AND
0000035c: SWAP2
0000035d: PUSH4 0x095ea7b3
00000362: SWAP2
00000363: PUSH2 0x0373
00000366: SWAP2
00000367: SWAP1
00000368: PUSH1 0x00
0000036a: NOT
0000036b: SWAP1
0000036c: PUSH1 0x04
0000036e: ADD
0000036f: PUSH2 0x2b92
00000372: JUMP
00000373: JUMPDEST
00000374: PUSH1 0x20
00000376: PUSH1 0x40
00000378: MLOAD
00000379: DUP1
0000037a: DUP4
0000037b: SUB
0000037c: DUP2
0000037d: PUSH1 0x00
0000037f: DUP8
00000380: DUP1
00000381: EXTCODESIZE
00000382: ISZERO
00000383: DUP1
00000384: ISZERO
00000385: PUSH2 0x038d
00000388: JUMPI
00000389: PUSH1 0x00
0000038b: DUP1
0000038c: REVERT
0000038d: JUMPDEST
0000038e: POP
0000038f: GAS
00000390: CALL
00000391: ISZERO
00000392: DUP1
00000393: ISZERO
00000394: PUSH2 0x03a1
00000397: JUMPI
00000398: RETURNDATASIZE
00000399: PUSH1 0x00
0000039b: DUP1
0000039c: RETURNDATACOPY
0000039d: RETURNDATASIZE
0000039e: PUSH1 0x00
000003a0: REVERT
000003a1: JUMPDEST
000003a2: POP
000003a3: POP
000003a4: POP
000003a5: POP
000003a6: PUSH1 0x40
000003a8: MLOAD
000003a9: RETURNDATASIZE
000003aa: PUSH1 0x1f
000003ac: NOT
000003ad: PUSH1 0x1f
000003af: DUP3
000003b0: ADD
000003b1: AND
000003b2: DUP3
000003b3: ADD
000003b4: DUP1
000003b5: PUSH1 0x40
000003b7: MSTORE
000003b8: POP
000003b9: PUSH2 0x03c5
000003bc: SWAP2
000003bd: SWAP1
000003be: DUP2
000003bf: ADD
000003c0: SWAP1
000003c1: PUSH2 0x28f0
000003c4: JUMP
000003c5: JUMPDEST
000003c6: POP
000003c7: JUMPDEST
000003c8: PUSH1 0x00
000003ca: DUP2
000003cb: PUSH1 0x01
000003cd: PUSH1 0x01
000003cf: PUSH1 0xa0
000003d1: SHL
000003d2: SUB
000003d3: AND
000003d4: PUSH4 0x7c5e9ea4
000003d9: DUP10
000003da: DUP6
000003db: PUSH1 0x20
000003dd: ADD
000003de: MLOAD
000003df: PUSH1 0x00
000003e1: PUSH1 0x01
000003e3: SWAP1
000003e4: SLOAD
000003e5: SWAP1
000003e6: PUSH2 0x0100
000003e9: EXP
000003ea: SWAP1
000003eb: DIV
000003ec: PUSH1 0x01
000003ee: PUSH1 0x01
000003f0: PUSH1 0xa0
000003f2: SHL
000003f3: SUB
000003f4: AND
000003f5: DUP8
000003f6: PUSH1 0x40
000003f8: ADD
000003f9: MLOAD
000003fa: DUP9
000003fb: PUSH1 0x60
000003fd: ADD
000003fe: MLOAD
000003ff: PUSH1 0x40
00000401: MLOAD
00000402: DUP7
00000403: PUSH4 0xffffffff
00000408: AND
00000409: PUSH1 0xe0
0000040b: SHL
0000040c: DUP2
0000040d: MSTORE
0000040e: PUSH1 0x04
00000410: ADD
00000411: PUSH2 0x041e
00000414: SWAP6
00000415: SWAP5
00000416: SWAP4
00000417: SWAP3
00000418: SWAP2
00000419: SWAP1
0000041a: PUSH2 0x2ba0
0000041d: JUMP
0000041e: JUMPDEST
0000041f: PUSH1 0x40
00000421: DUP1
00000422: MLOAD
00000423: DUP1
00000424: DUP4
00000425: SUB
00000426: DUP2
00000427: PUSH1 0x00
00000429: DUP8
0000042a: DUP1
0000042b: EXTCODESIZE
0000042c: ISZERO
0000042d: DUP1
0000042e: ISZERO
0000042f: PUSH2 0x0437
00000432: JUMPI
00000433: PUSH1 0x00
00000435: DUP1
00000436: REVERT
00000437: JUMPDEST
00000438: POP
00000439: GAS
0000043a: CALL
0000043b: ISZERO
0000043c: DUP1
0000043d: ISZERO
0000043e: PUSH2 0x044b
00000441: JUMPI
00000442: RETURNDATASIZE
00000443: PUSH1 0x00
00000445: DUP1
00000446: RETURNDATACOPY
00000447: RETURNDATASIZE
00000448: PUSH1 0x00
0000044a: REVERT
0000044b: JUMPDEST
0000044c: POP
0000044d: POP
0000044e: POP
0000044f: POP
00000450: PUSH1 0x40
00000452: MLOAD
00000453: RETURNDATASIZE
00000454: PUSH1 0x1f
00000456: NOT
00000457: PUSH1 0x1f
00000459: DUP3
0000045a: ADD
0000045b: AND
0000045c: DUP3
0000045d: ADD
0000045e: DUP1
0000045f: PUSH1 0x40
00000461: MSTORE
00000462: POP
00000463: PUSH2 0x046f
00000466: SWAP2
00000467: SWAP1
00000468: DUP2
00000469: ADD
0000046a: SWAP1
0000046b: PUSH2 0x2934
0000046e: JUMP
0000046f: JUMPDEST
00000470: POP
00000471: SWAP1
00000472: POP
00000473: PUSH2 0x047c
00000476: DUP2
00000477: DUP8
00000478: PUSH2 0x2561
0000047b: JUMP
0000047c: JUMPDEST
0000047d: SWAP6
0000047e: POP
0000047f: POP
00000480: PUSH1 0x01
00000482: SWAP1
00000483: SWAP3
00000484: ADD
00000485: SWAP2
00000486: POP
00000487: PUSH2 0x025a
0000048a: SWAP1
0000048b: POP
0000048c: JUMP
0000048d: JUMPDEST
0000048e: POP
0000048f: DUP3
00000490: DUP3
00000491: GT
00000492: ISZERO
00000493: PUSH2 0x04ae
00000496: JUMPI
00000497: PUSH1 0x40
00000499: MLOAD
0000049a: PUSH3 0x461bcd
0000049e: PUSH1 0xe5
000004a0: SHL
000004a1: DUP2
000004a2: MSTORE
000004a3: PUSH1 0x04
000004a5: ADD
000004a6: PUSH2 0x0188
000004a9: SWAP1
000004aa: PUSH2 0x2c0e
000004ad: JUMP
000004ae: JUMPDEST
000004af: PUSH1 0x40
000004b1: MLOAD
000004b2: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000004d3: DUP2
000004d4: MSTORE
000004d5: PUSH1 0x01
000004d7: PUSH1 0x01
000004d9: PUSH1 0xa0
000004db: SHL
000004dc: SUB
000004dd: DUP3
000004de: AND
000004df: SWAP1
000004e0: PUSH4 0xa9059cbb
000004e5: SWAP1
000004e6: CALLER
000004e7: SWAP1
000004e8: DUP4
000004e9: SWAP1
000004ea: PUSH4 0x70a08231
000004ef: SWAP1
000004f0: PUSH2 0x04fd
000004f3: SWAP1
000004f4: ADDRESS
000004f5: SWAP1
000004f6: PUSH1 0x04
000004f8: ADD
000004f9: PUSH2 0x2b1f
000004fc: JUMP
000004fd: JUMPDEST
000004fe: PUSH1 0x20
00000500: PUSH1 0x40
00000502: MLOAD
00000503: DUP1
00000504: DUP4
00000505: SUB
00000506: DUP2
00000507: PUSH1 0x00
00000509: DUP8
0000050a: DUP1
0000050b: EXTCODESIZE
0000050c: ISZERO
0000050d: DUP1
0000050e: ISZERO
0000050f: PUSH2 0x0517
00000512: JUMPI
00000513: PUSH1 0x00
00000515: DUP1
00000516: REVERT
00000517: JUMPDEST
00000518: POP
00000519: GAS
0000051a: CALL
0000051b: ISZERO
0000051c: DUP1
0000051d: ISZERO
0000051e: PUSH2 0x052b
00000521: JUMPI
00000522: RETURNDATASIZE
00000523: PUSH1 0x00
00000525: DUP1
00000526: RETURNDATACOPY
00000527: RETURNDATASIZE
00000528: PUSH1 0x00
0000052a: REVERT
0000052b: JUMPDEST
0000052c: POP
0000052d: POP
0000052e: POP
0000052f: POP
00000530: PUSH1 0x40
00000532: MLOAD
00000533: RETURNDATASIZE
00000534: PUSH1 0x1f
00000536: NOT
00000537: PUSH1 0x1f
00000539: DUP3
0000053a: ADD
0000053b: AND
0000053c: DUP3
0000053d: ADD
0000053e: DUP1
0000053f: PUSH1 0x40
00000541: MSTORE
00000542: POP
00000543: PUSH2 0x054f
00000546: SWAP2
00000547: SWAP1
00000548: DUP2
00000549: ADD
0000054a: SWAP1
0000054b: PUSH2 0x2916
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH1 0x40
00000552: MLOAD
00000553: DUP4
00000554: PUSH4 0xffffffff
00000559: AND
0000055a: PUSH1 0xe0
0000055c: SHL
0000055d: DUP2
0000055e: MSTORE
0000055f: PUSH1 0x04
00000561: ADD
00000562: PUSH2 0x056c
00000565: SWAP3
00000566: SWAP2
00000567: SWAP1
00000568: PUSH2 0x2b77
0000056b: JUMP
0000056c: JUMPDEST
0000056d: PUSH1 0x20
0000056f: PUSH1 0x40
00000571: MLOAD
00000572: DUP1
00000573: DUP4
00000574: SUB
00000575: DUP2
00000576: PUSH1 0x00
00000578: DUP8
00000579: DUP1
0000057a: EXTCODESIZE
0000057b: ISZERO
0000057c: DUP1
0000057d: ISZERO
0000057e: PUSH2 0x0586
00000581: JUMPI
00000582: PUSH1 0x00
00000584: DUP1
00000585: REVERT
00000586: JUMPDEST
00000587: POP
00000588: GAS
00000589: CALL
0000058a: ISZERO
0000058b: DUP1
0000058c: ISZERO
0000058d: PUSH2 0x059a
00000590: JUMPI
00000591: RETURNDATASIZE
00000592: PUSH1 0x00
00000594: DUP1
00000595: RETURNDATACOPY
00000596: RETURNDATASIZE
00000597: PUSH1 0x00
00000599: REVERT
0000059a: JUMPDEST
0000059b: POP
0000059c: POP
0000059d: POP
0000059e: POP
0000059f: PUSH1 0x40
000005a1: MLOAD
000005a2: RETURNDATASIZE
000005a3: PUSH1 0x1f
000005a5: NOT
000005a6: PUSH1 0x1f
000005a8: DUP3
000005a9: ADD
000005aa: AND
000005ab: DUP3
000005ac: ADD
000005ad: DUP1
000005ae: PUSH1 0x40
000005b0: MSTORE
000005b1: POP
000005b2: PUSH2 0x05be
000005b5: SWAP2
000005b6: SWAP1
000005b7: DUP2
000005b8: ADD
000005b9: SWAP1
000005ba: PUSH2 0x28f0
000005bd: JUMP
000005be: JUMPDEST
000005bf: PUSH2 0x05da
000005c2: JUMPI
000005c3: PUSH1 0x40
000005c5: MLOAD
000005c6: PUSH3 0x461bcd
000005ca: PUSH1 0xe5
000005cc: SHL
000005cd: DUP2
000005ce: MSTORE
000005cf: PUSH1 0x04
000005d1: ADD
000005d2: PUSH2 0x0188
000005d5: SWAP1
000005d6: PUSH2 0x2c3e
000005d9: JUMP
000005da: JUMPDEST
000005db: PUSH1 0x00
000005dd: DUP1
000005de: SLOAD
000005df: PUSH1 0x40
000005e1: MLOAD
000005e2: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000603: DUP2
00000604: MSTORE
00000605: PUSH2 0x0100
00000608: SWAP1
00000609: SWAP2
0000060a: DIV
0000060b: PUSH1 0x01
0000060d: PUSH1 0x01
0000060f: PUSH1 0xa0
00000611: SHL
00000612: SUB
00000613: AND
00000614: SWAP1
00000615: PUSH4 0x70a08231
0000061a: SWAP1
0000061b: PUSH2 0x0628
0000061e: SWAP1
0000061f: ADDRESS
00000620: SWAP1
00000621: PUSH1 0x04
00000623: ADD
00000624: PUSH2 0x2b1f
00000627: JUMP
00000628: JUMPDEST
00000629: PUSH1 0x20
0000062b: PUSH1 0x40
0000062d: MLOAD
0000062e: DUP1
0000062f: DUP4
00000630: SUB
00000631: DUP2
00000632: PUSH1 0x00
00000634: DUP8
00000635: DUP1
00000636: EXTCODESIZE
00000637: ISZERO
00000638: DUP1
00000639: ISZERO
0000063a: PUSH2 0x0642
0000063d: JUMPI
0000063e: PUSH1 0x00
00000640: DUP1
00000641: REVERT
00000642: JUMPDEST
00000643: POP
00000644: GAS
00000645: CALL
00000646: ISZERO
00000647: DUP1
00000648: ISZERO
00000649: PUSH2 0x0656
0000064c: JUMPI
0000064d: RETURNDATASIZE
0000064e: PUSH1 0x00
00000650: DUP1
00000651: RETURNDATACOPY
00000652: RETURNDATASIZE
00000653: PUSH1 0x00
00000655: REVERT
00000656: JUMPDEST
00000657: POP
00000658: POP
00000659: POP
0000065a: POP
0000065b: PUSH1 0x40
0000065d: MLOAD
0000065e: RETURNDATASIZE
0000065f: PUSH1 0x1f
00000661: NOT
00000662: PUSH1 0x1f
00000664: DUP3
00000665: ADD
00000666: AND
00000667: DUP3
00000668: ADD
00000669: DUP1
0000066a: PUSH1 0x40
0000066c: MSTORE
0000066d: POP
0000066e: PUSH2 0x067a
00000671: SWAP2
00000672: SWAP1
00000673: DUP2
00000674: ADD
00000675: SWAP1
00000676: PUSH2 0x2916
00000679: JUMP
0000067a: JUMPDEST
0000067b: PUSH1 0x00
0000067d: SLOAD
0000067e: PUSH1 0x40
00000680: MLOAD
00000681: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
000006a2: DUP2
000006a3: MSTORE
000006a4: SWAP2
000006a5: SWAP3
000006a6: POP
000006a7: PUSH2 0x0100
000006aa: SWAP1
000006ab: DIV
000006ac: PUSH1 0x01
000006ae: PUSH1 0x01
000006b0: PUSH1 0xa0
000006b2: SHL
000006b3: SUB
000006b4: AND
000006b5: SWAP1
000006b6: PUSH4 0x2e1a7d4d
000006bb: SWAP1
000006bc: PUSH2 0x06c9
000006bf: SWAP1
000006c0: DUP5
000006c1: SWAP1
000006c2: PUSH1 0x04
000006c4: ADD
000006c5: PUSH2 0x2c5e
000006c8: JUMP
000006c9: JUMPDEST
000006ca: PUSH1 0x00
000006cc: PUSH1 0x40
000006ce: MLOAD
000006cf: DUP1
000006d0: DUP4
000006d1: SUB
000006d2: DUP2
000006d3: PUSH1 0x00
000006d5: DUP8
000006d6: DUP1
000006d7: EXTCODESIZE
000006d8: ISZERO
000006d9: DUP1
000006da: ISZERO
000006db: PUSH2 0x06e3
000006de: JUMPI
000006df: PUSH1 0x00
000006e1: DUP1
000006e2: REVERT
000006e3: JUMPDEST
000006e4: POP
000006e5: GAS
000006e6: CALL
000006e7: ISZERO
000006e8: DUP1
000006e9: ISZERO
000006ea: PUSH2 0x06f7
000006ed: JUMPI
000006ee: RETURNDATASIZE
000006ef: PUSH1 0x00
000006f1: DUP1
000006f2: RETURNDATACOPY
000006f3: RETURNDATASIZE
000006f4: PUSH1 0x00
000006f6: REVERT
000006f7: JUMPDEST
000006f8: POP
000006f9: POP
000006fa: POP
000006fb: POP
000006fc: PUSH1 0x00
000006fe: CALLER
000006ff: PUSH1 0x01
00000701: PUSH1 0x01
00000703: PUSH1 0xa0
00000705: SHL
00000706: SUB
00000707: AND
00000708: DUP3
00000709: PUSH1 0x40
0000070b: MLOAD
0000070c: PUSH2 0x0714
0000070f: SWAP1
00000710: PUSH2 0x2b14
00000713: JUMP
00000714: JUMPDEST
00000715: PUSH1 0x00
00000717: PUSH1 0x40
00000719: MLOAD
0000071a: DUP1
0000071b: DUP4
0000071c: SUB
0000071d: DUP2
0000071e: DUP6
0000071f: DUP8
00000720: GAS
00000721: CALL
00000722: SWAP3
00000723: POP
00000724: POP
00000725: POP
00000726: RETURNDATASIZE
00000727: DUP1
00000728: PUSH1 0x00
0000072a: DUP2
0000072b: EQ
0000072c: PUSH2 0x0751
0000072f: JUMPI
00000730: PUSH1 0x40
00000732: MLOAD
00000733: SWAP2
00000734: POP
00000735: PUSH1 0x1f
00000737: NOT
00000738: PUSH1 0x3f
0000073a: RETURNDATASIZE
0000073b: ADD
0000073c: AND
0000073d: DUP3
0000073e: ADD
0000073f: PUSH1 0x40
00000741: MSTORE
00000742: RETURNDATASIZE
00000743: DUP3
00000744: MSTORE
00000745: RETURNDATASIZE
00000746: PUSH1 0x00
00000748: PUSH1 0x20
0000074a: DUP5
0000074b: ADD
0000074c: RETURNDATACOPY
0000074d: PUSH2 0x0756
00000750: JUMP
00000751: JUMPDEST
00000752: PUSH1 0x60
00000754: SWAP2
00000755: POP
00000756: JUMPDEST
00000757: POP
00000758: POP
00000759: SWAP1
0000075a: POP
0000075b: DUP1
0000075c: PUSH2 0x0777
0000075f: JUMPI
00000760: PUSH1 0x40
00000762: MLOAD
00000763: PUSH3 0x461bcd
00000767: PUSH1 0xe5
00000769: SHL
0000076a: DUP2
0000076b: MSTORE
0000076c: PUSH1 0x04
0000076e: ADD
0000076f: PUSH2 0x0188
00000772: SWAP1
00000773: PUSH2 0x2c2e
00000776: JUMP
00000777: JUMPDEST
00000778: POP
00000779: POP
0000077a: POP
0000077b: PUSH1 0x00
0000077d: DUP1
0000077e: SLOAD
0000077f: PUSH1 0xff
00000781: NOT
00000782: AND
00000783: SWAP1
00000784: SSTORE
00000785: SWAP4
00000786: SWAP3
00000787: POP
00000788: POP
00000789: POP
0000078a: JUMP
0000078b: JUMPDEST
0000078c: PUSH1 0x40
0000078e: MLOAD
0000078f: PUSH1 0x00
00000791: SWAP1
00000792: CALLER
00000793: SWAP1
00000794: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000007b5: DUP4
000007b6: CALLDATALOAD
000007b7: AND
000007b8: SWAP1
000007b9: PUSH2 0x07c5
000007bc: SWAP1
000007bd: DUP5
000007be: SWAP1
000007bf: CALLDATASIZE
000007c0: SWAP1
000007c1: PUSH2 0x2bec
000007c4: JUMP
000007c5: JUMPDEST
000007c6: PUSH1 0x40
000007c8: MLOAD
000007c9: DUP1
000007ca: SWAP2
000007cb: SUB
000007cc: SWAP1
000007cd: LOG2
000007ce: PUSH1 0x00
000007d0: SLOAD
000007d1: PUSH1 0xff
000007d3: AND
000007d4: ISZERO
000007d5: PUSH2 0x07f0
000007d8: JUMPI
000007d9: PUSH1 0x40
000007db: MLOAD
000007dc: PUSH3 0x461bcd
000007e0: PUSH1 0xe5
000007e2: SHL
000007e3: DUP2
000007e4: MSTORE
000007e5: PUSH1 0x04
000007e7: ADD
000007e8: PUSH2 0x0188
000007eb: SWAP1
000007ec: PUSH2 0x2c1e
000007ef: JUMP
000007f0: JUMPDEST
000007f1: PUSH1 0x00
000007f3: DUP1
000007f4: SLOAD
000007f5: PUSH1 0xff
000007f7: NOT
000007f8: AND
000007f9: PUSH1 0x01
000007fb: OR
000007fc: SWAP1
000007fd: SSTORE
000007fe: PUSH1 0x40
00000800: MLOAD
00000801: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00000822: DUP2
00000823: MSTORE
00000824: DUP5
00000825: SWAP1
00000826: PUSH1 0x01
00000828: PUSH1 0x01
0000082a: PUSH1 0xa0
0000082c: SHL
0000082d: SUB
0000082e: DUP3
0000082f: AND
00000830: SWAP1
00000831: PUSH4 0x23b872dd
00000836: SWAP1
00000837: PUSH2 0x0848
0000083a: SWAP1
0000083b: CALLER
0000083c: SWAP1
0000083d: ADDRESS
0000083e: SWAP1
0000083f: DUP10
00000840: SWAP1
00000841: PUSH1 0x04
00000843: ADD
00000844: PUSH2 0x2b4f
00000847: JUMP
00000848: JUMPDEST
00000849: PUSH1 0x20
0000084b: PUSH1 0x40
0000084d: MLOAD
0000084e: DUP1
0000084f: DUP4
00000850: SUB
00000851: DUP2
00000852: PUSH1 0x00
00000854: DUP8
00000855: DUP1
00000856: EXTCODESIZE
00000857: ISZERO
00000858: DUP1
00000859: ISZERO
0000085a: PUSH2 0x0862
0000085d: JUMPI
0000085e: PUSH1 0x00
00000860: DUP1
00000861: REVERT
00000862: JUMPDEST
00000863: POP
00000864: GAS
00000865: CALL
00000866: ISZERO
00000867: DUP1
00000868: ISZERO
00000869: PUSH2 0x0876
0000086c: JUMPI
0000086d: RETURNDATASIZE
0000086e: PUSH1 0x00
00000870: DUP1
00000871: RETURNDATACOPY
00000872: RETURNDATASIZE
00000873: PUSH1 0x00
00000875: REVERT
00000876: JUMPDEST
00000877: POP
00000878: POP
00000879: POP
0000087a: POP
0000087b: PUSH1 0x40
0000087d: MLOAD
0000087e: RETURNDATASIZE
0000087f: PUSH1 0x1f
00000881: NOT
00000882: PUSH1 0x1f
00000884: DUP3
00000885: ADD
00000886: AND
00000887: DUP3
00000888: ADD
00000889: DUP1
0000088a: PUSH1 0x40
0000088c: MSTORE
0000088d: POP
0000088e: PUSH2 0x089a
00000891: SWAP2
00000892: SWAP1
00000893: DUP2
00000894: ADD
00000895: SWAP1
00000896: PUSH2 0x28f0
00000899: JUMP
0000089a: JUMPDEST
0000089b: PUSH2 0x08b6
0000089e: JUMPI
0000089f: PUSH1 0x40
000008a1: MLOAD
000008a2: PUSH3 0x461bcd
000008a6: PUSH1 0xe5
000008a8: SHL
000008a9: DUP2
000008aa: MSTORE
000008ab: PUSH1 0x04
000008ad: ADD
000008ae: PUSH2 0x0188
000008b1: SWAP1
000008b2: PUSH2 0x2c3e
000008b5: JUMP
000008b6: JUMPDEST
000008b7: PUSH1 0x00
000008b9: JUMPDEST
000008ba: DUP7
000008bb: MLOAD
000008bc: DUP2
000008bd: LT
000008be: ISZERO
000008bf: PUSH2 0x0aec
000008c2: JUMPI
000008c3: PUSH2 0x08ca
000008c6: PUSH2 0x258f
000008c9: JUMP
000008ca: JUMPDEST
000008cb: DUP8
000008cc: DUP3
000008cd: DUP2
000008ce: MLOAD
000008cf: DUP2
000008d0: LT
000008d1: PUSH2 0x08d6
000008d4: JUMPI
000008d5: INVALID
000008d6: JUMPDEST
000008d7: PUSH1 0x20
000008d9: SWAP1
000008da: DUP2
000008db: MUL
000008dc: SWAP2
000008dd: SWAP1
000008de: SWAP2
000008df: ADD
000008e0: ADD
000008e1: MLOAD
000008e2: DUP1
000008e3: MLOAD
000008e4: PUSH1 0x40
000008e6: MLOAD
000008e7: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00000908: DUP2
00000909: MSTORE
0000090a: SWAP2
0000090b: SWAP3
0000090c: POP
0000090d: SWAP1
0000090e: DUP8
0000090f: SWAP1
00000910: PUSH1 0x01
00000912: PUSH1 0x01
00000914: PUSH1 0xa0
00000916: SHL
00000917: SUB
00000918: DUP7
00000919: AND
0000091a: SWAP1
0000091b: PUSH4 0xdd62ed3e
00000920: SWAP1
00000921: PUSH2 0x0930
00000924: SWAP1
00000925: ADDRESS
00000926: SWAP1
00000927: DUP7
00000928: SWAP1
00000929: PUSH1 0x04
0000092b: ADD
0000092c: PUSH2 0x2b2d
0000092f: JUMP
00000930: JUMPDEST
00000931: PUSH1 0x20
00000933: PUSH1 0x40
00000935: MLOAD
00000936: DUP1
00000937: DUP4
00000938: SUB
00000939: DUP2
0000093a: PUSH1 0x00
0000093c: DUP8
0000093d: DUP1
0000093e: EXTCODESIZE
0000093f: ISZERO
00000940: DUP1
00000941: ISZERO
00000942: PUSH2 0x094a
00000945: JUMPI
00000946: PUSH1 0x00
00000948: DUP1
00000949: REVERT
0000094a: JUMPDEST
0000094b: POP
0000094c: GAS
0000094d: CALL
0000094e: ISZERO
0000094f: DUP1
00000950: ISZERO
00000951: PUSH2 0x095e
00000954: JUMPI
00000955: RETURNDATASIZE
00000956: PUSH1 0x00
00000958: DUP1
00000959: RETURNDATACOPY
0000095a: RETURNDATASIZE
0000095b: PUSH1 0x00
0000095d: REVERT
0000095e: JUMPDEST
0000095f: POP
00000960: POP
00000961: POP
00000962: POP
00000963: PUSH1 0x40
00000965: MLOAD
00000966: RETURNDATASIZE
00000967: PUSH1 0x1f
00000969: NOT
0000096a: PUSH1 0x1f
0000096c: DUP3
0000096d: ADD
0000096e: AND
0000096f: DUP3
00000970: ADD
00000971: DUP1
00000972: PUSH1 0x40
00000974: MSTORE
00000975: POP
00000976: PUSH2 0x0982
00000979: SWAP2
0000097a: SWAP1
0000097b: DUP2
0000097c: ADD
0000097d: SWAP1
0000097e: PUSH2 0x2916
00000981: JUMP
00000982: JUMPDEST
00000983: LT
00000984: ISZERO
00000985: PUSH2 0x0a26
00000988: JUMPI
00000989: DUP2
0000098a: MLOAD
0000098b: PUSH1 0x40
0000098d: MLOAD
0000098e: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
000009af: DUP2
000009b0: MSTORE
000009b1: PUSH1 0x01
000009b3: PUSH1 0x01
000009b5: PUSH1 0xa0
000009b7: SHL
000009b8: SUB
000009b9: DUP7
000009ba: AND
000009bb: SWAP2
000009bc: PUSH4 0x095ea7b3
000009c1: SWAP2
000009c2: PUSH2 0x09d2
000009c5: SWAP2
000009c6: SWAP1
000009c7: PUSH1 0x00
000009c9: NOT
000009ca: SWAP1
000009cb: PUSH1 0x04
000009cd: ADD
000009ce: PUSH2 0x2b92
000009d1: JUMP
000009d2: JUMPDEST
000009d3: PUSH1 0x20
000009d5: PUSH1 0x40
000009d7: MLOAD
000009d8: DUP1
000009d9: DUP4
000009da: SUB
000009db: DUP2
000009dc: PUSH1 0x00
000009de: DUP8
000009df: DUP1
000009e0: EXTCODESIZE
000009e1: ISZERO
000009e2: DUP1
000009e3: ISZERO
000009e4: PUSH2 0x09ec
000009e7: JUMPI
000009e8: PUSH1 0x00
000009ea: DUP1
000009eb: REVERT
000009ec: JUMPDEST
000009ed: POP
000009ee: GAS
000009ef: CALL
000009f0: ISZERO
000009f1: DUP1
000009f2: ISZERO
000009f3: PUSH2 0x0a00
000009f6: JUMPI
000009f7: RETURNDATASIZE
000009f8: PUSH1 0x00
000009fa: DUP1
000009fb: RETURNDATACOPY
000009fc: RETURNDATASIZE
000009fd: PUSH1 0x00
000009ff: REVERT
00000a00: JUMPDEST
00000a01: POP
00000a02: POP
00000a03: POP
00000a04: POP
00000a05: PUSH1 0x40
00000a07: MLOAD
00000a08: RETURNDATASIZE
00000a09: PUSH1 0x1f
00000a0b: NOT
00000a0c: PUSH1 0x1f
00000a0e: DUP3
00000a0f: ADD
00000a10: AND
00000a11: DUP3
00000a12: ADD
00000a13: DUP1
00000a14: PUSH1 0x40
00000a16: MSTORE
00000a17: POP
00000a18: PUSH2 0x0a24
00000a1b: SWAP2
00000a1c: SWAP1
00000a1d: DUP2
00000a1e: ADD
00000a1f: SWAP1
00000a20: PUSH2 0x28f0
00000a23: JUMP
00000a24: JUMPDEST
00000a25: POP
00000a26: JUMPDEST
00000a27: PUSH1 0x00
00000a29: DUP2
00000a2a: PUSH1 0x01
00000a2c: PUSH1 0x01
00000a2e: PUSH1 0xa0
00000a30: SHL
00000a31: SUB
00000a32: AND
00000a33: PUSH4 0x8201aa3f
00000a38: DUP11
00000a39: DUP6
00000a3a: PUSH1 0x20
00000a3c: ADD
00000a3d: MLOAD
00000a3e: PUSH1 0x00
00000a40: PUSH1 0x01
00000a42: SWAP1
00000a43: SLOAD
00000a44: SWAP1
00000a45: PUSH2 0x0100
00000a48: EXP
00000a49: SWAP1
00000a4a: DIV
00000a4b: PUSH1 0x01
00000a4d: PUSH1 0x01
00000a4f: PUSH1 0xa0
00000a51: SHL
00000a52: SUB
00000a53: AND
00000a54: DUP8
00000a55: PUSH1 0x40
00000a57: ADD
00000a58: MLOAD
00000a59: DUP9
00000a5a: PUSH1 0x60
00000a5c: ADD
00000a5d: MLOAD
00000a5e: PUSH1 0x40
00000a60: MLOAD
00000a61: DUP7
00000a62: PUSH4 0xffffffff
00000a67: AND
00000a68: PUSH1 0xe0
00000a6a: SHL
00000a6b: DUP2
00000a6c: MSTORE
00000a6d: PUSH1 0x04
00000a6f: ADD
00000a70: PUSH2 0x0a7d
00000a73: SWAP6
00000a74: SWAP5
00000a75: SWAP4
00000a76: SWAP3
00000a77: SWAP2
00000a78: SWAP1
00000a79: PUSH2 0x2ba0
00000a7c: JUMP
00000a7d: JUMPDEST
00000a7e: PUSH1 0x40
00000a80: DUP1
00000a81: MLOAD
00000a82: DUP1
00000a83: DUP4
00000a84: SUB
00000a85: DUP2
00000a86: PUSH1 0x00
00000a88: DUP8
00000a89: DUP1
00000a8a: EXTCODESIZE
00000a8b: ISZERO
00000a8c: DUP1
00000a8d: ISZERO
00000a8e: PUSH2 0x0a96
00000a91: JUMPI
00000a92: PUSH1 0x00
00000a94: DUP1
00000a95: REVERT
00000a96: JUMPDEST
00000a97: POP
00000a98: GAS
00000a99: CALL
00000a9a: ISZERO
00000a9b: DUP1
00000a9c: ISZERO
00000a9d: PUSH2 0x0aaa
00000aa0: JUMPI
00000aa1: RETURNDATASIZE
00000aa2: PUSH1 0x00
00000aa4: DUP1
00000aa5: RETURNDATACOPY
00000aa6: RETURNDATASIZE
00000aa7: PUSH1 0x00
00000aa9: REVERT
00000aaa: JUMPDEST
00000aab: POP
00000aac: POP
00000aad: POP
00000aae: POP
00000aaf: PUSH1 0x40
00000ab1: MLOAD
00000ab2: RETURNDATASIZE
00000ab3: PUSH1 0x1f
00000ab5: NOT
00000ab6: PUSH1 0x1f
00000ab8: DUP3
00000ab9: ADD
00000aba: AND
00000abb: DUP3
00000abc: ADD
00000abd: DUP1
00000abe: PUSH1 0x40
00000ac0: MSTORE
00000ac1: POP
00000ac2: PUSH2 0x0ace
00000ac5: SWAP2
00000ac6: SWAP1
00000ac7: DUP2
00000ac8: ADD
00000ac9: SWAP1
00000aca: PUSH2 0x2934
00000acd: JUMP
00000ace: JUMPDEST
00000acf: POP
00000ad0: SWAP1
00000ad1: POP
00000ad2: PUSH2 0x0adb
00000ad5: DUP2
00000ad6: DUP8
00000ad7: PUSH2 0x2561
00000ada: JUMP
00000adb: JUMPDEST
00000adc: SWAP6
00000add: POP
00000ade: POP
00000adf: PUSH1 0x01
00000ae1: SWAP1
00000ae2: SWAP3
00000ae3: ADD
00000ae4: SWAP2
00000ae5: POP
00000ae6: PUSH2 0x08b9
00000ae9: SWAP1
00000aea: POP
00000aeb: JUMP
00000aec: JUMPDEST
00000aed: POP
00000aee: DUP3
00000aef: DUP3
00000af0: LT
00000af1: ISZERO
00000af2: PUSH2 0x0b0d
00000af5: JUMPI
00000af6: PUSH1 0x40
00000af8: MLOAD
00000af9: PUSH3 0x461bcd
00000afd: PUSH1 0xe5
00000aff: SHL
00000b00: DUP2
00000b01: MSTORE
00000b02: PUSH1 0x04
00000b04: ADD
00000b05: PUSH2 0x0188
00000b08: SWAP1
00000b09: PUSH2 0x2bfe
00000b0c: JUMP
00000b0d: JUMPDEST
00000b0e: PUSH1 0x00
00000b10: DUP1
00000b11: SLOAD
00000b12: PUSH1 0x40
00000b14: MLOAD
00000b15: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000b36: DUP2
00000b37: MSTORE
00000b38: PUSH2 0x0100
00000b3b: SWAP1
00000b3c: SWAP2
00000b3d: DIV
00000b3e: PUSH1 0x01
00000b40: PUSH1 0x01
00000b42: PUSH1 0xa0
00000b44: SHL
00000b45: SUB
00000b46: AND
00000b47: SWAP1
00000b48: PUSH4 0x70a08231
00000b4d: SWAP1
00000b4e: PUSH2 0x0b5b
00000b51: SWAP1
00000b52: ADDRESS
00000b53: SWAP1
00000b54: PUSH1 0x04
00000b56: ADD
00000b57: PUSH2 0x2b1f
00000b5a: JUMP
00000b5b: JUMPDEST
00000b5c: PUSH1 0x20
00000b5e: PUSH1 0x40
00000b60: MLOAD
00000b61: DUP1
00000b62: DUP4
00000b63: SUB
00000b64: DUP2
00000b65: PUSH1 0x00
00000b67: DUP8
00000b68: DUP1
00000b69: EXTCODESIZE
00000b6a: ISZERO
00000b6b: DUP1
00000b6c: ISZERO
00000b6d: PUSH2 0x0b75
00000b70: JUMPI
00000b71: PUSH1 0x00
00000b73: DUP1
00000b74: REVERT
00000b75: JUMPDEST
00000b76: POP
00000b77: GAS
00000b78: CALL
00000b79: ISZERO
00000b7a: DUP1
00000b7b: ISZERO
00000b7c: PUSH2 0x0b89
00000b7f: JUMPI
00000b80: RETURNDATASIZE
00000b81: PUSH1 0x00
00000b83: DUP1
00000b84: RETURNDATACOPY
00000b85: RETURNDATASIZE
00000b86: PUSH1 0x00
00000b88: REVERT
00000b89: JUMPDEST
00000b8a: POP
00000b8b: POP
00000b8c: POP
00000b8d: POP
00000b8e: PUSH1 0x40
00000b90: MLOAD
00000b91: RETURNDATASIZE
00000b92: PUSH1 0x1f
00000b94: NOT
00000b95: PUSH1 0x1f
00000b97: DUP3
00000b98: ADD
00000b99: AND
00000b9a: DUP3
00000b9b: ADD
00000b9c: DUP1
00000b9d: PUSH1 0x40
00000b9f: MSTORE
00000ba0: POP
00000ba1: PUSH2 0x0bad
00000ba4: SWAP2
00000ba5: SWAP1
00000ba6: DUP2
00000ba7: ADD
00000ba8: SWAP1
00000ba9: PUSH2 0x2916
00000bac: JUMP
00000bad: JUMPDEST
00000bae: PUSH1 0x00
00000bb0: SLOAD
00000bb1: PUSH1 0x40
00000bb3: MLOAD
00000bb4: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
00000bd5: DUP2
00000bd6: MSTORE
00000bd7: SWAP2
00000bd8: SWAP3
00000bd9: POP
00000bda: PUSH2 0x0100
00000bdd: SWAP1
00000bde: DIV
00000bdf: PUSH1 0x01
00000be1: PUSH1 0x01
00000be3: PUSH1 0xa0
00000be5: SHL
00000be6: SUB
00000be7: AND
00000be8: SWAP1
00000be9: PUSH4 0x2e1a7d4d
00000bee: SWAP1
00000bef: PUSH2 0x0bfc
00000bf2: SWAP1
00000bf3: DUP5
00000bf4: SWAP1
00000bf5: PUSH1 0x04
00000bf7: ADD
00000bf8: PUSH2 0x2c5e
00000bfb: JUMP
00000bfc: JUMPDEST
00000bfd: PUSH1 0x00
00000bff: PUSH1 0x40
00000c01: MLOAD
00000c02: DUP1
00000c03: DUP4
00000c04: SUB
00000c05: DUP2
00000c06: PUSH1 0x00
00000c08: DUP8
00000c09: DUP1
00000c0a: EXTCODESIZE
00000c0b: ISZERO
00000c0c: DUP1
00000c0d: ISZERO
00000c0e: PUSH2 0x0c16
00000c11: JUMPI
00000c12: PUSH1 0x00
00000c14: DUP1
00000c15: REVERT
00000c16: JUMPDEST
00000c17: POP
00000c18: GAS
00000c19: CALL
00000c1a: ISZERO
00000c1b: DUP1
00000c1c: ISZERO
00000c1d: PUSH2 0x0c2a
00000c20: JUMPI
00000c21: RETURNDATASIZE
00000c22: PUSH1 0x00
00000c24: DUP1
00000c25: RETURNDATACOPY
00000c26: RETURNDATASIZE
00000c27: PUSH1 0x00
00000c29: REVERT
00000c2a: JUMPDEST
00000c2b: POP
00000c2c: POP
00000c2d: POP
00000c2e: POP
00000c2f: PUSH1 0x00
00000c31: CALLER
00000c32: PUSH1 0x01
00000c34: PUSH1 0x01
00000c36: PUSH1 0xa0
00000c38: SHL
00000c39: SUB
00000c3a: AND
00000c3b: DUP3
00000c3c: PUSH1 0x40
00000c3e: MLOAD
00000c3f: PUSH2 0x0c47
00000c42: SWAP1
00000c43: PUSH2 0x2b14
00000c46: JUMP
00000c47: JUMPDEST
00000c48: PUSH1 0x00
00000c4a: PUSH1 0x40
00000c4c: MLOAD
00000c4d: DUP1
00000c4e: DUP4
00000c4f: SUB
00000c50: DUP2
00000c51: DUP6
00000c52: DUP8
00000c53: GAS
00000c54: CALL
00000c55: SWAP3
00000c56: POP
00000c57: POP
00000c58: POP
00000c59: RETURNDATASIZE
00000c5a: DUP1
00000c5b: PUSH1 0x00
00000c5d: DUP2
00000c5e: EQ
00000c5f: PUSH2 0x0c84
00000c62: JUMPI
00000c63: PUSH1 0x40
00000c65: MLOAD
00000c66: SWAP2
00000c67: POP
00000c68: PUSH1 0x1f
00000c6a: NOT
00000c6b: PUSH1 0x3f
00000c6d: RETURNDATASIZE
00000c6e: ADD
00000c6f: AND
00000c70: DUP3
00000c71: ADD
00000c72: PUSH1 0x40
00000c74: MSTORE
00000c75: RETURNDATASIZE
00000c76: DUP3
00000c77: MSTORE
00000c78: RETURNDATASIZE
00000c79: PUSH1 0x00
00000c7b: PUSH1 0x20
00000c7d: DUP5
00000c7e: ADD
00000c7f: RETURNDATACOPY
00000c80: PUSH2 0x0c89
00000c83: JUMP
00000c84: JUMPDEST
00000c85: PUSH1 0x60
00000c87: SWAP2
00000c88: POP
00000c89: JUMPDEST
00000c8a: POP
00000c8b: POP
00000c8c: SWAP1
00000c8d: POP
00000c8e: DUP1
00000c8f: PUSH2 0x0caa
00000c92: JUMPI
00000c93: PUSH1 0x40
00000c95: MLOAD
00000c96: PUSH3 0x461bcd
00000c9a: PUSH1 0xe5
00000c9c: SHL
00000c9d: DUP2
00000c9e: MSTORE
00000c9f: PUSH1 0x04
00000ca1: ADD
00000ca2: PUSH2 0x0188
00000ca5: SWAP1
00000ca6: PUSH2 0x2c2e
00000ca9: JUMP
00000caa: JUMPDEST
00000cab: PUSH1 0x40
00000cad: MLOAD
00000cae: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000ccf: DUP2
00000cd0: MSTORE
00000cd1: PUSH1 0x01
00000cd3: PUSH1 0x01
00000cd5: PUSH1 0xa0
00000cd7: SHL
00000cd8: SUB
00000cd9: DUP5
00000cda: AND
00000cdb: SWAP1
00000cdc: PUSH4 0xa9059cbb
00000ce1: SWAP1
00000ce2: CALLER
00000ce3: SWAP1
00000ce4: DUP4
00000ce5: SWAP1
00000ce6: PUSH4 0x70a08231
00000ceb: SWAP1
00000cec: PUSH2 0x0cf9
00000cef: SWAP1
00000cf0: ADDRESS
00000cf1: SWAP1
00000cf2: PUSH1 0x04
00000cf4: ADD
00000cf5: PUSH2 0x2b1f
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: PUSH1 0x20
00000cfc: PUSH1 0x40
00000cfe: MLOAD
00000cff: DUP1
00000d00: DUP4
00000d01: SUB
00000d02: DUP2
00000d03: PUSH1 0x00
00000d05: DUP8
00000d06: DUP1
00000d07: EXTCODESIZE
00000d08: ISZERO
00000d09: DUP1
00000d0a: ISZERO
00000d0b: PUSH2 0x0d13
00000d0e: JUMPI
00000d0f: PUSH1 0x00
00000d11: DUP1
00000d12: REVERT
00000d13: JUMPDEST
00000d14: POP
00000d15: GAS
00000d16: CALL
00000d17: ISZERO
00000d18: DUP1
00000d19: ISZERO
00000d1a: PUSH2 0x0d27
00000d1d: JUMPI
00000d1e: RETURNDATASIZE
00000d1f: PUSH1 0x00
00000d21: DUP1
00000d22: RETURNDATACOPY
00000d23: RETURNDATASIZE
00000d24: PUSH1 0x00
00000d26: REVERT
00000d27: JUMPDEST
00000d28: POP
00000d29: POP
00000d2a: POP
00000d2b: POP
00000d2c: PUSH1 0x40
00000d2e: MLOAD
00000d2f: RETURNDATASIZE
00000d30: PUSH1 0x1f
00000d32: NOT
00000d33: PUSH1 0x1f
00000d35: DUP3
00000d36: ADD
00000d37: AND
00000d38: DUP3
00000d39: ADD
00000d3a: DUP1
00000d3b: PUSH1 0x40
00000d3d: MSTORE
00000d3e: POP
00000d3f: PUSH2 0x0d4b
00000d42: SWAP2
00000d43: SWAP1
00000d44: DUP2
00000d45: ADD
00000d46: SWAP1
00000d47: PUSH2 0x2916
00000d4a: JUMP
00000d4b: JUMPDEST
00000d4c: PUSH1 0x40
00000d4e: MLOAD
00000d4f: DUP4
00000d50: PUSH4 0xffffffff
00000d55: AND
00000d56: PUSH1 0xe0
00000d58: SHL
00000d59: DUP2
00000d5a: MSTORE
00000d5b: PUSH1 0x04
00000d5d: ADD
00000d5e: PUSH2 0x0d68
00000d61: SWAP3
00000d62: SWAP2
00000d63: SWAP1
00000d64: PUSH2 0x2b77
00000d67: JUMP
00000d68: JUMPDEST
00000d69: PUSH1 0x20
00000d6b: PUSH1 0x40
00000d6d: MLOAD
00000d6e: DUP1
00000d6f: DUP4
00000d70: SUB
00000d71: DUP2
00000d72: PUSH1 0x00
00000d74: DUP8
00000d75: DUP1
00000d76: EXTCODESIZE
00000d77: ISZERO
00000d78: DUP1
00000d79: ISZERO
00000d7a: PUSH2 0x0d82
00000d7d: JUMPI
00000d7e: PUSH1 0x00
00000d80: DUP1
00000d81: REVERT
00000d82: JUMPDEST
00000d83: POP
00000d84: GAS
00000d85: CALL
00000d86: ISZERO
00000d87: DUP1
00000d88: ISZERO
00000d89: PUSH2 0x0d96
00000d8c: JUMPI
00000d8d: RETURNDATASIZE
00000d8e: PUSH1 0x00
00000d90: DUP1
00000d91: RETURNDATACOPY
00000d92: RETURNDATASIZE
00000d93: PUSH1 0x00
00000d95: REVERT
00000d96: JUMPDEST
00000d97: POP
00000d98: POP
00000d99: POP
00000d9a: POP
00000d9b: PUSH1 0x40
00000d9d: MLOAD
00000d9e: RETURNDATASIZE
00000d9f: PUSH1 0x1f
00000da1: NOT
00000da2: PUSH1 0x1f
00000da4: DUP3
00000da5: ADD
00000da6: AND
00000da7: DUP3
00000da8: ADD
00000da9: DUP1
00000daa: PUSH1 0x40
00000dac: MSTORE
00000dad: POP
00000dae: PUSH2 0x0dba
00000db1: SWAP2
00000db2: SWAP1
00000db3: DUP2
00000db4: ADD
00000db5: SWAP1
00000db6: PUSH2 0x28f0
00000db9: JUMP
00000dba: JUMPDEST
00000dbb: PUSH2 0x0dd6
00000dbe: JUMPI
00000dbf: PUSH1 0x40
00000dc1: MLOAD
00000dc2: PUSH3 0x461bcd
00000dc6: PUSH1 0xe5
00000dc8: SHL
00000dc9: DUP2
00000dca: MSTORE
00000dcb: PUSH1 0x04
00000dcd: ADD
00000dce: PUSH2 0x0188
00000dd1: SWAP1
00000dd2: PUSH2 0x2c3e
00000dd5: JUMP
00000dd6: JUMPDEST
00000dd7: POP
00000dd8: POP
00000dd9: POP
00000dda: PUSH1 0x00
00000ddc: DUP1
00000ddd: SLOAD
00000dde: PUSH1 0xff
00000de0: NOT
00000de1: AND
00000de2: SWAP1
00000de3: SSTORE
00000de4: SWAP5
00000de5: SWAP4
00000de6: POP
00000de7: POP
00000de8: POP
00000de9: POP
00000dea: JUMP
00000deb: JUMPDEST
00000dec: PUSH1 0x40
00000dee: MLOAD
00000def: PUSH1 0x00
00000df1: SWAP1
00000df2: CALLER
00000df3: SWAP1
00000df4: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000e15: DUP4
00000e16: CALLDATALOAD
00000e17: AND
00000e18: SWAP1
00000e19: PUSH2 0x0e25
00000e1c: SWAP1
00000e1d: DUP5
00000e1e: SWAP1
00000e1f: CALLDATASIZE
00000e20: SWAP1
00000e21: PUSH2 0x2bec
00000e24: JUMP
00000e25: JUMPDEST
00000e26: PUSH1 0x40
00000e28: MLOAD
00000e29: DUP1
00000e2a: SWAP2
00000e2b: SUB
00000e2c: SWAP1
00000e2d: LOG2
00000e2e: PUSH1 0x00
00000e30: SLOAD
00000e31: PUSH1 0xff
00000e33: AND
00000e34: ISZERO
00000e35: PUSH2 0x0e50
00000e38: JUMPI
00000e39: PUSH1 0x40
00000e3b: MLOAD
00000e3c: PUSH3 0x461bcd
00000e40: PUSH1 0xe5
00000e42: SHL
00000e43: DUP2
00000e44: MSTORE
00000e45: PUSH1 0x04
00000e47: ADD
00000e48: PUSH2 0x0188
00000e4b: SWAP1
00000e4c: PUSH2 0x2c1e
00000e4f: JUMP
00000e50: JUMPDEST
00000e51: PUSH1 0x00
00000e53: DUP1
00000e54: SLOAD
00000e55: PUSH1 0x01
00000e57: PUSH1 0xff
00000e59: NOT
00000e5a: SWAP1
00000e5b: SWAP2
00000e5c: AND
00000e5d: OR
00000e5e: DUP1
00000e5f: DUP3
00000e60: SSTORE
00000e61: PUSH1 0x40
00000e63: DUP1
00000e64: MLOAD
00000e65: PUSH32 0xd0e30db000000000000000000000000000000000000000000000000000000000
00000e86: DUP2
00000e87: MSTORE
00000e88: SWAP1
00000e89: MLOAD
00000e8a: DUP7
00000e8b: SWAP4
00000e8c: PUSH2 0x0100
00000e8f: SWAP1
00000e90: SWAP4
00000e91: DIV
00000e92: PUSH1 0x01
00000e94: PUSH1 0x01
00000e96: PUSH1 0xa0
00000e98: SHL
00000e99: SUB
00000e9a: AND
00000e9b: SWAP3
00000e9c: PUSH4 0xd0e30db0
00000ea1: SWAP3
00000ea2: CALLVALUE
00000ea3: SWAP3
00000ea4: PUSH1 0x04
00000ea6: DUP1
00000ea7: DUP4
00000ea8: ADD
00000ea9: SWAP4
00000eaa: SWAP3
00000eab: DUP3
00000eac: SWAP1
00000ead: SUB
00000eae: ADD
00000eaf: DUP2
00000eb0: DUP6
00000eb1: DUP9
00000eb2: DUP1
00000eb3: EXTCODESIZE
00000eb4: ISZERO
00000eb5: DUP1
00000eb6: ISZERO
00000eb7: PUSH2 0x0ebf
00000eba: JUMPI
00000ebb: PUSH1 0x00
00000ebd: DUP1
00000ebe: REVERT
00000ebf: JUMPDEST
00000ec0: POP
00000ec1: GAS
00000ec2: CALL
00000ec3: ISZERO
00000ec4: DUP1
00000ec5: ISZERO
00000ec6: PUSH2 0x0ed3
00000ec9: JUMPI
00000eca: RETURNDATASIZE
00000ecb: PUSH1 0x00
00000ecd: DUP1
00000ece: RETURNDATACOPY
00000ecf: RETURNDATASIZE
00000ed0: PUSH1 0x00
00000ed2: REVERT
00000ed3: JUMPDEST
00000ed4: POP
00000ed5: PUSH1 0x00
00000ed7: SWAP4
00000ed8: POP
00000ed9: POP
00000eda: POP
00000edb: POP
00000edc: JUMPDEST
00000edd: DUP6
00000ede: MLOAD
00000edf: DUP2
00000ee0: LT
00000ee1: ISZERO
00000ee2: PUSH2 0x112e
00000ee5: JUMPI
00000ee6: PUSH2 0x0eed
00000ee9: PUSH2 0x258f
00000eec: JUMP
00000eed: JUMPDEST
00000eee: DUP7
00000eef: DUP3
00000ef0: DUP2
00000ef1: MLOAD
00000ef2: DUP2
00000ef3: LT
00000ef4: PUSH2 0x0ef9
00000ef7: JUMPI
00000ef8: INVALID
00000ef9: JUMPDEST
00000efa: PUSH1 0x20
00000efc: SWAP1
00000efd: DUP2
00000efe: MUL
00000eff: SWAP2
00000f00: SWAP1
00000f01: SWAP2
00000f02: ADD
00000f03: ADD
00000f04: MLOAD
00000f05: DUP1
00000f06: MLOAD
00000f07: PUSH1 0x00
00000f09: SLOAD
00000f0a: PUSH1 0x40
00000f0c: MLOAD
00000f0d: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00000f2e: DUP2
00000f2f: MSTORE
00000f30: SWAP3
00000f31: SWAP4
00000f32: POP
00000f33: SWAP1
00000f34: SWAP2
00000f35: CALLVALUE
00000f36: SWAP2
00000f37: PUSH2 0x0100
00000f3a: SWAP1
00000f3b: DIV
00000f3c: PUSH1 0x01
00000f3e: PUSH1 0x01
00000f40: PUSH1 0xa0
00000f42: SHL
00000f43: SUB
00000f44: AND
00000f45: SWAP1
00000f46: PUSH4 0xdd62ed3e
00000f4b: SWAP1
00000f4c: PUSH2 0x0f5b
00000f4f: SWAP1
00000f50: ADDRESS
00000f51: SWAP1
00000f52: DUP7
00000f53: SWAP1
00000f54: PUSH1 0x04
00000f56: ADD
00000f57: PUSH2 0x2b2d
00000f5a: JUMP
00000f5b: JUMPDEST
00000f5c: PUSH1 0x20
00000f5e: PUSH1 0x40
00000f60: MLOAD
00000f61: DUP1
00000f62: DUP4
00000f63: SUB
00000f64: DUP2
00000f65: PUSH1 0x00
00000f67: DUP8
00000f68: DUP1
00000f69: EXTCODESIZE
00000f6a: ISZERO
00000f6b: DUP1
00000f6c: ISZERO
00000f6d: PUSH2 0x0f75
00000f70: JUMPI
00000f71: PUSH1 0x00
00000f73: DUP1
00000f74: REVERT
00000f75: JUMPDEST
00000f76: POP
00000f77: GAS
00000f78: CALL
00000f79: ISZERO
00000f7a: DUP1
00000f7b: ISZERO
00000f7c: PUSH2 0x0f89
00000f7f: JUMPI
00000f80: RETURNDATASIZE
00000f81: PUSH1 0x00
00000f83: DUP1
00000f84: RETURNDATACOPY
00000f85: RETURNDATASIZE
00000f86: PUSH1 0x00
00000f88: REVERT
00000f89: JUMPDEST
00000f8a: POP
00000f8b: POP
00000f8c: POP
00000f8d: POP
00000f8e: PUSH1 0x40
00000f90: MLOAD
00000f91: RETURNDATASIZE
00000f92: PUSH1 0x1f
00000f94: NOT
00000f95: PUSH1 0x1f
00000f97: DUP3
00000f98: ADD
00000f99: AND
00000f9a: DUP3
00000f9b: ADD
00000f9c: DUP1
00000f9d: PUSH1 0x40
00000f9f: MSTORE
00000fa0: POP
00000fa1: PUSH2 0x0fad
00000fa4: SWAP2
00000fa5: SWAP1
00000fa6: DUP2
00000fa7: ADD
00000fa8: SWAP1
00000fa9: PUSH2 0x2916
00000fac: JUMP
00000fad: JUMPDEST
00000fae: LT
00000faf: ISZERO
00000fb0: PUSH2 0x1058
00000fb3: JUMPI
00000fb4: PUSH1 0x00
00000fb6: SLOAD
00000fb7: DUP3
00000fb8: MLOAD
00000fb9: PUSH1 0x40
00000fbb: MLOAD
00000fbc: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00000fdd: DUP2
00000fde: MSTORE
00000fdf: PUSH2 0x0100
00000fe2: SWAP1
00000fe3: SWAP3
00000fe4: DIV
00000fe5: PUSH1 0x01
00000fe7: PUSH1 0x01
00000fe9: PUSH1 0xa0
00000feb: SHL
00000fec: SUB
00000fed: AND
00000fee: SWAP2
00000fef: PUSH4 0x095ea7b3
00000ff4: SWAP2
00000ff5: PUSH2 0x1004
00000ff8: SWAP2
00000ff9: PUSH1 0x00
00000ffb: NOT
00000ffc: SWAP1
00000ffd: PUSH1 0x04
00000fff: ADD
00001000: PUSH2 0x2b92
00001003: JUMP
00001004: JUMPDEST
00001005: PUSH1 0x20
00001007: PUSH1 0x40
00001009: MLOAD
0000100a: DUP1
0000100b: DUP4
0000100c: SUB
0000100d: DUP2
0000100e: PUSH1 0x00
00001010: DUP8
00001011: DUP1
00001012: EXTCODESIZE
00001013: ISZERO
00001014: DUP1
00001015: ISZERO
00001016: PUSH2 0x101e
00001019: JUMPI
0000101a: PUSH1 0x00
0000101c: DUP1
0000101d: REVERT
0000101e: JUMPDEST
0000101f: POP
00001020: GAS
00001021: CALL
00001022: ISZERO
00001023: DUP1
00001024: ISZERO
00001025: PUSH2 0x1032
00001028: JUMPI
00001029: RETURNDATASIZE
0000102a: PUSH1 0x00
0000102c: DUP1
0000102d: RETURNDATACOPY
0000102e: RETURNDATASIZE
0000102f: PUSH1 0x00
00001031: REVERT
00001032: JUMPDEST
00001033: POP
00001034: POP
00001035: POP
00001036: POP
00001037: PUSH1 0x40
00001039: MLOAD
0000103a: RETURNDATASIZE
0000103b: PUSH1 0x1f
0000103d: NOT
0000103e: PUSH1 0x1f
00001040: DUP3
00001041: ADD
00001042: AND
00001043: DUP3
00001044: ADD
00001045: DUP1
00001046: PUSH1 0x40
00001048: MSTORE
00001049: POP
0000104a: PUSH2 0x1056
0000104d: SWAP2
0000104e: SWAP1
0000104f: DUP2
00001050: ADD
00001051: SWAP1
00001052: PUSH2 0x28f0
00001055: JUMP
00001056: JUMPDEST
00001057: POP
00001058: JUMPDEST
00001059: PUSH1 0x00
0000105b: DUP1
0000105c: SLOAD
0000105d: PUSH1 0x20
0000105f: DUP5
00001060: ADD
00001061: MLOAD
00001062: PUSH1 0x40
00001064: DUP1
00001065: DUP7
00001066: ADD
00001067: MLOAD
00001068: PUSH1 0x60
0000106a: DUP8
0000106b: ADD
0000106c: MLOAD
0000106d: SWAP2
0000106e: MLOAD
0000106f: PUSH32 0x8201aa3f00000000000000000000000000000000000000000000000000000000
00001090: DUP2
00001091: MSTORE
00001092: PUSH1 0x01
00001094: PUSH1 0x01
00001096: PUSH1 0xa0
00001098: SHL
00001099: SUB
0000109a: DUP1
0000109b: DUP9
0000109c: AND
0000109d: SWAP6
0000109e: PUSH4 0x8201aa3f
000010a3: SWAP6
000010a4: PUSH2 0x10bf
000010a7: SWAP6
000010a8: PUSH2 0x0100
000010ab: SWAP1
000010ac: SWAP3
000010ad: DIV
000010ae: SWAP1
000010af: SWAP3
000010b0: AND
000010b1: SWAP4
000010b2: SWAP2
000010b3: SWAP3
000010b4: DUP16
000010b5: SWAP3
000010b6: SWAP2
000010b7: SWAP1
000010b8: PUSH1 0x04
000010ba: ADD
000010bb: PUSH2 0x2ba0
000010be: JUMP
000010bf: JUMPDEST
000010c0: PUSH1 0x40
000010c2: DUP1
000010c3: MLOAD
000010c4: DUP1
000010c5: DUP4
000010c6: SUB
000010c7: DUP2
000010c8: PUSH1 0x00
000010ca: DUP8
000010cb: DUP1
000010cc: EXTCODESIZE
000010cd: ISZERO
000010ce: DUP1
000010cf: ISZERO
000010d0: PUSH2 0x10d8
000010d3: JUMPI
000010d4: PUSH1 0x00
000010d6: DUP1
000010d7: REVERT
000010d8: JUMPDEST
000010d9: POP
000010da: GAS
000010db: CALL
000010dc: ISZERO
000010dd: DUP1
000010de: ISZERO
000010df: PUSH2 0x10ec
000010e2: JUMPI
000010e3: RETURNDATASIZE
000010e4: PUSH1 0x00
000010e6: DUP1
000010e7: RETURNDATACOPY
000010e8: RETURNDATASIZE
000010e9: PUSH1 0x00
000010eb: REVERT
000010ec: JUMPDEST
000010ed: POP
000010ee: POP
000010ef: POP
000010f0: POP
000010f1: PUSH1 0x40
000010f3: MLOAD
000010f4: RETURNDATASIZE
000010f5: PUSH1 0x1f
000010f7: NOT
000010f8: PUSH1 0x1f
000010fa: DUP3
000010fb: ADD
000010fc: AND
000010fd: DUP3
000010fe: ADD
000010ff: DUP1
00001100: PUSH1 0x40
00001102: MSTORE
00001103: POP
00001104: PUSH2 0x1110
00001107: SWAP2
00001108: SWAP1
00001109: DUP2
0000110a: ADD
0000110b: SWAP1
0000110c: PUSH2 0x2934
0000110f: JUMP
00001110: JUMPDEST
00001111: POP
00001112: SWAP1
00001113: POP
00001114: PUSH2 0x111d
00001117: DUP2
00001118: DUP8
00001119: PUSH2 0x2561
0000111c: JUMP
0000111d: JUMPDEST
0000111e: SWAP6
0000111f: POP
00001120: POP
00001121: PUSH1 0x01
00001123: SWAP1
00001124: SWAP3
00001125: ADD
00001126: SWAP2
00001127: POP
00001128: PUSH2 0x0edc
0000112b: SWAP1
0000112c: POP
0000112d: JUMP
0000112e: JUMPDEST
0000112f: POP
00001130: DUP3
00001131: DUP3
00001132: LT
00001133: ISZERO
00001134: PUSH2 0x114f
00001137: JUMPI
00001138: PUSH1 0x40
0000113a: MLOAD
0000113b: PUSH3 0x461bcd
0000113f: PUSH1 0xe5
00001141: SHL
00001142: DUP2
00001143: MSTORE
00001144: PUSH1 0x04
00001146: ADD
00001147: PUSH2 0x0188
0000114a: SWAP1
0000114b: PUSH2 0x2bfe
0000114e: JUMP
0000114f: JUMPDEST
00001150: PUSH1 0x40
00001152: MLOAD
00001153: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001174: DUP2
00001175: MSTORE
00001176: PUSH1 0x01
00001178: PUSH1 0x01
0000117a: PUSH1 0xa0
0000117c: SHL
0000117d: SUB
0000117e: DUP3
0000117f: AND
00001180: SWAP1
00001181: PUSH4 0xa9059cbb
00001186: SWAP1
00001187: CALLER
00001188: SWAP1
00001189: DUP4
0000118a: SWAP1
0000118b: PUSH4 0x70a08231
00001190: SWAP1
00001191: PUSH2 0x119e
00001194: SWAP1
00001195: ADDRESS
00001196: SWAP1
00001197: PUSH1 0x04
00001199: ADD
0000119a: PUSH2 0x2b1f
0000119d: JUMP
0000119e: JUMPDEST
0000119f: PUSH1 0x20
000011a1: PUSH1 0x40
000011a3: MLOAD
000011a4: DUP1
000011a5: DUP4
000011a6: SUB
000011a7: DUP2
000011a8: PUSH1 0x00
000011aa: DUP8
000011ab: DUP1
000011ac: EXTCODESIZE
000011ad: ISZERO
000011ae: DUP1
000011af: ISZERO
000011b0: PUSH2 0x11b8
000011b3: JUMPI
000011b4: PUSH1 0x00
000011b6: DUP1
000011b7: REVERT
000011b8: JUMPDEST
000011b9: POP
000011ba: GAS
000011bb: CALL
000011bc: ISZERO
000011bd: DUP1
000011be: ISZERO
000011bf: PUSH2 0x11cc
000011c2: JUMPI
000011c3: RETURNDATASIZE
000011c4: PUSH1 0x00
000011c6: DUP1
000011c7: RETURNDATACOPY
000011c8: RETURNDATASIZE
000011c9: PUSH1 0x00
000011cb: REVERT
000011cc: JUMPDEST
000011cd: POP
000011ce: POP
000011cf: POP
000011d0: POP
000011d1: PUSH1 0x40
000011d3: MLOAD
000011d4: RETURNDATASIZE
000011d5: PUSH1 0x1f
000011d7: NOT
000011d8: PUSH1 0x1f
000011da: DUP3
000011db: ADD
000011dc: AND
000011dd: DUP3
000011de: ADD
000011df: DUP1
000011e0: PUSH1 0x40
000011e2: MSTORE
000011e3: POP
000011e4: PUSH2 0x11f0
000011e7: SWAP2
000011e8: SWAP1
000011e9: DUP2
000011ea: ADD
000011eb: SWAP1
000011ec: PUSH2 0x2916
000011ef: JUMP
000011f0: JUMPDEST
000011f1: PUSH1 0x40
000011f3: MLOAD
000011f4: DUP4
000011f5: PUSH4 0xffffffff
000011fa: AND
000011fb: PUSH1 0xe0
000011fd: SHL
000011fe: DUP2
000011ff: MSTORE
00001200: PUSH1 0x04
00001202: ADD
00001203: PUSH2 0x120d
00001206: SWAP3
00001207: SWAP2
00001208: SWAP1
00001209: PUSH2 0x2b77
0000120c: JUMP
0000120d: JUMPDEST
0000120e: PUSH1 0x20
00001210: PUSH1 0x40
00001212: MLOAD
00001213: DUP1
00001214: DUP4
00001215: SUB
00001216: DUP2
00001217: PUSH1 0x00
00001219: DUP8
0000121a: DUP1
0000121b: EXTCODESIZE
0000121c: ISZERO
0000121d: DUP1
0000121e: ISZERO
0000121f: PUSH2 0x1227
00001222: JUMPI
00001223: PUSH1 0x00
00001225: DUP1
00001226: REVERT
00001227: JUMPDEST
00001228: POP
00001229: GAS
0000122a: CALL
0000122b: ISZERO
0000122c: DUP1
0000122d: ISZERO
0000122e: PUSH2 0x123b
00001231: JUMPI
00001232: RETURNDATASIZE
00001233: PUSH1 0x00
00001235: DUP1
00001236: RETURNDATACOPY
00001237: RETURNDATASIZE
00001238: PUSH1 0x00
0000123a: REVERT
0000123b: JUMPDEST
0000123c: POP
0000123d: POP
0000123e: POP
0000123f: POP
00001240: PUSH1 0x40
00001242: MLOAD
00001243: RETURNDATASIZE
00001244: PUSH1 0x1f
00001246: NOT
00001247: PUSH1 0x1f
00001249: DUP3
0000124a: ADD
0000124b: AND
0000124c: DUP3
0000124d: ADD
0000124e: DUP1
0000124f: PUSH1 0x40
00001251: MSTORE
00001252: POP
00001253: PUSH2 0x125f
00001256: SWAP2
00001257: SWAP1
00001258: DUP2
00001259: ADD
0000125a: SWAP1
0000125b: PUSH2 0x28f0
0000125e: JUMP
0000125f: JUMPDEST
00001260: PUSH2 0x127b
00001263: JUMPI
00001264: PUSH1 0x40
00001266: MLOAD
00001267: PUSH3 0x461bcd
0000126b: PUSH1 0xe5
0000126d: SHL
0000126e: DUP2
0000126f: MSTORE
00001270: PUSH1 0x04
00001272: ADD
00001273: PUSH2 0x0188
00001276: SWAP1
00001277: PUSH2 0x2c3e
0000127a: JUMP
0000127b: JUMPDEST
0000127c: PUSH1 0x00
0000127e: DUP1
0000127f: SLOAD
00001280: PUSH1 0x40
00001282: MLOAD
00001283: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000012a4: DUP2
000012a5: MSTORE
000012a6: PUSH2 0x0100
000012a9: SWAP1
000012aa: SWAP2
000012ab: DIV
000012ac: PUSH1 0x01
000012ae: PUSH1 0x01
000012b0: PUSH1 0xa0
000012b2: SHL
000012b3: SUB
000012b4: AND
000012b5: SWAP1
000012b6: PUSH4 0x70a08231
000012bb: SWAP1
000012bc: PUSH2 0x12c9
000012bf: SWAP1
000012c0: ADDRESS
000012c1: SWAP1
000012c2: PUSH1 0x04
000012c4: ADD
000012c5: PUSH2 0x2b1f
000012c8: JUMP
000012c9: JUMPDEST
000012ca: PUSH1 0x20
000012cc: PUSH1 0x40
000012ce: MLOAD
000012cf: DUP1
000012d0: DUP4
000012d1: SUB
000012d2: DUP2
000012d3: PUSH1 0x00
000012d5: DUP8
000012d6: DUP1
000012d7: EXTCODESIZE
000012d8: ISZERO
000012d9: DUP1
000012da: ISZERO
000012db: PUSH2 0x12e3
000012de: JUMPI
000012df: PUSH1 0x00
000012e1: DUP1
000012e2: REVERT
000012e3: JUMPDEST
000012e4: POP
000012e5: GAS
000012e6: CALL
000012e7: ISZERO
000012e8: DUP1
000012e9: ISZERO
000012ea: PUSH2 0x12f7
000012ed: JUMPI
000012ee: RETURNDATASIZE
000012ef: PUSH1 0x00
000012f1: DUP1
000012f2: RETURNDATACOPY
000012f3: RETURNDATASIZE
000012f4: PUSH1 0x00
000012f6: REVERT
000012f7: JUMPDEST
000012f8: POP
000012f9: POP
000012fa: POP
000012fb: POP
000012fc: PUSH1 0x40
000012fe: MLOAD
000012ff: RETURNDATASIZE
00001300: PUSH1 0x1f
00001302: NOT
00001303: PUSH1 0x1f
00001305: DUP3
00001306: ADD
00001307: AND
00001308: DUP3
00001309: ADD
0000130a: DUP1
0000130b: PUSH1 0x40
0000130d: MSTORE
0000130e: POP
0000130f: PUSH2 0x131b
00001312: SWAP2
00001313: SWAP1
00001314: DUP2
00001315: ADD
00001316: SWAP1
00001317: PUSH2 0x2916
0000131a: JUMP
0000131b: JUMPDEST
0000131c: SWAP1
0000131d: POP
0000131e: DUP1
0000131f: ISZERO
00001320: PUSH2 0x1370
00001323: JUMPI
00001324: PUSH1 0x00
00001326: SLOAD
00001327: PUSH1 0x40
00001329: MLOAD
0000132a: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
0000134b: DUP2
0000134c: MSTORE
0000134d: PUSH2 0x0100
00001350: SWAP1
00001351: SWAP2
00001352: DIV
00001353: PUSH1 0x01
00001355: PUSH1 0x01
00001357: PUSH1 0xa0
00001359: SHL
0000135a: SUB
0000135b: AND
0000135c: SWAP1
0000135d: PUSH4 0x2e1a7d4d
00001362: SWAP1
00001363: PUSH2 0x06c9
00001366: SWAP1
00001367: DUP5
00001368: SWAP1
00001369: PUSH1 0x04
0000136b: ADD
0000136c: PUSH2 0x2c5e
0000136f: JUMP
00001370: JUMPDEST
00001371: POP
00001372: POP
00001373: PUSH1 0x00
00001375: DUP1
00001376: SLOAD
00001377: PUSH1 0xff
00001379: NOT
0000137a: AND
0000137b: SWAP1
0000137c: SSTORE
0000137d: SWAP4
0000137e: SWAP3
0000137f: POP
00001380: POP
00001381: POP
00001382: JUMP
00001383: JUMPDEST
00001384: PUSH1 0x40
00001386: MLOAD
00001387: PUSH1 0x00
00001389: SWAP1
0000138a: CALLER
0000138b: SWAP1
0000138c: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000013ad: DUP4
000013ae: CALLDATALOAD
000013af: AND
000013b0: SWAP1
000013b1: PUSH2 0x13bd
000013b4: SWAP1
000013b5: DUP5
000013b6: SWAP1
000013b7: CALLDATASIZE
000013b8: SWAP1
000013b9: PUSH2 0x2bec
000013bc: JUMP
000013bd: JUMPDEST
000013be: PUSH1 0x40
000013c0: MLOAD
000013c1: DUP1
000013c2: SWAP2
000013c3: SUB
000013c4: SWAP1
000013c5: LOG2
000013c6: PUSH1 0x00
000013c8: SLOAD
000013c9: PUSH1 0xff
000013cb: AND
000013cc: ISZERO
000013cd: PUSH2 0x13e8
000013d0: JUMPI
000013d1: PUSH1 0x40
000013d3: MLOAD
000013d4: PUSH3 0x461bcd
000013d8: PUSH1 0xe5
000013da: SHL
000013db: DUP2
000013dc: MSTORE
000013dd: PUSH1 0x04
000013df: ADD
000013e0: PUSH2 0x0188
000013e3: SWAP1
000013e4: PUSH2 0x2c1e
000013e7: JUMP
000013e8: JUMPDEST
000013e9: PUSH1 0x00
000013eb: DUP1
000013ec: SLOAD
000013ed: PUSH1 0x01
000013ef: PUSH1 0xff
000013f1: NOT
000013f2: SWAP1
000013f3: SWAP2
000013f4: AND
000013f5: OR
000013f6: DUP1
000013f7: DUP3
000013f8: SSTORE
000013f9: PUSH1 0x40
000013fb: DUP1
000013fc: MLOAD
000013fd: PUSH32 0xd0e30db000000000000000000000000000000000000000000000000000000000
0000141e: DUP2
0000141f: MSTORE
00001420: SWAP1
00001421: MLOAD
00001422: DUP6
00001423: SWAP4
00001424: PUSH2 0x0100
00001427: SWAP1
00001428: SWAP4
00001429: DIV
0000142a: PUSH1 0x01
0000142c: PUSH1 0x01
0000142e: PUSH1 0xa0
00001430: SHL
00001431: SUB
00001432: AND
00001433: SWAP3
00001434: PUSH4 0xd0e30db0
00001439: SWAP3
0000143a: CALLVALUE
0000143b: SWAP3
0000143c: PUSH1 0x04
0000143e: DUP1
0000143f: DUP4
00001440: ADD
00001441: SWAP4
00001442: SWAP3
00001443: DUP3
00001444: SWAP1
00001445: SUB
00001446: ADD
00001447: DUP2
00001448: DUP6
00001449: DUP9
0000144a: DUP1
0000144b: EXTCODESIZE
0000144c: ISZERO
0000144d: DUP1
0000144e: ISZERO
0000144f: PUSH2 0x1457
00001452: JUMPI
00001453: PUSH1 0x00
00001455: DUP1
00001456: REVERT
00001457: JUMPDEST
00001458: POP
00001459: GAS
0000145a: CALL
0000145b: ISZERO
0000145c: DUP1
0000145d: ISZERO
0000145e: PUSH2 0x146b
00001461: JUMPI
00001462: RETURNDATASIZE
00001463: PUSH1 0x00
00001465: DUP1
00001466: RETURNDATACOPY
00001467: RETURNDATASIZE
00001468: PUSH1 0x00
0000146a: REVERT
0000146b: JUMPDEST
0000146c: POP
0000146d: PUSH1 0x00
0000146f: SWAP4
00001470: POP
00001471: POP
00001472: POP
00001473: POP
00001474: JUMPDEST
00001475: DUP5
00001476: MLOAD
00001477: DUP2
00001478: LT
00001479: ISZERO
0000147a: PUSH2 0x16c6
0000147d: JUMPI
0000147e: PUSH2 0x1485
00001481: PUSH2 0x258f
00001484: JUMP
00001485: JUMPDEST
00001486: DUP6
00001487: DUP3
00001488: DUP2
00001489: MLOAD
0000148a: DUP2
0000148b: LT
0000148c: PUSH2 0x1491
0000148f: JUMPI
00001490: INVALID
00001491: JUMPDEST
00001492: PUSH1 0x20
00001494: SWAP1
00001495: DUP2
00001496: MUL
00001497: SWAP2
00001498: SWAP1
00001499: SWAP2
0000149a: ADD
0000149b: ADD
0000149c: MLOAD
0000149d: DUP1
0000149e: MLOAD
0000149f: PUSH1 0x00
000014a1: SLOAD
000014a2: PUSH1 0x40
000014a4: MLOAD
000014a5: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
000014c6: DUP2
000014c7: MSTORE
000014c8: SWAP3
000014c9: SWAP4
000014ca: POP
000014cb: SWAP1
000014cc: SWAP2
000014cd: CALLVALUE
000014ce: SWAP2
000014cf: PUSH2 0x0100
000014d2: SWAP1
000014d3: DIV
000014d4: PUSH1 0x01
000014d6: PUSH1 0x01
000014d8: PUSH1 0xa0
000014da: SHL
000014db: SUB
000014dc: AND
000014dd: SWAP1
000014de: PUSH4 0xdd62ed3e
000014e3: SWAP1
000014e4: PUSH2 0x14f3
000014e7: SWAP1
000014e8: ADDRESS
000014e9: SWAP1
000014ea: DUP7
000014eb: SWAP1
000014ec: PUSH1 0x04
000014ee: ADD
000014ef: PUSH2 0x2b2d
000014f2: JUMP
000014f3: JUMPDEST
000014f4: PUSH1 0x20
000014f6: PUSH1 0x40
000014f8: MLOAD
000014f9: DUP1
000014fa: DUP4
000014fb: SUB
000014fc: DUP2
000014fd: PUSH1 0x00
000014ff: DUP8
00001500: DUP1
00001501: EXTCODESIZE
00001502: ISZERO
00001503: DUP1
00001504: ISZERO
00001505: PUSH2 0x150d
00001508: JUMPI
00001509: PUSH1 0x00
0000150b: DUP1
0000150c: REVERT
0000150d: JUMPDEST
0000150e: POP
0000150f: GAS
00001510: CALL
00001511: ISZERO
00001512: DUP1
00001513: ISZERO
00001514: PUSH2 0x1521
00001517: JUMPI
00001518: RETURNDATASIZE
00001519: PUSH1 0x00
0000151b: DUP1
0000151c: RETURNDATACOPY
0000151d: RETURNDATASIZE
0000151e: PUSH1 0x00
00001520: REVERT
00001521: JUMPDEST
00001522: POP
00001523: POP
00001524: POP
00001525: POP
00001526: PUSH1 0x40
00001528: MLOAD
00001529: RETURNDATASIZE
0000152a: PUSH1 0x1f
0000152c: NOT
0000152d: PUSH1 0x1f
0000152f: DUP3
00001530: ADD
00001531: AND
00001532: DUP3
00001533: ADD
00001534: DUP1
00001535: PUSH1 0x40
00001537: MSTORE
00001538: POP
00001539: PUSH2 0x1545
0000153c: SWAP2
0000153d: SWAP1
0000153e: DUP2
0000153f: ADD
00001540: SWAP1
00001541: PUSH2 0x2916
00001544: JUMP
00001545: JUMPDEST
00001546: LT
00001547: ISZERO
00001548: PUSH2 0x15f0
0000154b: JUMPI
0000154c: PUSH1 0x00
0000154e: SLOAD
0000154f: DUP3
00001550: MLOAD
00001551: PUSH1 0x40
00001553: MLOAD
00001554: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00001575: DUP2
00001576: MSTORE
00001577: PUSH2 0x0100
0000157a: SWAP1
0000157b: SWAP3
0000157c: DIV
0000157d: PUSH1 0x01
0000157f: PUSH1 0x01
00001581: PUSH1 0xa0
00001583: SHL
00001584: SUB
00001585: AND
00001586: SWAP2
00001587: PUSH4 0x095ea7b3
0000158c: SWAP2
0000158d: PUSH2 0x159c
00001590: SWAP2
00001591: PUSH1 0x00
00001593: NOT
00001594: SWAP1
00001595: PUSH1 0x04
00001597: ADD
00001598: PUSH2 0x2b92
0000159b: JUMP
0000159c: JUMPDEST
0000159d: PUSH1 0x20
0000159f: PUSH1 0x40
000015a1: MLOAD
000015a2: DUP1
000015a3: DUP4
000015a4: SUB
000015a5: DUP2
000015a6: PUSH1 0x00
000015a8: DUP8
000015a9: DUP1
000015aa: EXTCODESIZE
000015ab: ISZERO
000015ac: DUP1
000015ad: ISZERO
000015ae: PUSH2 0x15b6
000015b1: JUMPI
000015b2: PUSH1 0x00
000015b4: DUP1
000015b5: REVERT
000015b6: JUMPDEST
000015b7: POP
000015b8: GAS
000015b9: CALL
000015ba: ISZERO
000015bb: DUP1
000015bc: ISZERO
000015bd: PUSH2 0x15ca
000015c0: JUMPI
000015c1: RETURNDATASIZE
000015c2: PUSH1 0x00
000015c4: DUP1
000015c5: RETURNDATACOPY
000015c6: RETURNDATASIZE
000015c7: PUSH1 0x00
000015c9: REVERT
000015ca: JUMPDEST
000015cb: POP
000015cc: POP
000015cd: POP
000015ce: POP
000015cf: PUSH1 0x40
000015d1: MLOAD
000015d2: RETURNDATASIZE
000015d3: PUSH1 0x1f
000015d5: NOT
000015d6: PUSH1 0x1f
000015d8: DUP3
000015d9: ADD
000015da: AND
000015db: DUP3
000015dc: ADD
000015dd: DUP1
000015de: PUSH1 0x40
000015e0: MSTORE
000015e1: POP
000015e2: PUSH2 0x15ee
000015e5: SWAP2
000015e6: SWAP1
000015e7: DUP2
000015e8: ADD
000015e9: SWAP1
000015ea: PUSH2 0x28f0
000015ed: JUMP
000015ee: JUMPDEST
000015ef: POP
000015f0: JUMPDEST
000015f1: PUSH1 0x00
000015f3: DUP1
000015f4: SLOAD
000015f5: PUSH1 0x20
000015f7: DUP5
000015f8: ADD
000015f9: MLOAD
000015fa: PUSH1 0x40
000015fc: DUP1
000015fd: DUP7
000015fe: ADD
000015ff: MLOAD
00001600: PUSH1 0x60
00001602: DUP8
00001603: ADD
00001604: MLOAD
00001605: SWAP2
00001606: MLOAD
00001607: PUSH32 0x7c5e9ea400000000000000000000000000000000000000000000000000000000
00001628: DUP2
00001629: MSTORE
0000162a: PUSH1 0x01
0000162c: PUSH1 0x01
0000162e: PUSH1 0xa0
00001630: SHL
00001631: SUB
00001632: DUP1
00001633: DUP9
00001634: AND
00001635: SWAP6
00001636: PUSH4 0x7c5e9ea4
0000163b: SWAP6
0000163c: PUSH2 0x1657
0000163f: SWAP6
00001640: PUSH2 0x0100
00001643: SWAP1
00001644: SWAP3
00001645: DIV
00001646: SWAP1
00001647: SWAP3
00001648: AND
00001649: SWAP4
0000164a: SWAP2
0000164b: SWAP3
0000164c: DUP15
0000164d: SWAP3
0000164e: SWAP2
0000164f: SWAP1
00001650: PUSH1 0x04
00001652: ADD
00001653: PUSH2 0x2ba0
00001656: JUMP
00001657: JUMPDEST
00001658: PUSH1 0x40
0000165a: DUP1
0000165b: MLOAD
0000165c: DUP1
0000165d: DUP4
0000165e: SUB
0000165f: DUP2
00001660: PUSH1 0x00
00001662: DUP8
00001663: DUP1
00001664: EXTCODESIZE
00001665: ISZERO
00001666: DUP1
00001667: ISZERO
00001668: PUSH2 0x1670
0000166b: JUMPI
0000166c: PUSH1 0x00
0000166e: DUP1
0000166f: REVERT
00001670: JUMPDEST
00001671: POP
00001672: GAS
00001673: CALL
00001674: ISZERO
00001675: DUP1
00001676: ISZERO
00001677: PUSH2 0x1684
0000167a: JUMPI
0000167b: RETURNDATASIZE
0000167c: PUSH1 0x00
0000167e: DUP1
0000167f: RETURNDATACOPY
00001680: RETURNDATASIZE
00001681: PUSH1 0x00
00001683: REVERT
00001684: JUMPDEST
00001685: POP
00001686: POP
00001687: POP
00001688: POP
00001689: PUSH1 0x40
0000168b: MLOAD
0000168c: RETURNDATASIZE
0000168d: PUSH1 0x1f
0000168f: NOT
00001690: PUSH1 0x1f
00001692: DUP3
00001693: ADD
00001694: AND
00001695: DUP3
00001696: ADD
00001697: DUP1
00001698: PUSH1 0x40
0000169a: MSTORE
0000169b: POP
0000169c: PUSH2 0x16a8
0000169f: SWAP2
000016a0: SWAP1
000016a1: DUP2
000016a2: ADD
000016a3: SWAP1
000016a4: PUSH2 0x2934
000016a7: JUMP
000016a8: JUMPDEST
000016a9: POP
000016aa: SWAP1
000016ab: POP
000016ac: PUSH2 0x16b5
000016af: DUP2
000016b0: DUP8
000016b1: PUSH2 0x2561
000016b4: JUMP
000016b5: JUMPDEST
000016b6: SWAP6
000016b7: POP
000016b8: POP
000016b9: PUSH1 0x01
000016bb: SWAP1
000016bc: SWAP3
000016bd: ADD
000016be: SWAP2
000016bf: POP
000016c0: PUSH2 0x1474
000016c3: SWAP1
000016c4: POP
000016c5: JUMP
000016c6: JUMPDEST
000016c7: POP
000016c8: PUSH1 0x40
000016ca: MLOAD
000016cb: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000016ec: DUP2
000016ed: MSTORE
000016ee: PUSH1 0x01
000016f0: PUSH1 0x01
000016f2: PUSH1 0xa0
000016f4: SHL
000016f5: SUB
000016f6: DUP3
000016f7: AND
000016f8: SWAP1
000016f9: PUSH4 0xa9059cbb
000016fe: SWAP1
000016ff: CALLER
00001700: SWAP1
00001701: DUP4
00001702: SWAP1
00001703: PUSH4 0x70a08231
00001708: SWAP1
00001709: PUSH2 0x1716
0000170c: SWAP1
0000170d: ADDRESS
0000170e: SWAP1
0000170f: PUSH1 0x04
00001711: ADD
00001712: PUSH2 0x2b1f
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH1 0x20
00001719: PUSH1 0x40
0000171b: MLOAD
0000171c: DUP1
0000171d: DUP4
0000171e: SUB
0000171f: DUP2
00001720: PUSH1 0x00
00001722: DUP8
00001723: DUP1
00001724: EXTCODESIZE
00001725: ISZERO
00001726: DUP1
00001727: ISZERO
00001728: PUSH2 0x1730
0000172b: JUMPI
0000172c: PUSH1 0x00
0000172e: DUP1
0000172f: REVERT
00001730: JUMPDEST
00001731: POP
00001732: GAS
00001733: CALL
00001734: ISZERO
00001735: DUP1
00001736: ISZERO
00001737: PUSH2 0x1744
0000173a: JUMPI
0000173b: RETURNDATASIZE
0000173c: PUSH1 0x00
0000173e: DUP1
0000173f: RETURNDATACOPY
00001740: RETURNDATASIZE
00001741: PUSH1 0x00
00001743: REVERT
00001744: JUMPDEST
00001745: POP
00001746: POP
00001747: POP
00001748: POP
00001749: PUSH1 0x40
0000174b: MLOAD
0000174c: RETURNDATASIZE
0000174d: PUSH1 0x1f
0000174f: NOT
00001750: PUSH1 0x1f
00001752: DUP3
00001753: ADD
00001754: AND
00001755: DUP3
00001756: ADD
00001757: DUP1
00001758: PUSH1 0x40
0000175a: MSTORE
0000175b: POP
0000175c: PUSH2 0x1768
0000175f: SWAP2
00001760: SWAP1
00001761: DUP2
00001762: ADD
00001763: SWAP1
00001764: PUSH2 0x2916
00001767: JUMP
00001768: JUMPDEST
00001769: PUSH1 0x40
0000176b: MLOAD
0000176c: DUP4
0000176d: PUSH4 0xffffffff
00001772: AND
00001773: PUSH1 0xe0
00001775: SHL
00001776: DUP2
00001777: MSTORE
00001778: PUSH1 0x04
0000177a: ADD
0000177b: PUSH2 0x1785
0000177e: SWAP3
0000177f: SWAP2
00001780: SWAP1
00001781: PUSH2 0x2b77
00001784: JUMP
00001785: JUMPDEST
00001786: PUSH1 0x20
00001788: PUSH1 0x40
0000178a: MLOAD
0000178b: DUP1
0000178c: DUP4
0000178d: SUB
0000178e: DUP2
0000178f: PUSH1 0x00
00001791: DUP8
00001792: DUP1
00001793: EXTCODESIZE
00001794: ISZERO
00001795: DUP1
00001796: ISZERO
00001797: PUSH2 0x179f
0000179a: JUMPI
0000179b: PUSH1 0x00
0000179d: DUP1
0000179e: REVERT
0000179f: JUMPDEST
000017a0: POP
000017a1: GAS
000017a2: CALL
000017a3: ISZERO
000017a4: DUP1
000017a5: ISZERO
000017a6: PUSH2 0x17b3
000017a9: JUMPI
000017aa: RETURNDATASIZE
000017ab: PUSH1 0x00
000017ad: DUP1
000017ae: RETURNDATACOPY
000017af: RETURNDATASIZE
000017b0: PUSH1 0x00
000017b2: REVERT
000017b3: JUMPDEST
000017b4: POP
000017b5: POP
000017b6: POP
000017b7: POP
000017b8: PUSH1 0x40
000017ba: MLOAD
000017bb: RETURNDATASIZE
000017bc: PUSH1 0x1f
000017be: NOT
000017bf: PUSH1 0x1f
000017c1: DUP3
000017c2: ADD
000017c3: AND
000017c4: DUP3
000017c5: ADD
000017c6: DUP1
000017c7: PUSH1 0x40
000017c9: MSTORE
000017ca: POP
000017cb: PUSH2 0x17d7
000017ce: SWAP2
000017cf: SWAP1
000017d0: DUP2
000017d1: ADD
000017d2: SWAP1
000017d3: PUSH2 0x28f0
000017d6: JUMP
000017d7: JUMPDEST
000017d8: PUSH2 0x17f3
000017db: JUMPI
000017dc: PUSH1 0x40
000017de: MLOAD
000017df: PUSH3 0x461bcd
000017e3: PUSH1 0xe5
000017e5: SHL
000017e6: DUP2
000017e7: MSTORE
000017e8: PUSH1 0x04
000017ea: ADD
000017eb: PUSH2 0x0188
000017ee: SWAP1
000017ef: PUSH2 0x2c3e
000017f2: JUMP
000017f3: JUMPDEST
000017f4: PUSH1 0x00
000017f6: DUP1
000017f7: SLOAD
000017f8: PUSH1 0x40
000017fa: MLOAD
000017fb: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
0000181c: DUP2
0000181d: MSTORE
0000181e: PUSH2 0x0100
00001821: SWAP1
00001822: SWAP2
00001823: DIV
00001824: PUSH1 0x01
00001826: PUSH1 0x01
00001828: PUSH1 0xa0
0000182a: SHL
0000182b: SUB
0000182c: AND
0000182d: SWAP1
0000182e: PUSH4 0x70a08231
00001833: SWAP1
00001834: PUSH2 0x1841
00001837: SWAP1
00001838: ADDRESS
00001839: SWAP1
0000183a: PUSH1 0x04
0000183c: ADD
0000183d: PUSH2 0x2b1f
00001840: JUMP
00001841: JUMPDEST
00001842: PUSH1 0x20
00001844: PUSH1 0x40
00001846: MLOAD
00001847: DUP1
00001848: DUP4
00001849: SUB
0000184a: DUP2
0000184b: PUSH1 0x00
0000184d: DUP8
0000184e: DUP1
0000184f: EXTCODESIZE
00001850: ISZERO
00001851: DUP1
00001852: ISZERO
00001853: PUSH2 0x185b
00001856: JUMPI
00001857: PUSH1 0x00
00001859: DUP1
0000185a: REVERT
0000185b: JUMPDEST
0000185c: POP
0000185d: GAS
0000185e: CALL
0000185f: ISZERO
00001860: DUP1
00001861: ISZERO
00001862: PUSH2 0x186f
00001865: JUMPI
00001866: RETURNDATASIZE
00001867: PUSH1 0x00
00001869: DUP1
0000186a: RETURNDATACOPY
0000186b: RETURNDATASIZE
0000186c: PUSH1 0x00
0000186e: REVERT
0000186f: JUMPDEST
00001870: POP
00001871: POP
00001872: POP
00001873: POP
00001874: PUSH1 0x40
00001876: MLOAD
00001877: RETURNDATASIZE
00001878: PUSH1 0x1f
0000187a: NOT
0000187b: PUSH1 0x1f
0000187d: DUP3
0000187e: ADD
0000187f: AND
00001880: DUP3
00001881: ADD
00001882: DUP1
00001883: PUSH1 0x40
00001885: MSTORE
00001886: POP
00001887: PUSH2 0x1893
0000188a: SWAP2
0000188b: SWAP1
0000188c: DUP2
0000188d: ADD
0000188e: SWAP1
0000188f: PUSH2 0x2916
00001892: JUMP
00001893: JUMPDEST
00001894: SWAP1
00001895: POP
00001896: DUP1
00001897: ISZERO
00001898: PUSH2 0x1998
0000189b: JUMPI
0000189c: PUSH1 0x00
0000189e: SLOAD
0000189f: PUSH1 0x40
000018a1: MLOAD
000018a2: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
000018c3: DUP2
000018c4: MSTORE
000018c5: PUSH2 0x0100
000018c8: SWAP1
000018c9: SWAP2
000018ca: DIV
000018cb: PUSH1 0x01
000018cd: PUSH1 0x01
000018cf: PUSH1 0xa0
000018d1: SHL
000018d2: SUB
000018d3: AND
000018d4: SWAP1
000018d5: PUSH4 0x2e1a7d4d
000018da: SWAP1
000018db: PUSH2 0x18e8
000018de: SWAP1
000018df: DUP5
000018e0: SWAP1
000018e1: PUSH1 0x04
000018e3: ADD
000018e4: PUSH2 0x2c5e
000018e7: JUMP
000018e8: JUMPDEST
000018e9: PUSH1 0x00
000018eb: PUSH1 0x40
000018ed: MLOAD
000018ee: DUP1
000018ef: DUP4
000018f0: SUB
000018f1: DUP2
000018f2: PUSH1 0x00
000018f4: DUP8
000018f5: DUP1
000018f6: EXTCODESIZE
000018f7: ISZERO
000018f8: DUP1
000018f9: ISZERO
000018fa: PUSH2 0x1902
000018fd: JUMPI
000018fe: PUSH1 0x00
00001900: DUP1
00001901: REVERT
00001902: JUMPDEST
00001903: POP
00001904: GAS
00001905: CALL
00001906: ISZERO
00001907: DUP1
00001908: ISZERO
00001909: PUSH2 0x1916
0000190c: JUMPI
0000190d: RETURNDATASIZE
0000190e: PUSH1 0x00
00001910: DUP1
00001911: RETURNDATACOPY
00001912: RETURNDATASIZE
00001913: PUSH1 0x00
00001915: REVERT
00001916: JUMPDEST
00001917: POP
00001918: POP
00001919: POP
0000191a: POP
0000191b: PUSH1 0x00
0000191d: CALLER
0000191e: PUSH1 0x01
00001920: PUSH1 0x01
00001922: PUSH1 0xa0
00001924: SHL
00001925: SUB
00001926: AND
00001927: DUP3
00001928: PUSH1 0x40
0000192a: MLOAD
0000192b: PUSH2 0x1933
0000192e: SWAP1
0000192f: PUSH2 0x2b14
00001932: JUMP
00001933: JUMPDEST
00001934: PUSH1 0x00
00001936: PUSH1 0x40
00001938: MLOAD
00001939: DUP1
0000193a: DUP4
0000193b: SUB
0000193c: DUP2
0000193d: DUP6
0000193e: DUP8
0000193f: GAS
00001940: CALL
00001941: SWAP3
00001942: POP
00001943: POP
00001944: POP
00001945: RETURNDATASIZE
00001946: DUP1
00001947: PUSH1 0x00
00001949: DUP2
0000194a: EQ
0000194b: PUSH2 0x1970
0000194e: JUMPI
0000194f: PUSH1 0x40
00001951: MLOAD
00001952: SWAP2
00001953: POP
00001954: PUSH1 0x1f
00001956: NOT
00001957: PUSH1 0x3f
00001959: RETURNDATASIZE
0000195a: ADD
0000195b: AND
0000195c: DUP3
0000195d: ADD
0000195e: PUSH1 0x40
00001960: MSTORE
00001961: RETURNDATASIZE
00001962: DUP3
00001963: MSTORE
00001964: RETURNDATASIZE
00001965: PUSH1 0x00
00001967: PUSH1 0x20
00001969: DUP5
0000196a: ADD
0000196b: RETURNDATACOPY
0000196c: PUSH2 0x1975
0000196f: JUMP
00001970: JUMPDEST
00001971: PUSH1 0x60
00001973: SWAP2
00001974: POP
00001975: JUMPDEST
00001976: POP
00001977: POP
00001978: SWAP1
00001979: POP
0000197a: DUP1
0000197b: PUSH2 0x1996
0000197e: JUMPI
0000197f: PUSH1 0x40
00001981: MLOAD
00001982: PUSH3 0x461bcd
00001986: PUSH1 0xe5
00001988: SHL
00001989: DUP2
0000198a: MSTORE
0000198b: PUSH1 0x04
0000198d: ADD
0000198e: PUSH2 0x0188
00001991: SWAP1
00001992: PUSH2 0x2c2e
00001995: JUMP
00001996: JUMPDEST
00001997: POP
00001998: JUMPDEST
00001999: POP
0000199a: POP
0000199b: PUSH1 0x00
0000199d: DUP1
0000199e: SLOAD
0000199f: PUSH1 0xff
000019a1: NOT
000019a2: AND
000019a3: SWAP1
000019a4: SSTORE
000019a5: SWAP3
000019a6: SWAP2
000019a7: POP
000019a8: POP
000019a9: JUMP
000019aa: JUMPDEST
000019ab: PUSH1 0x40
000019ad: MLOAD
000019ae: PUSH1 0x00
000019b0: SWAP1
000019b1: CALLER
000019b2: SWAP1
000019b3: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000019d4: DUP4
000019d5: CALLDATALOAD
000019d6: AND
000019d7: SWAP1
000019d8: PUSH2 0x19e4
000019db: SWAP1
000019dc: DUP5
000019dd: SWAP1
000019de: CALLDATASIZE
000019df: SWAP1
000019e0: PUSH2 0x2bec
000019e3: JUMP
000019e4: JUMPDEST
000019e5: PUSH1 0x40
000019e7: MLOAD
000019e8: DUP1
000019e9: SWAP2
000019ea: SUB
000019eb: SWAP1
000019ec: LOG2
000019ed: PUSH1 0x00
000019ef: SLOAD
000019f0: PUSH1 0xff
000019f2: AND
000019f3: ISZERO
000019f4: PUSH2 0x1a0f
000019f7: JUMPI
000019f8: PUSH1 0x40
000019fa: MLOAD
000019fb: PUSH3 0x461bcd
000019ff: PUSH1 0xe5
00001a01: SHL
00001a02: DUP2
00001a03: MSTORE
00001a04: PUSH1 0x04
00001a06: ADD
00001a07: PUSH2 0x0188
00001a0a: SWAP1
00001a0b: PUSH2 0x2c1e
00001a0e: JUMP
00001a0f: JUMPDEST
00001a10: PUSH1 0x00
00001a12: DUP1
00001a13: SLOAD
00001a14: PUSH1 0xff
00001a16: NOT
00001a17: AND
00001a18: PUSH1 0x01
00001a1a: OR
00001a1b: SWAP1
00001a1c: SSTORE
00001a1d: PUSH1 0x40
00001a1f: MLOAD
00001a20: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00001a41: DUP2
00001a42: MSTORE
00001a43: DUP5
00001a44: SWAP1
00001a45: DUP5
00001a46: SWAP1
00001a47: PUSH1 0x01
00001a49: PUSH1 0x01
00001a4b: PUSH1 0xa0
00001a4d: SHL
00001a4e: SUB
00001a4f: DUP4
00001a50: AND
00001a51: SWAP1
00001a52: PUSH4 0x23b872dd
00001a57: SWAP1
00001a58: PUSH2 0x1a69
00001a5b: SWAP1
00001a5c: CALLER
00001a5d: SWAP1
00001a5e: ADDRESS
00001a5f: SWAP1
00001a60: DUP10
00001a61: SWAP1
00001a62: PUSH1 0x04
00001a64: ADD
00001a65: PUSH2 0x2b4f
00001a68: JUMP
00001a69: JUMPDEST
00001a6a: PUSH1 0x20
00001a6c: PUSH1 0x40
00001a6e: MLOAD
00001a6f: DUP1
00001a70: DUP4
00001a71: SUB
00001a72: DUP2
00001a73: PUSH1 0x00
00001a75: DUP8
00001a76: DUP1
00001a77: EXTCODESIZE
00001a78: ISZERO
00001a79: DUP1
00001a7a: ISZERO
00001a7b: PUSH2 0x1a83
00001a7e: JUMPI
00001a7f: PUSH1 0x00
00001a81: DUP1
00001a82: REVERT
00001a83: JUMPDEST
00001a84: POP
00001a85: GAS
00001a86: CALL
00001a87: ISZERO
00001a88: DUP1
00001a89: ISZERO
00001a8a: PUSH2 0x1a97
00001a8d: JUMPI
00001a8e: RETURNDATASIZE
00001a8f: PUSH1 0x00
00001a91: DUP1
00001a92: RETURNDATACOPY
00001a93: RETURNDATASIZE
00001a94: PUSH1 0x00
00001a96: REVERT
00001a97: JUMPDEST
00001a98: POP
00001a99: POP
00001a9a: POP
00001a9b: POP
00001a9c: PUSH1 0x40
00001a9e: MLOAD
00001a9f: RETURNDATASIZE
00001aa0: PUSH1 0x1f
00001aa2: NOT
00001aa3: PUSH1 0x1f
00001aa5: DUP3
00001aa6: ADD
00001aa7: AND
00001aa8: DUP3
00001aa9: ADD
00001aaa: DUP1
00001aab: PUSH1 0x40
00001aad: MSTORE
00001aae: POP
00001aaf: PUSH2 0x1abb
00001ab2: SWAP2
00001ab3: SWAP1
00001ab4: DUP2
00001ab5: ADD
00001ab6: SWAP1
00001ab7: PUSH2 0x28f0
00001aba: JUMP
00001abb: JUMPDEST
00001abc: PUSH2 0x1ad7
00001abf: JUMPI
00001ac0: PUSH1 0x40
00001ac2: MLOAD
00001ac3: PUSH3 0x461bcd
00001ac7: PUSH1 0xe5
00001ac9: SHL
00001aca: DUP2
00001acb: MSTORE
00001acc: PUSH1 0x04
00001ace: ADD
00001acf: PUSH2 0x0188
00001ad2: SWAP1
00001ad3: PUSH2 0x2c3e
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: PUSH1 0x00
00001ada: JUMPDEST
00001adb: DUP8
00001adc: MLOAD
00001add: DUP2
00001ade: LT
00001adf: ISZERO
00001ae0: PUSH2 0x1cf8
00001ae3: JUMPI
00001ae4: PUSH2 0x1aeb
00001ae7: PUSH2 0x258f
00001aea: JUMP
00001aeb: JUMPDEST
00001aec: DUP9
00001aed: DUP3
00001aee: DUP2
00001aef: MLOAD
00001af0: DUP2
00001af1: LT
00001af2: PUSH2 0x1af7
00001af5: JUMPI
00001af6: INVALID
00001af7: JUMPDEST
00001af8: PUSH1 0x20
00001afa: SWAP1
00001afb: DUP2
00001afc: MUL
00001afd: SWAP2
00001afe: SWAP1
00001aff: SWAP2
00001b00: ADD
00001b01: ADD
00001b02: MLOAD
00001b03: DUP1
00001b04: MLOAD
00001b05: PUSH1 0x40
00001b07: MLOAD
00001b08: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00001b29: DUP2
00001b2a: MSTORE
00001b2b: SWAP2
00001b2c: SWAP3
00001b2d: POP
00001b2e: SWAP1
00001b2f: DUP8
00001b30: SWAP1
00001b31: PUSH1 0x01
00001b33: PUSH1 0x01
00001b35: PUSH1 0xa0
00001b37: SHL
00001b38: SUB
00001b39: DUP8
00001b3a: AND
00001b3b: SWAP1
00001b3c: PUSH4 0xdd62ed3e
00001b41: SWAP1
00001b42: PUSH2 0x1b51
00001b45: SWAP1
00001b46: ADDRESS
00001b47: SWAP1
00001b48: DUP7
00001b49: SWAP1
00001b4a: PUSH1 0x04
00001b4c: ADD
00001b4d: PUSH2 0x2b2d
00001b50: JUMP
00001b51: JUMPDEST
00001b52: PUSH1 0x20
00001b54: PUSH1 0x40
00001b56: MLOAD
00001b57: DUP1
00001b58: DUP4
00001b59: SUB
00001b5a: DUP2
00001b5b: PUSH1 0x00
00001b5d: DUP8
00001b5e: DUP1
00001b5f: EXTCODESIZE
00001b60: ISZERO
00001b61: DUP1
00001b62: ISZERO
00001b63: PUSH2 0x1b6b
00001b66: JUMPI
00001b67: PUSH1 0x00
00001b69: DUP1
00001b6a: REVERT
00001b6b: JUMPDEST
00001b6c: POP
00001b6d: GAS
00001b6e: CALL
00001b6f: ISZERO
00001b70: DUP1
00001b71: ISZERO
00001b72: PUSH2 0x1b7f
00001b75: JUMPI
00001b76: RETURNDATASIZE
00001b77: PUSH1 0x00
00001b79: DUP1
00001b7a: RETURNDATACOPY
00001b7b: RETURNDATASIZE
00001b7c: PUSH1 0x00
00001b7e: REVERT
00001b7f: JUMPDEST
00001b80: POP
00001b81: POP
00001b82: POP
00001b83: POP
00001b84: PUSH1 0x40
00001b86: MLOAD
00001b87: RETURNDATASIZE
00001b88: PUSH1 0x1f
00001b8a: NOT
00001b8b: PUSH1 0x1f
00001b8d: DUP3
00001b8e: ADD
00001b8f: AND
00001b90: DUP3
00001b91: ADD
00001b92: DUP1
00001b93: PUSH1 0x40
00001b95: MSTORE
00001b96: POP
00001b97: PUSH2 0x1ba3
00001b9a: SWAP2
00001b9b: SWAP1
00001b9c: DUP2
00001b9d: ADD
00001b9e: SWAP1
00001b9f: PUSH2 0x2916
00001ba2: JUMP
00001ba3: JUMPDEST
00001ba4: LT
00001ba5: ISZERO
00001ba6: PUSH2 0x1c47
00001ba9: JUMPI
00001baa: DUP2
00001bab: MLOAD
00001bac: PUSH1 0x40
00001bae: MLOAD
00001baf: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00001bd0: DUP2
00001bd1: MSTORE
00001bd2: PUSH1 0x01
00001bd4: PUSH1 0x01
00001bd6: PUSH1 0xa0
00001bd8: SHL
00001bd9: SUB
00001bda: DUP8
00001bdb: AND
00001bdc: SWAP2
00001bdd: PUSH4 0x095ea7b3
00001be2: SWAP2
00001be3: PUSH2 0x1bf3
00001be6: SWAP2
00001be7: SWAP1
00001be8: PUSH1 0x00
00001bea: NOT
00001beb: SWAP1
00001bec: PUSH1 0x04
00001bee: ADD
00001bef: PUSH2 0x2b92
00001bf2: JUMP
00001bf3: JUMPDEST
00001bf4: PUSH1 0x20
00001bf6: PUSH1 0x40
00001bf8: MLOAD
00001bf9: DUP1
00001bfa: DUP4
00001bfb: SUB
00001bfc: DUP2
00001bfd: PUSH1 0x00
00001bff: DUP8
00001c00: DUP1
00001c01: EXTCODESIZE
00001c02: ISZERO
00001c03: DUP1
00001c04: ISZERO
00001c05: PUSH2 0x1c0d
00001c08: JUMPI
00001c09: PUSH1 0x00
00001c0b: DUP1
00001c0c: REVERT
00001c0d: JUMPDEST
00001c0e: POP
00001c0f: GAS
00001c10: CALL
00001c11: ISZERO
00001c12: DUP1
00001c13: ISZERO
00001c14: PUSH2 0x1c21
00001c17: JUMPI
00001c18: RETURNDATASIZE
00001c19: PUSH1 0x00
00001c1b: DUP1
00001c1c: RETURNDATACOPY
00001c1d: RETURNDATASIZE
00001c1e: PUSH1 0x00
00001c20: REVERT
00001c21: JUMPDEST
00001c22: POP
00001c23: POP
00001c24: POP
00001c25: POP
00001c26: PUSH1 0x40
00001c28: MLOAD
00001c29: RETURNDATASIZE
00001c2a: PUSH1 0x1f
00001c2c: NOT
00001c2d: PUSH1 0x1f
00001c2f: DUP3
00001c30: ADD
00001c31: AND
00001c32: DUP3
00001c33: ADD
00001c34: DUP1
00001c35: PUSH1 0x40
00001c37: MSTORE
00001c38: POP
00001c39: PUSH2 0x1c45
00001c3c: SWAP2
00001c3d: SWAP1
00001c3e: DUP2
00001c3f: ADD
00001c40: SWAP1
00001c41: PUSH2 0x28f0
00001c44: JUMP
00001c45: JUMPDEST
00001c46: POP
00001c47: JUMPDEST
00001c48: PUSH1 0x00
00001c4a: DUP2
00001c4b: PUSH1 0x01
00001c4d: PUSH1 0x01
00001c4f: PUSH1 0xa0
00001c51: SHL
00001c52: SUB
00001c53: AND
00001c54: PUSH4 0x7c5e9ea4
00001c59: DUP12
00001c5a: DUP6
00001c5b: PUSH1 0x20
00001c5d: ADD
00001c5e: MLOAD
00001c5f: DUP13
00001c60: DUP8
00001c61: PUSH1 0x40
00001c63: ADD
00001c64: MLOAD
00001c65: DUP9
00001c66: PUSH1 0x60
00001c68: ADD
00001c69: MLOAD
00001c6a: PUSH1 0x40
00001c6c: MLOAD
00001c6d: DUP7
00001c6e: PUSH4 0xffffffff
00001c73: AND
00001c74: PUSH1 0xe0
00001c76: SHL
00001c77: DUP2
00001c78: MSTORE
00001c79: PUSH1 0x04
00001c7b: ADD
00001c7c: PUSH2 0x1c89
00001c7f: SWAP6
00001c80: SWAP5
00001c81: SWAP4
00001c82: SWAP3
00001c83: SWAP2
00001c84: SWAP1
00001c85: PUSH2 0x2ba0
00001c88: JUMP
00001c89: JUMPDEST
00001c8a: PUSH1 0x40
00001c8c: DUP1
00001c8d: MLOAD
00001c8e: DUP1
00001c8f: DUP4
00001c90: SUB
00001c91: DUP2
00001c92: PUSH1 0x00
00001c94: DUP8
00001c95: DUP1
00001c96: EXTCODESIZE
00001c97: ISZERO
00001c98: DUP1
00001c99: ISZERO
00001c9a: PUSH2 0x1ca2
00001c9d: JUMPI
00001c9e: PUSH1 0x00
00001ca0: DUP1
00001ca1: REVERT
00001ca2: JUMPDEST
00001ca3: POP
00001ca4: GAS
00001ca5: CALL
00001ca6: ISZERO
00001ca7: DUP1
00001ca8: ISZERO
00001ca9: PUSH2 0x1cb6
00001cac: JUMPI
00001cad: RETURNDATASIZE
00001cae: PUSH1 0x00
00001cb0: DUP1
00001cb1: RETURNDATACOPY
00001cb2: RETURNDATASIZE
00001cb3: PUSH1 0x00
00001cb5: REVERT
00001cb6: JUMPDEST
00001cb7: POP
00001cb8: POP
00001cb9: POP
00001cba: POP
00001cbb: PUSH1 0x40
00001cbd: MLOAD
00001cbe: RETURNDATASIZE
00001cbf: PUSH1 0x1f
00001cc1: NOT
00001cc2: PUSH1 0x1f
00001cc4: DUP3
00001cc5: ADD
00001cc6: AND
00001cc7: DUP3
00001cc8: ADD
00001cc9: DUP1
00001cca: PUSH1 0x40
00001ccc: MSTORE
00001ccd: POP
00001cce: PUSH2 0x1cda
00001cd1: SWAP2
00001cd2: SWAP1
00001cd3: DUP2
00001cd4: ADD
00001cd5: SWAP1
00001cd6: PUSH2 0x2934
00001cd9: JUMP
00001cda: JUMPDEST
00001cdb: POP
00001cdc: SWAP1
00001cdd: POP
00001cde: PUSH2 0x1ce7
00001ce1: DUP2
00001ce2: DUP9
00001ce3: PUSH2 0x2561
00001ce6: JUMP
00001ce7: JUMPDEST
00001ce8: SWAP7
00001ce9: POP
00001cea: POP
00001ceb: PUSH1 0x01
00001ced: SWAP1
00001cee: SWAP3
00001cef: ADD
00001cf0: SWAP2
00001cf1: POP
00001cf2: PUSH2 0x1ada
00001cf5: SWAP1
00001cf6: POP
00001cf7: JUMP
00001cf8: JUMPDEST
00001cf9: POP
00001cfa: DUP4
00001cfb: DUP4
00001cfc: GT
00001cfd: ISZERO
00001cfe: PUSH2 0x1d19
00001d01: JUMPI
00001d02: PUSH1 0x40
00001d04: MLOAD
00001d05: PUSH3 0x461bcd
00001d09: PUSH1 0xe5
00001d0b: SHL
00001d0c: DUP2
00001d0d: MSTORE
00001d0e: PUSH1 0x04
00001d10: ADD
00001d11: PUSH2 0x0188
00001d14: SWAP1
00001d15: PUSH2 0x2c0e
00001d18: JUMP
00001d19: JUMPDEST
00001d1a: PUSH1 0x40
00001d1c: MLOAD
00001d1d: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001d3e: DUP2
00001d3f: MSTORE
00001d40: PUSH1 0x01
00001d42: PUSH1 0x01
00001d44: PUSH1 0xa0
00001d46: SHL
00001d47: SUB
00001d48: DUP3
00001d49: AND
00001d4a: SWAP1
00001d4b: PUSH4 0xa9059cbb
00001d50: SWAP1
00001d51: CALLER
00001d52: SWAP1
00001d53: DUP4
00001d54: SWAP1
00001d55: PUSH4 0x70a08231
00001d5a: SWAP1
00001d5b: PUSH2 0x1d68
00001d5e: SWAP1
00001d5f: ADDRESS
00001d60: SWAP1
00001d61: PUSH1 0x04
00001d63: ADD
00001d64: PUSH2 0x2b1f
00001d67: JUMP
00001d68: JUMPDEST
00001d69: PUSH1 0x20
00001d6b: PUSH1 0x40
00001d6d: MLOAD
00001d6e: DUP1
00001d6f: DUP4
00001d70: SUB
00001d71: DUP2
00001d72: PUSH1 0x00
00001d74: DUP8
00001d75: DUP1
00001d76: EXTCODESIZE
00001d77: ISZERO
00001d78: DUP1
00001d79: ISZERO
00001d7a: PUSH2 0x1d82
00001d7d: JUMPI
00001d7e: PUSH1 0x00
00001d80: DUP1
00001d81: REVERT
00001d82: JUMPDEST
00001d83: POP
00001d84: GAS
00001d85: CALL
00001d86: ISZERO
00001d87: DUP1
00001d88: ISZERO
00001d89: PUSH2 0x1d96
00001d8c: JUMPI
00001d8d: RETURNDATASIZE
00001d8e: PUSH1 0x00
00001d90: DUP1
00001d91: RETURNDATACOPY
00001d92: RETURNDATASIZE
00001d93: PUSH1 0x00
00001d95: REVERT
00001d96: JUMPDEST
00001d97: POP
00001d98: POP
00001d99: POP
00001d9a: POP
00001d9b: PUSH1 0x40
00001d9d: MLOAD
00001d9e: RETURNDATASIZE
00001d9f: PUSH1 0x1f
00001da1: NOT
00001da2: PUSH1 0x1f
00001da4: DUP3
00001da5: ADD
00001da6: AND
00001da7: DUP3
00001da8: ADD
00001da9: DUP1
00001daa: PUSH1 0x40
00001dac: MSTORE
00001dad: POP
00001dae: PUSH2 0x1dba
00001db1: SWAP2
00001db2: SWAP1
00001db3: DUP2
00001db4: ADD
00001db5: SWAP1
00001db6: PUSH2 0x2916
00001db9: JUMP
00001dba: JUMPDEST
00001dbb: PUSH1 0x40
00001dbd: MLOAD
00001dbe: DUP4
00001dbf: PUSH4 0xffffffff
00001dc4: AND
00001dc5: PUSH1 0xe0
00001dc7: SHL
00001dc8: DUP2
00001dc9: MSTORE
00001dca: PUSH1 0x04
00001dcc: ADD
00001dcd: PUSH2 0x1dd7
00001dd0: SWAP3
00001dd1: SWAP2
00001dd2: SWAP1
00001dd3: PUSH2 0x2b77
00001dd6: JUMP
00001dd7: JUMPDEST
00001dd8: PUSH1 0x20
00001dda: PUSH1 0x40
00001ddc: MLOAD
00001ddd: DUP1
00001dde: DUP4
00001ddf: SUB
00001de0: DUP2
00001de1: PUSH1 0x00
00001de3: DUP8
00001de4: DUP1
00001de5: EXTCODESIZE
00001de6: ISZERO
00001de7: DUP1
00001de8: ISZERO
00001de9: PUSH2 0x1df1
00001dec: JUMPI
00001ded: PUSH1 0x00
00001def: DUP1
00001df0: REVERT
00001df1: JUMPDEST
00001df2: POP
00001df3: GAS
00001df4: CALL
00001df5: ISZERO
00001df6: DUP1
00001df7: ISZERO
00001df8: PUSH2 0x1e05
00001dfb: JUMPI
00001dfc: RETURNDATASIZE
00001dfd: PUSH1 0x00
00001dff: DUP1
00001e00: RETURNDATACOPY
00001e01: RETURNDATASIZE
00001e02: PUSH1 0x00
00001e04: REVERT
00001e05: JUMPDEST
00001e06: POP
00001e07: POP
00001e08: POP
00001e09: POP
00001e0a: PUSH1 0x40
00001e0c: MLOAD
00001e0d: RETURNDATASIZE
00001e0e: PUSH1 0x1f
00001e10: NOT
00001e11: PUSH1 0x1f
00001e13: DUP3
00001e14: ADD
00001e15: AND
00001e16: DUP3
00001e17: ADD
00001e18: DUP1
00001e19: PUSH1 0x40
00001e1b: MSTORE
00001e1c: POP
00001e1d: PUSH2 0x1e29
00001e20: SWAP2
00001e21: SWAP1
00001e22: DUP2
00001e23: ADD
00001e24: SWAP1
00001e25: PUSH2 0x28f0
00001e28: JUMP
00001e29: JUMPDEST
00001e2a: PUSH2 0x1e45
00001e2d: JUMPI
00001e2e: PUSH1 0x40
00001e30: MLOAD
00001e31: PUSH3 0x461bcd
00001e35: PUSH1 0xe5
00001e37: SHL
00001e38: DUP2
00001e39: MSTORE
00001e3a: PUSH1 0x04
00001e3c: ADD
00001e3d: PUSH2 0x0188
00001e40: SWAP1
00001e41: PUSH2 0x2c3e
00001e44: JUMP
00001e45: JUMPDEST
00001e46: PUSH1 0x40
00001e48: MLOAD
00001e49: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001e6a: DUP2
00001e6b: MSTORE
00001e6c: PUSH1 0x01
00001e6e: PUSH1 0x01
00001e70: PUSH1 0xa0
00001e72: SHL
00001e73: SUB
00001e74: DUP4
00001e75: AND
00001e76: SWAP1
00001e77: PUSH4 0xa9059cbb
00001e7c: SWAP1
00001e7d: CALLER
00001e7e: SWAP1
00001e7f: DUP4
00001e80: SWAP1
00001e81: PUSH4 0x70a08231
00001e86: SWAP1
00001e87: PUSH2 0x1e94
00001e8a: SWAP1
00001e8b: ADDRESS
00001e8c: SWAP1
00001e8d: PUSH1 0x04
00001e8f: ADD
00001e90: PUSH2 0x2b1f
00001e93: JUMP
00001e94: JUMPDEST
00001e95: PUSH1 0x20
00001e97: PUSH1 0x40
00001e99: MLOAD
00001e9a: DUP1
00001e9b: DUP4
00001e9c: SUB
00001e9d: DUP2
00001e9e: PUSH1 0x00
00001ea0: DUP8
00001ea1: DUP1
00001ea2: EXTCODESIZE
00001ea3: ISZERO
00001ea4: DUP1
00001ea5: ISZERO
00001ea6: PUSH2 0x1eae
00001ea9: JUMPI
00001eaa: PUSH1 0x00
00001eac: DUP1
00001ead: REVERT
00001eae: JUMPDEST
00001eaf: POP
00001eb0: GAS
00001eb1: CALL
00001eb2: ISZERO
00001eb3: DUP1
00001eb4: ISZERO
00001eb5: PUSH2 0x1ec2
00001eb8: JUMPI
00001eb9: RETURNDATASIZE
00001eba: PUSH1 0x00
00001ebc: DUP1
00001ebd: RETURNDATACOPY
00001ebe: RETURNDATASIZE
00001ebf: PUSH1 0x00
00001ec1: REVERT
00001ec2: JUMPDEST
00001ec3: POP
00001ec4: POP
00001ec5: POP
00001ec6: POP
00001ec7: PUSH1 0x40
00001ec9: MLOAD
00001eca: RETURNDATASIZE
00001ecb: PUSH1 0x1f
00001ecd: NOT
00001ece: PUSH1 0x1f
00001ed0: DUP3
00001ed1: ADD
00001ed2: AND
00001ed3: DUP3
00001ed4: ADD
00001ed5: DUP1
00001ed6: PUSH1 0x40
00001ed8: MSTORE
00001ed9: POP
00001eda: PUSH2 0x1ee6
00001edd: SWAP2
00001ede: SWAP1
00001edf: DUP2
00001ee0: ADD
00001ee1: SWAP1
00001ee2: PUSH2 0x2916
00001ee5: JUMP
00001ee6: JUMPDEST
00001ee7: PUSH1 0x40
00001ee9: MLOAD
00001eea: DUP4
00001eeb: PUSH4 0xffffffff
00001ef0: AND
00001ef1: PUSH1 0xe0
00001ef3: SHL
00001ef4: DUP2
00001ef5: MSTORE
00001ef6: PUSH1 0x04
00001ef8: ADD
00001ef9: PUSH2 0x1f03
00001efc: SWAP3
00001efd: SWAP2
00001efe: SWAP1
00001eff: PUSH2 0x2b77
00001f02: JUMP
00001f03: JUMPDEST
00001f04: PUSH1 0x20
00001f06: PUSH1 0x40
00001f08: MLOAD
00001f09: DUP1
00001f0a: DUP4
00001f0b: SUB
00001f0c: DUP2
00001f0d: PUSH1 0x00
00001f0f: DUP8
00001f10: DUP1
00001f11: EXTCODESIZE
00001f12: ISZERO
00001f13: DUP1
00001f14: ISZERO
00001f15: PUSH2 0x1f1d
00001f18: JUMPI
00001f19: PUSH1 0x00
00001f1b: DUP1
00001f1c: REVERT
00001f1d: JUMPDEST
00001f1e: POP
00001f1f: GAS
00001f20: CALL
00001f21: ISZERO
00001f22: DUP1
00001f23: ISZERO
00001f24: PUSH2 0x1f31
00001f27: JUMPI
00001f28: RETURNDATASIZE
00001f29: PUSH1 0x00
00001f2b: DUP1
00001f2c: RETURNDATACOPY
00001f2d: RETURNDATASIZE
00001f2e: PUSH1 0x00
00001f30: REVERT
00001f31: JUMPDEST
00001f32: POP
00001f33: POP
00001f34: POP
00001f35: POP
00001f36: PUSH1 0x40
00001f38: MLOAD
00001f39: RETURNDATASIZE
00001f3a: PUSH1 0x1f
00001f3c: NOT
00001f3d: PUSH1 0x1f
00001f3f: DUP3
00001f40: ADD
00001f41: AND
00001f42: DUP3
00001f43: ADD
00001f44: DUP1
00001f45: PUSH1 0x40
00001f47: MSTORE
00001f48: POP
00001f49: PUSH2 0x1f55
00001f4c: SWAP2
00001f4d: SWAP1
00001f4e: DUP2
00001f4f: ADD
00001f50: SWAP1
00001f51: PUSH2 0x28f0
00001f54: JUMP
00001f55: JUMPDEST
00001f56: PUSH2 0x1f71
00001f59: JUMPI
00001f5a: PUSH1 0x40
00001f5c: MLOAD
00001f5d: PUSH3 0x461bcd
00001f61: PUSH1 0xe5
00001f63: SHL
00001f64: DUP2
00001f65: MSTORE
00001f66: PUSH1 0x04
00001f68: ADD
00001f69: PUSH2 0x0188
00001f6c: SWAP1
00001f6d: PUSH2 0x2c3e
00001f70: JUMP
00001f71: JUMPDEST
00001f72: POP
00001f73: POP
00001f74: PUSH1 0x00
00001f76: DUP1
00001f77: SLOAD
00001f78: PUSH1 0xff
00001f7a: NOT
00001f7b: AND
00001f7c: SWAP1
00001f7d: SSTORE
00001f7e: SWAP5
00001f7f: SWAP4
00001f80: POP
00001f81: POP
00001f82: POP
00001f83: POP
00001f84: JUMP
00001f85: JUMPDEST
00001f86: PUSH1 0x40
00001f88: MLOAD
00001f89: PUSH1 0x00
00001f8b: SWAP1
00001f8c: CALLER
00001f8d: SWAP1
00001f8e: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00001faf: DUP4
00001fb0: CALLDATALOAD
00001fb1: AND
00001fb2: SWAP1
00001fb3: PUSH2 0x1fbf
00001fb6: SWAP1
00001fb7: DUP5
00001fb8: SWAP1
00001fb9: CALLDATASIZE
00001fba: SWAP1
00001fbb: PUSH2 0x2bec
00001fbe: JUMP
00001fbf: JUMPDEST
00001fc0: PUSH1 0x40
00001fc2: MLOAD
00001fc3: DUP1
00001fc4: SWAP2
00001fc5: SUB
00001fc6: SWAP1
00001fc7: LOG2
00001fc8: PUSH1 0x00
00001fca: SLOAD
00001fcb: PUSH1 0xff
00001fcd: AND
00001fce: ISZERO
00001fcf: PUSH2 0x1fea
00001fd2: JUMPI
00001fd3: PUSH1 0x40
00001fd5: MLOAD
00001fd6: PUSH3 0x461bcd
00001fda: PUSH1 0xe5
00001fdc: SHL
00001fdd: DUP2
00001fde: MSTORE
00001fdf: PUSH1 0x04
00001fe1: ADD
00001fe2: PUSH2 0x0188
00001fe5: SWAP1
00001fe6: PUSH2 0x2c1e
00001fe9: JUMP
00001fea: JUMPDEST
00001feb: PUSH1 0x00
00001fed: DUP1
00001fee: SLOAD
00001fef: PUSH1 0xff
00001ff1: NOT
00001ff2: AND
00001ff3: PUSH1 0x01
00001ff5: OR
00001ff6: SWAP1
00001ff7: SSTORE
00001ff8: PUSH1 0x40
00001ffa: MLOAD
00001ffb: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
0000201c: DUP2
0000201d: MSTORE
0000201e: DUP6
0000201f: SWAP1
00002020: DUP6
00002021: SWAP1
00002022: PUSH1 0x01
00002024: PUSH1 0x01
00002026: PUSH1 0xa0
00002028: SHL
00002029: SUB
0000202a: DUP4
0000202b: AND
0000202c: SWAP1
0000202d: PUSH4 0x23b872dd
00002032: SWAP1
00002033: PUSH2 0x2044
00002036: SWAP1
00002037: CALLER
00002038: SWAP1
00002039: ADDRESS
0000203a: SWAP1
0000203b: DUP11
0000203c: SWAP1
0000203d: PUSH1 0x04
0000203f: ADD
00002040: PUSH2 0x2b4f
00002043: JUMP
00002044: JUMPDEST
00002045: PUSH1 0x20
00002047: PUSH1 0x40
00002049: MLOAD
0000204a: DUP1
0000204b: DUP4
0000204c: SUB
0000204d: DUP2
0000204e: PUSH1 0x00
00002050: DUP8
00002051: DUP1
00002052: EXTCODESIZE
00002053: ISZERO
00002054: DUP1
00002055: ISZERO
00002056: PUSH2 0x205e
00002059: JUMPI
0000205a: PUSH1 0x00
0000205c: DUP1
0000205d: REVERT
0000205e: JUMPDEST
0000205f: POP
00002060: GAS
00002061: CALL
00002062: ISZERO
00002063: DUP1
00002064: ISZERO
00002065: PUSH2 0x2072
00002068: JUMPI
00002069: RETURNDATASIZE
0000206a: PUSH1 0x00
0000206c: DUP1
0000206d: RETURNDATACOPY
0000206e: RETURNDATASIZE
0000206f: PUSH1 0x00
00002071: REVERT
00002072: JUMPDEST
00002073: POP
00002074: POP
00002075: POP
00002076: POP
00002077: PUSH1 0x40
00002079: MLOAD
0000207a: RETURNDATASIZE
0000207b: PUSH1 0x1f
0000207d: NOT
0000207e: PUSH1 0x1f
00002080: DUP3
00002081: ADD
00002082: AND
00002083: DUP3
00002084: ADD
00002085: DUP1
00002086: PUSH1 0x40
00002088: MSTORE
00002089: POP
0000208a: PUSH2 0x2096
0000208d: SWAP2
0000208e: SWAP1
0000208f: DUP2
00002090: ADD
00002091: SWAP1
00002092: PUSH2 0x28f0
00002095: JUMP
00002096: JUMPDEST
00002097: PUSH2 0x20b2
0000209a: JUMPI
0000209b: PUSH1 0x40
0000209d: MLOAD
0000209e: PUSH3 0x461bcd
000020a2: PUSH1 0xe5
000020a4: SHL
000020a5: DUP2
000020a6: MSTORE
000020a7: PUSH1 0x04
000020a9: ADD
000020aa: PUSH2 0x0188
000020ad: SWAP1
000020ae: PUSH2 0x2c3e
000020b1: JUMP
000020b2: JUMPDEST
000020b3: PUSH1 0x00
000020b5: JUMPDEST
000020b6: DUP9
000020b7: MLOAD
000020b8: DUP2
000020b9: LT
000020ba: ISZERO
000020bb: PUSH2 0x22d3
000020be: JUMPI
000020bf: PUSH2 0x20c6
000020c2: PUSH2 0x258f
000020c5: JUMP
000020c6: JUMPDEST
000020c7: DUP10
000020c8: DUP3
000020c9: DUP2
000020ca: MLOAD
000020cb: DUP2
000020cc: LT
000020cd: PUSH2 0x20d2
000020d0: JUMPI
000020d1: INVALID
000020d2: JUMPDEST
000020d3: PUSH1 0x20
000020d5: SWAP1
000020d6: DUP2
000020d7: MUL
000020d8: SWAP2
000020d9: SWAP1
000020da: SWAP2
000020db: ADD
000020dc: ADD
000020dd: MLOAD
000020de: DUP1
000020df: MLOAD
000020e0: PUSH1 0x40
000020e2: MLOAD
000020e3: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000
00002104: DUP2
00002105: MSTORE
00002106: SWAP2
00002107: SWAP3
00002108: POP
00002109: SWAP1
0000210a: DUP9
0000210b: SWAP1
0000210c: PUSH1 0x01
0000210e: PUSH1 0x01
00002110: PUSH1 0xa0
00002112: SHL
00002113: SUB
00002114: DUP8
00002115: AND
00002116: SWAP1
00002117: PUSH4 0xdd62ed3e
0000211c: SWAP1
0000211d: PUSH2 0x212c
00002120: SWAP1
00002121: ADDRESS
00002122: SWAP1
00002123: DUP7
00002124: SWAP1
00002125: PUSH1 0x04
00002127: ADD
00002128: PUSH2 0x2b2d
0000212b: JUMP
0000212c: JUMPDEST
0000212d: PUSH1 0x20
0000212f: PUSH1 0x40
00002131: MLOAD
00002132: DUP1
00002133: DUP4
00002134: SUB
00002135: DUP2
00002136: PUSH1 0x00
00002138: DUP8
00002139: DUP1
0000213a: EXTCODESIZE
0000213b: ISZERO
0000213c: DUP1
0000213d: ISZERO
0000213e: PUSH2 0x2146
00002141: JUMPI
00002142: PUSH1 0x00
00002144: DUP1
00002145: REVERT
00002146: JUMPDEST
00002147: POP
00002148: GAS
00002149: CALL
0000214a: ISZERO
0000214b: DUP1
0000214c: ISZERO
0000214d: PUSH2 0x215a
00002150: JUMPI
00002151: RETURNDATASIZE
00002152: PUSH1 0x00
00002154: DUP1
00002155: RETURNDATACOPY
00002156: RETURNDATASIZE
00002157: PUSH1 0x00
00002159: REVERT
0000215a: JUMPDEST
0000215b: POP
0000215c: POP
0000215d: POP
0000215e: POP
0000215f: PUSH1 0x40
00002161: MLOAD
00002162: RETURNDATASIZE
00002163: PUSH1 0x1f
00002165: NOT
00002166: PUSH1 0x1f
00002168: DUP3
00002169: ADD
0000216a: AND
0000216b: DUP3
0000216c: ADD
0000216d: DUP1
0000216e: PUSH1 0x40
00002170: MSTORE
00002171: POP
00002172: PUSH2 0x217e
00002175: SWAP2
00002176: SWAP1
00002177: DUP2
00002178: ADD
00002179: SWAP1
0000217a: PUSH2 0x2916
0000217d: JUMP
0000217e: JUMPDEST
0000217f: LT
00002180: ISZERO
00002181: PUSH2 0x2222
00002184: JUMPI
00002185: DUP2
00002186: MLOAD
00002187: PUSH1 0x40
00002189: MLOAD
0000218a: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
000021ab: DUP2
000021ac: MSTORE
000021ad: PUSH1 0x01
000021af: PUSH1 0x01
000021b1: PUSH1 0xa0
000021b3: SHL
000021b4: SUB
000021b5: DUP8
000021b6: AND
000021b7: SWAP2
000021b8: PUSH4 0x095ea7b3
000021bd: SWAP2
000021be: PUSH2 0x21ce
000021c1: SWAP2
000021c2: SWAP1
000021c3: PUSH1 0x00
000021c5: NOT
000021c6: SWAP1
000021c7: PUSH1 0x04
000021c9: ADD
000021ca: PUSH2 0x2b92
000021cd: JUMP
000021ce: JUMPDEST
000021cf: PUSH1 0x20
000021d1: PUSH1 0x40
000021d3: MLOAD
000021d4: DUP1
000021d5: DUP4
000021d6: SUB
000021d7: DUP2
000021d8: PUSH1 0x00
000021da: DUP8
000021db: DUP1
000021dc: EXTCODESIZE
000021dd: ISZERO
000021de: DUP1
000021df: ISZERO
000021e0: PUSH2 0x21e8
000021e3: JUMPI
000021e4: PUSH1 0x00
000021e6: DUP1
000021e7: REVERT
000021e8: JUMPDEST
000021e9: POP
000021ea: GAS
000021eb: CALL
000021ec: ISZERO
000021ed: DUP1
000021ee: ISZERO
000021ef: PUSH2 0x21fc
000021f2: JUMPI
000021f3: RETURNDATASIZE
000021f4: PUSH1 0x00
000021f6: DUP1
000021f7: RETURNDATACOPY
000021f8: RETURNDATASIZE
000021f9: PUSH1 0x00
000021fb: REVERT
000021fc: JUMPDEST
000021fd: POP
000021fe: POP
000021ff: POP
00002200: POP
00002201: PUSH1 0x40
00002203: MLOAD
00002204: RETURNDATASIZE
00002205: PUSH1 0x1f
00002207: NOT
00002208: PUSH1 0x1f
0000220a: DUP3
0000220b: ADD
0000220c: AND
0000220d: DUP3
0000220e: ADD
0000220f: DUP1
00002210: PUSH1 0x40
00002212: MSTORE
00002213: POP
00002214: PUSH2 0x2220
00002217: SWAP2
00002218: SWAP1
00002219: DUP2
0000221a: ADD
0000221b: SWAP1
0000221c: PUSH2 0x28f0
0000221f: JUMP
00002220: JUMPDEST
00002221: POP
00002222: JUMPDEST
00002223: PUSH1 0x00
00002225: DUP2
00002226: PUSH1 0x01
00002228: PUSH1 0x01
0000222a: PUSH1 0xa0
0000222c: SHL
0000222d: SUB
0000222e: AND
0000222f: PUSH4 0x8201aa3f
00002234: DUP13
00002235: DUP6
00002236: PUSH1 0x20
00002238: ADD
00002239: MLOAD
0000223a: DUP14
0000223b: DUP8
0000223c: PUSH1 0x40
0000223e: ADD
0000223f: MLOAD
00002240: DUP9
00002241: PUSH1 0x60
00002243: ADD
00002244: MLOAD
00002245: PUSH1 0x40
00002247: MLOAD
00002248: DUP7
00002249: PUSH4 0xffffffff
0000224e: AND
0000224f: PUSH1 0xe0
00002251: SHL
00002252: DUP2
00002253: MSTORE
00002254: PUSH1 0x04
00002256: ADD
00002257: PUSH2 0x2264
0000225a: SWAP6
0000225b: SWAP5
0000225c: SWAP4
0000225d: SWAP3
0000225e: SWAP2
0000225f: SWAP1
00002260: PUSH2 0x2ba0
00002263: JUMP
00002264: JUMPDEST
00002265: PUSH1 0x40
00002267: DUP1
00002268: MLOAD
00002269: DUP1
0000226a: DUP4
0000226b: SUB
0000226c: DUP2
0000226d: PUSH1 0x00
0000226f: DUP8
00002270: DUP1
00002271: EXTCODESIZE
00002272: ISZERO
00002273: DUP1
00002274: ISZERO
00002275: PUSH2 0x227d
00002278: JUMPI
00002279: PUSH1 0x00
0000227b: DUP1
0000227c: REVERT
0000227d: JUMPDEST
0000227e: POP
0000227f: GAS
00002280: CALL
00002281: ISZERO
00002282: DUP1
00002283: ISZERO
00002284: PUSH2 0x2291
00002287: JUMPI
00002288: RETURNDATASIZE
00002289: PUSH1 0x00
0000228b: DUP1
0000228c: RETURNDATACOPY
0000228d: RETURNDATASIZE
0000228e: PUSH1 0x00
00002290: REVERT
00002291: JUMPDEST
00002292: POP
00002293: POP
00002294: POP
00002295: POP
00002296: PUSH1 0x40
00002298: MLOAD
00002299: RETURNDATASIZE
0000229a: PUSH1 0x1f
0000229c: NOT
0000229d: PUSH1 0x1f
0000229f: DUP3
000022a0: ADD
000022a1: AND
000022a2: DUP3
000022a3: ADD
000022a4: DUP1
000022a5: PUSH1 0x40
000022a7: MSTORE
000022a8: POP
000022a9: PUSH2 0x22b5
000022ac: SWAP2
000022ad: SWAP1
000022ae: DUP2
000022af: ADD
000022b0: SWAP1
000022b1: PUSH2 0x2934
000022b4: JUMP
000022b5: JUMPDEST
000022b6: POP
000022b7: SWAP1
000022b8: POP
000022b9: PUSH2 0x22c2
000022bc: DUP2
000022bd: DUP9
000022be: PUSH2 0x2561
000022c1: JUMP
000022c2: JUMPDEST
000022c3: SWAP7
000022c4: POP
000022c5: POP
000022c6: PUSH1 0x01
000022c8: SWAP1
000022c9: SWAP3
000022ca: ADD
000022cb: SWAP2
000022cc: POP
000022cd: PUSH2 0x20b5
000022d0: SWAP1
000022d1: POP
000022d2: JUMP
000022d3: JUMPDEST
000022d4: POP
000022d5: DUP4
000022d6: DUP4
000022d7: LT
000022d8: ISZERO
000022d9: PUSH2 0x22f4
000022dc: JUMPI
000022dd: PUSH1 0x40
000022df: MLOAD
000022e0: PUSH3 0x461bcd
000022e4: PUSH1 0xe5
000022e6: SHL
000022e7: DUP2
000022e8: MSTORE
000022e9: PUSH1 0x04
000022eb: ADD
000022ec: PUSH2 0x0188
000022ef: SWAP1
000022f0: PUSH2 0x2bfe
000022f3: JUMP
000022f4: JUMPDEST
000022f5: PUSH1 0x40
000022f7: MLOAD
000022f8: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00002319: DUP2
0000231a: MSTORE
0000231b: PUSH1 0x01
0000231d: PUSH1 0x01
0000231f: PUSH1 0xa0
00002321: SHL
00002322: SUB
00002323: DUP3
00002324: AND
00002325: SWAP1
00002326: PUSH4 0xa9059cbb
0000232b: SWAP1
0000232c: CALLER
0000232d: SWAP1
0000232e: DUP4
0000232f: SWAP1
00002330: PUSH4 0x70a08231
00002335: SWAP1
00002336: PUSH2 0x2343
00002339: SWAP1
0000233a: ADDRESS
0000233b: SWAP1
0000233c: PUSH1 0x04
0000233e: ADD
0000233f: PUSH2 0x2b1f
00002342: JUMP
00002343: JUMPDEST
00002344: PUSH1 0x20
00002346: PUSH1 0x40
00002348: MLOAD
00002349: DUP1
0000234a: DUP4
0000234b: SUB
0000234c: DUP2
0000234d: PUSH1 0x00
0000234f: DUP8
00002350: DUP1
00002351: EXTCODESIZE
00002352: ISZERO
00002353: DUP1
00002354: ISZERO
00002355: PUSH2 0x235d
00002358: JUMPI
00002359: PUSH1 0x00
0000235b: DUP1
0000235c: REVERT
0000235d: JUMPDEST
0000235e: POP
0000235f: GAS
00002360: CALL
00002361: ISZERO
00002362: DUP1
00002363: ISZERO
00002364: PUSH2 0x2371
00002367: JUMPI
00002368: RETURNDATASIZE
00002369: PUSH1 0x00
0000236b: DUP1
0000236c: RETURNDATACOPY
0000236d: RETURNDATASIZE
0000236e: PUSH1 0x00
00002370: REVERT
00002371: JUMPDEST
00002372: POP
00002373: POP
00002374: POP
00002375: POP
00002376: PUSH1 0x40
00002378: MLOAD
00002379: RETURNDATASIZE
0000237a: PUSH1 0x1f
0000237c: NOT
0000237d: PUSH1 0x1f
0000237f: DUP3
00002380: ADD
00002381: AND
00002382: DUP3
00002383: ADD
00002384: DUP1
00002385: PUSH1 0x40
00002387: MSTORE
00002388: POP
00002389: PUSH2 0x2395
0000238c: SWAP2
0000238d: SWAP1
0000238e: DUP2
0000238f: ADD
00002390: SWAP1
00002391: PUSH2 0x2916
00002394: JUMP
00002395: JUMPDEST
00002396: PUSH1 0x40
00002398: MLOAD
00002399: DUP4
0000239a: PUSH4 0xffffffff
0000239f: AND
000023a0: PUSH1 0xe0
000023a2: SHL
000023a3: DUP2
000023a4: MSTORE
000023a5: PUSH1 0x04
000023a7: ADD
000023a8: PUSH2 0x23b2
000023ab: SWAP3
000023ac: SWAP2
000023ad: SWAP1
000023ae: PUSH2 0x2b77
000023b1: JUMP
000023b2: JUMPDEST
000023b3: PUSH1 0x20
000023b5: PUSH1 0x40
000023b7: MLOAD
000023b8: DUP1
000023b9: DUP4
000023ba: SUB
000023bb: DUP2
000023bc: PUSH1 0x00
000023be: DUP8
000023bf: DUP1
000023c0: EXTCODESIZE
000023c1: ISZERO
000023c2: DUP1
000023c3: ISZERO
000023c4: PUSH2 0x23cc
000023c7: JUMPI
000023c8: PUSH1 0x00
000023ca: DUP1
000023cb: REVERT
000023cc: JUMPDEST
000023cd: POP
000023ce: GAS
000023cf: CALL
000023d0: ISZERO
000023d1: DUP1
000023d2: ISZERO
000023d3: PUSH2 0x23e0
000023d6: JUMPI
000023d7: RETURNDATASIZE
000023d8: PUSH1 0x00
000023da: DUP1
000023db: RETURNDATACOPY
000023dc: RETURNDATASIZE
000023dd: PUSH1 0x00
000023df: REVERT
000023e0: JUMPDEST
000023e1: POP
000023e2: POP
000023e3: POP
000023e4: POP
000023e5: PUSH1 0x40
000023e7: MLOAD
000023e8: RETURNDATASIZE
000023e9: PUSH1 0x1f
000023eb: NOT
000023ec: PUSH1 0x1f
000023ee: DUP3
000023ef: ADD
000023f0: AND
000023f1: DUP3
000023f2: ADD
000023f3: DUP1
000023f4: PUSH1 0x40
000023f6: MSTORE
000023f7: POP
000023f8: PUSH2 0x2404
000023fb: SWAP2
000023fc: SWAP1
000023fd: DUP2
000023fe: ADD
000023ff: SWAP1
00002400: PUSH2 0x28f0
00002403: JUMP
00002404: JUMPDEST
00002405: PUSH2 0x2420
00002408: JUMPI
00002409: PUSH1 0x40
0000240b: MLOAD
0000240c: PUSH3 0x461bcd
00002410: PUSH1 0xe5
00002412: SHL
00002413: DUP2
00002414: MSTORE
00002415: PUSH1 0x04
00002417: ADD
00002418: PUSH2 0x0188
0000241b: SWAP1
0000241c: PUSH2 0x2c3e
0000241f: JUMP
00002420: JUMPDEST
00002421: PUSH1 0x40
00002423: MLOAD
00002424: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00002445: DUP2
00002446: MSTORE
00002447: PUSH1 0x01
00002449: PUSH1 0x01
0000244b: PUSH1 0xa0
0000244d: SHL
0000244e: SUB
0000244f: DUP4
00002450: AND
00002451: SWAP1
00002452: PUSH4 0xa9059cbb
00002457: SWAP1
00002458: CALLER
00002459: SWAP1
0000245a: DUP4
0000245b: SWAP1
0000245c: PUSH4 0x70a08231
00002461: SWAP1
00002462: PUSH2 0x246f
00002465: SWAP1
00002466: ADDRESS
00002467: SWAP1
00002468: PUSH1 0x04
0000246a: ADD
0000246b: PUSH2 0x2b1f
0000246e: JUMP
0000246f: JUMPDEST
00002470: PUSH1 0x20
00002472: PUSH1 0x40
00002474: MLOAD
00002475: DUP1
00002476: DUP4
00002477: SUB
00002478: DUP2
00002479: PUSH1 0x00
0000247b: DUP8
0000247c: DUP1
0000247d: EXTCODESIZE
0000247e: ISZERO
0000247f: DUP1
00002480: ISZERO
00002481: PUSH2 0x2489
00002484: JUMPI
00002485: PUSH1 0x00
00002487: DUP1
00002488: REVERT
00002489: JUMPDEST
0000248a: POP
0000248b: GAS
0000248c: CALL
0000248d: ISZERO
0000248e: DUP1
0000248f: ISZERO
00002490: PUSH2 0x249d
00002493: JUMPI
00002494: RETURNDATASIZE
00002495: PUSH1 0x00
00002497: DUP1
00002498: RETURNDATACOPY
00002499: RETURNDATASIZE
0000249a: PUSH1 0x00
0000249c: REVERT
0000249d: JUMPDEST
0000249e: POP
0000249f: POP
000024a0: POP
000024a1: POP
000024a2: PUSH1 0x40
000024a4: MLOAD
000024a5: RETURNDATASIZE
000024a6: PUSH1 0x1f
000024a8: NOT
000024a9: PUSH1 0x1f
000024ab: DUP3
000024ac: ADD
000024ad: AND
000024ae: DUP3
000024af: ADD
000024b0: DUP1
000024b1: PUSH1 0x40
000024b3: MSTORE
000024b4: POP
000024b5: PUSH2 0x24c1
000024b8: SWAP2
000024b9: SWAP1
000024ba: DUP2
000024bb: ADD
000024bc: SWAP1
000024bd: PUSH2 0x2916
000024c0: JUMP
000024c1: JUMPDEST
000024c2: PUSH1 0x40
000024c4: MLOAD
000024c5: DUP4
000024c6: PUSH4 0xffffffff
000024cb: AND
000024cc: PUSH1 0xe0
000024ce: SHL
000024cf: DUP2
000024d0: MSTORE
000024d1: PUSH1 0x04
000024d3: ADD
000024d4: PUSH2 0x24de
000024d7: SWAP3
000024d8: SWAP2
000024d9: SWAP1
000024da: PUSH2 0x2b77
000024dd: JUMP
000024de: JUMPDEST
000024df: PUSH1 0x20
000024e1: PUSH1 0x40
000024e3: MLOAD
000024e4: DUP1
000024e5: DUP4
000024e6: SUB
000024e7: DUP2
000024e8: PUSH1 0x00
000024ea: DUP8
000024eb: DUP1
000024ec: EXTCODESIZE
000024ed: ISZERO
000024ee: DUP1
000024ef: ISZERO
000024f0: PUSH2 0x24f8
000024f3: JUMPI
000024f4: PUSH1 0x00
000024f6: DUP1
000024f7: REVERT
000024f8: JUMPDEST
000024f9: POP
000024fa: GAS
000024fb: CALL
000024fc: ISZERO
000024fd: DUP1
000024fe: ISZERO
000024ff: PUSH2 0x250c
00002502: JUMPI
00002503: RETURNDATASIZE
00002504: PUSH1 0x00
00002506: DUP1
00002507: RETURNDATACOPY
00002508: RETURNDATASIZE
00002509: PUSH1 0x00
0000250b: REVERT
0000250c: JUMPDEST
0000250d: POP
0000250e: POP
0000250f: POP
00002510: POP
00002511: PUSH1 0x40
00002513: MLOAD
00002514: RETURNDATASIZE
00002515: PUSH1 0x1f
00002517: NOT
00002518: PUSH1 0x1f
0000251a: DUP3
0000251b: ADD
0000251c: AND
0000251d: DUP3
0000251e: ADD
0000251f: DUP1
00002520: PUSH1 0x40
00002522: MSTORE
00002523: POP
00002524: PUSH2 0x2530
00002527: SWAP2
00002528: SWAP1
00002529: DUP2
0000252a: ADD
0000252b: SWAP1
0000252c: PUSH2 0x28f0
0000252f: JUMP
00002530: JUMPDEST
00002531: PUSH2 0x254c
00002534: JUMPI
00002535: PUSH1 0x40
00002537: MLOAD
00002538: PUSH3 0x461bcd
0000253c: PUSH1 0xe5
0000253e: SHL
0000253f: DUP2
00002540: MSTORE
00002541: PUSH1 0x04
00002543: ADD
00002544: PUSH2 0x0188
00002547: SWAP1
00002548: PUSH2 0x2c3e
0000254b: JUMP
0000254c: JUMPDEST
0000254d: POP
0000254e: POP
0000254f: PUSH1 0x00
00002551: DUP1
00002552: SLOAD
00002553: PUSH1 0xff
00002555: NOT
00002556: AND
00002557: SWAP1
00002558: SSTORE
00002559: SWAP6
0000255a: SWAP5
0000255b: POP
0000255c: POP
0000255d: POP
0000255e: POP
0000255f: POP
00002560: JUMP
00002561: JUMPDEST
00002562: PUSH1 0x00
00002564: DUP3
00002565: DUP3
00002566: ADD
00002567: DUP4
00002568: DUP2
00002569: LT
0000256a: ISZERO
0000256b: PUSH2 0x2586
0000256e: JUMPI
0000256f: PUSH1 0x40
00002571: MLOAD
00002572: PUSH3 0x461bcd
00002576: PUSH1 0xe5
00002578: SHL
00002579: DUP2
0000257a: MSTORE
0000257b: PUSH1 0x04
0000257d: ADD
0000257e: PUSH2 0x0188
00002581: SWAP1
00002582: PUSH2 0x2c4e
00002585: JUMP
00002586: JUMPDEST
00002587: SWAP1
00002588: POP
00002589: JUMPDEST
0000258a: SWAP3
0000258b: SWAP2
0000258c: POP
0000258d: POP
0000258e: JUMP
0000258f: JUMPDEST
00002590: PUSH1 0x40
00002592: MLOAD
00002593: DUP1
00002594: PUSH1 0x80
00002596: ADD
00002597: PUSH1 0x40
00002599: MSTORE
0000259a: DUP1
0000259b: PUSH1 0x00
0000259d: PUSH1 0x01
0000259f: PUSH1 0x01
000025a1: PUSH1 0xa0
000025a3: SHL
000025a4: SUB
000025a5: AND
000025a6: DUP2
000025a7: MSTORE
000025a8: PUSH1 0x20
000025aa: ADD
000025ab: PUSH1 0x00
000025ad: DUP2
000025ae: MSTORE
000025af: PUSH1 0x20
000025b1: ADD
000025b2: PUSH1 0x00
000025b4: DUP2
000025b5: MSTORE
000025b6: PUSH1 0x20
000025b8: ADD
000025b9: PUSH1 0x00
000025bb: DUP2
000025bc: MSTORE
000025bd: POP
000025be: SWAP1
000025bf: JUMP
000025c0: JUMPDEST
000025c1: DUP1
000025c2: CALLDATALOAD
000025c3: PUSH2 0x2589
000025c6: DUP2
000025c7: PUSH2 0x2d26
000025ca: JUMP
000025cb: JUMPDEST
000025cc: PUSH1 0x00
000025ce: DUP3
000025cf: PUSH1 0x1f
000025d1: DUP4
000025d2: ADD
000025d3: SLT
000025d4: PUSH2 0x25dc
000025d7: JUMPI
000025d8: PUSH1 0x00
000025da: DUP1
000025db: REVERT
000025dc: JUMPDEST
000025dd: DUP2
000025de: CALLDATALOAD
000025df: PUSH2 0x25ef
000025e2: PUSH2 0x25ea
000025e5: DUP3
000025e6: PUSH2 0x2c93
000025e9: JUMP
000025ea: JUMPDEST
000025eb: PUSH2 0x2c6c
000025ee: JUMP
000025ef: JUMPDEST
000025f0: SWAP2
000025f1: POP
000025f2: DUP2
000025f3: DUP2
000025f4: DUP4
000025f5: MSTORE
000025f6: PUSH1 0x20
000025f8: DUP5
000025f9: ADD
000025fa: SWAP4
000025fb: POP
000025fc: PUSH1 0x20
000025fe: DUP2
000025ff: ADD
00002600: SWAP1
00002601: POP
00002602: DUP4
00002603: DUP6
00002604: PUSH1 0x80
00002606: DUP5
00002607: MUL
00002608: DUP3
00002609: ADD
0000260a: GT
0000260b: ISZERO
0000260c: PUSH2 0x2614
0000260f: JUMPI
00002610: PUSH1 0x00
00002612: DUP1
00002613: REVERT
00002614: JUMPDEST
00002615: PUSH1 0x00
00002617: JUMPDEST
00002618: DUP4
00002619: DUP2
0000261a: LT
0000261b: ISZERO
0000261c: PUSH2 0x2642
0000261f: JUMPI
00002620: DUP2
00002621: PUSH2 0x262a
00002624: DUP9
00002625: DUP3
00002626: PUSH2 0x2657
00002629: JUMP
0000262a: JUMPDEST
0000262b: DUP5
0000262c: MSTORE
0000262d: POP
0000262e: PUSH1 0x20
00002630: SWAP1
00002631: SWAP3
00002632: ADD
00002633: SWAP2
00002634: PUSH1 0x80
00002636: SWAP2
00002637: SWAP1
00002638: SWAP2
00002639: ADD
0000263a: SWAP1
0000263b: PUSH1 0x01
0000263d: ADD
0000263e: PUSH2 0x2617
00002641: JUMP
00002642: JUMPDEST
00002643: POP
00002644: POP
00002645: POP
00002646: POP
00002647: SWAP3
00002648: SWAP2
00002649: POP
0000264a: POP
0000264b: JUMP
0000264c: JUMPDEST
0000264d: DUP1
0000264e: MLOAD
0000264f: PUSH2 0x2589
00002652: DUP2
00002653: PUSH2 0x2d3d
00002656: JUMP
00002657: JUMPDEST
00002658: PUSH1 0x00
0000265a: PUSH1 0x80
0000265c: DUP3
0000265d: DUP5
0000265e: SUB
0000265f: SLT
00002660: ISZERO
00002661: PUSH2 0x2669
00002664: JUMPI
00002665: PUSH1 0x00
00002667: DUP1
00002668: REVERT
00002669: JUMPDEST
0000266a: PUSH2 0x2673
0000266d: PUSH1 0x80
0000266f: PUSH2 0x2c6c
00002672: JUMP
00002673: JUMPDEST
00002674: SWAP1
00002675: POP
00002676: PUSH1 0x00
00002678: PUSH2 0x2681
0000267b: DUP5
0000267c: DUP5
0000267d: PUSH2 0x25c0
00002680: JUMP
00002681: JUMPDEST
00002682: DUP3
00002683: MSTORE
00002684: POP
00002685: PUSH1 0x20
00002687: PUSH2 0x2692
0000268a: DUP5
0000268b: DUP5
0000268c: DUP4
0000268d: ADD
0000268e: PUSH2 0x26c6
00002691: JUMP
00002692: JUMPDEST
00002693: PUSH1 0x20
00002695: DUP4
00002696: ADD
00002697: MSTORE
00002698: POP
00002699: PUSH1 0x40
0000269b: PUSH2 0x26a6
0000269e: DUP5
0000269f: DUP3
000026a0: DUP6
000026a1: ADD
000026a2: PUSH2 0x26c6
000026a5: JUMP
000026a6: JUMPDEST
000026a7: PUSH1 0x40
000026a9: DUP4
000026aa: ADD
000026ab: MSTORE
000026ac: POP
000026ad: PUSH1 0x60
000026af: PUSH2 0x26ba
000026b2: DUP5
000026b3: DUP3
000026b4: DUP6
000026b5: ADD
000026b6: PUSH2 0x26c6
000026b9: JUMP
000026ba: JUMPDEST
000026bb: PUSH1 0x60
000026bd: DUP4
000026be: ADD
000026bf: MSTORE
000026c0: POP
000026c1: SWAP3
000026c2: SWAP2
000026c3: POP
000026c4: POP
000026c5: JUMP
000026c6: JUMPDEST
000026c7: DUP1
000026c8: CALLDATALOAD
000026c9: PUSH2 0x2589
000026cc: DUP2
000026cd: PUSH2 0x2d46
000026d0: JUMP
000026d1: JUMPDEST
000026d2: DUP1
000026d3: MLOAD
000026d4: PUSH2 0x2589
000026d7: DUP2
000026d8: PUSH2 0x2d46
000026db: JUMP
000026dc: JUMPDEST
000026dd: PUSH1 0x00
000026df: DUP1
000026e0: PUSH1 0x40
000026e2: DUP4
000026e3: DUP6
000026e4: SUB
000026e5: SLT
000026e6: ISZERO
000026e7: PUSH2 0x26ef
000026ea: JUMPI
000026eb: PUSH1 0x00
000026ed: DUP1
000026ee: REVERT
000026ef: JUMPDEST
000026f0: DUP3
000026f1: CALLDATALOAD
000026f2: PUSH8 0xffffffffffffffff
000026fb: DUP2
000026fc: GT
000026fd: ISZERO
000026fe: PUSH2 0x2706
00002701: JUMPI
00002702: PUSH1 0x00
00002704: DUP1
00002705: REVERT
00002706: JUMPDEST
00002707: PUSH2 0x2712
0000270a: DUP6
0000270b: DUP3
0000270c: DUP7
0000270d: ADD
0000270e: PUSH2 0x25cb
00002711: JUMP
00002712: JUMPDEST
00002713: SWAP3
00002714: POP
00002715: POP
00002716: PUSH1 0x20
00002718: PUSH2 0x2723
0000271b: DUP6
0000271c: DUP3
0000271d: DUP7
0000271e: ADD
0000271f: PUSH2 0x25c0
00002722: JUMP
00002723: JUMPDEST
00002724: SWAP2
00002725: POP
00002726: POP
00002727: SWAP3
00002728: POP
00002729: SWAP3
0000272a: SWAP1
0000272b: POP
0000272c: JUMP
0000272d: JUMPDEST
0000272e: PUSH1 0x00
00002730: DUP1
00002731: PUSH1 0x00
00002733: DUP1
00002734: PUSH1 0x80
00002736: DUP6
00002737: DUP8
00002738: SUB
00002739: SLT
0000273a: ISZERO
0000273b: PUSH2 0x2743
0000273e: JUMPI
0000273f: PUSH1 0x00
00002741: DUP1
00002742: REVERT
00002743: JUMPDEST
00002744: DUP5
00002745: CALLDATALOAD
00002746: PUSH8 0xffffffffffffffff
0000274f: DUP2
00002750: GT
00002751: ISZERO
00002752: PUSH2 0x275a
00002755: JUMPI
00002756: PUSH1 0x00
00002758: DUP1
00002759: REVERT
0000275a: JUMPDEST
0000275b: PUSH2 0x2766
0000275e: DUP8
0000275f: DUP3
00002760: DUP9
00002761: ADD
00002762: PUSH2 0x25cb
00002765: JUMP
00002766: JUMPDEST
00002767: SWAP5
00002768: POP
00002769: POP
0000276a: PUSH1 0x20
0000276c: PUSH2 0x2777
0000276f: DUP8
00002770: DUP3
00002771: DUP9
00002772: ADD
00002773: PUSH2 0x25c0
00002776: JUMP
00002777: JUMPDEST
00002778: SWAP4
00002779: POP
0000277a: POP
0000277b: PUSH1 0x40
0000277d: PUSH2 0x2788
00002780: DUP8
00002781: DUP3
00002782: DUP9
00002783: ADD
00002784: PUSH2 0x25c0
00002787: JUMP
00002788: JUMPDEST
00002789: SWAP3
0000278a: POP
0000278b: POP
0000278c: PUSH1 0x60
0000278e: PUSH2 0x2799
00002791: DUP8
00002792: DUP3
00002793: DUP9
00002794: ADD
00002795: PUSH2 0x26c6
00002798: JUMP
00002799: JUMPDEST
0000279a: SWAP2
0000279b: POP
0000279c: POP
0000279d: SWAP3
0000279e: SWAP6
0000279f: SWAP2
000027a0: SWAP5
000027a1: POP
000027a2: SWAP3
000027a3: POP
000027a4: JUMP
000027a5: JUMPDEST
000027a6: PUSH1 0x00
000027a8: DUP1
000027a9: PUSH1 0x00
000027ab: DUP1
000027ac: PUSH1 0x00
000027ae: PUSH1 0xa0
000027b0: DUP7
000027b1: DUP9
000027b2: SUB
000027b3: SLT
000027b4: ISZERO
000027b5: PUSH2 0x27bd
000027b8: JUMPI
000027b9: PUSH1 0x00
000027bb: DUP1
000027bc: REVERT
000027bd: JUMPDEST
000027be: DUP6
000027bf: CALLDATALOAD
000027c0: PUSH8 0xffffffffffffffff
000027c9: DUP2
000027ca: GT
000027cb: ISZERO
000027cc: PUSH2 0x27d4
000027cf: JUMPI
000027d0: PUSH1 0x00
000027d2: DUP1
000027d3: REVERT
000027d4: JUMPDEST
000027d5: PUSH2 0x27e0
000027d8: DUP9
000027d9: DUP3
000027da: DUP10
000027db: ADD
000027dc: PUSH2 0x25cb
000027df: JUMP
000027e0: JUMPDEST
000027e1: SWAP6
000027e2: POP
000027e3: POP
000027e4: PUSH1 0x20
000027e6: PUSH2 0x27f1
000027e9: DUP9
000027ea: DUP3
000027eb: DUP10
000027ec: ADD
000027ed: PUSH2 0x25c0
000027f0: JUMP
000027f1: JUMPDEST
000027f2: SWAP5
000027f3: POP
000027f4: POP
000027f5: PUSH1 0x40
000027f7: PUSH2 0x2802
000027fa: DUP9
000027fb: DUP3
000027fc: DUP10
000027fd: ADD
000027fe: PUSH2 0x25c0
00002801: JUMP
00002802: JUMPDEST
00002803: SWAP4
00002804: POP
00002805: POP
00002806: PUSH1 0x60
00002808: PUSH2 0x2813
0000280b: DUP9
0000280c: DUP3
0000280d: DUP10
0000280e: ADD
0000280f: PUSH2 0x26c6
00002812: JUMP
00002813: JUMPDEST
00002814: SWAP3
00002815: POP
00002816: POP
00002817: PUSH1 0x80
00002819: PUSH2 0x2824
0000281c: DUP9
0000281d: DUP3
0000281e: DUP10
0000281f: ADD
00002820: PUSH2 0x26c6
00002823: JUMP
00002824: JUMPDEST
00002825: SWAP2
00002826: POP
00002827: POP
00002828: SWAP3
00002829: SWAP6
0000282a: POP
0000282b: SWAP3
0000282c: SWAP6
0000282d: SWAP1
0000282e: SWAP4
0000282f: POP
00002830: JUMP
00002831: JUMPDEST
00002832: PUSH1 0x00
00002834: DUP1
00002835: PUSH1 0x00
00002837: PUSH1 0x60
00002839: DUP5
0000283a: DUP7
0000283b: SUB
0000283c: SLT
0000283d: ISZERO
0000283e: PUSH2 0x2846
00002841: JUMPI
00002842: PUSH1 0x00
00002844: DUP1
00002845: REVERT
00002846: JUMPDEST
00002847: DUP4
00002848: CALLDATALOAD
00002849: PUSH8 0xffffffffffffffff
00002852: DUP2
00002853: GT
00002854: ISZERO
00002855: PUSH2 0x285d
00002858: JUMPI
00002859: PUSH1 0x00
0000285b: DUP1
0000285c: REVERT
0000285d: JUMPDEST
0000285e: PUSH2 0x2869
00002861: DUP7
00002862: DUP3
00002863: DUP8
00002864: ADD
00002865: PUSH2 0x25cb
00002868: JUMP
00002869: JUMPDEST
0000286a: SWAP4
0000286b: POP
0000286c: POP
0000286d: PUSH1 0x20
0000286f: PUSH2 0x287a
00002872: DUP7
00002873: DUP3
00002874: DUP8
00002875: ADD
00002876: PUSH2 0x25c0
00002879: JUMP
0000287a: JUMPDEST
0000287b: SWAP3
0000287c: POP
0000287d: POP
0000287e: PUSH1 0x40
00002880: PUSH2 0x288b
00002883: DUP7
00002884: DUP3
00002885: DUP8
00002886: ADD
00002887: PUSH2 0x26c6
0000288a: JUMP
0000288b: JUMPDEST
0000288c: SWAP2
0000288d: POP
0000288e: POP
0000288f: SWAP3
00002890: POP
00002891: SWAP3
00002892: POP
00002893: SWAP3
00002894: JUMP
00002895: JUMPDEST
00002896: PUSH1 0x00
00002898: DUP1
00002899: PUSH1 0x00
0000289b: DUP1
0000289c: PUSH1 0x80
0000289e: DUP6
0000289f: DUP8
000028a0: SUB
000028a1: SLT
000028a2: ISZERO
000028a3: PUSH2 0x28ab
000028a6: JUMPI
000028a7: PUSH1 0x00
000028a9: DUP1
000028aa: REVERT
000028ab: JUMPDEST
000028ac: DUP5
000028ad: CALLDATALOAD
000028ae: PUSH8 0xffffffffffffffff
000028b7: DUP2
000028b8: GT
000028b9: ISZERO
000028ba: PUSH2 0x28c2
000028bd: JUMPI
000028be: PUSH1 0x00
000028c0: DUP1
000028c1: REVERT
000028c2: JUMPDEST
000028c3: PUSH2 0x28ce
000028c6: DUP8
000028c7: DUP3
000028c8: DUP9
000028c9: ADD
000028ca: PUSH2 0x25cb
000028cd: JUMP
000028ce: JUMPDEST
000028cf: SWAP5
000028d0: POP
000028d1: POP
000028d2: PUSH1 0x20
000028d4: PUSH2 0x28df
000028d7: DUP8
000028d8: DUP3
000028d9: DUP9
000028da: ADD
000028db: PUSH2 0x25c0
000028de: JUMP
000028df: JUMPDEST
000028e0: SWAP4
000028e1: POP
000028e2: POP
000028e3: PUSH1 0x40
000028e5: PUSH2 0x2788
000028e8: DUP8
000028e9: DUP3
000028ea: DUP9
000028eb: ADD
000028ec: PUSH2 0x26c6
000028ef: JUMP
000028f0: JUMPDEST
000028f1: PUSH1 0x00
000028f3: PUSH1 0x20
000028f5: DUP3
000028f6: DUP5
000028f7: SUB
000028f8: SLT
000028f9: ISZERO
000028fa: PUSH2 0x2902
000028fd: JUMPI
000028fe: PUSH1 0x00
00002900: DUP1
00002901: REVERT
00002902: JUMPDEST
00002903: PUSH1 0x00
00002905: PUSH2 0x290e
00002908: DUP5
00002909: DUP5
0000290a: PUSH2 0x264c
0000290d: JUMP
0000290e: JUMPDEST
0000290f: SWAP5
00002910: SWAP4
00002911: POP
00002912: POP
00002913: POP
00002914: POP
00002915: JUMP
00002916: JUMPDEST
00002917: PUSH1 0x00
00002919: PUSH1 0x20
0000291b: DUP3
0000291c: DUP5
0000291d: SUB
0000291e: SLT
0000291f: ISZERO
00002920: PUSH2 0x2928
00002923: JUMPI
00002924: PUSH1 0x00
00002926: DUP1
00002927: REVERT
00002928: JUMPDEST
00002929: PUSH1 0x00
0000292b: PUSH2 0x290e
0000292e: DUP5
0000292f: DUP5
00002930: PUSH2 0x26d1
00002933: JUMP
00002934: JUMPDEST
00002935: PUSH1 0x00
00002937: DUP1
00002938: PUSH1 0x40
0000293a: DUP4
0000293b: DUP6
0000293c: SUB
0000293d: SLT
0000293e: ISZERO
0000293f: PUSH2 0x2947
00002942: JUMPI
00002943: PUSH1 0x00
00002945: DUP1
00002946: REVERT
00002947: JUMPDEST
00002948: PUSH1 0x00
0000294a: PUSH2 0x2953
0000294d: DUP6
0000294e: DUP6
0000294f: PUSH2 0x26d1
00002952: JUMP
00002953: JUMPDEST
00002954: SWAP3
00002955: POP
00002956: POP
00002957: PUSH1 0x20
00002959: PUSH2 0x2723
0000295c: DUP6
0000295d: DUP3
0000295e: DUP7
0000295f: ADD
00002960: PUSH2 0x26d1
00002963: JUMP
00002964: JUMPDEST
00002965: PUSH2 0x296d
00002968: DUP2
00002969: PUSH2 0x2ce1
0000296c: JUMP
0000296d: JUMPDEST
0000296e: DUP3
0000296f: MSTORE
00002970: POP
00002971: POP
00002972: JUMP
00002973: JUMPDEST
00002974: PUSH2 0x296d
00002977: DUP2
00002978: PUSH2 0x2cc2
0000297b: JUMP
0000297c: JUMPDEST
0000297d: PUSH1 0x00
0000297f: PUSH2 0x2988
00002982: DUP4
00002983: DUP6
00002984: PUSH2 0x2cb4
00002987: JUMP
00002988: JUMPDEST
00002989: SWAP4
0000298a: POP
0000298b: PUSH2 0x2995
0000298e: DUP4
0000298f: DUP6
00002990: DUP5
00002991: PUSH2 0x2cf2
00002994: JUMP
00002995: JUMPDEST
00002996: PUSH2 0x299e
00002999: DUP4
0000299a: PUSH2 0x2cfe
0000299d: JUMP
0000299e: JUMPDEST
0000299f: SWAP1
000029a0: SWAP4
000029a1: ADD
000029a2: SWAP4
000029a3: SWAP3
000029a4: POP
000029a5: POP
000029a6: POP
000029a7: JUMP
000029a8: JUMPDEST
000029a9: PUSH1 0x00
000029ab: PUSH2 0x29b5
000029ae: PUSH1 0x0d
000029b0: DUP4
000029b1: PUSH2 0x2cb4
000029b4: JUMP
000029b5: JUMPDEST
000029b6: PUSH32 0x4552525f4c494d49545f4f555400000000000000000000000000000000000000
000029d7: DUP2
000029d8: MSTORE
000029d9: PUSH1 0x20
000029db: ADD
000029dc: SWAP3
000029dd: SWAP2
000029de: POP
000029df: POP
000029e0: JUMP
000029e1: JUMPDEST
000029e2: PUSH1 0x00
000029e4: PUSH2 0x29ee
000029e7: PUSH1 0x0c
000029e9: DUP4
000029ea: PUSH2 0x2cb4
000029ed: JUMP
000029ee: JUMPDEST
000029ef: PUSH32 0x4552525f4c494d49545f494e0000000000000000000000000000000000000000
00002a10: DUP2
00002a11: MSTORE
00002a12: PUSH1 0x20
00002a14: ADD
00002a15: SWAP3
00002a16: SWAP2
00002a17: POP
00002a18: POP
00002a19: JUMP
00002a1a: JUMPDEST
00002a1b: PUSH1 0x00
00002a1d: PUSH2 0x2a27
00002a20: PUSH1 0x0b
00002a22: DUP4
00002a23: PUSH2 0x2cb4
00002a26: JUMP
00002a27: JUMPDEST
00002a28: PUSH32 0x4552525f5245454e545259000000000000000000000000000000000000000000
00002a49: DUP2
00002a4a: MSTORE
00002a4b: PUSH1 0x20
00002a4d: ADD
00002a4e: SWAP3
00002a4f: SWAP2
00002a50: POP
00002a51: POP
00002a52: JUMP
00002a53: JUMPDEST
00002a54: PUSH1 0x00
00002a56: PUSH2 0x2a60
00002a59: PUSH1 0x0e
00002a5b: DUP4
00002a5c: PUSH2 0x2cb4
00002a5f: JUMP
00002a60: JUMPDEST
00002a61: PUSH32 0x4552525f4554485f4641494c4544000000000000000000000000000000000000
00002a82: DUP2
00002a83: MSTORE
00002a84: PUSH1 0x20
00002a86: ADD
00002a87: SWAP3
00002a88: SWAP2
00002a89: POP
00002a8a: POP
00002a8b: JUMP
00002a8c: JUMPDEST
00002a8d: PUSH1 0x00
00002a8f: PUSH2 0x2589
00002a92: PUSH1 0x00
00002a94: DUP4
00002a95: PUSH2 0x2cbd
00002a98: JUMP
00002a99: JUMPDEST
00002a9a: PUSH1 0x00
00002a9c: PUSH2 0x2aa6
00002a9f: PUSH1 0x13
00002aa1: DUP4
00002aa2: PUSH2 0x2cb4
00002aa5: JUMP
00002aa6: JUMPDEST
00002aa7: PUSH32 0x4552525f5452414e534645525f4641494c454400000000000000000000000000
00002ac8: DUP2
00002ac9: MSTORE
00002aca: PUSH1 0x20
00002acc: ADD
00002acd: SWAP3
00002ace: SWAP2
00002acf: POP
00002ad0: POP
00002ad1: JUMP
00002ad2: JUMPDEST
00002ad3: PUSH1 0x00
00002ad5: PUSH2 0x2adf
00002ad8: PUSH1 0x10
00002ada: DUP4
00002adb: PUSH2 0x2cb4
00002ade: JUMP
00002adf: JUMPDEST
00002ae0: PUSH32 0x4552525f4144445f4f564552464c4f5700000000000000000000000000000000
00002b01: DUP2
00002b02: MSTORE
00002b03: PUSH1 0x20
00002b05: ADD
00002b06: SWAP3
00002b07: SWAP2
00002b08: POP
00002b09: POP
00002b0a: JUMP
00002b0b: JUMPDEST
00002b0c: PUSH2 0x296d
00002b0f: DUP2
00002b10: PUSH2 0x2cde
00002b13: JUMP
00002b14: JUMPDEST
00002b15: PUSH1 0x00
00002b17: PUSH2 0x2589
00002b1a: DUP3
00002b1b: PUSH2 0x2a8c
00002b1e: JUMP
00002b1f: JUMPDEST
00002b20: PUSH1 0x20
00002b22: DUP2
00002b23: ADD
00002b24: PUSH2 0x2589
00002b27: DUP3
00002b28: DUP5
00002b29: PUSH2 0x2964
00002b2c: JUMP
00002b2d: JUMPDEST
00002b2e: PUSH1 0x40
00002b30: DUP2
00002b31: ADD
00002b32: PUSH2 0x2b3b
00002b35: DUP3
00002b36: DUP6
00002b37: PUSH2 0x2964
00002b3a: JUMP
00002b3b: JUMPDEST
00002b3c: PUSH2 0x2b48
00002b3f: PUSH1 0x20
00002b41: DUP4
00002b42: ADD
00002b43: DUP5
00002b44: PUSH2 0x2973
00002b47: JUMP
00002b48: JUMPDEST
00002b49: SWAP4
00002b4a: SWAP3
00002b4b: POP
00002b4c: POP
00002b4d: POP
00002b4e: JUMP
00002b4f: JUMPDEST
00002b50: PUSH1 0x60
00002b52: DUP2
00002b53: ADD
00002b54: PUSH2 0x2b5d
00002b57: DUP3
00002b58: DUP7
00002b59: PUSH2 0x2964
00002b5c: JUMP
00002b5d: JUMPDEST
00002b5e: PUSH2 0x2b6a
00002b61: PUSH1 0x20
00002b63: DUP4
00002b64: ADD
00002b65: DUP6
00002b66: PUSH2 0x2964
00002b69: JUMP
00002b6a: JUMPDEST
00002b6b: PUSH2 0x290e
00002b6e: PUSH1 0x40
00002b70: DUP4
00002b71: ADD
00002b72: DUP5
00002b73: PUSH2 0x2b0b
00002b76: JUMP
00002b77: JUMPDEST
00002b78: PUSH1 0x40
00002b7a: DUP2
00002b7b: ADD
00002b7c: PUSH2 0x2b85
00002b7f: DUP3
00002b80: DUP6
00002b81: PUSH2 0x2964
00002b84: JUMP
00002b85: JUMPDEST
00002b86: PUSH2 0x2b48
00002b89: PUSH1 0x20
00002b8b: DUP4
00002b8c: ADD
00002b8d: DUP5
00002b8e: PUSH2 0x2b0b
00002b91: JUMP
00002b92: JUMPDEST
00002b93: PUSH1 0x40
00002b95: DUP2
00002b96: ADD
00002b97: PUSH2 0x2b85
00002b9a: DUP3
00002b9b: DUP6
00002b9c: PUSH2 0x2973
00002b9f: JUMP
00002ba0: JUMPDEST
00002ba1: PUSH1 0xa0
00002ba3: DUP2
00002ba4: ADD
00002ba5: PUSH2 0x2bae
00002ba8: DUP3
00002ba9: DUP9
00002baa: PUSH2 0x2973
00002bad: JUMP
00002bae: JUMPDEST
00002baf: PUSH2 0x2bbb
00002bb2: PUSH1 0x20
00002bb4: DUP4
00002bb5: ADD
00002bb6: DUP8
00002bb7: PUSH2 0x2b0b
00002bba: JUMP
00002bbb: JUMPDEST
00002bbc: PUSH2 0x2bc8
00002bbf: PUSH1 0x40
00002bc1: DUP4
00002bc2: ADD
00002bc3: DUP7
00002bc4: PUSH2 0x2973
00002bc7: JUMP
00002bc8: JUMPDEST
00002bc9: PUSH2 0x2bd5
00002bcc: PUSH1 0x60
00002bce: DUP4
00002bcf: ADD
00002bd0: DUP6
00002bd1: PUSH2 0x2b0b
00002bd4: JUMP
00002bd5: JUMPDEST
00002bd6: PUSH2 0x2be2
00002bd9: PUSH1 0x80
00002bdb: DUP4
00002bdc: ADD
00002bdd: DUP5
00002bde: PUSH2 0x2b0b
00002be1: JUMP
00002be2: JUMPDEST
00002be3: SWAP7
00002be4: SWAP6
00002be5: POP
00002be6: POP
00002be7: POP
00002be8: POP
00002be9: POP
00002bea: POP
00002beb: JUMP
00002bec: JUMPDEST
00002bed: PUSH1 0x20
00002bef: DUP1
00002bf0: DUP3
00002bf1: MSTORE
00002bf2: DUP2
00002bf3: ADD
00002bf4: PUSH2 0x290e
00002bf7: DUP2
00002bf8: DUP5
00002bf9: DUP7
00002bfa: PUSH2 0x297c
00002bfd: JUMP
00002bfe: JUMPDEST
00002bff: PUSH1 0x20
00002c01: DUP1
00002c02: DUP3
00002c03: MSTORE
00002c04: DUP2
00002c05: ADD
00002c06: PUSH2 0x2589
00002c09: DUP2
00002c0a: PUSH2 0x29a8
00002c0d: JUMP
00002c0e: JUMPDEST
00002c0f: PUSH1 0x20
00002c11: DUP1
00002c12: DUP3
00002c13: MSTORE
00002c14: DUP2
00002c15: ADD
00002c16: PUSH2 0x2589
00002c19: DUP2
00002c1a: PUSH2 0x29e1
00002c1d: JUMP
00002c1e: JUMPDEST
00002c1f: PUSH1 0x20
00002c21: DUP1
00002c22: DUP3
00002c23: MSTORE
00002c24: DUP2
00002c25: ADD
00002c26: PUSH2 0x2589
00002c29: DUP2
00002c2a: PUSH2 0x2a1a
00002c2d: JUMP
00002c2e: JUMPDEST
00002c2f: PUSH1 0x20
00002c31: DUP1
00002c32: DUP3
00002c33: MSTORE
00002c34: DUP2
00002c35: ADD
00002c36: PUSH2 0x2589
00002c39: DUP2
00002c3a: PUSH2 0x2a53
00002c3d: JUMP
00002c3e: JUMPDEST
00002c3f: PUSH1 0x20
00002c41: DUP1
00002c42: DUP3
00002c43: MSTORE
00002c44: DUP2
00002c45: ADD
00002c46: PUSH2 0x2589
00002c49: DUP2
00002c4a: PUSH2 0x2a99
00002c4d: JUMP
00002c4e: JUMPDEST
00002c4f: PUSH1 0x20
00002c51: DUP1
00002c52: DUP3
00002c53: MSTORE
00002c54: DUP2
00002c55: ADD
00002c56: PUSH2 0x2589
00002c59: DUP2
00002c5a: PUSH2 0x2ad2
00002c5d: JUMP
00002c5e: JUMPDEST
00002c5f: PUSH1 0x20
00002c61: DUP2
00002c62: ADD
00002c63: PUSH2 0x2589
00002c66: DUP3
00002c67: DUP5
00002c68: PUSH2 0x2b0b
00002c6b: JUMP
00002c6c: JUMPDEST
00002c6d: PUSH1 0x40
00002c6f: MLOAD
00002c70: DUP2
00002c71: DUP2
00002c72: ADD
00002c73: PUSH8 0xffffffffffffffff
00002c7c: DUP2
00002c7d: GT
00002c7e: DUP3
00002c7f: DUP3
00002c80: LT
00002c81: OR
00002c82: ISZERO
00002c83: PUSH2 0x2c8b
00002c86: JUMPI
00002c87: PUSH1 0x00
00002c89: DUP1
00002c8a: REVERT
00002c8b: JUMPDEST
00002c8c: PUSH1 0x40
00002c8e: MSTORE
00002c8f: SWAP2
00002c90: SWAP1
00002c91: POP
00002c92: JUMP
00002c93: JUMPDEST
00002c94: PUSH1 0x00
00002c96: PUSH8 0xffffffffffffffff
00002c9f: DUP3
00002ca0: GT
00002ca1: ISZERO
00002ca2: PUSH2 0x2caa
00002ca5: JUMPI
00002ca6: PUSH1 0x00
00002ca8: DUP1
00002ca9: REVERT
00002caa: JUMPDEST
00002cab: POP
00002cac: PUSH1 0x20
00002cae: SWAP1
00002caf: DUP2
00002cb0: MUL
00002cb1: ADD
00002cb2: SWAP1
00002cb3: JUMP
00002cb4: JUMPDEST
00002cb5: SWAP1
00002cb6: DUP2
00002cb7: MSTORE
00002cb8: PUSH1 0x20
00002cba: ADD
00002cbb: SWAP1
00002cbc: JUMP
00002cbd: JUMPDEST
00002cbe: SWAP2
00002cbf: SWAP1
00002cc0: POP
00002cc1: JUMP
00002cc2: JUMPDEST
00002cc3: PUSH1 0x00
00002cc5: PUSH2 0x2589
00002cc8: DUP3
00002cc9: PUSH2 0x2cd2
00002ccc: JUMP
00002ccd: JUMPDEST
00002cce: ISZERO
00002ccf: ISZERO
00002cd0: SWAP1
00002cd1: JUMP
00002cd2: JUMPDEST
00002cd3: PUSH1 0x01
00002cd5: PUSH1 0x01
00002cd7: PUSH1 0xa0
00002cd9: SHL
00002cda: SUB
00002cdb: AND
00002cdc: SWAP1
00002cdd: JUMP
00002cde: JUMPDEST
00002cdf: SWAP1
00002ce0: JUMP
00002ce1: JUMPDEST
00002ce2: PUSH1 0x00
00002ce4: PUSH2 0x2589
00002ce7: DUP3
00002ce8: PUSH1 0x00
00002cea: PUSH2 0x2589
00002ced: DUP3
00002cee: PUSH2 0x2cc2
00002cf1: JUMP
00002cf2: JUMPDEST
00002cf3: DUP3
00002cf4: DUP2
00002cf5: DUP4
00002cf6: CALLDATACOPY
00002cf7: POP
00002cf8: PUSH1 0x00
00002cfa: SWAP2
00002cfb: ADD
00002cfc: MSTORE
00002cfd: JUMP
00002cfe: JUMPDEST
00002cff: PUSH1 0x1f
00002d01: ADD
00002d02: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002d23: AND
00002d24: SWAP1
00002d25: JUMP
00002d26: JUMPDEST
00002d27: PUSH2 0x2d2f
00002d2a: DUP2
00002d2b: PUSH2 0x2cc2
00002d2e: JUMP
00002d2f: JUMPDEST
00002d30: DUP2
00002d31: EQ
00002d32: PUSH2 0x2d3a
00002d35: JUMPI
00002d36: PUSH1 0x00
00002d38: DUP1
00002d39: REVERT
00002d3a: JUMPDEST
00002d3b: POP
00002d3c: JUMP
00002d3d: JUMPDEST
00002d3e: PUSH2 0x2d2f
00002d41: DUP2
00002d42: PUSH2 0x2ccd
00002d45: JUMP
00002d46: JUMPDEST
00002d47: PUSH2 0x2d2f
00002d4a: DUP2
00002d4b: PUSH2 0x2cde
00002d4e: JUMP
00002d4f: INVALID
00002d50: LOG3
00002d51: PUSH6 0x627a7a723158
00002d58: KECCAK256
00002d59: SELFBALANCE
00002d5a: SLT
00002d5b: DUP1
00002d5c: DUP8
00002d5d: PUSH6 0x63df20ca7990
00002d64: UNKNOWN(0xD2)
00002d65: SWAP9
00002d66: SHL
00002d67: UNKNOWN(0xE9)
00002d68: CREATE
00002d69: MULMOD
00002d6a: UNKNOWN(0xB5)
00002d6b: ADD
00002d6c: UNKNOWN(0x22)
00002d6d: UNKNOWN(0xD7)
00002d6e: PUSH10 0xe6f0c5e0f881f314f5d9
00002d79: PUSH13 0x6578706572696d656e74616cf5
00002d87: PUSH5 0x736f6c6343
00002d8d: STOP
00002d8e: SDIV
00002d8f: UNKNOWN(0x0C)
00002d90: STOP
00002d91: BLOCKHASH

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x48f3f47b8e625393de1b3763f01d551d0906b79fd519ebffda19b74243f186d5
call_targets: 0x6317c5e82a06e1d8bf200d21f4510ac2c038ac81
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x48f3f47b8e625393de1b3763f01d551d0906b79fd519ebffda19b74243f186d5",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6317c5e82a06e1d8bf200d21f4510ac2c038ac81"
    ],
    "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": "0x6b9b8f8f",
            "selector": "0x6b9b8f8f",
            "calldata_variants": [
                "0x6b9b8f8f",
                "0x6b9b8f8f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d24fb96",
            "selector": "0x6d24fb96",
            "calldata_variants": [
                "0x6d24fb96",
                "0x6d24fb960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4378240",
            "selector": "0xf4378240",
            "calldata_variants": [
                "0xf4378240",
                "0xf43782400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2999cdc7",
            "selector": "0x2999cdc7",
            "calldata_variants": [
                "0x2999cdc7",
                "0x2999cdc70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ca9184e",
            "selector": "0x3ca9184e",
            "calldata_variants": [
                "0x3ca9184e",
                "0x3ca9184e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4e7ffa04",
            "selector": "0x4e7ffa04",
            "calldata_variants": [
                "0x4e7ffa04",
                "0x4e7ffa040000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 518,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 750,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 912,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 50,
    "guards_detected": [],
    "untrusted_call_count": 50
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x48f3f47b8e625393de1b3763f01d551d0906b79fd519ebffda19b74243f186d5
call_targets: 0x6317c5e82a06e1d8bf200d21f4510ac2c038ac81
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x48f3f47b8e625393de1b3763f01d551d0906b79fd519ebffda19b74243f186d5",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6317c5e82a06e1d8bf200d21f4510ac2c038ac81"
    ],
    "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": "0x6b9b8f8f",
            "selector": "0x6b9b8f8f",
            "calldata_variants": [
                "0x6b9b8f8f",
                "0x6b9b8f8f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d24fb96",
            "selector": "0x6d24fb96",
            "calldata_variants": [
                "0x6d24fb96",
                "0x6d24fb960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4378240",
            "selector": "0xf4378240",
            "calldata_variants": [
                "0xf4378240",
                "0xf43782400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2999cdc7",
            "selector": "0x2999cdc7",
            "calldata_variants": [
                "0x2999cdc7",
                "0x2999cdc70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ca9184e",
            "selector": "0x3ca9184e",
            "calldata_variants": [
                "0x3ca9184e",
                "0x3ca9184e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4e7ffa04",
            "selector": "0x4e7ffa04",
            "calldata_variants": [
                "0x4e7ffa04",
                "0x4e7ffa040000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 518,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 750,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 912,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 50,
    "guards_detected": []
}
high upgradeability slither ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "batchEthInSwapExactIn",
            "type": "function",
            "source_mapping": {
                "lines": [
                    140,
                    141,
                    142,
                    143,
                    144,
                    145,
                    146,
                    147,
                    148,
                    149,
                    150,
                    151,
                    152,
                    153,
                    154,
                    155,
                    156,
                    157,
                    158,
                    159,
                    160,
                    161,
                    162,
                    163,
                    164,
                    165,
                    166,
                    167,
                    168,
                    169,
                    170,
                    171,
                    172,
                    173,
                    174,
                    175,
                    176
                ],
                "start": 5244,
                "length": 1509,
                "ending_column": 24,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 91,
                "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "ExchangeProxy",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287
                        ],
                        "start": 1343,
                        "length": 9905,
                        "ending_column": 80,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 11,
                        "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256)"
            }
        },
        {
            "name": "(xfer,None) = msg.sender.call.value(wethBalance)()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    173,
                    174
                ],
                "start": 6607,
                "length": 53,
                "ending_column": 22,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 64,
                "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "batchEthInSwapExactIn",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176
                        ],
                        "start": 5244,
                        "length": 1509,
                        "ending_column": 24,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 91,
                        "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "ExchangeProxy",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287
                                ],
                                "start": 1343,
                                "length": 9905,
                                "ending_column": 80,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 11,
                                "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "batchEthInSwapExactIn",
            "type": "function",
            "lines": [
                140,
                141,
                142,
                143,
                144,
                145,
                146,
                147,
                148,
                149,
                150,
                151,
                152,
                153,
                154,
                155,
                156,
                157,
                158,
                159,
                160,
                161,
                162,
                163,
                164,
                165,
                166,
                167,
                168,
                169,
                170,
                171,
                172,
                173,
                174,
                175,
                176
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(xfer,None) = msg.sender.call.value(wethBalance)()",
            "type": "node",
            "lines": [
                173,
                174
            ]
        }
    ],
    "description": "ExchangeProxy.batchEthInSwapExactIn(ExchangeProxy.Swap[],address,uint256) (contracts/Contract.sol#140-176) sends eth to arbitrary user\n\tDangerous calls:\n\t- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#173-174)"
}
high upgradeability slither ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "batchEthInSwapExactOut",
            "type": "function",
            "source_mapping": {
                "lines": [
                    215,
                    216,
                    217,
                    218,
                    219,
                    220,
                    221,
                    222,
                    223,
                    224,
                    225,
                    226,
                    227,
                    228,
                    229,
                    230,
                    231,
                    232,
                    233,
                    234,
                    235,
                    236,
                    237,
                    238,
                    239,
                    240,
                    241,
                    242,
                    243,
                    244,
                    245,
                    246,
                    247,
                    248,
                    249
                ],
                "start": 8298,
                "length": 1403,
                "ending_column": 39,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 27,
                "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "ExchangeProxy",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287
                        ],
                        "start": 1343,
                        "length": 9905,
                        "ending_column": 80,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 11,
                        "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "batchEthInSwapExactOut(ExchangeProxy.Swap[],address)"
            }
        },
        {
            "name": "(xfer,None) = msg.sender.call.value(wethBalance)()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    246,
                    247,
                    248
                ],
                "start": 9556,
                "length": 53,
                "ending_column": 42,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 64,
                "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "batchEthInSwapExactOut",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249
                        ],
                        "start": 8298,
                        "length": 1403,
                        "ending_column": 39,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 27,
                        "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "ExchangeProxy",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287
                                ],
                                "start": 1343,
                                "length": 9905,
                                "ending_column": 80,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 11,
                                "filename_absolute": "/tmp/slither-tuz645fb/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "batchEthInSwapExactOut(ExchangeProxy.Swap[],address)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "batchEthInSwapExactOut",
            "type": "function",
            "lines": [
                215,
                216,
                217,
                218,
                219,
                220,
                221,
                222,
                223,
                224,
                225,
                226,
                227,
                228,
                229,
                230,
                231,
                232,
                233,
                234,
                235,
                236,
                237,
                238,
                239,
                240,
                241,
                242,
                243,
                244,
                245,
                246,
                247,
                248,
                249
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "(xfer,None) = msg.sender.call.value(wethBalance)()",
            "type": "node",
            "lines": [
                246,
                247,
                248
            ]
        }
    ],
    "description": "ExchangeProxy.batchEthInSwapExactOut(ExchangeProxy.Swap[],address) (contracts/Contract.sol#215-249) sends eth to arbitrary user\n\tDangerous calls:\n\t- (xfer,None) = msg.sender.call.value(wethBalance)() (contracts/Contract.sol#246-248)"
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x69d0051b4d263f182e7ae86e0237ed3d74d14396aad60fcc1faf8dfde8006694
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 12,
    "trace_id": "0x69d0051b4d263f182e7ae86e0237ed3d74d14396aad60fcc1faf8dfde8006694",
    "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": "0x6b9b8f8f",
            "selector": "0x6b9b8f8f",
            "calldata_variants": [
                "0x6b9b8f8f",
                "0x6b9b8f8f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6d24fb96",
            "selector": "0x6d24fb96",
            "calldata_variants": [
                "0x6d24fb96",
                "0x6d24fb960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4378240",
            "selector": "0xf4378240",
            "calldata_variants": [
                "0xf4378240",
                "0xf43782400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2999cdc7",
            "selector": "0x2999cdc7",
            "calldata_variants": [
                "0x2999cdc7",
                "0x2999cdc70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ca9184e",
            "selector": "0x3ca9184e",
            "calldata_variants": [
                "0x3ca9184e",
                "0x3ca9184e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4e7ffa04",
            "selector": "0x4e7ffa04",
            "calldata_variants": [
                "0x4e7ffa04",
                "0x4e7ffa040000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 50
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 47
}