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

Analysis Run

8be6354b-23eb-41af-b543-f567f3434f60

complete
Chain ID
1
Address
Block Number
Created
Wed, Dec 31, 2025 4:07 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
Unrestricted external initializer delegatecall enables proxy takeover and fund drain
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30846 report.consolidate complete 1 / 1 3 months ago
94087 artifact.fetch complete 1 / 3 1 week ago
94088 tool.cast_disasm complete 1 / 3 1 week ago
94089 analysis.bundle complete 1 / 3 1 week ago
94090 capability.graph complete 1 / 3 1 week ago
94091 detector.run complete 1 / 3 1 week ago
94092 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Critical: ProxySupport.initialize allows any caller via the proxy to delegatecall an arbitrary external initializer, enabling storage takeover and full bridge drain.
View stderr
[codex:951859] OpenAI Codex v0.77.0 (research preview)
[codex:951859] --------
[codex:951859] workdir: /tmp/codex-multi-fnnwmwej
[codex:951859] model: gpt-5.2-codex
[codex:951859] provider: openai
[codex:951859] approval: never
[codex:951859] sandbox: read-only
[codex:951859] reasoning effort: xhigh
[codex:951859] reasoning summaries: auto
[codex:951859] session id: 019b7526-3507-75e3-87aa-7cf02e2e99f3
[codex:951859] --------
[codex:951859] user
[codex:951859] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:951859] 
[codex:951859] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:951859] 
[codex:951859] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:951859] - Gas inefficiency, code quality, naming, or best practices
[codex:951859] - Theoretical vulnerabilities without a clear extraction path
[codex:951859] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:951859] - Front-running unless it enables theft beyond MEV
[codex:951859] - DoS, griefing, or issues that don't result in attacker profit
[codex:951859] - Missing events, view function issues, or informational findings
[codex:951859] 
[codex:951859] HIGH-VALUE PATTERNS TO HUNT:
[codex:951859] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:951859] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:951859] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:951859] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:951859] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:951859] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:951859] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:951859] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:951859] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:951859] 
[codex:951859] For each finding, you MUST provide:
[codex:951859] 1. Exact file and line numbers of vulnerable code
[codex:951859] 2. Step-by-step exploit transaction sequence
[codex:951859] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:951859] 
[codex:951859] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:951859] 
[codex:951859] Output MUST be valid JSON matching the provided schema.
[codex:951859] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:951859] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:951859] mcp startup: no servers
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Preparing to audit bundle**
[codex:951859] exec
[codex:951859] /bin/bash -lc ls in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859] AUDIT_BUNDLE.txt
[codex:951859] codex-output-schema.json
[codex:951859] contracts
[codex:951859] exec
[codex:951859] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:951859] 
[codex:951859] ================================================================================
[codex:951859] FILE: contracts/src/solidity/Fees.sol
[codex:951859] ================================================================================
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Planning audit exploration**
[codex:951859] exec
[codex:951859] /bin/bash -lc "rg -n \"contract StarknetTokenBridge|withdraw\\(|deposit\\(|initialize|upgrade|proxy|UUPS|permit|nonce|delegate|call\" contracts/src/solidity contracts/starkware/solidity -S" in /tmp/codex-multi-fnnwmwej succeeded in 11ms:
[codex:951859] contracts/src/solidity/LegacyBridge.sol:33:        uint256 nonce
[codex:951859] contracts/src/solidity/LegacyBridge.sol:39:        uint256 nonce
[codex:951859] contracts/src/solidity/LegacyBridge.sol:45:        uint256 nonce,
[codex:951859] contracts/src/solidity/LegacyBridge.sol:57:    modifier onlyDepositor(uint256 nonce) {
[codex:951859] contracts/src/solidity/LegacyBridge.sol:58:        require(depositors()[nonce] == msg.sender, "ONLY_DEPOSITOR");
[codex:951859] contracts/src/solidity/LegacyBridge.sol:76:    function deposit(uint256 amount, uint256 l2Recipient) external payable {
[codex:951859] contracts/src/solidity/LegacyBridge.sol:80:        uint256 nonce = sendDepositMessage(
[codex:951859] contracts/src/solidity/LegacyBridge.sol:94:            nonce,
[codex:951859] contracts/src/solidity/LegacyBridge.sol:98:        emit LogDeposit(msg.sender, amount, l2Recipient, nonce, fee);
[codex:951859] contracts/src/solidity/LegacyBridge.sol:105:    function withdraw(uint256 amount, address recipient) external {
[codex:951859] contracts/src/solidity/LegacyBridge.sol:106:        withdraw(bridgedToken(), amount, recipient);
[codex:951859] contracts/src/solidity/LegacyBridge.sol:109:    function withdraw(uint256 amount) external {
[codex:951859] contracts/src/solidity/LegacyBridge.sol:110:        withdraw(bridgedToken(), amount, msg.sender);
[codex:951859] contracts/src/solidity/LegacyBridge.sol:151:    // Supports cancellation of deposits that were made before the L1 bridge was upgraded.
[codex:951859] contracts/src/solidity/LegacyBridge.sol:155:        uint256 nonce
[codex:951859] contracts/src/solidity/LegacyBridge.sol:156:    ) external onlyDepositor(nonce) {
[codex:951859] contracts/src/solidity/LegacyBridge.sol:161:            nonce
[codex:951859] contracts/src/solidity/LegacyBridge.sol:163:        emit LogDepositCancelRequest(msg.sender, amount, l2Recipient, nonce);
[codex:951859] contracts/src/solidity/LegacyBridge.sol:167:    // Supports reclaim of deposits that were made before the L1 bridge was upgraded.
[codex:951859] contracts/src/solidity/LegacyBridge.sol:171:        uint256 nonce
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Opening StarknetTokenBridge file**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,220p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.20;
[codex:951859] 
[codex:951859] import "starkware/solidity/interfaces/Identity.sol";
[codex:951859] import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '220,520p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859]         return (status == TokenStatus.Pending || status == TokenStatus.Active);
[codex:951859]     }
[codex:951859] 
[codex:951859]     /**
[codex:951859]         Returns the remaining amount of withdrawal allowed for this day.
[codex:951859]         If the daily allowance was not yet set, it is calculated and returned.
[codex:951859]         If the withdraw limit is not enabled for that token - the uint256.max is returned.
[codex:951859]      */
[codex:951859]     function getRemainingIntradayAllowance(address token) external view returns (uint256) {
[codex:951859]         return
[codex:951859]             tokenSettings()[token].withdrawalLimitApplied
[codex:951859]                 ? WithdrawalLimit.getRemainingIntradayAllowance(token)
[codex:951859]                 : type(uint256).max;
[codex:951859]     }
[codex:951859] 
[codex:951859]     /**
[codex:951859]         Deactivates a token in the system.
[codex:951859]         This function is used to deactivate a token that was previously enrolled.
[codex:951859]         Only the manager, who initiated the enrollment, can call this function.
[codex:951859] 
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '520,820p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] 
[codex:951859]     /*
[codex:951859]       A deposit cancellation requires two steps:
[codex:951859]       1. The depositor should send a depositCancelRequest request with deposit details & nonce.
[codex:951859]       2. After a predetermined time (cancellation delay), the depositor can claim back the funds by
[codex:951859]          calling depositReclaim (using the same arguments).
[codex:951859] 
[codex:951859]       Note: As long as the depositReclaim was not performed, the deposit may be processed, even if
[codex:951859]             the cancellation delay time has already passed. Only the depositor is allowed to cancel
[codex:951859]             a deposit, and only before depositReclaim was performed.
[codex:951859]     */
[codex:951859]     function depositCancelRequest(
[codex:951859]         address token,
[codex:951859]         uint256 amount,
[codex:951859]         uint256 l2Recipient,
[codex:951859]         uint256 nonce
[codex:951859]     ) external {
[codex:951859]         messagingContract().startL1ToL2MessageCancellation(
[codex:951859]             l2TokenBridge(),
[codex:951859]             HANDLE_TOKEN_DEPOSIT_SELECTOR,
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Investigating contract vulnerabilities**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,240p' contracts/src/solidity/StarknetTokenStorage.sol" in /tmp/codex-multi-fnnwmwej succeeded in 7ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.20;
[codex:951859] 
[codex:951859] import "starkware/solidity/libraries/NamedStorage.sol";
[codex:951859] import "starkware/starknet/solidity/IStarknetMessaging.sol";
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/WithdrawalLimit.sol" in /tmp/codex-multi-fnnwmwej succeeded in 7ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] import "starkware/solidity/libraries/NamedStorage.sol";
[codex:951859] import "starkware/solidity/tokens/ERC20/IERC20.sol";
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Inspecting manager and registry modules**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarkgateManager.sol" in /tmp/codex-multi-fnnwmwej succeeded in 7ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.20;
[codex:951859] 
[codex:951859] import "starkware/solidity/components/Roles.sol";
[codex:951859] import "starkware/solidity/interfaces/Identity.sol";
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Checking for registry file**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarkgateRegistry.sol" in /tmp/codex-multi-fnnwmwej exited 2 in 6ms:
[codex:951859] sed: can't read contracts/src/solidity/StarkgateRegistry.sol: No such file or directory
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Considering contract placement**
[codex:951859] exec
[codex:951859] /bin/bash -lc 'rg -n "contract StarkgateRegistry|Registry" contracts/src/solidity contracts/starkware/solidity -S' in /tmp/codex-multi-fnnwmwej succeeded in 11ms:
[codex:951859] contracts/src/solidity/IStarkgateManager.sol:21:      Returns the address of the Starkgate Registry contract.
[codex:951859] contracts/src/solidity/IStarkgateManager.sol:23:    function getRegistry() external view returns (address);
[codex:951859] contracts/src/solidity/IStarkgateRegistry.sol:19:interface IStarkgateRegistry {
[codex:951859] contracts/src/solidity/StarkgateManager.sol:26:import "src/solidity/IStarkgateRegistry.sol";
[codex:951859] contracts/src/solidity/StarkgateManager.sol:39:    function getRegistry() external view returns (address) {
[codex:951859] contracts/src/solidity/StarkgateManager.sol:54:    function setRegistry(address contract_) internal {
[codex:951859] contracts/src/solidity/StarkgateManager.sol:71:        setRegistry(registry_);
[codex:951859] contracts/src/solidity/StarkgateManager.sol:97:        IStarkgateRegistry(registry()).enlistToken(token, bridge_);
[codex:951859] contracts/src/solidity/StarkgateManager.sol:108:        IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:951859] contracts/src/solidity/StarkgateManager.sol:132:        IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:951859] contracts/src/solidity/StarkgateManager.sol:148:        IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:30:import "src/solidity/IStarkgateRegistry.sol";
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:266:            address registry = IStarkgateManager(manager()).getRegistry();
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:267:            IStarkgateRegistry(registry).selfRemove(token);
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Searching for registry implementation**
[codex:951859] exec
[codex:951859] /bin/bash -lc 'rg -n "enlistToken|selfRemove|getWithdrawalBridges" contracts -S' in /tmp/codex-multi-fnnwmwej succeeded in 9ms:
[codex:951859] contracts/src/solidity/IStarkgateRegistry.sol:28:    function enlistToken(address token, address bridge) external;
[codex:951859] contracts/src/solidity/IStarkgateRegistry.sol:40:    function getWithdrawalBridges(address token) external view returns (address[] memory bridges);
[codex:951859] contracts/src/solidity/IStarkgateRegistry.sol:46:    function selfRemove(address token) external;
[codex:951859] contracts/src/solidity/StarkgateManager.sol:97:        IStarkgateRegistry(registry()).enlistToken(token, bridge_);
[codex:951859] contracts/src/solidity/StarkgateManager.sol:113:            string memory revertMsg = registryContract.getWithdrawalBridges(token).length == 0
[codex:951859] contracts/src/solidity/StarkgateManager.sol:138:            string memory revertMsg = registryContract.getWithdrawalBridges(token).length == 0
[codex:951859] contracts/src/solidity/StarkgateManager.sol:151:        registryContract.enlistToken(token, bridge());
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:267:            IStarkgateRegistry(registry).selfRemove(token);
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing contract security considerations**
[codex:951859] 
[codex:951859] I'm carefully examining the included contracts for potential exploit paths, focusing on messaging permission checks, reentrancy risks around token transfers, and handling of deflationary tokens. The messaging contract enforces sender restrictions, which mitigates some risks, while reentrancy via token callbacks seems unlikely due to message consumption ordering. I’m also checking for missing ETH bridge logic and other edge cases.
[codex:951859] exec
[codex:951859] /bin/bash -lc 'rg -n "ETH|Ether|Eth" contracts/src/solidity -S' in /tmp/codex-multi-fnnwmwej succeeded in 9ms:
[codex:951859] contracts/src/solidity/LegacyBridge.sol:25:  code except for the handling of Eth transfers (vs. ERC20).
[codex:951859] contracts/src/solidity/WithdrawalLimit.sol:51:        // If the token is Eth and not an ERC20 - calculate balance accordingly.
[codex:951859] contracts/src/solidity/WithdrawalLimit.sol:52:        if (token == ETH) {
[codex:951859] contracts/src/solidity/StarkgateConstants.sol:33:// Cairo felt252 value (short string) of 'ETH'
[codex:951859] contracts/src/solidity/StarkgateConstants.sol:34:address constant ETH = address(0x455448);
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Searching for EthBridge implementation**
[codex:951859] exec
[codex:951859] /bin/bash -lc 'rg -n "Eth|Ether|ETH" contracts/src/solidity -S' in /tmp/codex-multi-fnnwmwej succeeded in 8ms:
[codex:951859] contracts/src/solidity/LegacyBridge.sol:25:  code except for the handling of Eth transfers (vs. ERC20).
[codex:951859] contracts/src/solidity/WithdrawalLimit.sol:51:        // If the token is Eth and not an ERC20 - calculate balance accordingly.
[codex:951859] contracts/src/solidity/WithdrawalLimit.sol:52:        if (token == ETH) {
[codex:951859] contracts/src/solidity/StarkgateConstants.sol:33:// Cairo felt252 value (short string) of 'ETH'
[codex:951859] contracts/src/solidity/StarkgateConstants.sol:34:address constant ETH = address(0x455448);
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Inspecting proxy initializer security**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,220p' contracts/starkware/solidity/interfaces/ProxySupport.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] import "starkware/solidity/components/Roles.sol";
[codex:951859] import "starkware/solidity/libraries/RolesLib.sol";
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing initialization vulnerabilities**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/interfaces/BlockDirectCall.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] /*
[codex:951859]   This contract provides means to block direct call of an external function.
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing initialize access risks**
[codex:951859] exec
[codex:951859] /bin/bash -lc 'rg -n "contract.*Proxy|delegatecall|implementation" contracts/starkware -S' in /tmp/codex-multi-fnnwmwej succeeded in 12ms:
[codex:951859] contracts/starkware/solidity/interfaces/ProxySupport.sol:31:abstract contract ProxySupport is BlockDirectCall, ContractInitializer, Roles(true) {
[codex:951859] contracts/starkware/solidity/interfaces/ProxySupport.sol:85:        // NOLINTNEXTLINE: low-level-calls, controlled-delegatecall.
[codex:951859] contracts/starkware/solidity/interfaces/ProxySupport.sol:86:        (bool success, bytes memory returndata) = externalInitializerAddr.delegatecall(
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:35:abstract contract OverrideLegacyProxyGovernance {
[codex:951859] contracts/starkware/solidity/libraries/AccessControl.sol:62:  OpenZeppelin implementation changed as following:
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing proxy initialization risks**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/libraries/NamedStorage.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] /*
[codex:951859]   Library to provide basic storage, in storage location out of the low linear address space.
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing delegatecall and initialize risks**
[codex:951859] exec
[codex:951859] /bin/bash -lc 'rg -n "proxy|Proxy" contracts -S' in /tmp/codex-multi-fnnwmwej succeeded in 9ms:
[codex:951859] contracts/src/solidity/LegacyBridge.sol:20:import "starkware/solidity/components/OverrideLegacyProxyGovernance.sol";
[codex:951859] contracts/src/solidity/LegacyBridge.sol:27:abstract contract LegacyBridge is StarknetTokenBridge, OverrideLegacyProxyGovernance {
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:20:import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:44:    ProxySupport
[codex:951859] contracts/src/solidity/StarknetTokenBridge.sol:120:      Gets the addresses of bridgedToken & messagingContract from the ProxySupport initialize(),
[codex:951859] contracts/src/solidity/StarkgateManager.sol:21:import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:951859] contracts/src/solidity/StarkgateManager.sol:29:contract StarkgateManager is Identity, IStarkgateManager, ProxySupport {
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:27:// PROXY_GOVERNANCE_TAG = "StarkEx.Proxy.2019.GovernorsInformation"
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:33:  to override the proxy governance.
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:35:abstract contract OverrideLegacyProxyGovernance {
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:47:    function legacyProxyGovInfo() private pure returns (GovernanceInfoStruct storage gov) {
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:55:      Assigns `account` as proxy governor and clears pending govneror candidate.
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:57:    function assignLegacyProxyGovernor(address account) external GovernanceAdminOnly {
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:58:        GovernanceInfoStruct storage legacyProxyGov = legacyProxyGovInfo();
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:59:        legacyProxyGov.effectiveGovernors[account] = true;
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:60:        delete legacyProxyGov.candidateGovernor;
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:65:      Removes `account` from proxy governor role and clears pending govneror candidate.
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:67:    function removeLegacyProxyGovernor(address account) external GovernanceAdminOnly {
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:68:        GovernanceInfoStruct storage legacyProxyGov = legacyProxyGovInfo();
[codex:951859] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:69:        legacyProxyGov.effectiveGovernors[account] = false;
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing potential proxy and messaging vulnerabilities**
[codex:951859] exec
[codex:951859] /bin/bash -lc "rg -n \"DEPOSITOR_ADDRESSES_TAG|depositors\\(|DEPOSITOR\" contracts -S" in /tmp/codex-multi-fnnwmwej succeeded in 9ms:
[codex:951859] contracts/src/solidity/LegacyBridge.sol:53:    function depositors() internal pure returns (mapping(uint256 => address) storage) {
[codex:951859] contracts/src/solidity/LegacyBridge.sol:54:        return NamedStorage.uintToAddressMapping(DEPOSITOR_ADDRESSES_TAG);
[codex:951859] contracts/src/solidity/LegacyBridge.sol:58:        require(depositors()[nonce] == msg.sender, "ONLY_DEPOSITOR");
[codex:951859] contracts/src/solidity/StarknetTokenStorage.sol:28:    string internal constant DEPOSITOR_ADDRESSES_TAG = "STARKNET_TOKEN_BRIDGE_DEPOSITOR_ADDRESSES";
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Investigating depositors mapping and potential vulnerabilities**
[codex:951859] exec
[codex:951859] /bin/bash -lc 'ls contracts/src/solidity' in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] Fees.sol
[codex:951859] IStarkgateBridge.sol
[codex:951859] IStarkgateManager.sol
[codex:951859] IStarkgateRegistry.sol
[codex:951859] IStarkgateService.sol
[codex:951859] LegacyBridge.sol
[codex:951859] StarkgateConstants.sol
[codex:951859] StarkgateManager.sol
[codex:951859] StarknetERC20Bridge.sol
[codex:951859] StarknetTokenBridge.sol
[codex:951859] StarknetTokenStorage.sol
[codex:951859] utils
[codex:951859] WithdrawalLimit.sol
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Inspecting StarknetERC20Bridge.sol**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,240p' contracts/src/solidity/StarknetERC20Bridge.sol" in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.20;
[codex:951859] 
[codex:951859] import "src/solidity/LegacyBridge.sol";
[codex:951859] 
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Checking inheritance and utils for Felt252**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,200p' contracts/src/solidity/utils/Felt252.sol" in /tmp/codex-multi-fnnwmwej succeeded in 5ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] import "starkware/cairo/eth/CairoConstants.sol";
[codex:951859] 
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing potential critical proxy reinitialization vulnerability**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/interfaces/ContractInitializer.sol" in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] /**
[codex:951859]   Interface for contract initialization.
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing ProxySupport initialize vulnerability and exploit path**
[codex:951859] 
[codex:951859] I’m mapping out the key vulnerability in ProxySupport’s `initialize` function, focusing on how an attacker can deploy a malicious EIC contract to hijack the messaging contract and withdraw tokens. I plan to pinpoint exact file and line numbers to back this up and clarify the exploit sequence, especially against the StarknetTokenBridge, considering delegatecall behaviors and storage slot manipulations.
[codex:951859] exec
[codex:951859] /bin/bash -lc "nl -ba contracts/starkware/solidity/interfaces/ProxySupport.sol | sed -n '30,140p'" in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859]     30	*/
[codex:951859]     31	abstract contract ProxySupport is BlockDirectCall, ContractInitializer, Roles(true) {
[codex:951859]     32	    using Addresses for address;
[codex:951859]     33	
[codex:951859]     34	    // The two function below (isFrozen & initialize) needed to bind to the Proxy.
[codex:951859]     35	    function isFrozen() external view virtual returns (bool) {
[codex:951859]     36	        return false;
[codex:951859]     37	    }
[codex:951859]     38	
[codex:951859]     39	    /*
[codex:951859]     40	      The initialize() function serves as an alternative constructor for a proxied deployment.
[codex:951859]     41	
[codex:951859]     42	      Flow and notes:
[codex:951859]     43	      1. This function cannot be called directly on the deployed contract, but only via
[codex:951859]     44	         delegate call.
[codex:951859]     45	      2. If an EIC is provided - init is passed onto EIC and the standard init flow is skipped.
[codex:951859]     46	         This true for both first intialization or a later one.
[codex:951859]     47	      3. The data passed to this function is as follows:
[codex:951859]     48	         [sub_contracts addresses, eic address, initData].
[codex:951859]     49	
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing proxy initializer vulnerability**
[codex:951859] exec
[codex:951859] /bin/bash -lc "nl -ba contracts/src/solidity/StarknetTokenBridge.sol | sed -n '470,560p'" in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859]    470	        bool isWithMsg = selector == HANDLE_DEPOSIT_WITH_MESSAGE_SELECTOR;
[codex:951859]    471	        (, uint256 nonce) = messagingContract().sendMessageToL2{value: fee}(
[codex:951859]    472	            l2TokenBridge(),
[codex:951859]    473	            selector,
[codex:951859]    474	            depositMessagePayload(token, amount, l2Recipient, isWithMsg, message)
[codex:951859]    475	        );
[codex:951859]    476	
[codex:951859]    477	        // The function exclusively supports two specific selectors, and any attempt to use an unknown
[codex:951859]    478	        // selector will result in a transaction failure.
[codex:951859]    479	        return nonce;
[codex:951859]    480	    }
[codex:951859]    481	
[codex:951859]    482	    function consumeMessage(
[codex:951859]    483	        address token,
[codex:951859]    484	        uint256 amount,
[codex:951859]    485	        address recipient
[codex:951859]    486	    ) internal virtual {
[codex:951859]    487	        require(l2TokenBridge() != 0, "L2_BRIDGE_NOT_SET");
[codex:951859]    488	        uint256[] memory payload = new uint256[](5);
[codex:951859]    489	        payload[0] = TRANSFER_FROM_STARKNET;
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Analyzing vulnerability context and exploit details**
[codex:951859] exec
[codex:951859] /bin/bash -lc "sed -n '1,160p' contracts/starkware/solidity/libraries/Addresses.sol" in /tmp/codex-multi-fnnwmwej succeeded in 6ms:
[codex:951859] /*
[codex:951859]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:951859] 
[codex:951859]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:951859]   You may not use this file except in compliance with the License.
[codex:951859]   You may obtain a copy of the License at
[codex:951859] 
[codex:951859]   https://www.starkware.co/open-source-license/
[codex:951859] 
[codex:951859]   Unless required by applicable law or agreed to in writing,
[codex:951859]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:951859]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:951859]   See the License for the specific language governing permissions
[codex:951859]   and limitations under the License.
[codex:951859] */
[codex:951859] // SPDX-License-Identifier: Apache-2.0.
[codex:951859] pragma solidity ^0.8.0;
[codex:951859] 
[codex:951859] /*
[codex:951859]   Common Utility Libraries.
[codex:951859] 
[codex:951859] thinking
[codex:951859] **Summarizing exploitation scenario and JSON report**
[codex:951859] codex
[codex:951859] {"no_findings":false,"summary":"Critical: ProxySupport.initialize allows any caller via the proxy to delegatecall an arbitrary external initializer, enabling storage takeover and full bridge drain.","findings":[{"severity":"critical","category":"upgradeability","title":"Unrestricted external initializer delegatecall enables proxy takeover and fund drain","exploit_scenario":"1) Deploy an attacker-controlled messaging contract that implements consumeMessageFromL2 and always returns success.\n2) Deploy an attacker EIC contract with initialize(bytes) that sstores the MESSAGING_CONTRACT_TAG slot (keccak256(\"STARKNET_TOKEN_BRIDGE_MESSAGING_CONTRACT\")) to the attacker messaging contract address (or directly transfers tokens out during delegatecall).\n3) Call the proxy's initialize(...) with eicAddress set to the attacker EIC and any initData. Because eicAddress != 0, ProxySupport delegates to the EIC without any auth or isInitialized check.\n4) Call withdraw(token, amount, attacker) on the bridge. consumeMessage() now calls the attacker messaging contract and succeeds without a real L2 message, so the bridge transfers out tokens. Repeat to drain all tokens held by the bridge.","recommendation":"Require authorization for the EIC path (e.g., only governance), and/or enforce isInitialized checks even when eicAddress != 0. Alternatively remove the EIC delegatecall path or gate initialize in the proxy so only an admin can call it.","evidence":"ProxySupport.initialize accepts any caller (via proxy) and unconditionally delegatecalls an arbitrary eicAddress when nonzero, skipping init checks (lines 52-67). callExternalInitializer performs the delegatecall (lines 80-88). After storage overwrite, withdraw consumes messages via the stored messagingContract and transfers funds (StarknetTokenBridge.consumeMessage/withdraw).","locations":["contracts/starkware/solidity/interfaces/ProxySupport.sol:52","contracts/starkware/solidity/interfaces/ProxySupport.sol:64","contracts/starkware/solidity/interfaces/ProxySupport.sol:80","contracts/src/solidity/StarknetTokenBridge.sol:482","contracts/src/solidity/StarknetTokenBridge.sol:497"]}]}
[codex:951859] tokens used
[codex:951859] 84,073
[codex:951859] {"no_findings":false,"summary":"Critical: ProxySupport.initialize allows any caller via the proxy to delegatecall an arbitrary external initializer, enabling storage takeover and full bridge drain.","findings":[{"severity":"critical","category":"upgradeability","title":"Unrestricted external initializer delegatecall enables proxy takeover and fund drain","exploit_scenario":"1) Deploy an attacker-controlled messaging contract that implements consumeMessageFromL2 and always returns success.\n2) Deploy an attacker EIC contract with initialize(bytes) that sstores the MESSAGING_CONTRACT_TAG slot (keccak256(\"STARKNET_TOKEN_BRIDGE_MESSAGING_CONTRACT\")) to the attacker messaging contract address (or directly transfers tokens out during delegatecall).\n3) Call the proxy's initialize(...) with eicAddress set to the attacker EIC and any initData. Because eicAddress != 0, ProxySupport delegates to the EIC without any auth or isInitialized check.\n4) Call withdraw(token, amount, attacker) on the bridge. consumeMessage() now calls the attacker messaging contract and succeeds without a real L2 message, so the bridge transfers out tokens. Repeat to drain all tokens held by the bridge.","recommendation":"Require authorization for the EIC path (e.g., only governance), and/or enforce isInitialized checks even when eicAddress != 0. Alternatively remove the EIC delegatecall path or gate initialize in the proxy so only an admin can call it.","evidence":"ProxySupport.initialize accepts any caller (via proxy) and unconditionally delegatecalls an arbitrary eicAddress when nonzero, skipping init checks (lines 52-67). callExternalInitializer performs the delegatecall (lines 80-88). After storage overwrite, withdraw consumes messages via the stored messagingContract and transfers funds (StarknetTokenBridge.consumeMessage/withdraw).","locations":["contracts/starkware/solidity/interfaces/ProxySupport.sol:52","contracts/starkware/solidity/interfaces/ProxySupport.sol:64","contracts/starkware/solidity/interfaces/ProxySupport.sol:80","contracts/src/solidity/StarknetTokenBridge.sol:482","contracts/src/solidity/StarknetTokenBridge.sol:497"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-31T16:07:32.347469+00:00",
        "returncode": 0
    },
    "summary": "Critical: ProxySupport.initialize allows any caller via the proxy to delegatecall an arbitrary external initializer, enabling storage takeover and full bridge drain.",
    "raw_final": {
        "summary": "Critical: ProxySupport.initialize allows any caller via the proxy to delegatecall an arbitrary external initializer, enabling storage takeover and full bridge drain.",
        "findings": [
            {
                "title": "Unrestricted external initializer delegatecall enables proxy takeover and fund drain",
                "category": "upgradeability",
                "evidence": "ProxySupport.initialize accepts any caller (via proxy) and unconditionally delegatecalls an arbitrary eicAddress when nonzero, skipping init checks (lines 52-67). callExternalInitializer performs the delegatecall (lines 80-88). After storage overwrite, withdraw consumes messages via the stored messagingContract and transfers funds (StarknetTokenBridge.consumeMessage/withdraw).",
                "severity": "critical",
                "locations": [
                    "contracts/starkware/solidity/interfaces/ProxySupport.sol:52",
                    "contracts/starkware/solidity/interfaces/ProxySupport.sol:64",
                    "contracts/starkware/solidity/interfaces/ProxySupport.sol:80",
                    "contracts/src/solidity/StarknetTokenBridge.sol:482",
                    "contracts/src/solidity/StarknetTokenBridge.sol:497"
                ],
                "recommendation": "Require authorization for the EIC path (e.g., only governance), and/or enforce isInitialized checks even when eicAddress != 0. Alternatively remove the EIC delegatecall path or gate initialize in the proxy so only an admin can call it.",
                "exploit_scenario": "1) Deploy an attacker-controlled messaging contract that implements consumeMessageFromL2 and always returns success.\n2) Deploy an attacker EIC contract with initialize(bytes) that sstores the MESSAGING_CONTRACT_TAG slot (keccak256(\"STARKNET_TOKEN_BRIDGE_MESSAGING_CONTRACT\")) to the attacker messaging contract address (or directly transfers tokens out during delegatecall).\n3) Call the proxy's initialize(...) with eicAddress set to the attacker EIC and any initData. Because eicAddress != 0, ProxySupport delegates to the EIC without any auth or isInitialized check.\n4) Call withdraw(token, amount, attacker) on the bridge. consumeMessage() now calls the attacker messaging contract and succeeds without a real L2 message, so the bridge transfers out tokens. Repeat to drain all tokens held by the bridge."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
19
EXT*/BALANCE
7
Total opcodes
12239
Flags
delegatecall_present 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 0x0370
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x6ffed68b
00000018: GT
00000019: PUSH2 0x01c8
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xcb1cccce
00000023: GT
00000024: PUSH2 0x00fd
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xdeec9c5a
0000002e: GT
0000002f: PUSH2 0x009d
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xeeb72866
00000039: GT
0000003a: PUSH2 0x006d
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xeeb72866
00000044: EQ
00000045: PUSH2 0x09ea
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xf3fef3a3
0000004f: EQ
00000050: PUSH2 0x0a0b
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xfa0f73ba
0000005a: EQ
0000005b: PUSH2 0x0a2a
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0xfad8b32a
00000065: EQ
00000066: PUSH2 0x0a49
00000069: JUMPI
0000006a: PUSH0
0000006b: DUP1
0000006c: REVERT
0000006d: JUMPDEST
0000006e: DUP1
0000006f: PUSH4 0xdeec9c5a
00000074: EQ
00000075: PUSH2 0x097a
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0xe2bbb158
0000007f: EQ
00000080: PUSH2 0x0999
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0xed9ef16a
0000008a: EQ
0000008b: PUSH2 0x09ac
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0xee0e6807
00000095: EQ
00000096: PUSH2 0x09cb
00000099: JUMPI
0000009a: PUSH0
0000009b: DUP1
0000009c: REVERT
0000009d: JUMPDEST
0000009e: DUP1
0000009f: PUSH4 0xd08fb6cb
000000a4: GT
000000a5: PUSH2 0x00d8
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xd08fb6cb
000000af: EQ
000000b0: PUSH2 0x08fe
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xd12fc182
000000ba: EQ
000000bb: PUSH2 0x091d
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xd2b51eea
000000c5: EQ
000000c6: PUSH2 0x093c
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0xd9fa7091
000000d0: EQ
000000d1: PUSH2 0x095b
000000d4: JUMPI
000000d5: PUSH0
000000d6: DUP1
000000d7: REVERT
000000d8: JUMPDEST
000000d9: DUP1
000000da: PUSH4 0xcb1cccce
000000df: EQ
000000e0: PUSH2 0x08a1
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0xcdd1f70d
000000ea: EQ
000000eb: PUSH2 0x08c0
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0xcf50fd1c
000000f5: EQ
000000f6: PUSH2 0x08df
000000f9: JUMPI
000000fa: PUSH0
000000fb: DUP1
000000fc: REVERT
000000fd: JUMPDEST
000000fe: DUP1
000000ff: PUSH4 0xa2bdde3d
00000104: GT
00000105: PUSH2 0x0168
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0xaf8bc15e
0000010f: GT
00000110: PUSH2 0x0143
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0xaf8bc15e
0000011a: EQ
0000011b: PUSH2 0x083c
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0xb5cd0c3c
00000125: EQ
00000126: PUSH2 0x0850
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0xbe58b18e
00000130: EQ
00000131: PUSH2 0x086f
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0xc1f5eb3a
0000013b: EQ
0000013c: PUSH2 0x0882
0000013f: JUMPI
00000140: PUSH0
00000141: DUP1
00000142: REVERT
00000143: JUMPDEST
00000144: DUP1
00000145: PUSH4 0xa2bdde3d
0000014a: EQ
0000014b: PUSH2 0x07eb
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0xa6d1d6c6
00000155: EQ
00000156: PUSH2 0x080a
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0xad8b92b4
00000160: EQ
00000161: PUSH2 0x0829
00000164: JUMPI
00000165: PUSH0
00000166: DUP1
00000167: REVERT
00000168: JUMPDEST
00000169: DUP1
0000016a: PUSH4 0x7fc2ab3e
0000016f: GT
00000170: PUSH2 0x01a3
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0x7fc2ab3e
0000017a: EQ
0000017b: PUSH2 0x076f
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0x8101b64c
00000185: EQ
00000186: PUSH2 0x078e
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0x8e5224ff
00000190: EQ
00000191: PUSH2 0x07ad
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0x9463629a
0000019b: EQ
0000019c: PUSH2 0x07cc
0000019f: JUMPI
000001a0: PUSH0
000001a1: DUP1
000001a2: REVERT
000001a3: JUMPDEST
000001a4: DUP1
000001a5: PUSH4 0x6ffed68b
000001aa: EQ
000001ab: PUSH2 0x0712
000001ae: JUMPI
000001af: DUP1
000001b0: PUSH4 0x757bd9ab
000001b5: EQ
000001b6: PUSH2 0x0731
000001b9: JUMPI
000001ba: DUP1
000001bb: PUSH4 0x7d22dbc7
000001c0: EQ
000001c1: PUSH2 0x0750
000001c4: JUMPI
000001c5: PUSH0
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: DUP1
000001ca: PUSH4 0x36568abe
000001cf: GT
000001d0: PUSH2 0x02a9
000001d3: JUMPI
000001d4: DUP1
000001d5: PUSH4 0x5a5d1bb9
000001da: GT
000001db: PUSH2 0x0249
000001de: JUMPI
000001df: DUP1
000001e0: PUSH4 0x69328dec
000001e5: GT
000001e6: PUSH2 0x0219
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x69328dec
000001f0: EQ
000001f1: PUSH2 0x0696
000001f4: JUMPI
000001f5: DUP1
000001f6: PUSH4 0x6c04d9d5
000001fb: EQ
000001fc: PUSH2 0x06b5
000001ff: JUMPI
00000200: DUP1
00000201: PUSH4 0x6d70f7ae
00000206: EQ
00000207: PUSH2 0x06d4
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH4 0x6fc97cbf
00000211: EQ
00000212: PUSH2 0x06f3
00000215: JUMPI
00000216: PUSH0
00000217: DUP1
00000218: REVERT
00000219: JUMPDEST
0000021a: DUP1
0000021b: PUSH4 0x5a5d1bb9
00000220: EQ
00000221: PUSH2 0x0626
00000224: JUMPI
00000225: DUP1
00000226: PUSH4 0x5a72af89
0000022b: EQ
0000022c: PUSH2 0x0645
0000022f: JUMPI
00000230: DUP1
00000231: PUSH4 0x6083e59a
00000236: EQ
00000237: PUSH2 0x0664
0000023a: JUMPI
0000023b: DUP1
0000023c: PUSH4 0x62a14376
00000241: EQ
00000242: PUSH2 0x0677
00000245: JUMPI
00000246: PUSH0
00000247: DUP1
00000248: REVERT
00000249: JUMPDEST
0000024a: DUP1
0000024b: PUSH4 0x439fab91
00000250: GT
00000251: PUSH2 0x0284
00000254: JUMPI
00000255: DUP1
00000256: PUSH4 0x439fab91
0000025b: EQ
0000025c: PUSH2 0x05b5
0000025f: JUMPI
00000260: DUP1
00000261: PUSH4 0x496ae54c
00000266: EQ
00000267: PUSH2 0x05d4
0000026a: JUMPI
0000026b: DUP1
0000026c: PUSH4 0x4baf43da
00000271: EQ
00000272: PUSH2 0x05f3
00000275: JUMPI
00000276: DUP1
00000277: PUSH4 0x4d8b92a5
0000027c: EQ
0000027d: PUSH2 0x0612
00000280: JUMPI
00000281: PUSH0
00000282: DUP1
00000283: REVERT
00000284: JUMPDEST
00000285: DUP1
00000286: PUSH4 0x36568abe
0000028b: EQ
0000028c: PUSH2 0x0558
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x3682a450
00000296: EQ
00000297: PUSH2 0x0577
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x3ea053eb
000002a1: EQ
000002a2: PUSH2 0x0596
000002a5: JUMPI
000002a6: PUSH0
000002a7: DUP1
000002a8: REVERT
000002a9: JUMPDEST
000002aa: DUP1
000002ab: PUSH4 0x19534075
000002b0: GT
000002b1: PUSH2 0x0314
000002b4: JUMPI
000002b5: DUP1
000002b6: PUSH4 0x2e1a7d4d
000002bb: GT
000002bc: PUSH2 0x02ef
000002bf: JUMPI
000002c0: DUP1
000002c1: PUSH4 0x2e1a7d4d
000002c6: EQ
000002c7: PUSH2 0x04b8
000002ca: JUMPI
000002cb: DUP1
000002cc: PUSH4 0x2f951985
000002d1: EQ
000002d2: PUSH2 0x04d7
000002d5: JUMPI
000002d6: DUP1
000002d7: PUSH4 0x30ccebb5
000002dc: EQ
000002dd: PUSH2 0x04f6
000002e0: JUMPI
000002e1: DUP1
000002e2: PUSH4 0x33eeb147
000002e7: EQ
000002e8: PUSH2 0x0546
000002eb: JUMPI
000002ec: PUSH0
000002ed: DUP1
000002ee: REVERT
000002ef: JUMPDEST
000002f0: DUP1
000002f1: PUSH4 0x19534075
000002f6: EQ
000002f7: PUSH2 0x0458
000002fa: JUMPI
000002fb: DUP1
000002fc: PUSH4 0x23205c52
00000301: EQ
00000302: PUSH2 0x047a
00000305: JUMPI
00000306: DUP1
00000307: PUSH4 0x284b920e
0000030c: EQ
0000030d: PUSH2 0x0499
00000310: JUMPI
00000311: PUSH0
00000312: DUP1
00000313: REVERT
00000314: JUMPDEST
00000315: DUP1
00000316: PUSH4 0x0e770f23
0000031b: GT
0000031c: PUSH2 0x034f
0000031f: JUMPI
00000320: DUP1
00000321: PUSH4 0x0e770f23
00000326: EQ
00000327: PUSH2 0x03e8
0000032a: JUMPI
0000032b: DUP1
0000032c: PUSH4 0x0efe6a8b
00000331: EQ
00000332: PUSH2 0x0407
00000335: JUMPI
00000336: DUP1
00000337: PUSH4 0x14af98b3
0000033c: EQ
0000033d: PUSH2 0x041a
00000340: JUMPI
00000341: DUP1
00000342: PUSH4 0x17896383
00000347: EQ
00000348: PUSH2 0x0439
0000034b: JUMPI
0000034c: PUSH0
0000034d: DUP1
0000034e: REVERT
0000034f: JUMPDEST
00000350: DUP1
00000351: PUSH3 0xf714ce
00000355: EQ
00000356: PUSH2 0x0374
00000359: JUMPI
0000035a: DUP1
0000035b: PUSH4 0x0b3a2d21
00000360: EQ
00000361: PUSH2 0x0395
00000364: JUMPI
00000365: DUP1
00000366: PUSH4 0x0c6f8664
0000036b: EQ
0000036c: PUSH2 0x03b4
0000036f: JUMPI
00000370: JUMPDEST
00000371: PUSH0
00000372: DUP1
00000373: REVERT
00000374: JUMPDEST
00000375: CALLVALUE
00000376: DUP1
00000377: ISZERO
00000378: PUSH2 0x037f
0000037b: JUMPI
0000037c: PUSH0
0000037d: DUP1
0000037e: REVERT
0000037f: JUMPDEST
00000380: POP
00000381: PUSH2 0x0393
00000384: PUSH2 0x038e
00000387: CALLDATASIZE
00000388: PUSH1 0x04
0000038a: PUSH2 0x40cd
0000038d: JUMP
0000038e: JUMPDEST
0000038f: PUSH2 0x0a68
00000392: JUMP
00000393: JUMPDEST
00000394: STOP
00000395: JUMPDEST
00000396: CALLVALUE
00000397: DUP1
00000398: ISZERO
00000399: PUSH2 0x03a0
0000039c: JUMPI
0000039d: PUSH0
0000039e: DUP1
0000039f: REVERT
000003a0: JUMPDEST
000003a1: POP
000003a2: PUSH2 0x0393
000003a5: PUSH2 0x03af
000003a8: CALLDATASIZE
000003a9: PUSH1 0x04
000003ab: PUSH2 0x40fb
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH2 0x0a7e
000003b3: JUMP
000003b4: JUMPDEST
000003b5: CALLVALUE
000003b6: DUP1
000003b7: ISZERO
000003b8: PUSH2 0x03bf
000003bb: JUMPI
000003bc: PUSH0
000003bd: DUP1
000003be: REVERT
000003bf: JUMPDEST
000003c0: POP
000003c1: PUSH2 0x03d3
000003c4: PUSH2 0x03ce
000003c7: CALLDATASIZE
000003c8: PUSH1 0x04
000003ca: PUSH2 0x40fb
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH2 0x0a98
000003d2: JUMP
000003d3: JUMPDEST
000003d4: PUSH1 0x40
000003d6: MLOAD
000003d7: SWAP1
000003d8: ISZERO
000003d9: ISZERO
000003da: DUP2
000003db: MSTORE
000003dc: PUSH1 0x20
000003de: ADD
000003df: JUMPDEST
000003e0: PUSH1 0x40
000003e2: MLOAD
000003e3: DUP1
000003e4: SWAP2
000003e5: SUB
000003e6: SWAP1
000003e7: RETURN
000003e8: JUMPDEST
000003e9: CALLVALUE
000003ea: DUP1
000003eb: ISZERO
000003ec: PUSH2 0x03f3
000003ef: JUMPI
000003f0: PUSH0
000003f1: DUP1
000003f2: REVERT
000003f3: JUMPDEST
000003f4: POP
000003f5: PUSH2 0x0393
000003f8: PUSH2 0x0402
000003fb: CALLDATASIZE
000003fc: PUSH1 0x04
000003fe: PUSH2 0x40fb
00000401: JUMP
00000402: JUMPDEST
00000403: PUSH2 0x0af7
00000406: JUMP
00000407: JUMPDEST
00000408: PUSH2 0x0393
0000040b: PUSH2 0x0415
0000040e: CALLDATASIZE
0000040f: PUSH1 0x04
00000411: PUSH2 0x4116
00000414: JUMP
00000415: JUMPDEST
00000416: PUSH2 0x0b0e
00000419: JUMP
0000041a: JUMPDEST
0000041b: CALLVALUE
0000041c: DUP1
0000041d: ISZERO
0000041e: PUSH2 0x0425
00000421: JUMPI
00000422: PUSH0
00000423: DUP1
00000424: REVERT
00000425: JUMPDEST
00000426: POP
00000427: PUSH2 0x0393
0000042a: PUSH2 0x0434
0000042d: CALLDATASIZE
0000042e: PUSH1 0x04
00000430: PUSH2 0x40fb
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH2 0x0bc6
00000438: JUMP
00000439: JUMPDEST
0000043a: CALLVALUE
0000043b: DUP1
0000043c: ISZERO
0000043d: PUSH2 0x0444
00000440: JUMPI
00000441: PUSH0
00000442: DUP1
00000443: REVERT
00000444: JUMPDEST
00000445: POP
00000446: PUSH2 0x0393
00000449: PUSH2 0x0453
0000044c: CALLDATASIZE
0000044d: PUSH1 0x04
0000044f: PUSH2 0x40fb
00000452: JUMP
00000453: JUMPDEST
00000454: PUSH2 0x0c6c
00000457: JUMP
00000458: JUMPDEST
00000459: CALLVALUE
0000045a: DUP1
0000045b: ISZERO
0000045c: PUSH2 0x0463
0000045f: JUMPI
00000460: PUSH0
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: POP
00000465: PUSH2 0x046c
00000468: PUSH2 0x0c83
0000046b: JUMP
0000046c: JUMPDEST
0000046d: PUSH1 0x40
0000046f: MLOAD
00000470: SWAP1
00000471: DUP2
00000472: MSTORE
00000473: PUSH1 0x20
00000475: ADD
00000476: PUSH2 0x03df
00000479: JUMP
0000047a: JUMPDEST
0000047b: CALLVALUE
0000047c: DUP1
0000047d: ISZERO
0000047e: PUSH2 0x0485
00000481: JUMPI
00000482: PUSH0
00000483: DUP1
00000484: REVERT
00000485: JUMPDEST
00000486: POP
00000487: PUSH2 0x0393
0000048a: PUSH2 0x0494
0000048d: CALLDATASIZE
0000048e: PUSH1 0x04
00000490: PUSH2 0x4148
00000493: JUMP
00000494: JUMPDEST
00000495: PUSH2 0x0c94
00000498: JUMP
00000499: JUMPDEST
0000049a: CALLVALUE
0000049b: DUP1
0000049c: ISZERO
0000049d: PUSH2 0x04a4
000004a0: JUMPI
000004a1: PUSH0
000004a2: DUP1
000004a3: REVERT
000004a4: JUMPDEST
000004a5: POP
000004a6: PUSH2 0x0393
000004a9: PUSH2 0x04b3
000004ac: CALLDATASIZE
000004ad: PUSH1 0x04
000004af: PUSH2 0x40fb
000004b2: JUMP
000004b3: JUMPDEST
000004b4: PUSH2 0x0d86
000004b7: JUMP
000004b8: JUMPDEST
000004b9: CALLVALUE
000004ba: DUP1
000004bb: ISZERO
000004bc: PUSH2 0x04c3
000004bf: JUMPI
000004c0: PUSH0
000004c1: DUP1
000004c2: REVERT
000004c3: JUMPDEST
000004c4: POP
000004c5: PUSH2 0x0393
000004c8: PUSH2 0x04d2
000004cb: CALLDATASIZE
000004cc: PUSH1 0x04
000004ce: PUSH2 0x4180
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH2 0x0e8b
000004d6: JUMP
000004d7: JUMPDEST
000004d8: CALLVALUE
000004d9: DUP1
000004da: ISZERO
000004db: PUSH2 0x04e2
000004de: JUMPI
000004df: PUSH0
000004e0: DUP1
000004e1: REVERT
000004e2: JUMPDEST
000004e3: POP
000004e4: PUSH2 0x0393
000004e7: PUSH2 0x04f1
000004ea: CALLDATASIZE
000004eb: PUSH1 0x04
000004ed: PUSH2 0x40fb
000004f0: JUMP
000004f1: JUMPDEST
000004f2: PUSH2 0x0e9d
000004f5: JUMP
000004f6: JUMPDEST
000004f7: CALLVALUE
000004f8: DUP1
000004f9: ISZERO
000004fa: PUSH2 0x0501
000004fd: JUMPI
000004fe: PUSH0
000004ff: DUP1
00000500: REVERT
00000501: JUMPDEST
00000502: POP
00000503: PUSH2 0x0539
00000506: PUSH2 0x0510
00000509: CALLDATASIZE
0000050a: PUSH1 0x04
0000050c: PUSH2 0x40fb
0000050f: JUMP
00000510: JUMPDEST
00000511: PUSH1 0x01
00000513: PUSH1 0x01
00000515: PUSH1 0xa0
00000517: SHL
00000518: SUB
00000519: AND
0000051a: PUSH0
0000051b: SWAP1
0000051c: DUP2
0000051d: MSTORE
0000051e: PUSH0
0000051f: DUP1
00000520: MLOAD
00000521: PUSH1 0x20
00000523: PUSH2 0x4bdc
00000526: DUP4
00000527: CODECOPY
00000528: DUP2
00000529: MLOAD
0000052a: SWAP2
0000052b: MSTORE
0000052c: PUSH1 0x20
0000052e: MSTORE
0000052f: PUSH1 0x40
00000531: SWAP1
00000532: KECCAK256
00000533: SLOAD
00000534: PUSH1 0xff
00000536: AND
00000537: SWAP1
00000538: JUMP
00000539: JUMPDEST
0000053a: PUSH1 0x40
0000053c: MLOAD
0000053d: PUSH2 0x03df
00000540: SWAP2
00000541: SWAP1
00000542: PUSH2 0x41ab
00000545: JUMP
00000546: JUMPDEST
00000547: CALLVALUE
00000548: DUP1
00000549: ISZERO
0000054a: PUSH2 0x0551
0000054d: JUMPI
0000054e: PUSH0
0000054f: DUP1
00000550: REVERT
00000551: JUMPDEST
00000552: POP
00000553: PUSH0
00000554: PUSH2 0x03d3
00000557: JUMP
00000558: JUMPDEST
00000559: CALLVALUE
0000055a: DUP1
0000055b: ISZERO
0000055c: PUSH2 0x0563
0000055f: JUMPI
00000560: PUSH0
00000561: DUP1
00000562: REVERT
00000563: JUMPDEST
00000564: POP
00000565: PUSH2 0x0393
00000568: PUSH2 0x0572
0000056b: CALLDATASIZE
0000056c: PUSH1 0x04
0000056e: PUSH2 0x40cd
00000571: JUMP
00000572: JUMPDEST
00000573: PUSH2 0x0edd
00000576: JUMP
00000577: JUMPDEST
00000578: CALLVALUE
00000579: DUP1
0000057a: ISZERO
0000057b: PUSH2 0x0582
0000057e: JUMPI
0000057f: PUSH0
00000580: DUP1
00000581: REVERT
00000582: JUMPDEST
00000583: POP
00000584: PUSH2 0x0393
00000587: PUSH2 0x0591
0000058a: CALLDATASIZE
0000058b: PUSH1 0x04
0000058d: PUSH2 0x40fb
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x0f6e
00000595: JUMP
00000596: JUMPDEST
00000597: CALLVALUE
00000598: DUP1
00000599: ISZERO
0000059a: PUSH2 0x05a1
0000059d: JUMPI
0000059e: PUSH0
0000059f: DUP1
000005a0: REVERT
000005a1: JUMPDEST
000005a2: POP
000005a3: PUSH2 0x0393
000005a6: PUSH2 0x05b0
000005a9: CALLDATASIZE
000005aa: PUSH1 0x04
000005ac: PUSH2 0x40fb
000005af: JUMP
000005b0: JUMPDEST
000005b1: PUSH2 0x0f85
000005b4: JUMP
000005b5: JUMPDEST
000005b6: CALLVALUE
000005b7: DUP1
000005b8: ISZERO
000005b9: PUSH2 0x05c0
000005bc: JUMPI
000005bd: PUSH0
000005be: DUP1
000005bf: REVERT
000005c0: JUMPDEST
000005c1: POP
000005c2: PUSH2 0x0393
000005c5: PUSH2 0x05cf
000005c8: CALLDATASIZE
000005c9: PUSH1 0x04
000005cb: PUSH2 0x41d1
000005ce: JUMP
000005cf: JUMPDEST
000005d0: PUSH2 0x10ae
000005d3: JUMP
000005d4: JUMPDEST
000005d5: CALLVALUE
000005d6: DUP1
000005d7: ISZERO
000005d8: PUSH2 0x05df
000005db: JUMPI
000005dc: PUSH0
000005dd: DUP1
000005de: REVERT
000005df: JUMPDEST
000005e0: POP
000005e1: PUSH2 0x046c
000005e4: PUSH2 0x05ee
000005e7: CALLDATASIZE
000005e8: PUSH1 0x04
000005ea: PUSH2 0x40fb
000005ed: JUMP
000005ee: JUMPDEST
000005ef: PUSH2 0x125a
000005f2: JUMP
000005f3: JUMPDEST
000005f4: CALLVALUE
000005f5: DUP1
000005f6: ISZERO
000005f7: PUSH2 0x05fe
000005fa: JUMPI
000005fb: PUSH0
000005fc: DUP1
000005fd: REVERT
000005fe: JUMPDEST
000005ff: POP
00000600: PUSH2 0x046c
00000603: PUSH2 0x060d
00000606: CALLDATASIZE
00000607: PUSH1 0x04
00000609: PUSH2 0x40fb
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x129e
00000611: JUMP
00000612: JUMPDEST
00000613: CALLVALUE
00000614: DUP1
00000615: ISZERO
00000616: PUSH2 0x061d
00000619: JUMPI
0000061a: PUSH0
0000061b: DUP1
0000061c: REVERT
0000061d: JUMPDEST
0000061e: POP
0000061f: PUSH2 0x046c
00000622: PUSH2 0x12da
00000625: JUMP
00000626: JUMPDEST
00000627: CALLVALUE
00000628: DUP1
00000629: ISZERO
0000062a: PUSH2 0x0631
0000062d: JUMPI
0000062e: PUSH0
0000062f: DUP1
00000630: REVERT
00000631: JUMPDEST
00000632: POP
00000633: PUSH2 0x03d3
00000636: PUSH2 0x0640
00000639: CALLDATASIZE
0000063a: PUSH1 0x04
0000063c: PUSH2 0x40fb
0000063f: JUMP
00000640: JUMPDEST
00000641: PUSH2 0x12e3
00000644: JUMP
00000645: JUMPDEST
00000646: CALLVALUE
00000647: DUP1
00000648: ISZERO
00000649: PUSH2 0x0650
0000064c: JUMPI
0000064d: PUSH0
0000064e: DUP1
0000064f: REVERT
00000650: JUMPDEST
00000651: POP
00000652: PUSH2 0x0393
00000655: PUSH2 0x065f
00000658: CALLDATASIZE
00000659: PUSH1 0x04
0000065b: PUSH2 0x40fb
0000065e: JUMP
0000065f: JUMPDEST
00000660: PUSH2 0x12fb
00000663: JUMP
00000664: JUMPDEST
00000665: CALLVALUE
00000666: DUP1
00000667: ISZERO
00000668: PUSH2 0x066f
0000066b: JUMPI
0000066c: PUSH0
0000066d: DUP1
0000066e: REVERT
0000066f: JUMPDEST
00000670: POP
00000671: PUSH0
00000672: NOT
00000673: PUSH2 0x046c
00000676: JUMP
00000677: JUMPDEST
00000678: CALLVALUE
00000679: DUP1
0000067a: ISZERO
0000067b: PUSH2 0x0682
0000067e: JUMPI
0000067f: PUSH0
00000680: DUP1
00000681: REVERT
00000682: JUMPDEST
00000683: POP
00000684: PUSH2 0x0393
00000687: PUSH2 0x0691
0000068a: CALLDATASIZE
0000068b: PUSH1 0x04
0000068d: PUSH2 0x40fb
00000690: JUMP
00000691: JUMPDEST
00000692: PUSH2 0x139e
00000695: JUMP
00000696: JUMPDEST
00000697: CALLVALUE
00000698: DUP1
00000699: ISZERO
0000069a: PUSH2 0x06a1
0000069d: JUMPI
0000069e: PUSH0
0000069f: DUP1
000006a0: REVERT
000006a1: JUMPDEST
000006a2: POP
000006a3: PUSH2 0x0393
000006a6: PUSH2 0x06b0
000006a9: CALLDATASIZE
000006aa: PUSH1 0x04
000006ac: PUSH2 0x423d
000006af: JUMP
000006b0: JUMPDEST
000006b1: PUSH2 0x13b5
000006b4: JUMP
000006b5: JUMPDEST
000006b6: CALLVALUE
000006b7: DUP1
000006b8: ISZERO
000006b9: PUSH2 0x06c0
000006bc: JUMPI
000006bd: PUSH0
000006be: DUP1
000006bf: REVERT
000006c0: JUMPDEST
000006c1: POP
000006c2: PUSH2 0x03d3
000006c5: PUSH2 0x06cf
000006c8: CALLDATASIZE
000006c9: PUSH1 0x04
000006cb: PUSH2 0x40fb
000006ce: JUMP
000006cf: JUMPDEST
000006d0: PUSH2 0x14a0
000006d3: JUMP
000006d4: JUMPDEST
000006d5: CALLVALUE
000006d6: DUP1
000006d7: ISZERO
000006d8: PUSH2 0x06df
000006db: JUMPI
000006dc: PUSH0
000006dd: DUP1
000006de: REVERT
000006df: JUMPDEST
000006e0: POP
000006e1: PUSH2 0x03d3
000006e4: PUSH2 0x06ee
000006e7: CALLDATASIZE
000006e8: PUSH1 0x04
000006ea: PUSH2 0x40fb
000006ed: JUMP
000006ee: JUMPDEST
000006ef: PUSH2 0x14b8
000006f2: JUMP
000006f3: JUMPDEST
000006f4: CALLVALUE
000006f5: DUP1
000006f6: ISZERO
000006f7: PUSH2 0x06fe
000006fa: JUMPI
000006fb: PUSH0
000006fc: DUP1
000006fd: REVERT
000006fe: JUMPDEST
000006ff: POP
00000700: PUSH2 0x0393
00000703: PUSH2 0x070d
00000706: CALLDATASIZE
00000707: PUSH1 0x04
00000709: PUSH2 0x40fb
0000070c: JUMP
0000070d: JUMPDEST
0000070e: PUSH2 0x14d0
00000711: JUMP
00000712: JUMPDEST
00000713: CALLVALUE
00000714: DUP1
00000715: ISZERO
00000716: PUSH2 0x071d
00000719: JUMPI
0000071a: PUSH0
0000071b: DUP1
0000071c: REVERT
0000071d: JUMPDEST
0000071e: POP
0000071f: PUSH2 0x0393
00000722: PUSH2 0x072c
00000725: CALLDATASIZE
00000726: PUSH1 0x04
00000728: PUSH2 0x427c
0000072b: JUMP
0000072c: JUMPDEST
0000072d: PUSH2 0x14e7
00000730: JUMP
00000731: JUMPDEST
00000732: CALLVALUE
00000733: DUP1
00000734: ISZERO
00000735: PUSH2 0x073c
00000738: JUMPI
00000739: PUSH0
0000073a: DUP1
0000073b: REVERT
0000073c: JUMPDEST
0000073d: POP
0000073e: PUSH2 0x03d3
00000741: PUSH2 0x074b
00000744: CALLDATASIZE
00000745: PUSH1 0x04
00000747: PUSH2 0x40fb
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH2 0x1635
0000074f: JUMP
00000750: JUMPDEST
00000751: CALLVALUE
00000752: DUP1
00000753: ISZERO
00000754: PUSH2 0x075b
00000757: JUMPI
00000758: PUSH0
00000759: DUP1
0000075a: REVERT
0000075b: JUMPDEST
0000075c: POP
0000075d: PUSH2 0x0393
00000760: PUSH2 0x076a
00000763: CALLDATASIZE
00000764: PUSH1 0x04
00000766: PUSH2 0x427c
00000769: JUMP
0000076a: JUMPDEST
0000076b: PUSH2 0x164d
0000076e: JUMP
0000076f: JUMPDEST
00000770: CALLVALUE
00000771: DUP1
00000772: ISZERO
00000773: PUSH2 0x077a
00000776: JUMPI
00000777: PUSH0
00000778: DUP1
00000779: REVERT
0000077a: JUMPDEST
0000077b: POP
0000077c: PUSH2 0x0393
0000077f: PUSH2 0x0789
00000782: CALLDATASIZE
00000783: PUSH1 0x04
00000785: PUSH2 0x4180
00000788: JUMP
00000789: JUMPDEST
0000078a: PUSH2 0x17a3
0000078d: JUMP
0000078e: JUMPDEST
0000078f: CALLVALUE
00000790: DUP1
00000791: ISZERO
00000792: PUSH2 0x0799
00000795: JUMPI
00000796: PUSH0
00000797: DUP1
00000798: REVERT
00000799: JUMPDEST
0000079a: POP
0000079b: PUSH2 0x0393
0000079e: PUSH2 0x07a8
000007a1: CALLDATASIZE
000007a2: PUSH1 0x04
000007a4: PUSH2 0x40fb
000007a7: JUMP
000007a8: JUMPDEST
000007a9: PUSH2 0x18c8
000007ac: JUMP
000007ad: JUMPDEST
000007ae: CALLVALUE
000007af: DUP1
000007b0: ISZERO
000007b1: PUSH2 0x07b8
000007b4: JUMPI
000007b5: PUSH0
000007b6: DUP1
000007b7: REVERT
000007b8: JUMPDEST
000007b9: POP
000007ba: PUSH2 0x03d3
000007bd: PUSH2 0x07c7
000007c0: CALLDATASIZE
000007c1: PUSH1 0x04
000007c3: PUSH2 0x40fb
000007c6: JUMP
000007c7: JUMPDEST
000007c8: PUSH2 0x1908
000007cb: JUMP
000007cc: JUMPDEST
000007cd: CALLVALUE
000007ce: DUP1
000007cf: ISZERO
000007d0: PUSH2 0x07d7
000007d3: JUMPI
000007d4: PUSH0
000007d5: DUP1
000007d6: REVERT
000007d7: JUMPDEST
000007d8: POP
000007d9: PUSH2 0x0393
000007dc: PUSH2 0x07e6
000007df: CALLDATASIZE
000007e0: PUSH1 0x04
000007e2: PUSH2 0x40fb
000007e5: JUMP
000007e6: JUMPDEST
000007e7: PUSH2 0x1920
000007ea: JUMP
000007eb: JUMPDEST
000007ec: CALLVALUE
000007ed: DUP1
000007ee: ISZERO
000007ef: PUSH2 0x07f6
000007f2: JUMPI
000007f3: PUSH0
000007f4: DUP1
000007f5: REVERT
000007f6: JUMPDEST
000007f7: POP
000007f8: PUSH2 0x03d3
000007fb: PUSH2 0x0805
000007fe: CALLDATASIZE
000007ff: PUSH1 0x04
00000801: PUSH2 0x40fb
00000804: JUMP
00000805: JUMPDEST
00000806: PUSH2 0x1937
00000809: JUMP
0000080a: JUMPDEST
0000080b: CALLVALUE
0000080c: DUP1
0000080d: ISZERO
0000080e: PUSH2 0x0815
00000811: JUMPI
00000812: PUSH0
00000813: DUP1
00000814: REVERT
00000815: JUMPDEST
00000816: POP
00000817: PUSH2 0x0393
0000081a: PUSH2 0x0824
0000081d: CALLDATASIZE
0000081e: PUSH1 0x04
00000820: PUSH2 0x4148
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH2 0x194f
00000828: JUMP
00000829: JUMPDEST
0000082a: PUSH2 0x0393
0000082d: PUSH2 0x0837
00000830: CALLDATASIZE
00000831: PUSH1 0x04
00000833: PUSH2 0x40fb
00000836: JUMP
00000837: JUMPDEST
00000838: PUSH2 0x1a2c
0000083b: JUMP
0000083c: JUMPDEST
0000083d: CALLVALUE
0000083e: DUP1
0000083f: ISZERO
00000840: PUSH2 0x0847
00000843: JUMPI
00000844: PUSH0
00000845: DUP1
00000846: REVERT
00000847: JUMPDEST
00000848: POP
00000849: PUSH2 0x046c
0000084c: PUSH2 0x1a62
0000084f: JUMP
00000850: JUMPDEST
00000851: CALLVALUE
00000852: DUP1
00000853: ISZERO
00000854: PUSH2 0x085b
00000857: JUMPI
00000858: PUSH0
00000859: DUP1
0000085a: REVERT
0000085b: JUMPDEST
0000085c: POP
0000085d: PUSH2 0x0393
00000860: PUSH2 0x086a
00000863: CALLDATASIZE
00000864: PUSH1 0x04
00000866: PUSH2 0x42ed
00000869: JUMP
0000086a: JUMPDEST
0000086b: PUSH2 0x1a6b
0000086e: JUMP
0000086f: JUMPDEST
00000870: PUSH2 0x0393
00000873: PUSH2 0x087d
00000876: CALLDATASIZE
00000877: PUSH1 0x04
00000879: PUSH2 0x435a
0000087c: JUMP
0000087d: JUMPDEST
0000087e: PUSH2 0x1b9d
00000881: JUMP
00000882: JUMPDEST
00000883: CALLVALUE
00000884: DUP1
00000885: ISZERO
00000886: PUSH2 0x088d
00000889: JUMPI
0000088a: PUSH0
0000088b: DUP1
0000088c: REVERT
0000088d: JUMPDEST
0000088e: POP
0000088f: PUSH2 0x0393
00000892: PUSH2 0x089c
00000895: CALLDATASIZE
00000896: PUSH1 0x04
00000898: PUSH2 0x40fb
0000089b: JUMP
0000089c: JUMPDEST
0000089d: PUSH2 0x1caa
000008a0: JUMP
000008a1: JUMPDEST
000008a2: CALLVALUE
000008a3: DUP1
000008a4: ISZERO
000008a5: PUSH2 0x08ac
000008a8: JUMPI
000008a9: PUSH0
000008aa: DUP1
000008ab: REVERT
000008ac: JUMPDEST
000008ad: POP
000008ae: PUSH2 0x03d3
000008b1: PUSH2 0x08bb
000008b4: CALLDATASIZE
000008b5: PUSH1 0x04
000008b7: PUSH2 0x40fb
000008ba: JUMP
000008bb: JUMPDEST
000008bc: PUSH2 0x1da4
000008bf: JUMP
000008c0: JUMPDEST
000008c1: CALLVALUE
000008c2: DUP1
000008c3: ISZERO
000008c4: PUSH2 0x08cb
000008c7: JUMPI
000008c8: PUSH0
000008c9: DUP1
000008ca: REVERT
000008cb: JUMPDEST
000008cc: POP
000008cd: PUSH2 0x0393
000008d0: PUSH2 0x08da
000008d3: CALLDATASIZE
000008d4: PUSH1 0x04
000008d6: PUSH2 0x40fb
000008d9: JUMP
000008da: JUMPDEST
000008db: PUSH2 0x1dbc
000008de: JUMP
000008df: JUMPDEST
000008e0: CALLVALUE
000008e1: DUP1
000008e2: ISZERO
000008e3: PUSH2 0x08ea
000008e6: JUMPI
000008e7: PUSH0
000008e8: DUP1
000008e9: REVERT
000008ea: JUMPDEST
000008eb: POP
000008ec: PUSH2 0x0393
000008ef: PUSH2 0x08f9
000008f2: CALLDATASIZE
000008f3: PUSH1 0x04
000008f5: PUSH2 0x42ed
000008f8: JUMP
000008f9: JUMPDEST
000008fa: PUSH2 0x1dd3
000008fd: JUMP
000008fe: JUMPDEST
000008ff: CALLVALUE
00000900: DUP1
00000901: ISZERO
00000902: PUSH2 0x0909
00000905: JUMPI
00000906: PUSH0
00000907: DUP1
00000908: REVERT
00000909: JUMPDEST
0000090a: POP
0000090b: PUSH2 0x03d3
0000090e: PUSH2 0x0918
00000911: CALLDATASIZE
00000912: PUSH1 0x04
00000914: PUSH2 0x40fb
00000917: JUMP
00000918: JUMPDEST
00000919: PUSH2 0x1eea
0000091c: JUMP
0000091d: JUMPDEST
0000091e: CALLVALUE
0000091f: DUP1
00000920: ISZERO
00000921: PUSH2 0x0928
00000924: JUMPI
00000925: PUSH0
00000926: DUP1
00000927: REVERT
00000928: JUMPDEST
00000929: POP
0000092a: PUSH2 0x0393
0000092d: PUSH2 0x0937
00000930: CALLDATASIZE
00000931: PUSH1 0x04
00000933: PUSH2 0x40fb
00000936: JUMP
00000937: JUMPDEST
00000938: PUSH2 0x1f02
0000093b: JUMP
0000093c: JUMPDEST
0000093d: CALLVALUE
0000093e: DUP1
0000093f: ISZERO
00000940: PUSH2 0x0947
00000943: JUMPI
00000944: PUSH0
00000945: DUP1
00000946: REVERT
00000947: JUMPDEST
00000948: POP
00000949: PUSH2 0x0393
0000094c: PUSH2 0x0956
0000094f: CALLDATASIZE
00000950: PUSH1 0x04
00000952: PUSH2 0x43bf
00000955: JUMP
00000956: JUMPDEST
00000957: PUSH2 0x2117
0000095a: JUMP
0000095b: JUMPDEST
0000095c: CALLVALUE
0000095d: DUP1
0000095e: ISZERO
0000095f: PUSH2 0x0966
00000962: JUMPI
00000963: PUSH0
00000964: DUP1
00000965: REVERT
00000966: JUMPDEST
00000967: POP
00000968: PUSH2 0x0393
0000096b: PUSH2 0x0975
0000096e: CALLDATASIZE
0000096f: PUSH1 0x04
00000971: PUSH2 0x40fb
00000974: JUMP
00000975: JUMPDEST
00000976: PUSH2 0x221d
00000979: JUMP
0000097a: JUMPDEST
0000097b: CALLVALUE
0000097c: DUP1
0000097d: ISZERO
0000097e: PUSH2 0x0985
00000981: JUMPI
00000982: PUSH0
00000983: DUP1
00000984: REVERT
00000985: JUMPDEST
00000986: POP
00000987: PUSH2 0x0393
0000098a: PUSH2 0x0994
0000098d: CALLDATASIZE
0000098e: PUSH1 0x04
00000990: PUSH2 0x40fb
00000993: JUMP
00000994: JUMPDEST
00000995: PUSH2 0x2234
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH2 0x0393
0000099d: PUSH2 0x09a7
000009a0: CALLDATASIZE
000009a1: PUSH1 0x04
000009a3: PUSH2 0x43e9
000009a6: JUMP
000009a7: JUMPDEST
000009a8: PUSH2 0x224b
000009ab: JUMP
000009ac: JUMPDEST
000009ad: CALLVALUE
000009ae: DUP1
000009af: ISZERO
000009b0: PUSH2 0x09b7
000009b3: JUMPI
000009b4: PUSH0
000009b5: DUP1
000009b6: REVERT
000009b7: JUMPDEST
000009b8: POP
000009b9: PUSH2 0x0393
000009bc: PUSH2 0x09c6
000009bf: CALLDATASIZE
000009c0: PUSH1 0x04
000009c2: PUSH2 0x40fb
000009c5: JUMP
000009c6: JUMPDEST
000009c7: PUSH2 0x22f9
000009ca: JUMP
000009cb: JUMPDEST
000009cc: CALLVALUE
000009cd: DUP1
000009ce: ISZERO
000009cf: PUSH2 0x09d6
000009d2: JUMPI
000009d3: PUSH0
000009d4: DUP1
000009d5: REVERT
000009d6: JUMPDEST
000009d7: POP
000009d8: PUSH2 0x0393
000009db: PUSH2 0x09e5
000009de: CALLDATASIZE
000009df: PUSH1 0x04
000009e1: PUSH2 0x40fb
000009e4: JUMP
000009e5: JUMPDEST
000009e6: PUSH2 0x2310
000009e9: JUMP
000009ea: JUMPDEST
000009eb: CALLVALUE
000009ec: DUP1
000009ed: ISZERO
000009ee: PUSH2 0x09f5
000009f1: JUMPI
000009f2: PUSH0
000009f3: DUP1
000009f4: REVERT
000009f5: JUMPDEST
000009f6: POP
000009f7: PUSH2 0x09fe
000009fa: PUSH2 0x2350
000009fd: JUMP
000009fe: JUMPDEST
000009ff: PUSH1 0x40
00000a01: MLOAD
00000a02: PUSH2 0x03df
00000a05: SWAP2
00000a06: SWAP1
00000a07: PUSH2 0x442b
00000a0a: JUMP
00000a0b: JUMPDEST
00000a0c: CALLVALUE
00000a0d: DUP1
00000a0e: ISZERO
00000a0f: PUSH2 0x0a16
00000a12: JUMPI
00000a13: PUSH0
00000a14: DUP1
00000a15: REVERT
00000a16: JUMPDEST
00000a17: POP
00000a18: PUSH2 0x0393
00000a1b: PUSH2 0x0a25
00000a1e: CALLDATASIZE
00000a1f: PUSH1 0x04
00000a21: PUSH2 0x43bf
00000a24: JUMP
00000a25: JUMPDEST
00000a26: PUSH2 0x2370
00000a29: JUMP
00000a2a: JUMPDEST
00000a2b: CALLVALUE
00000a2c: DUP1
00000a2d: ISZERO
00000a2e: PUSH2 0x0a35
00000a31: JUMPI
00000a32: PUSH0
00000a33: DUP1
00000a34: REVERT
00000a35: JUMPDEST
00000a36: POP
00000a37: PUSH2 0x0393
00000a3a: PUSH2 0x0a44
00000a3d: CALLDATASIZE
00000a3e: PUSH1 0x04
00000a40: PUSH2 0x40fb
00000a43: JUMP
00000a44: JUMPDEST
00000a45: PUSH2 0x237b
00000a48: JUMP
00000a49: JUMPDEST
00000a4a: CALLVALUE
00000a4b: DUP1
00000a4c: ISZERO
00000a4d: PUSH2 0x0a54
00000a50: JUMPI
00000a51: PUSH0
00000a52: DUP1
00000a53: REVERT
00000a54: JUMPDEST
00000a55: POP
00000a56: PUSH2 0x0393
00000a59: PUSH2 0x0a63
00000a5c: CALLDATASIZE
00000a5d: PUSH1 0x04
00000a5f: PUSH2 0x40fb
00000a62: JUMP
00000a63: JUMPDEST
00000a64: PUSH2 0x2392
00000a67: JUMP
00000a68: JUMPDEST
00000a69: PUSH2 0x0a7a
00000a6c: PUSH2 0x0a73
00000a6f: PUSH2 0x23a9
00000a72: JUMP
00000a73: JUMPDEST
00000a74: DUP4
00000a75: DUP4
00000a76: PUSH2 0x13b5
00000a79: JUMP
00000a7a: JUMPDEST
00000a7b: POP
00000a7c: POP
00000a7d: JUMP
00000a7e: JUMPDEST
00000a7f: PUSH2 0x0a95
00000a82: PUSH0
00000a83: DUP1
00000a84: MLOAD
00000a85: PUSH1 0x20
00000a87: PUSH2 0x4c45
00000a8a: DUP4
00000a8b: CODECOPY
00000a8c: DUP2
00000a8d: MLOAD
00000a8e: SWAP2
00000a8f: MSTORE
00000a90: DUP3
00000a91: PUSH2 0x23cb
00000a94: JUMP
00000a95: JUMPDEST
00000a96: POP
00000a97: JUMP
00000a98: JUMPDEST
00000a99: PUSH1 0x01
00000a9b: PUSH1 0x01
00000a9d: PUSH1 0xa0
00000a9f: SHL
00000aa0: SUB
00000aa1: DUP2
00000aa2: AND
00000aa3: PUSH0
00000aa4: SWAP1
00000aa5: DUP2
00000aa6: MSTORE
00000aa7: PUSH0
00000aa8: DUP1
00000aa9: MLOAD
00000aaa: PUSH1 0x20
00000aac: PUSH2 0x4bdc
00000aaf: DUP4
00000ab0: CODECOPY
00000ab1: DUP2
00000ab2: MLOAD
00000ab3: SWAP2
00000ab4: MSTORE
00000ab5: PUSH1 0x20
00000ab7: MSTORE
00000ab8: PUSH1 0x40
00000aba: DUP2
00000abb: KECCAK256
00000abc: SLOAD
00000abd: PUSH1 0xff
00000abf: AND
00000ac0: PUSH1 0x01
00000ac2: DUP2
00000ac3: PUSH1 0x03
00000ac5: DUP2
00000ac6: GT
00000ac7: ISZERO
00000ac8: PUSH2 0x0ad3
00000acb: JUMPI
00000acc: PUSH2 0x0ad3
00000acf: PUSH2 0x4197
00000ad2: JUMP
00000ad3: JUMPDEST
00000ad4: EQ
00000ad5: DUP1
00000ad6: PUSH2 0x0af0
00000ad9: JUMPI
00000ada: POP
00000adb: PUSH1 0x02
00000add: DUP2
00000ade: PUSH1 0x03
00000ae0: DUP2
00000ae1: GT
00000ae2: ISZERO
00000ae3: PUSH2 0x0aee
00000ae6: JUMPI
00000ae7: PUSH2 0x0aee
00000aea: PUSH2 0x4197
00000aed: JUMP
00000aee: JUMPDEST
00000aef: EQ
00000af0: JUMPDEST
00000af1: SWAP4
00000af2: SWAP3
00000af3: POP
00000af4: POP
00000af5: POP
00000af6: JUMP
00000af7: JUMPDEST
00000af8: PUSH2 0x0a95
00000afb: PUSH0
00000afc: DUP1
00000afd: MLOAD
00000afe: PUSH1 0x20
00000b00: PUSH2 0x4adf
00000b03: DUP4
00000b04: CODECOPY
00000b05: DUP2
00000b06: MLOAD
00000b07: SWAP2
00000b08: MSTORE
00000b09: DUP3
00000b0a: PUSH2 0x23cb
00000b0d: JUMP
00000b0e: JUMPDEST
00000b0f: DUP3
00000b10: PUSH2 0x0b18
00000b13: DUP2
00000b14: PUSH2 0x0a98
00000b17: JUMP
00000b18: JUMPDEST
00000b19: PUSH2 0x0b5e
00000b1c: JUMPI
00000b1d: PUSH1 0x40
00000b1f: MLOAD
00000b20: PUSH3 0x461bcd
00000b24: PUSH1 0xe5
00000b26: SHL
00000b27: DUP2
00000b28: MSTORE
00000b29: PUSH1 0x20
00000b2b: PUSH1 0x04
00000b2d: DUP3
00000b2e: ADD
00000b2f: MSTORE
00000b30: PUSH1 0x12
00000b32: PUSH1 0x24
00000b34: DUP3
00000b35: ADD
00000b36: MSTORE
00000b37: PUSH18 0x1513d2d15397d393d517d4d154959250d151
00000b4a: PUSH1 0x72
00000b4c: SHL
00000b4d: PUSH1 0x44
00000b4f: DUP3
00000b50: ADD
00000b51: MSTORE
00000b52: PUSH1 0x64
00000b54: ADD
00000b55: JUMPDEST
00000b56: PUSH1 0x40
00000b58: MLOAD
00000b59: DUP1
00000b5a: SWAP2
00000b5b: SUB
00000b5c: SWAP1
00000b5d: REVERT
00000b5e: JUMPDEST
00000b5f: PUSH1 0x40
00000b61: DUP1
00000b62: MLOAD
00000b63: PUSH0
00000b64: DUP1
00000b65: DUP3
00000b66: MSTORE
00000b67: PUSH1 0x20
00000b69: DUP3
00000b6a: ADD
00000b6b: SWAP1
00000b6c: SWAP3
00000b6d: MSTORE
00000b6e: SWAP1
00000b6f: PUSH2 0x0b78
00000b72: DUP7
00000b73: DUP7
00000b74: PUSH2 0x23ec
00000b77: JUMP
00000b78: JUMPDEST
00000b79: SWAP1
00000b7a: POP
00000b7b: PUSH0
00000b7c: PUSH2 0x0b96
00000b7f: DUP8
00000b80: DUP8
00000b81: DUP8
00000b82: DUP7
00000b83: PUSH0
00000b84: DUP1
00000b85: MLOAD
00000b86: PUSH1 0x20
00000b88: PUSH2 0x4bbc
00000b8b: DUP4
00000b8c: CODECOPY
00000b8d: DUP2
00000b8e: MLOAD
00000b8f: SWAP2
00000b90: MSTORE
00000b91: DUP8
00000b92: PUSH2 0x24cc
00000b95: JUMP
00000b96: JUMPDEST
00000b97: SWAP1
00000b98: POP
00000b99: PUSH2 0x0bb4
00000b9c: DUP8
00000b9d: DUP8
00000b9e: DUP8
00000b9f: DUP7
00000ba0: PUSH0
00000ba1: DUP1
00000ba2: MLOAD
00000ba3: PUSH1 0x20
00000ba5: PUSH2 0x4bbc
00000ba8: DUP4
00000ba9: CODECOPY
00000baa: DUP2
00000bab: MLOAD
00000bac: SWAP2
00000bad: MSTORE
00000bae: DUP7
00000baf: DUP9
00000bb0: PUSH2 0x264e
00000bb3: JUMP
00000bb4: JUMPDEST
00000bb5: PUSH2 0x0bbd
00000bb8: DUP8
00000bb9: PUSH2 0x1f02
00000bbc: JUMP
00000bbd: JUMPDEST
00000bbe: POP
00000bbf: POP
00000bc0: POP
00000bc1: POP
00000bc2: POP
00000bc3: POP
00000bc4: POP
00000bc5: JUMP
00000bc6: JUMPDEST
00000bc7: PUSH2 0x0bcf
00000bca: CALLER
00000bcb: PUSH2 0x1635
00000bce: JUMP
00000bcf: JUMPDEST
00000bd0: PUSH2 0x0c11
00000bd3: JUMPI
00000bd4: PUSH1 0x40
00000bd6: MLOAD
00000bd7: PUSH3 0x461bcd
00000bdb: PUSH1 0xe5
00000bdd: SHL
00000bde: DUP2
00000bdf: MSTORE
00000be0: PUSH1 0x20
00000be2: PUSH1 0x04
00000be4: DUP3
00000be5: ADD
00000be6: MSTORE
00000be7: PUSH1 0x13
00000be9: PUSH1 0x24
00000beb: DUP3
00000bec: ADD
00000bed: MSTORE
00000bee: PUSH19 0x13d3931657d4d150d55492551657d051d15395
00000c02: PUSH1 0x6a
00000c04: SHL
00000c05: PUSH1 0x44
00000c07: DUP3
00000c08: ADD
00000c09: MSTORE
00000c0a: PUSH1 0x64
00000c0c: ADD
00000c0d: PUSH2 0x0b55
00000c10: JUMP
00000c11: JUMPDEST
00000c12: PUSH1 0x01
00000c14: PUSH1 0x01
00000c16: PUSH1 0xa0
00000c18: SHL
00000c19: SUB
00000c1a: DUP2
00000c1b: AND
00000c1c: PUSH0
00000c1d: DUP2
00000c1e: DUP2
00000c1f: MSTORE
00000c20: PUSH0
00000c21: DUP1
00000c22: MLOAD
00000c23: PUSH1 0x20
00000c25: PUSH2 0x4bdc
00000c28: DUP4
00000c29: CODECOPY
00000c2a: DUP2
00000c2b: MLOAD
00000c2c: SWAP2
00000c2d: MSTORE
00000c2e: PUSH1 0x20
00000c30: MSTORE
00000c31: PUSH1 0x40
00000c33: DUP1
00000c34: DUP3
00000c35: KECCAK256
00000c36: PUSH1 0x04
00000c38: ADD
00000c39: DUP1
00000c3a: SLOAD
00000c3b: PUSH1 0xff
00000c3d: NOT
00000c3e: AND
00000c3f: PUSH1 0x01
00000c41: OR
00000c42: SWAP1
00000c43: SSTORE
00000c44: MLOAD
00000c45: CALLER
00000c46: SWAP2
00000c47: PUSH32 0xe2deca319add01142d26def2de47e64bf1fdc70e6f90c13a1862a48bdaaa7cfd
00000c68: SWAP2
00000c69: LOG3
00000c6a: POP
00000c6b: JUMP
00000c6c: JUMPDEST
00000c6d: PUSH2 0x0a95
00000c70: PUSH0
00000c71: DUP1
00000c72: MLOAD
00000c73: PUSH1 0x20
00000c75: PUSH2 0x4aff
00000c78: DUP4
00000c79: CODECOPY
00000c7a: DUP2
00000c7b: MLOAD
00000c7c: SWAP2
00000c7d: MSTORE
00000c7e: DUP3
00000c7f: PUSH2 0x23cb
00000c82: JUMP
00000c83: JUMPDEST
00000c84: PUSH0
00000c85: PUSH2 0x0c8f
00000c88: PUSH2 0x060d
00000c8b: PUSH2 0x23a9
00000c8e: JUMP
00000c8f: JUMPDEST
00000c90: SWAP1
00000c91: POP
00000c92: SWAP1
00000c93: JUMP
00000c94: JUMPDEST
00000c95: PUSH2 0x0c9c
00000c98: PUSH2 0x2761
00000c9b: JUMP
00000c9c: JUMPDEST
00000c9d: PUSH1 0x01
00000c9f: PUSH1 0x01
00000ca1: PUSH1 0xa0
00000ca3: SHL
00000ca4: SUB
00000ca5: AND
00000ca6: PUSH4 0x6170ff1b
00000cab: PUSH2 0x0cb2
00000cae: PUSH2 0x2783
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: PUSH0
00000cb4: DUP1
00000cb5: MLOAD
00000cb6: PUSH1 0x20
00000cb8: PUSH2 0x4bbc
00000cbb: DUP4
00000cbc: CODECOPY
00000cbd: DUP2
00000cbe: MLOAD
00000cbf: SWAP2
00000cc0: MSTORE
00000cc1: PUSH2 0x0ccb
00000cc4: DUP9
00000cc5: DUP9
00000cc6: DUP9
00000cc7: PUSH2 0x27a5
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: DUP6
00000ccd: PUSH1 0x40
00000ccf: MLOAD
00000cd0: DUP6
00000cd1: PUSH4 0xffffffff
00000cd6: AND
00000cd7: PUSH1 0xe0
00000cd9: SHL
00000cda: DUP2
00000cdb: MSTORE
00000cdc: PUSH1 0x04
00000cde: ADD
00000cdf: PUSH2 0x0ceb
00000ce2: SWAP5
00000ce3: SWAP4
00000ce4: SWAP3
00000ce5: SWAP2
00000ce6: SWAP1
00000ce7: PUSH2 0x44aa
00000cea: JUMP
00000ceb: JUMPDEST
00000cec: PUSH1 0x20
00000cee: PUSH1 0x40
00000cf0: MLOAD
00000cf1: DUP1
00000cf2: DUP4
00000cf3: SUB
00000cf4: DUP2
00000cf5: PUSH0
00000cf6: DUP8
00000cf7: GAS
00000cf8: CALL
00000cf9: ISZERO
00000cfa: DUP1
00000cfb: ISZERO
00000cfc: PUSH2 0x0d07
00000cff: JUMPI
00000d00: RETURNDATASIZE
00000d01: PUSH0
00000d02: DUP1
00000d03: RETURNDATACOPY
00000d04: RETURNDATASIZE
00000d05: PUSH0
00000d06: REVERT
00000d07: JUMPDEST
00000d08: POP
00000d09: POP
00000d0a: POP
00000d0b: POP
00000d0c: PUSH1 0x40
00000d0e: MLOAD
00000d0f: RETURNDATASIZE
00000d10: PUSH1 0x1f
00000d12: NOT
00000d13: PUSH1 0x1f
00000d15: DUP3
00000d16: ADD
00000d17: AND
00000d18: DUP3
00000d19: ADD
00000d1a: DUP1
00000d1b: PUSH1 0x40
00000d1d: MSTORE
00000d1e: POP
00000d1f: DUP2
00000d20: ADD
00000d21: SWAP1
00000d22: PUSH2 0x0d2b
00000d25: SWAP2
00000d26: SWAP1
00000d27: PUSH2 0x44d9
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: POP
00000d2d: PUSH2 0x0d37
00000d30: DUP5
00000d31: DUP5
00000d32: CALLER
00000d33: PUSH2 0x27ce
00000d36: JUMP
00000d37: JUMPDEST
00000d38: PUSH1 0x40
00000d3a: DUP1
00000d3b: MLOAD
00000d3c: DUP5
00000d3d: DUP2
00000d3e: MSTORE
00000d3f: PUSH1 0x20
00000d41: DUP2
00000d42: ADD
00000d43: DUP4
00000d44: SWAP1
00000d45: MSTORE
00000d46: DUP4
00000d47: SWAP2
00000d48: PUSH1 0x01
00000d4a: PUSH1 0x01
00000d4c: PUSH1 0xa0
00000d4e: SHL
00000d4f: SUB
00000d50: DUP8
00000d51: AND
00000d52: SWAP2
00000d53: CALLER
00000d54: SWAP2
00000d55: PUSH32 0x50485fb0face2cfd73784044ab4191986b4a6713f01854414e2331a6bb41837d
00000d76: SWAP2
00000d77: ADD
00000d78: JUMPDEST
00000d79: PUSH1 0x40
00000d7b: MLOAD
00000d7c: DUP1
00000d7d: SWAP2
00000d7e: SUB
00000d7f: SWAP1
00000d80: LOG4
00000d81: POP
00000d82: POP
00000d83: POP
00000d84: POP
00000d85: JUMP
00000d86: JUMPDEST
00000d87: PUSH2 0x0d9d
00000d8a: PUSH0
00000d8b: DUP1
00000d8c: MLOAD
00000d8d: PUSH1 0x20
00000d8f: PUSH2 0x49d1
00000d92: DUP4
00000d93: CODECOPY
00000d94: DUP2
00000d95: MLOAD
00000d96: SWAP2
00000d97: MSTORE
00000d98: CALLER
00000d99: PUSH2 0x27d9
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH2 0x0de1
00000da1: JUMPI
00000da2: PUSH1 0x40
00000da4: MLOAD
00000da5: PUSH3 0x461bcd
00000da9: PUSH1 0xe5
00000dab: SHL
00000dac: DUP2
00000dad: MSTORE
00000dae: PUSH1 0x20
00000db0: PUSH1 0x04
00000db2: DUP3
00000db3: ADD
00000db4: MSTORE
00000db5: PUSH1 0x15
00000db7: PUSH1 0x24
00000db9: DUP3
00000dba: ADD
00000dbb: MSTORE
00000dbc: PUSH21 0x474f5645524e414e43455f41444d494e5f4f4e4c59
00000dd2: PUSH1 0x58
00000dd4: SHL
00000dd5: PUSH1 0x44
00000dd7: DUP3
00000dd8: ADD
00000dd9: MSTORE
00000dda: PUSH1 0x64
00000ddc: ADD
00000ddd: PUSH2 0x0b55
00000de0: JUMP
00000de1: JUMPDEST
00000de2: PUSH1 0x01
00000de4: PUSH1 0x01
00000de6: PUSH1 0xa0
00000de8: SHL
00000de9: SUB
00000dea: DUP2
00000deb: AND
00000dec: PUSH0
00000ded: DUP2
00000dee: DUP2
00000def: MSTORE
00000df0: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e26
00000e11: PUSH1 0x20
00000e13: DUP2
00000e14: DUP2
00000e15: MSTORE
00000e16: PUSH1 0x40
00000e18: SWAP3
00000e19: DUP4
00000e1a: SWAP1
00000e1b: KECCAK256
00000e1c: DUP1
00000e1d: SLOAD
00000e1e: PUSH1 0xff
00000e20: NOT
00000e21: AND
00000e22: PUSH1 0x01
00000e24: OR
00000e25: SWAP1
00000e26: SSTORE
00000e27: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e27
00000e48: DUP1
00000e49: SLOAD
00000e4a: PUSH1 0x01
00000e4c: PUSH1 0x01
00000e4e: PUSH1 0xa0
00000e50: SHL
00000e51: SUB
00000e52: NOT
00000e53: AND
00000e54: SWAP1
00000e55: SSTORE
00000e56: SWAP2
00000e57: MLOAD
00000e58: SWAP3
00000e59: DUP4
00000e5a: MSTORE
00000e5b: SWAP2
00000e5c: PUSH32 0xcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d2
00000e7d: SWAP2
00000e7e: ADD
00000e7f: JUMPDEST
00000e80: PUSH1 0x40
00000e82: MLOAD
00000e83: DUP1
00000e84: SWAP2
00000e85: SUB
00000e86: SWAP1
00000e87: LOG1
00000e88: POP
00000e89: POP
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: PUSH2 0x0a95
00000e8f: PUSH2 0x0e96
00000e92: PUSH2 0x23a9
00000e95: JUMP
00000e96: JUMPDEST
00000e97: DUP3
00000e98: CALLER
00000e99: PUSH2 0x13b5
00000e9c: JUMP
00000e9d: JUMPDEST
00000e9e: DUP1
00000e9f: CALLER
00000ea0: PUSH1 0x01
00000ea2: PUSH1 0x01
00000ea4: PUSH1 0xa0
00000ea6: SHL
00000ea7: SUB
00000ea8: DUP3
00000ea9: AND
00000eaa: SUB
00000eab: PUSH2 0x0ec6
00000eae: JUMPI
00000eaf: PUSH1 0x40
00000eb1: MLOAD
00000eb2: PUSH3 0x461bcd
00000eb6: PUSH1 0xe5
00000eb8: SHL
00000eb9: DUP2
00000eba: MSTORE
00000ebb: PUSH1 0x04
00000ebd: ADD
00000ebe: PUSH2 0x0b55
00000ec1: SWAP1
00000ec2: PUSH2 0x44f0
00000ec5: JUMP
00000ec6: JUMPDEST
00000ec7: PUSH2 0x0a7a
00000eca: PUSH0
00000ecb: DUP1
00000ecc: MLOAD
00000ecd: PUSH1 0x20
00000ecf: PUSH2 0x4aff
00000ed2: DUP4
00000ed3: CODECOPY
00000ed4: DUP2
00000ed5: MLOAD
00000ed6: SWAP2
00000ed7: MSTORE
00000ed8: DUP4
00000ed9: PUSH2 0x280f
00000edc: JUMP
00000edd: JUMPDEST
00000ede: PUSH0
00000edf: DUP1
00000ee0: MLOAD
00000ee1: PUSH1 0x20
00000ee3: PUSH2 0x49d1
00000ee6: DUP4
00000ee7: CODECOPY
00000ee8: DUP2
00000ee9: MLOAD
00000eea: SWAP2
00000eeb: MSTORE
00000eec: DUP3
00000eed: EQ
00000eee: DUP1
00000eef: ISZERO
00000ef0: PUSH2 0x0f17
00000ef3: JUMPI
00000ef4: POP
00000ef5: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00000f16: ISZERO
00000f17: JUMPDEST
00000f18: ISZERO
00000f19: PUSH2 0x0f64
00000f1c: JUMPI
00000f1d: PUSH1 0x40
00000f1f: MLOAD
00000f20: PUSH3 0x461bcd
00000f24: PUSH1 0xe5
00000f26: SHL
00000f27: DUP2
00000f28: MSTORE
00000f29: PUSH1 0x20
00000f2b: PUSH1 0x04
00000f2d: DUP3
00000f2e: ADD
00000f2f: DUP2
00000f30: SWAP1
00000f31: MSTORE
00000f32: PUSH1 0x24
00000f34: DUP3
00000f35: ADD
00000f36: MSTORE
00000f37: PUSH32 0x43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e
00000f58: PUSH1 0x44
00000f5a: DUP3
00000f5b: ADD
00000f5c: MSTORE
00000f5d: PUSH1 0x64
00000f5f: ADD
00000f60: PUSH2 0x0b55
00000f63: JUMP
00000f64: JUMPDEST
00000f65: PUSH2 0x0a7a
00000f68: DUP3
00000f69: DUP3
00000f6a: PUSH2 0x282b
00000f6d: JUMP
00000f6e: JUMPDEST
00000f6f: PUSH2 0x0a95
00000f72: PUSH0
00000f73: DUP1
00000f74: MLOAD
00000f75: PUSH1 0x20
00000f77: PUSH2 0x4bfc
00000f7a: DUP4
00000f7b: CODECOPY
00000f7c: DUP2
00000f7d: MLOAD
00000f7e: SWAP2
00000f7f: MSTORE
00000f80: DUP3
00000f81: PUSH2 0x23cb
00000f84: JUMP
00000f85: JUMPDEST
00000f86: CALLER
00000f87: PUSH2 0x0f8e
00000f8a: PUSH2 0x28a5
00000f8d: JUMP
00000f8e: JUMPDEST
00000f8f: PUSH1 0x01
00000f91: PUSH1 0x01
00000f93: PUSH1 0xa0
00000f95: SHL
00000f96: SUB
00000f97: AND
00000f98: EQ
00000f99: PUSH2 0x0fd3
00000f9c: JUMPI
00000f9d: PUSH1 0x40
00000f9f: MLOAD
00000fa0: PUSH3 0x461bcd
00000fa4: PUSH1 0xe5
00000fa6: SHL
00000fa7: DUP2
00000fa8: MSTORE
00000fa9: PUSH1 0x20
00000fab: PUSH1 0x04
00000fad: DUP3
00000fae: ADD
00000faf: MSTORE
00000fb0: PUSH1 0x0c
00000fb2: PUSH1 0x24
00000fb4: DUP3
00000fb5: ADD
00000fb6: MSTORE
00000fb7: PUSH12 0x27a7262cafa6a0a720a3a2a9
00000fc4: PUSH1 0xa1
00000fc6: SHL
00000fc7: PUSH1 0x44
00000fc9: DUP3
00000fca: ADD
00000fcb: MSTORE
00000fcc: PUSH1 0x64
00000fce: ADD
00000fcf: PUSH2 0x0b55
00000fd2: JUMP
00000fd3: JUMPDEST
00000fd4: PUSH1 0x01
00000fd6: PUSH1 0x01
00000fd8: PUSH1 0xa0
00000fda: SHL
00000fdb: SUB
00000fdc: DUP2
00000fdd: AND
00000fde: PUSH0
00000fdf: SWAP1
00000fe0: DUP2
00000fe1: MSTORE
00000fe2: PUSH0
00000fe3: DUP1
00000fe4: MLOAD
00000fe5: PUSH1 0x20
00000fe7: PUSH2 0x4bdc
00000fea: DUP4
00000feb: CODECOPY
00000fec: DUP2
00000fed: MLOAD
00000fee: SWAP2
00000fef: MSTORE
00000ff0: PUSH1 0x20
00000ff2: MSTORE
00000ff3: PUSH1 0x40
00000ff5: DUP2
00000ff6: KECCAK256
00000ff7: SLOAD
00000ff8: PUSH1 0xff
00000ffa: AND
00000ffb: PUSH1 0x03
00000ffd: DUP2
00000ffe: GT
00000fff: ISZERO
00001000: PUSH2 0x100b
00001003: JUMPI
00001004: PUSH2 0x100b
00001007: PUSH2 0x4197
0000100a: JUMP
0000100b: JUMPDEST
0000100c: SUB
0000100d: PUSH2 0x1048
00001010: JUMPI
00001011: PUSH1 0x40
00001013: MLOAD
00001014: PUSH3 0x461bcd
00001018: PUSH1 0xe5
0000101a: SHL
0000101b: DUP2
0000101c: MSTORE
0000101d: PUSH1 0x20
0000101f: PUSH1 0x04
00001021: DUP3
00001022: ADD
00001023: MSTORE
00001024: PUSH1 0x0d
00001026: PUSH1 0x24
00001028: DUP3
00001029: ADD
0000102a: MSTORE
0000102b: PUSH13 0x2aa725a727aba72faa27a5a2a7
00001039: PUSH1 0x99
0000103b: SHL
0000103c: PUSH1 0x44
0000103e: DUP3
0000103f: ADD
00001040: MSTORE
00001041: PUSH1 0x64
00001043: ADD
00001044: PUSH2 0x0b55
00001047: JUMP
00001048: JUMPDEST
00001049: PUSH1 0x01
0000104b: PUSH1 0x01
0000104d: PUSH1 0xa0
0000104f: SHL
00001050: SUB
00001051: DUP2
00001052: AND
00001053: PUSH0
00001054: DUP2
00001055: DUP2
00001056: MSTORE
00001057: PUSH0
00001058: DUP1
00001059: MLOAD
0000105a: PUSH1 0x20
0000105c: PUSH2 0x4bdc
0000105f: DUP4
00001060: CODECOPY
00001061: DUP2
00001062: MLOAD
00001063: SWAP2
00001064: MSTORE
00001065: PUSH1 0x20
00001067: SWAP1
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x40
0000106c: SWAP2
0000106d: DUP3
0000106e: SWAP1
0000106f: KECCAK256
00001070: DUP1
00001071: SLOAD
00001072: PUSH1 0xff
00001074: NOT
00001075: AND
00001076: PUSH1 0x03
00001078: OR
00001079: SWAP1
0000107a: SSTORE
0000107b: SWAP1
0000107c: MLOAD
0000107d: SWAP2
0000107e: DUP3
0000107f: MSTORE
00001080: PUSH32 0x86d6e4556eae726303caf49a75add7d92ac713e46db458dab0622aa263fb48e6
000010a1: SWAP2
000010a2: ADD
000010a3: JUMPDEST
000010a4: PUSH1 0x40
000010a6: MLOAD
000010a7: DUP1
000010a8: SWAP2
000010a9: SUB
000010aa: SWAP1
000010ab: LOG1
000010ac: POP
000010ad: JUMP
000010ae: JUMPDEST
000010af: ADDRESS
000010b0: PUSH32 0x0000000000000000000000008a4e51ff0f2a45899519e6049fb2d1f038be1e77
000010d1: PUSH1 0x01
000010d3: PUSH1 0x01
000010d5: PUSH1 0xa0
000010d7: SHL
000010d8: SUB
000010d9: AND
000010da: SUB
000010db: PUSH2 0x111f
000010de: JUMPI
000010df: PUSH1 0x40
000010e1: MLOAD
000010e2: PUSH3 0x461bcd
000010e6: PUSH1 0xe5
000010e8: SHL
000010e9: DUP2
000010ea: MSTORE
000010eb: PUSH1 0x20
000010ed: PUSH1 0x04
000010ef: DUP3
000010f0: ADD
000010f1: MSTORE
000010f2: PUSH1 0x16
000010f4: PUSH1 0x24
000010f6: DUP3
000010f7: ADD
000010f8: MSTORE
000010f9: PUSH22 0x1112549150d517d0d0531317d11254d0531313d5d151
00001110: PUSH1 0x52
00001112: SHL
00001113: PUSH1 0x44
00001115: DUP3
00001116: ADD
00001117: MSTORE
00001118: PUSH1 0x64
0000111a: ADD
0000111b: PUSH2 0x0b55
0000111e: JUMP
0000111f: JUMPDEST
00001120: PUSH0
00001121: PUSH2 0x112b
00001124: DUP2
00001125: PUSH1 0x20
00001127: PUSH2 0x4534
0000112a: JUMP
0000112b: JUMPDEST
0000112c: SWAP1
0000112d: POP
0000112e: PUSH0
0000112f: PUSH2 0x1139
00001132: DUP3
00001133: PUSH1 0x20
00001135: PUSH2 0x454b
00001138: JUMP
00001139: JUMPDEST
0000113a: SWAP1
0000113b: POP
0000113c: DUP1
0000113d: DUP4
0000113e: LT
0000113f: ISZERO
00001140: PUSH2 0x1181
00001143: JUMPI
00001144: PUSH1 0x40
00001146: MLOAD
00001147: PUSH3 0x461bcd
0000114b: PUSH1 0xe5
0000114d: SHL
0000114e: DUP2
0000114f: MSTORE
00001150: PUSH1 0x20
00001152: PUSH1 0x04
00001154: DUP3
00001155: ADD
00001156: MSTORE
00001157: PUSH1 0x13
00001159: PUSH1 0x24
0000115b: DUP3
0000115c: ADD
0000115d: MSTORE
0000115e: PUSH19 0x1253925517d110551057d513d3d7d4d3505313
00001172: PUSH1 0x6a
00001174: SHL
00001175: PUSH1 0x44
00001177: DUP3
00001178: ADD
00001179: MSTORE
0000117a: PUSH1 0x64
0000117c: ADD
0000117d: PUSH2 0x0b55
00001180: JUMP
00001181: JUMPDEST
00001182: PUSH0
00001183: PUSH2 0x118e
00001186: DUP3
00001187: DUP5
00001188: DUP7
00001189: DUP9
0000118a: PUSH2 0x455e
0000118d: JUMP
0000118e: JUMPDEST
0000118f: DUP2
00001190: ADD
00001191: SWAP1
00001192: PUSH2 0x119b
00001195: SWAP2
00001196: SWAP1
00001197: PUSH2 0x40fb
0000119a: JUMP
0000119b: JUMPDEST
0000119c: SWAP1
0000119d: POP
0000119e: CALLDATASIZE
0000119f: PUSH0
000011a0: PUSH2 0x11ab
000011a3: DUP6
000011a4: DUP3
000011a5: DUP9
000011a6: DUP11
000011a7: PUSH2 0x455e
000011aa: JUMP
000011ab: JUMPDEST
000011ac: SWAP2
000011ad: POP
000011ae: SWAP2
000011af: POP
000011b0: CALLDATASIZE
000011b1: PUSH0
000011b2: PUSH2 0x11bd
000011b5: DUP9
000011b6: DUP8
000011b7: DUP2
000011b8: DUP13
000011b9: PUSH2 0x455e
000011bc: JUMP
000011bd: JUMPDEST
000011be: SWAP1
000011bf: SWAP3
000011c0: POP
000011c1: SWAP1
000011c2: POP
000011c3: PUSH1 0x01
000011c5: PUSH1 0x01
000011c7: PUSH1 0xa0
000011c9: SHL
000011ca: SUB
000011cb: DUP6
000011cc: AND
000011cd: ISZERO
000011ce: PUSH2 0x11e7
000011d1: JUMPI
000011d2: PUSH2 0x11dc
000011d5: DUP6
000011d6: DUP4
000011d7: DUP4
000011d8: PUSH2 0x28c7
000011db: JUMP
000011dc: JUMPDEST
000011dd: POP
000011de: POP
000011df: POP
000011e0: POP
000011e1: POP
000011e2: POP
000011e3: POP
000011e4: POP
000011e5: POP
000011e6: JUMP
000011e7: JUMPDEST
000011e8: PUSH2 0x11ef
000011eb: PUSH2 0x2a05
000011ee: JUMP
000011ef: JUMPDEST
000011f0: ISZERO
000011f1: PUSH2 0x123e
000011f4: JUMPI
000011f5: DUP1
000011f6: ISZERO
000011f7: PUSH2 0x1239
000011fa: JUMPI
000011fb: PUSH1 0x40
000011fd: MLOAD
000011fe: PUSH3 0x461bcd
00001202: PUSH1 0xe5
00001204: SHL
00001205: DUP2
00001206: MSTORE
00001207: PUSH1 0x20
00001209: PUSH1 0x04
0000120b: DUP3
0000120c: ADD
0000120d: MSTORE
0000120e: PUSH1 0x14
00001210: PUSH1 0x24
00001212: DUP3
00001213: ADD
00001214: MSTORE
00001215: PUSH20 0x554e45585045435445445f494e49545f44415441
0000122a: PUSH1 0x60
0000122c: SHL
0000122d: PUSH1 0x44
0000122f: DUP3
00001230: ADD
00001231: MSTORE
00001232: PUSH1 0x64
00001234: ADD
00001235: PUSH2 0x0b55
00001238: JUMP
00001239: JUMPDEST
0000123a: PUSH2 0x11dc
0000123d: JUMP
0000123e: JUMPDEST
0000123f: PUSH2 0x1248
00001242: DUP3
00001243: DUP3
00001244: PUSH2 0x2a1f
00001247: JUMP
00001248: JUMPDEST
00001249: PUSH2 0x1252
0000124c: DUP3
0000124d: DUP3
0000124e: PUSH2 0x2b36
00001251: JUMP
00001252: JUMPDEST
00001253: PUSH2 0x11dc
00001256: PUSH2 0x2b64
00001259: JUMP
0000125a: JUMPDEST
0000125b: PUSH1 0x01
0000125d: PUSH1 0x01
0000125f: PUSH1 0xa0
00001261: SHL
00001262: SUB
00001263: DUP2
00001264: AND
00001265: PUSH0
00001266: SWAP1
00001267: DUP2
00001268: MSTORE
00001269: PUSH0
0000126a: DUP1
0000126b: MLOAD
0000126c: PUSH1 0x20
0000126e: PUSH2 0x4bdc
00001271: DUP4
00001272: CODECOPY
00001273: DUP2
00001274: MLOAD
00001275: SWAP2
00001276: MSTORE
00001277: PUSH1 0x20
00001279: MSTORE
0000127a: PUSH1 0x40
0000127c: DUP2
0000127d: KECCAK256
0000127e: PUSH1 0x04
00001280: ADD
00001281: SLOAD
00001282: PUSH1 0xff
00001284: AND
00001285: PUSH2 0x128f
00001288: JUMPI
00001289: PUSH0
0000128a: NOT
0000128b: PUSH2 0x1298
0000128e: JUMP
0000128f: JUMPDEST
00001290: PUSH2 0x1298
00001293: DUP3
00001294: PUSH2 0x2b6f
00001297: JUMP
00001298: JUMPDEST
00001299: SWAP3
0000129a: SWAP2
0000129b: POP
0000129c: POP
0000129d: JUMP
0000129e: JUMPDEST
0000129f: PUSH1 0x01
000012a1: PUSH1 0x01
000012a3: PUSH1 0xa0
000012a5: SHL
000012a6: SUB
000012a7: DUP2
000012a8: AND
000012a9: PUSH0
000012aa: SWAP1
000012ab: DUP2
000012ac: MSTORE
000012ad: PUSH0
000012ae: DUP1
000012af: MLOAD
000012b0: PUSH1 0x20
000012b2: PUSH2 0x4bdc
000012b5: DUP4
000012b6: CODECOPY
000012b7: DUP2
000012b8: MLOAD
000012b9: SWAP2
000012ba: MSTORE
000012bb: PUSH1 0x20
000012bd: MSTORE
000012be: PUSH1 0x40
000012c0: DUP2
000012c1: KECCAK256
000012c2: PUSH1 0x03
000012c4: ADD
000012c5: SLOAD
000012c6: DUP1
000012c7: ISZERO
000012c8: PUSH2 0x12d1
000012cb: JUMPI
000012cc: DUP1
000012cd: PUSH2 0x0af0
000012d0: JUMP
000012d1: JUMPDEST
000012d2: PUSH0
000012d3: NOT
000012d4: SWAP4
000012d5: SWAP3
000012d6: POP
000012d7: POP
000012d8: POP
000012d9: JUMP
000012da: JUMPDEST
000012db: PUSH0
000012dc: PUSH2 0x0c8f
000012df: PUSH2 0x2b8f
000012e2: JUMP
000012e3: JUMPDEST
000012e4: PUSH0
000012e5: PUSH2 0x1298
000012e8: PUSH0
000012e9: DUP1
000012ea: MLOAD
000012eb: PUSH1 0x20
000012ed: PUSH2 0x4a38
000012f0: DUP4
000012f1: CODECOPY
000012f2: DUP2
000012f3: MLOAD
000012f4: SWAP2
000012f5: MSTORE
000012f6: DUP4
000012f7: PUSH2 0x27d9
000012fa: JUMP
000012fb: JUMPDEST
000012fc: PUSH2 0x1304
000012ff: CALLER
00001300: PUSH2 0x1eea
00001303: JUMP
00001304: JUMPDEST
00001305: PUSH2 0x1346
00001308: JUMPI
00001309: PUSH1 0x40
0000130b: MLOAD
0000130c: PUSH3 0x461bcd
00001310: PUSH1 0xe5
00001312: SHL
00001313: DUP2
00001314: MSTORE
00001315: PUSH1 0x20
00001317: PUSH1 0x04
00001319: DUP3
0000131a: ADD
0000131b: MSTORE
0000131c: PUSH1 0x13
0000131e: PUSH1 0x24
00001320: DUP3
00001321: ADD
00001322: MSTORE
00001323: PUSH19 0x27a7262cafa9a2a1aaa924aa2cafa0a226a4a7
00001337: PUSH1 0x69
00001339: SHL
0000133a: PUSH1 0x44
0000133c: DUP3
0000133d: ADD
0000133e: MSTORE
0000133f: PUSH1 0x64
00001341: ADD
00001342: PUSH2 0x0b55
00001345: JUMP
00001346: JUMPDEST
00001347: PUSH1 0x01
00001349: PUSH1 0x01
0000134b: PUSH1 0xa0
0000134d: SHL
0000134e: SUB
0000134f: DUP2
00001350: AND
00001351: PUSH0
00001352: DUP2
00001353: DUP2
00001354: MSTORE
00001355: PUSH0
00001356: DUP1
00001357: MLOAD
00001358: PUSH1 0x20
0000135a: PUSH2 0x4bdc
0000135d: DUP4
0000135e: CODECOPY
0000135f: DUP2
00001360: MLOAD
00001361: SWAP2
00001362: MSTORE
00001363: PUSH1 0x20
00001365: MSTORE
00001366: PUSH1 0x40
00001368: DUP1
00001369: DUP3
0000136a: KECCAK256
0000136b: PUSH1 0x04
0000136d: ADD
0000136e: DUP1
0000136f: SLOAD
00001370: PUSH1 0xff
00001372: NOT
00001373: AND
00001374: SWAP1
00001375: SSTORE
00001376: MLOAD
00001377: CALLER
00001378: SWAP2
00001379: PUSH32 0x109dee66091b7a145f557f52c55d7beccb6a29011fc705557e2975749474076b
0000139a: SWAP2
0000139b: LOG3
0000139c: POP
0000139d: JUMP
0000139e: JUMPDEST
0000139f: PUSH2 0x0a95
000013a2: PUSH0
000013a3: DUP1
000013a4: MLOAD
000013a5: PUSH1 0x20
000013a7: PUSH2 0x49f1
000013aa: DUP4
000013ab: CODECOPY
000013ac: DUP2
000013ad: MLOAD
000013ae: SWAP2
000013af: MSTORE
000013b0: DUP3
000013b1: PUSH2 0x23cb
000013b4: JUMP
000013b5: JUMPDEST
000013b6: PUSH1 0x01
000013b8: PUSH1 0x01
000013ba: PUSH1 0xa0
000013bc: SHL
000013bd: SUB
000013be: DUP2
000013bf: AND
000013c0: PUSH2 0x13ff
000013c3: JUMPI
000013c4: PUSH1 0x40
000013c6: MLOAD
000013c7: PUSH3 0x461bcd
000013cb: PUSH1 0xe5
000013cd: SHL
000013ce: DUP2
000013cf: MSTORE
000013d0: PUSH1 0x20
000013d2: PUSH1 0x04
000013d4: DUP3
000013d5: ADD
000013d6: MSTORE
000013d7: PUSH1 0x11
000013d9: PUSH1 0x24
000013db: DUP3
000013dc: ADD
000013dd: MSTORE
000013de: PUSH17 0x1253959053125117d49150d25412515395
000013f0: PUSH1 0x7a
000013f2: SHL
000013f3: PUSH1 0x44
000013f5: DUP3
000013f6: ADD
000013f7: MSTORE
000013f8: PUSH1 0x64
000013fa: ADD
000013fb: PUSH2 0x0b55
000013fe: JUMP
000013ff: JUMPDEST
00001400: PUSH2 0x140a
00001403: DUP4
00001404: DUP4
00001405: DUP4
00001406: PUSH2 0x2ba2
00001409: JUMP
0000140a: JUMPDEST
0000140b: PUSH1 0x01
0000140d: PUSH1 0x01
0000140f: PUSH1 0xa0
00001411: SHL
00001412: SUB
00001413: DUP4
00001414: AND
00001415: PUSH0
00001416: SWAP1
00001417: DUP2
00001418: MSTORE
00001419: PUSH0
0000141a: DUP1
0000141b: MLOAD
0000141c: PUSH1 0x20
0000141e: PUSH2 0x4bdc
00001421: DUP4
00001422: CODECOPY
00001423: DUP2
00001424: MLOAD
00001425: SWAP2
00001426: MSTORE
00001427: PUSH1 0x20
00001429: MSTORE
0000142a: PUSH1 0x40
0000142c: SWAP1
0000142d: KECCAK256
0000142e: PUSH1 0x04
00001430: ADD
00001431: SLOAD
00001432: PUSH1 0xff
00001434: AND
00001435: ISZERO
00001436: PUSH2 0x1443
00001439: JUMPI
0000143a: PUSH2 0x1443
0000143d: DUP4
0000143e: DUP4
0000143f: PUSH2 0x2eb2
00001442: JUMP
00001443: JUMPDEST
00001444: PUSH2 0x144e
00001447: DUP4
00001448: DUP4
00001449: DUP4
0000144a: PUSH2 0x27ce
0000144d: JUMP
0000144e: JUMPDEST
0000144f: DUP3
00001450: PUSH1 0x01
00001452: PUSH1 0x01
00001454: PUSH1 0xa0
00001456: SHL
00001457: SUB
00001458: AND
00001459: DUP2
0000145a: PUSH1 0x01
0000145c: PUSH1 0x01
0000145e: PUSH1 0xa0
00001460: SHL
00001461: SUB
00001462: AND
00001463: PUSH32 0x2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b6398
00001484: DUP5
00001485: PUSH1 0x40
00001487: MLOAD
00001488: PUSH2 0x1493
0000148b: SWAP2
0000148c: DUP2
0000148d: MSTORE
0000148e: PUSH1 0x20
00001490: ADD
00001491: SWAP1
00001492: JUMP
00001493: JUMPDEST
00001494: PUSH1 0x40
00001496: MLOAD
00001497: DUP1
00001498: SWAP2
00001499: SUB
0000149a: SWAP1
0000149b: LOG3
0000149c: POP
0000149d: POP
0000149e: POP
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH0
000014a2: PUSH2 0x1298
000014a5: PUSH0
000014a6: DUP1
000014a7: MLOAD
000014a8: PUSH1 0x20
000014aa: PUSH2 0x4a58
000014ad: DUP4
000014ae: CODECOPY
000014af: DUP2
000014b0: MLOAD
000014b1: SWAP2
000014b2: MSTORE
000014b3: DUP4
000014b4: PUSH2 0x27d9
000014b7: JUMP
000014b8: JUMPDEST
000014b9: PUSH0
000014ba: PUSH2 0x1298
000014bd: PUSH0
000014be: DUP1
000014bf: MLOAD
000014c0: PUSH1 0x20
000014c2: PUSH2 0x4bfc
000014c5: DUP4
000014c6: CODECOPY
000014c7: DUP2
000014c8: MLOAD
000014c9: SWAP2
000014ca: MSTORE
000014cb: DUP4
000014cc: PUSH2 0x27d9
000014cf: JUMP
000014d0: JUMPDEST
000014d1: PUSH2 0x0a95
000014d4: PUSH0
000014d5: DUP1
000014d6: MLOAD
000014d7: PUSH1 0x20
000014d9: PUSH2 0x4a58
000014dc: DUP4
000014dd: CODECOPY
000014de: DUP2
000014df: MLOAD
000014e0: SWAP2
000014e1: MSTORE
000014e2: DUP3
000014e3: PUSH2 0x23cb
000014e6: JUMP
000014e7: JUMPDEST
000014e8: DUP1
000014e9: CALLER
000014ea: PUSH2 0x14f1
000014ed: PUSH2 0x2f21
000014f0: JUMP
000014f1: JUMPDEST
000014f2: PUSH0
000014f3: DUP4
000014f4: DUP2
000014f5: MSTORE
000014f6: PUSH1 0x20
000014f8: SWAP2
000014f9: SWAP1
000014fa: SWAP2
000014fb: MSTORE
000014fc: PUSH1 0x40
000014fe: SWAP1
000014ff: KECCAK256
00001500: SLOAD
00001501: PUSH1 0x01
00001503: PUSH1 0x01
00001505: PUSH1 0xa0
00001507: SHL
00001508: SUB
00001509: AND
0000150a: EQ
0000150b: PUSH2 0x1547
0000150e: JUMPI
0000150f: PUSH1 0x40
00001511: MLOAD
00001512: PUSH3 0x461bcd
00001516: PUSH1 0xe5
00001518: SHL
00001519: DUP2
0000151a: MSTORE
0000151b: PUSH1 0x20
0000151d: PUSH1 0x04
0000151f: DUP3
00001520: ADD
00001521: MSTORE
00001522: PUSH1 0x0e
00001524: PUSH1 0x24
00001526: DUP3
00001527: ADD
00001528: MSTORE
00001529: PUSH14 0x27a7262cafa222a827a9a4aa27a9
00001538: PUSH1 0x91
0000153a: SHL
0000153b: PUSH1 0x44
0000153d: DUP3
0000153e: ADD
0000153f: MSTORE
00001540: PUSH1 0x64
00001542: ADD
00001543: PUSH2 0x0b55
00001546: JUMP
00001547: JUMPDEST
00001548: PUSH2 0x154f
0000154b: PUSH2 0x2761
0000154e: JUMP
0000154f: JUMPDEST
00001550: PUSH1 0x01
00001552: PUSH1 0x01
00001554: PUSH1 0xa0
00001556: SHL
00001557: SUB
00001558: AND
00001559: PUSH4 0x7a98660b
0000155e: PUSH2 0x1565
00001561: PUSH2 0x2783
00001564: JUMP
00001565: JUMPDEST
00001566: PUSH32 0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5
00001587: PUSH2 0x1590
0000158a: DUP9
0000158b: DUP9
0000158c: PUSH2 0x2f43
0000158f: JUMP
00001590: JUMPDEST
00001591: DUP7
00001592: PUSH1 0x40
00001594: MLOAD
00001595: DUP6
00001596: PUSH4 0xffffffff
0000159b: AND
0000159c: PUSH1 0xe0
0000159e: SHL
0000159f: DUP2
000015a0: MSTORE
000015a1: PUSH1 0x04
000015a3: ADD
000015a4: PUSH2 0x15b0
000015a7: SWAP5
000015a8: SWAP4
000015a9: SWAP3
000015aa: SWAP2
000015ab: SWAP1
000015ac: PUSH2 0x44aa
000015af: JUMP
000015b0: JUMPDEST
000015b1: PUSH1 0x20
000015b3: PUSH1 0x40
000015b5: MLOAD
000015b6: DUP1
000015b7: DUP4
000015b8: SUB
000015b9: DUP2
000015ba: PUSH0
000015bb: DUP8
000015bc: GAS
000015bd: CALL
000015be: ISZERO
000015bf: DUP1
000015c0: ISZERO
000015c1: PUSH2 0x15cc
000015c4: JUMPI
000015c5: RETURNDATASIZE
000015c6: PUSH0
000015c7: DUP1
000015c8: RETURNDATACOPY
000015c9: RETURNDATASIZE
000015ca: PUSH0
000015cb: REVERT
000015cc: JUMPDEST
000015cd: POP
000015ce: POP
000015cf: POP
000015d0: POP
000015d1: PUSH1 0x40
000015d3: MLOAD
000015d4: RETURNDATASIZE
000015d5: PUSH1 0x1f
000015d7: NOT
000015d8: PUSH1 0x1f
000015da: DUP3
000015db: ADD
000015dc: AND
000015dd: DUP3
000015de: ADD
000015df: DUP1
000015e0: PUSH1 0x40
000015e2: MSTORE
000015e3: POP
000015e4: DUP2
000015e5: ADD
000015e6: SWAP1
000015e7: PUSH2 0x15f0
000015ea: SWAP2
000015eb: SWAP1
000015ec: PUSH2 0x44d9
000015ef: JUMP
000015f0: JUMPDEST
000015f1: POP
000015f2: PUSH1 0x40
000015f4: DUP1
000015f5: MLOAD
000015f6: DUP6
000015f7: DUP2
000015f8: MSTORE
000015f9: PUSH1 0x20
000015fb: DUP2
000015fc: ADD
000015fd: DUP5
000015fe: SWAP1
000015ff: MSTORE
00001600: DUP5
00001601: SWAP2
00001602: CALLER
00001603: SWAP2
00001604: PUSH32 0xea57f52faafe318751f75acb6756cff3f66afc10201ef8f2d504e788985db3f5
00001625: SWAP2
00001626: ADD
00001627: JUMPDEST
00001628: PUSH1 0x40
0000162a: MLOAD
0000162b: DUP1
0000162c: SWAP2
0000162d: SUB
0000162e: SWAP1
0000162f: LOG3
00001630: POP
00001631: POP
00001632: POP
00001633: POP
00001634: JUMP
00001635: JUMPDEST
00001636: PUSH0
00001637: PUSH2 0x1298
0000163a: PUSH0
0000163b: DUP1
0000163c: MLOAD
0000163d: PUSH1 0x20
0000163f: PUSH2 0x4adf
00001642: DUP4
00001643: CODECOPY
00001644: DUP2
00001645: MLOAD
00001646: SWAP2
00001647: MSTORE
00001648: DUP4
00001649: PUSH2 0x27d9
0000164c: JUMP
0000164d: JUMPDEST
0000164e: DUP1
0000164f: CALLER
00001650: PUSH2 0x1657
00001653: PUSH2 0x2f21
00001656: JUMP
00001657: JUMPDEST
00001658: PUSH0
00001659: DUP4
0000165a: DUP2
0000165b: MSTORE
0000165c: PUSH1 0x20
0000165e: SWAP2
0000165f: SWAP1
00001660: SWAP2
00001661: MSTORE
00001662: PUSH1 0x40
00001664: SWAP1
00001665: KECCAK256
00001666: SLOAD
00001667: PUSH1 0x01
00001669: PUSH1 0x01
0000166b: PUSH1 0xa0
0000166d: SHL
0000166e: SUB
0000166f: AND
00001670: EQ
00001671: PUSH2 0x16ad
00001674: JUMPI
00001675: PUSH1 0x40
00001677: MLOAD
00001678: PUSH3 0x461bcd
0000167c: PUSH1 0xe5
0000167e: SHL
0000167f: DUP2
00001680: MSTORE
00001681: PUSH1 0x20
00001683: PUSH1 0x04
00001685: DUP3
00001686: ADD
00001687: MSTORE
00001688: PUSH1 0x0e
0000168a: PUSH1 0x24
0000168c: DUP3
0000168d: ADD
0000168e: MSTORE
0000168f: PUSH14 0x27a7262cafa222a827a9a4aa27a9
0000169e: PUSH1 0x91
000016a0: SHL
000016a1: PUSH1 0x44
000016a3: DUP3
000016a4: ADD
000016a5: MSTORE
000016a6: PUSH1 0x64
000016a8: ADD
000016a9: PUSH2 0x0b55
000016ac: JUMP
000016ad: JUMPDEST
000016ae: PUSH2 0x16b5
000016b1: PUSH2 0x2761
000016b4: JUMP
000016b5: JUMPDEST
000016b6: PUSH1 0x01
000016b8: PUSH1 0x01
000016ba: PUSH1 0xa0
000016bc: SHL
000016bd: SUB
000016be: AND
000016bf: PUSH4 0x6170ff1b
000016c4: PUSH2 0x16cb
000016c7: PUSH2 0x2783
000016ca: JUMP
000016cb: JUMPDEST
000016cc: PUSH32 0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5
000016ed: PUSH2 0x16f6
000016f0: DUP9
000016f1: DUP9
000016f2: PUSH2 0x2f43
000016f5: JUMP
000016f6: JUMPDEST
000016f7: DUP7
000016f8: PUSH1 0x40
000016fa: MLOAD
000016fb: DUP6
000016fc: PUSH4 0xffffffff
00001701: AND
00001702: PUSH1 0xe0
00001704: SHL
00001705: DUP2
00001706: MSTORE
00001707: PUSH1 0x04
00001709: ADD
0000170a: PUSH2 0x1716
0000170d: SWAP5
0000170e: SWAP4
0000170f: SWAP3
00001710: SWAP2
00001711: SWAP1
00001712: PUSH2 0x44aa
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH1 0x20
00001719: PUSH1 0x40
0000171b: MLOAD
0000171c: DUP1
0000171d: DUP4
0000171e: SUB
0000171f: DUP2
00001720: PUSH0
00001721: DUP8
00001722: GAS
00001723: CALL
00001724: ISZERO
00001725: DUP1
00001726: ISZERO
00001727: PUSH2 0x1732
0000172a: JUMPI
0000172b: RETURNDATASIZE
0000172c: PUSH0
0000172d: DUP1
0000172e: RETURNDATACOPY
0000172f: RETURNDATASIZE
00001730: PUSH0
00001731: REVERT
00001732: JUMPDEST
00001733: POP
00001734: POP
00001735: POP
00001736: POP
00001737: PUSH1 0x40
00001739: MLOAD
0000173a: RETURNDATASIZE
0000173b: PUSH1 0x1f
0000173d: NOT
0000173e: PUSH1 0x1f
00001740: DUP3
00001741: ADD
00001742: AND
00001743: DUP3
00001744: ADD
00001745: DUP1
00001746: PUSH1 0x40
00001748: MSTORE
00001749: POP
0000174a: DUP2
0000174b: ADD
0000174c: SWAP1
0000174d: PUSH2 0x1756
00001750: SWAP2
00001751: SWAP1
00001752: PUSH2 0x44d9
00001755: JUMP
00001756: JUMPDEST
00001757: POP
00001758: PUSH2 0x1769
0000175b: PUSH2 0x1762
0000175e: PUSH2 0x23a9
00001761: JUMP
00001762: JUMPDEST
00001763: DUP6
00001764: CALLER
00001765: PUSH2 0x27ce
00001768: JUMP
00001769: JUMPDEST
0000176a: PUSH1 0x40
0000176c: DUP1
0000176d: MLOAD
0000176e: DUP6
0000176f: DUP2
00001770: MSTORE
00001771: PUSH1 0x20
00001773: DUP2
00001774: ADD
00001775: DUP5
00001776: SWAP1
00001777: MSTORE
00001778: DUP5
00001779: SWAP2
0000177a: CALLER
0000177b: SWAP2
0000177c: PUSH32 0xb0b548d5e12b6a60adac4d6dd7610f55134cea4fd145535edc303a48063e0cb4
0000179d: SWAP2
0000179e: ADD
0000179f: PUSH2 0x1627
000017a2: JUMP
000017a3: JUMPDEST
000017a4: PUSH2 0x17ac
000017a7: CALLER
000017a8: PUSH2 0x12e3
000017ab: JUMP
000017ac: JUMPDEST
000017ad: PUSH2 0x17ec
000017b0: JUMPI
000017b1: PUSH1 0x40
000017b3: MLOAD
000017b4: PUSH3 0x461bcd
000017b8: PUSH1 0xe5
000017ba: SHL
000017bb: DUP2
000017bc: MSTORE
000017bd: PUSH1 0x20
000017bf: PUSH1 0x04
000017c1: DUP3
000017c2: ADD
000017c3: MSTORE
000017c4: PUSH1 0x11
000017c6: PUSH1 0x24
000017c8: DUP3
000017c9: ADD
000017ca: MSTORE
000017cb: PUSH17 0x27a7262cafa0a8282fa3a7ab22a92727a9
000017dd: PUSH1 0x79
000017df: SHL
000017e0: PUSH1 0x44
000017e2: DUP3
000017e3: ADD
000017e4: MSTORE
000017e5: PUSH1 0x64
000017e7: ADD
000017e8: PUSH2 0x0b55
000017eb: JUMP
000017ec: JUMPDEST
000017ed: PUSH2 0x17f4
000017f0: PUSH2 0x2a05
000017f3: JUMP
000017f4: JUMPDEST
000017f5: PUSH2 0x1840
000017f8: JUMPI
000017f9: PUSH1 0x40
000017fb: MLOAD
000017fc: PUSH3 0x461bcd
00001800: PUSH1 0xe5
00001802: SHL
00001803: DUP2
00001804: MSTORE
00001805: PUSH1 0x20
00001807: PUSH1 0x04
00001809: DUP3
0000180a: ADD
0000180b: MSTORE
0000180c: PUSH1 0x18
0000180e: PUSH1 0x24
00001810: DUP3
00001811: ADD
00001812: MSTORE
00001813: PUSH32 0x434f4e54524143545f4e4f545f494e495449414c495a45440000000000000000
00001834: PUSH1 0x44
00001836: DUP3
00001837: ADD
00001838: MSTORE
00001839: PUSH1 0x64
0000183b: ADD
0000183c: PUSH2 0x0b55
0000183f: JUMP
00001840: JUMPDEST
00001841: PUSH2 0x1849
00001844: DUP2
00001845: PUSH2 0x2fe9
00001848: JUMP
00001849: JUMPDEST
0000184a: PUSH2 0x188f
0000184d: JUMPI
0000184e: PUSH1 0x40
00001850: MLOAD
00001851: PUSH3 0x461bcd
00001855: PUSH1 0xe5
00001857: SHL
00001858: DUP2
00001859: MSTORE
0000185a: PUSH1 0x20
0000185c: PUSH1 0x04
0000185e: DUP3
0000185f: ADD
00001860: MSTORE
00001861: PUSH1 0x17
00001863: PUSH1 0x24
00001865: DUP3
00001866: ADD
00001867: MSTORE
00001868: PUSH23 0x4c325f414444524553535f4f55545f4f465f52414e4745
00001880: PUSH1 0x48
00001882: SHL
00001883: PUSH1 0x44
00001885: DUP3
00001886: ADD
00001887: MSTORE
00001888: PUSH1 0x64
0000188a: ADD
0000188b: PUSH2 0x0b55
0000188e: JUMP
0000188f: JUMPDEST
00001890: PUSH2 0x1898
00001893: DUP2
00001894: PUSH2 0x300b
00001897: JUMP
00001898: JUMPDEST
00001899: PUSH1 0x40
0000189b: MLOAD
0000189c: DUP2
0000189d: DUP2
0000189e: MSTORE
0000189f: PUSH32 0x90fc3f39f8e4669d1bf5f9038707949f8af42a973f62988143be0fa7c3997f18
000018c0: SWAP1
000018c1: PUSH1 0x20
000018c3: ADD
000018c4: PUSH2 0x10a3
000018c7: JUMP
000018c8: JUMPDEST
000018c9: DUP1
000018ca: CALLER
000018cb: PUSH1 0x01
000018cd: PUSH1 0x01
000018cf: PUSH1 0xa0
000018d1: SHL
000018d2: SUB
000018d3: DUP3
000018d4: AND
000018d5: SUB
000018d6: PUSH2 0x18f1
000018d9: JUMPI
000018da: PUSH1 0x40
000018dc: MLOAD
000018dd: PUSH3 0x461bcd
000018e1: PUSH1 0xe5
000018e3: SHL
000018e4: DUP2
000018e5: MSTORE
000018e6: PUSH1 0x04
000018e8: ADD
000018e9: PUSH2 0x0b55
000018ec: SWAP1
000018ed: PUSH2 0x44f0
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH2 0x0a7a
000018f5: PUSH0
000018f6: DUP1
000018f7: MLOAD
000018f8: PUSH1 0x20
000018fa: PUSH2 0x49f1
000018fd: DUP4
000018fe: CODECOPY
000018ff: DUP2
00001900: MLOAD
00001901: SWAP2
00001902: MSTORE
00001903: DUP4
00001904: PUSH2 0x280f
00001907: JUMP
00001908: JUMPDEST
00001909: PUSH0
0000190a: PUSH2 0x1298
0000190d: PUSH0
0000190e: DUP1
0000190f: MLOAD
00001910: PUSH1 0x20
00001912: PUSH2 0x4aff
00001915: DUP4
00001916: CODECOPY
00001917: DUP2
00001918: MLOAD
00001919: SWAP2
0000191a: MSTORE
0000191b: DUP4
0000191c: PUSH2 0x27d9
0000191f: JUMP
00001920: JUMPDEST
00001921: PUSH2 0x0a95
00001924: PUSH0
00001925: DUP1
00001926: MLOAD
00001927: PUSH1 0x20
00001929: PUSH2 0x49d1
0000192c: DUP4
0000192d: CODECOPY
0000192e: DUP2
0000192f: MLOAD
00001930: SWAP2
00001931: MSTORE
00001932: DUP3
00001933: PUSH2 0x23cb
00001936: JUMP
00001937: JUMPDEST
00001938: PUSH0
00001939: PUSH2 0x1298
0000193c: PUSH0
0000193d: DUP1
0000193e: MLOAD
0000193f: PUSH1 0x20
00001941: PUSH2 0x4c45
00001944: DUP4
00001945: CODECOPY
00001946: DUP2
00001947: MLOAD
00001948: SWAP2
00001949: MSTORE
0000194a: DUP4
0000194b: PUSH2 0x27d9
0000194e: JUMP
0000194f: JUMPDEST
00001950: PUSH2 0x1957
00001953: PUSH2 0x2761
00001956: JUMP
00001957: JUMPDEST
00001958: PUSH1 0x01
0000195a: PUSH1 0x01
0000195c: PUSH1 0xa0
0000195e: SHL
0000195f: SUB
00001960: AND
00001961: PUSH4 0x7a98660b
00001966: PUSH2 0x196d
00001969: PUSH2 0x2783
0000196c: JUMP
0000196d: JUMPDEST
0000196e: PUSH0
0000196f: DUP1
00001970: MLOAD
00001971: PUSH1 0x20
00001973: PUSH2 0x4bbc
00001976: DUP4
00001977: CODECOPY
00001978: DUP2
00001979: MLOAD
0000197a: SWAP2
0000197b: MSTORE
0000197c: PUSH2 0x1986
0000197f: DUP9
00001980: DUP9
00001981: DUP9
00001982: PUSH2 0x27a5
00001985: JUMP
00001986: JUMPDEST
00001987: DUP6
00001988: PUSH1 0x40
0000198a: MLOAD
0000198b: DUP6
0000198c: PUSH4 0xffffffff
00001991: AND
00001992: PUSH1 0xe0
00001994: SHL
00001995: DUP2
00001996: MSTORE
00001997: PUSH1 0x04
00001999: ADD
0000199a: PUSH2 0x19a6
0000199d: SWAP5
0000199e: SWAP4
0000199f: SWAP3
000019a0: SWAP2
000019a1: SWAP1
000019a2: PUSH2 0x44aa
000019a5: JUMP
000019a6: JUMPDEST
000019a7: PUSH1 0x20
000019a9: PUSH1 0x40
000019ab: MLOAD
000019ac: DUP1
000019ad: DUP4
000019ae: SUB
000019af: DUP2
000019b0: PUSH0
000019b1: DUP8
000019b2: GAS
000019b3: CALL
000019b4: ISZERO
000019b5: DUP1
000019b6: ISZERO
000019b7: PUSH2 0x19c2
000019ba: JUMPI
000019bb: RETURNDATASIZE
000019bc: PUSH0
000019bd: DUP1
000019be: RETURNDATACOPY
000019bf: RETURNDATASIZE
000019c0: PUSH0
000019c1: REVERT
000019c2: JUMPDEST
000019c3: POP
000019c4: POP
000019c5: POP
000019c6: POP
000019c7: PUSH1 0x40
000019c9: MLOAD
000019ca: RETURNDATASIZE
000019cb: PUSH1 0x1f
000019cd: NOT
000019ce: PUSH1 0x1f
000019d0: DUP3
000019d1: ADD
000019d2: AND
000019d3: DUP3
000019d4: ADD
000019d5: DUP1
000019d6: PUSH1 0x40
000019d8: MSTORE
000019d9: POP
000019da: DUP2
000019db: ADD
000019dc: SWAP1
000019dd: PUSH2 0x19e6
000019e0: SWAP2
000019e1: SWAP1
000019e2: PUSH2 0x44d9
000019e5: JUMP
000019e6: JUMPDEST
000019e7: POP
000019e8: PUSH1 0x40
000019ea: DUP1
000019eb: MLOAD
000019ec: DUP5
000019ed: DUP2
000019ee: MSTORE
000019ef: PUSH1 0x20
000019f1: DUP2
000019f2: ADD
000019f3: DUP4
000019f4: SWAP1
000019f5: MSTORE
000019f6: DUP4
000019f7: SWAP2
000019f8: PUSH1 0x01
000019fa: PUSH1 0x01
000019fc: PUSH1 0xa0
000019fe: SHL
000019ff: SUB
00001a00: DUP8
00001a01: AND
00001a02: SWAP2
00001a03: CALLER
00001a04: SWAP2
00001a05: PUSH32 0x8f3da3ce93acd45e015b069c8f032d37be93dc9efcaaeda368aa9ca74f64c30a
00001a26: SWAP2
00001a27: ADD
00001a28: PUSH2 0x0d78
00001a2b: JUMP
00001a2c: JUMPDEST
00001a2d: PUSH1 0x40
00001a2f: MLOAD
00001a30: PUSH3 0x461bcd
00001a34: PUSH1 0xe5
00001a36: SHL
00001a37: DUP2
00001a38: MSTORE
00001a39: PUSH1 0x20
00001a3b: PUSH1 0x04
00001a3d: DUP3
00001a3e: ADD
00001a3f: MSTORE
00001a40: PUSH1 0x0b
00001a42: PUSH1 0x24
00001a44: DUP3
00001a45: ADD
00001a46: MSTORE
00001a47: PUSH11 0x155394d5541413d4951151
00001a53: PUSH1 0xaa
00001a55: SHL
00001a56: PUSH1 0x44
00001a58: DUP3
00001a59: ADD
00001a5a: MSTORE
00001a5b: PUSH1 0x64
00001a5d: ADD
00001a5e: PUSH2 0x0b55
00001a61: JUMP
00001a62: JUMPDEST
00001a63: PUSH0
00001a64: PUSH2 0x0c8f
00001a67: PUSH2 0x302d
00001a6a: JUMP
00001a6b: JUMPDEST
00001a6c: PUSH2 0x1a73
00001a6f: PUSH2 0x2761
00001a72: JUMP
00001a73: JUMPDEST
00001a74: PUSH1 0x01
00001a76: PUSH1 0x01
00001a78: PUSH1 0xa0
00001a7a: SHL
00001a7b: SUB
00001a7c: AND
00001a7d: PUSH4 0x6170ff1b
00001a82: PUSH2 0x1a89
00001a85: PUSH2 0x2783
00001a88: JUMP
00001a89: JUMPDEST
00001a8a: PUSH0
00001a8b: DUP1
00001a8c: MLOAD
00001a8d: PUSH1 0x20
00001a8f: PUSH2 0x4abf
00001a92: DUP4
00001a93: CODECOPY
00001a94: DUP2
00001a95: MLOAD
00001a96: SWAP2
00001a97: MSTORE
00001a98: PUSH2 0x1ad7
00001a9b: DUP11
00001a9c: DUP11
00001a9d: DUP11
00001a9e: PUSH1 0x01
00001aa0: DUP12
00001aa1: DUP12
00001aa2: DUP1
00001aa3: DUP1
00001aa4: PUSH1 0x20
00001aa6: MUL
00001aa7: PUSH1 0x20
00001aa9: ADD
00001aaa: PUSH1 0x40
00001aac: MLOAD
00001aad: SWAP1
00001aae: DUP2
00001aaf: ADD
00001ab0: PUSH1 0x40
00001ab2: MSTORE
00001ab3: DUP1
00001ab4: SWAP4
00001ab5: SWAP3
00001ab6: SWAP2
00001ab7: SWAP1
00001ab8: DUP2
00001ab9: DUP2
00001aba: MSTORE
00001abb: PUSH1 0x20
00001abd: ADD
00001abe: DUP4
00001abf: DUP4
00001ac0: PUSH1 0x20
00001ac2: MUL
00001ac3: DUP1
00001ac4: DUP3
00001ac5: DUP5
00001ac6: CALLDATACOPY
00001ac7: PUSH0
00001ac8: SWAP3
00001ac9: ADD
00001aca: SWAP2
00001acb: SWAP1
00001acc: SWAP2
00001acd: MSTORE
00001ace: POP
00001acf: PUSH2 0x303f
00001ad2: SWAP3
00001ad3: POP
00001ad4: POP
00001ad5: POP
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: DUP6
00001ad9: PUSH1 0x40
00001adb: MLOAD
00001adc: DUP6
00001add: PUSH4 0xffffffff
00001ae2: AND
00001ae3: PUSH1 0xe0
00001ae5: SHL
00001ae6: DUP2
00001ae7: MSTORE
00001ae8: PUSH1 0x04
00001aea: ADD
00001aeb: PUSH2 0x1af7
00001aee: SWAP5
00001aef: SWAP4
00001af0: SWAP3
00001af1: SWAP2
00001af2: SWAP1
00001af3: PUSH2 0x44aa
00001af6: JUMP
00001af7: JUMPDEST
00001af8: PUSH1 0x20
00001afa: PUSH1 0x40
00001afc: MLOAD
00001afd: DUP1
00001afe: DUP4
00001aff: SUB
00001b00: DUP2
00001b01: PUSH0
00001b02: DUP8
00001b03: GAS
00001b04: CALL
00001b05: ISZERO
00001b06: DUP1
00001b07: ISZERO
00001b08: PUSH2 0x1b13
00001b0b: JUMPI
00001b0c: RETURNDATASIZE
00001b0d: PUSH0
00001b0e: DUP1
00001b0f: RETURNDATACOPY
00001b10: RETURNDATASIZE
00001b11: PUSH0
00001b12: REVERT
00001b13: JUMPDEST
00001b14: POP
00001b15: POP
00001b16: POP
00001b17: POP
00001b18: PUSH1 0x40
00001b1a: MLOAD
00001b1b: RETURNDATASIZE
00001b1c: PUSH1 0x1f
00001b1e: NOT
00001b1f: PUSH1 0x1f
00001b21: DUP3
00001b22: ADD
00001b23: AND
00001b24: DUP3
00001b25: ADD
00001b26: DUP1
00001b27: PUSH1 0x40
00001b29: MSTORE
00001b2a: POP
00001b2b: DUP2
00001b2c: ADD
00001b2d: SWAP1
00001b2e: PUSH2 0x1b37
00001b31: SWAP2
00001b32: SWAP1
00001b33: PUSH2 0x44d9
00001b36: JUMP
00001b37: JUMPDEST
00001b38: POP
00001b39: PUSH2 0x1b43
00001b3c: DUP7
00001b3d: DUP7
00001b3e: CALLER
00001b3f: PUSH2 0x27ce
00001b42: JUMP
00001b43: JUMPDEST
00001b44: DUP4
00001b45: DUP7
00001b46: PUSH1 0x01
00001b48: PUSH1 0x01
00001b4a: PUSH1 0xa0
00001b4c: SHL
00001b4d: SUB
00001b4e: AND
00001b4f: CALLER
00001b50: PUSH1 0x01
00001b52: PUSH1 0x01
00001b54: PUSH1 0xa0
00001b56: SHL
00001b57: SUB
00001b58: AND
00001b59: PUSH32 0xa465a02eedf06ceffd1d99159ad98c5d8fa7f17b870eb22e0bfcec06398a8f73
00001b7a: DUP9
00001b7b: DUP8
00001b7c: DUP8
00001b7d: DUP8
00001b7e: PUSH1 0x40
00001b80: MLOAD
00001b81: PUSH2 0x1b8d
00001b84: SWAP5
00001b85: SWAP4
00001b86: SWAP3
00001b87: SWAP2
00001b88: SWAP1
00001b89: PUSH2 0x4585
00001b8c: JUMP
00001b8d: JUMPDEST
00001b8e: PUSH1 0x40
00001b90: MLOAD
00001b91: DUP1
00001b92: SWAP2
00001b93: SUB
00001b94: SWAP1
00001b95: LOG4
00001b96: POP
00001b97: POP
00001b98: POP
00001b99: POP
00001b9a: POP
00001b9b: POP
00001b9c: JUMP
00001b9d: JUMPDEST
00001b9e: DUP5
00001b9f: PUSH2 0x1ba7
00001ba2: DUP2
00001ba3: PUSH2 0x0a98
00001ba6: JUMP
00001ba7: JUMPDEST
00001ba8: PUSH2 0x1be8
00001bab: JUMPI
00001bac: PUSH1 0x40
00001bae: MLOAD
00001baf: PUSH3 0x461bcd
00001bb3: PUSH1 0xe5
00001bb5: SHL
00001bb6: DUP2
00001bb7: MSTORE
00001bb8: PUSH1 0x20
00001bba: PUSH1 0x04
00001bbc: DUP3
00001bbd: ADD
00001bbe: MSTORE
00001bbf: PUSH1 0x12
00001bc1: PUSH1 0x24
00001bc3: DUP3
00001bc4: ADD
00001bc5: MSTORE
00001bc6: PUSH18 0x1513d2d15397d393d517d4d154959250d151
00001bd9: PUSH1 0x72
00001bdb: SHL
00001bdc: PUSH1 0x44
00001bde: DUP3
00001bdf: ADD
00001be0: MSTORE
00001be1: PUSH1 0x64
00001be3: ADD
00001be4: PUSH2 0x0b55
00001be7: JUMP
00001be8: JUMPDEST
00001be9: PUSH0
00001bea: PUSH2 0x1bf3
00001bed: DUP8
00001bee: DUP8
00001bef: PUSH2 0x23ec
00001bf2: JUMP
00001bf3: JUMPDEST
00001bf4: SWAP1
00001bf5: POP
00001bf6: PUSH0
00001bf7: PUSH2 0x1c45
00001bfa: DUP9
00001bfb: DUP9
00001bfc: DUP9
00001bfd: DUP9
00001bfe: DUP9
00001bff: DUP1
00001c00: DUP1
00001c01: PUSH1 0x20
00001c03: MUL
00001c04: PUSH1 0x20
00001c06: ADD
00001c07: PUSH1 0x40
00001c09: MLOAD
00001c0a: SWAP1
00001c0b: DUP2
00001c0c: ADD
00001c0d: PUSH1 0x40
00001c0f: MSTORE
00001c10: DUP1
00001c11: SWAP4
00001c12: SWAP3
00001c13: SWAP2
00001c14: SWAP1
00001c15: DUP2
00001c16: DUP2
00001c17: MSTORE
00001c18: PUSH1 0x20
00001c1a: ADD
00001c1b: DUP4
00001c1c: DUP4
00001c1d: PUSH1 0x20
00001c1f: MUL
00001c20: DUP1
00001c21: DUP3
00001c22: DUP5
00001c23: CALLDATACOPY
00001c24: PUSH0
00001c25: SWAP3
00001c26: ADD
00001c27: SWAP2
00001c28: SWAP1
00001c29: SWAP2
00001c2a: MSTORE
00001c2b: POP
00001c2c: PUSH0
00001c2d: DUP1
00001c2e: MLOAD
00001c2f: PUSH1 0x20
00001c31: PUSH2 0x4abf
00001c34: DUP4
00001c35: CODECOPY
00001c36: DUP2
00001c37: MLOAD
00001c38: SWAP2
00001c39: MSTORE
00001c3a: SWAP3
00001c3b: POP
00001c3c: DUP10
00001c3d: SWAP2
00001c3e: POP
00001c3f: PUSH2 0x24cc
00001c42: SWAP1
00001c43: POP
00001c44: JUMP
00001c45: JUMPDEST
00001c46: SWAP1
00001c47: POP
00001c48: PUSH2 0x1c97
00001c4b: DUP9
00001c4c: DUP9
00001c4d: DUP9
00001c4e: DUP9
00001c4f: DUP9
00001c50: DUP1
00001c51: DUP1
00001c52: PUSH1 0x20
00001c54: MUL
00001c55: PUSH1 0x20
00001c57: ADD
00001c58: PUSH1 0x40
00001c5a: MLOAD
00001c5b: SWAP1
00001c5c: DUP2
00001c5d: ADD
00001c5e: PUSH1 0x40
00001c60: MSTORE
00001c61: DUP1
00001c62: SWAP4
00001c63: SWAP3
00001c64: SWAP2
00001c65: SWAP1
00001c66: DUP2
00001c67: DUP2
00001c68: MSTORE
00001c69: PUSH1 0x20
00001c6b: ADD
00001c6c: DUP4
00001c6d: DUP4
00001c6e: PUSH1 0x20
00001c70: MUL
00001c71: DUP1
00001c72: DUP3
00001c73: DUP5
00001c74: CALLDATACOPY
00001c75: PUSH0
00001c76: SWAP3
00001c77: ADD
00001c78: SWAP2
00001c79: SWAP1
00001c7a: SWAP2
00001c7b: MSTORE
00001c7c: POP
00001c7d: PUSH0
00001c7e: DUP1
00001c7f: MLOAD
00001c80: PUSH1 0x20
00001c82: PUSH2 0x4abf
00001c85: DUP4
00001c86: CODECOPY
00001c87: DUP2
00001c88: MLOAD
00001c89: SWAP2
00001c8a: MSTORE
00001c8b: SWAP3
00001c8c: POP
00001c8d: DUP9
00001c8e: SWAP2
00001c8f: POP
00001c90: DUP10
00001c91: SWAP1
00001c92: POP
00001c93: PUSH2 0x264e
00001c96: JUMP
00001c97: JUMPDEST
00001c98: PUSH2 0x1ca0
00001c9b: DUP9
00001c9c: PUSH2 0x1f02
00001c9f: JUMP
00001ca0: JUMPDEST
00001ca1: POP
00001ca2: POP
00001ca3: POP
00001ca4: POP
00001ca5: POP
00001ca6: POP
00001ca7: POP
00001ca8: POP
00001ca9: JUMP
00001caa: JUMPDEST
00001cab: PUSH2 0x1cc1
00001cae: PUSH0
00001caf: DUP1
00001cb0: MLOAD
00001cb1: PUSH1 0x20
00001cb3: PUSH2 0x49d1
00001cb6: DUP4
00001cb7: CODECOPY
00001cb8: DUP2
00001cb9: MLOAD
00001cba: SWAP2
00001cbb: MSTORE
00001cbc: CALLER
00001cbd: PUSH2 0x27d9
00001cc0: JUMP
00001cc1: JUMPDEST
00001cc2: PUSH2 0x1d05
00001cc5: JUMPI
00001cc6: PUSH1 0x40
00001cc8: MLOAD
00001cc9: PUSH3 0x461bcd
00001ccd: PUSH1 0xe5
00001ccf: SHL
00001cd0: DUP2
00001cd1: MSTORE
00001cd2: PUSH1 0x20
00001cd4: PUSH1 0x04
00001cd6: DUP3
00001cd7: ADD
00001cd8: MSTORE
00001cd9: PUSH1 0x15
00001cdb: PUSH1 0x24
00001cdd: DUP3
00001cde: ADD
00001cdf: MSTORE
00001ce0: PUSH21 0x474f5645524e414e43455f41444d494e5f4f4e4c59
00001cf6: PUSH1 0x58
00001cf8: SHL
00001cf9: PUSH1 0x44
00001cfb: DUP3
00001cfc: ADD
00001cfd: MSTORE
00001cfe: PUSH1 0x64
00001d00: ADD
00001d01: PUSH2 0x0b55
00001d04: JUMP
00001d05: JUMPDEST
00001d06: PUSH1 0x01
00001d08: PUSH1 0x01
00001d0a: PUSH1 0xa0
00001d0c: SHL
00001d0d: SUB
00001d0e: DUP2
00001d0f: AND
00001d10: PUSH0
00001d11: DUP2
00001d12: DUP2
00001d13: MSTORE
00001d14: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e26
00001d35: PUSH1 0x20
00001d37: DUP2
00001d38: DUP2
00001d39: MSTORE
00001d3a: PUSH1 0x40
00001d3c: SWAP3
00001d3d: DUP4
00001d3e: SWAP1
00001d3f: KECCAK256
00001d40: DUP1
00001d41: SLOAD
00001d42: PUSH1 0xff
00001d44: NOT
00001d45: AND
00001d46: SWAP1
00001d47: SSTORE
00001d48: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e27
00001d69: DUP1
00001d6a: SLOAD
00001d6b: PUSH1 0x01
00001d6d: PUSH1 0x01
00001d6f: PUSH1 0xa0
00001d71: SHL
00001d72: SUB
00001d73: NOT
00001d74: AND
00001d75: SWAP1
00001d76: SSTORE
00001d77: SWAP2
00001d78: MLOAD
00001d79: SWAP3
00001d7a: DUP4
00001d7b: MSTORE
00001d7c: SWAP2
00001d7d: PUSH32 0xd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a29599
00001d9e: SWAP2
00001d9f: ADD
00001da0: PUSH2 0x0e7f
00001da3: JUMP
00001da4: JUMPDEST
00001da5: PUSH0
00001da6: PUSH2 0x1298
00001da9: PUSH0
00001daa: DUP1
00001dab: MLOAD
00001dac: PUSH1 0x20
00001dae: PUSH2 0x49d1
00001db1: DUP4
00001db2: CODECOPY
00001db3: DUP2
00001db4: MLOAD
00001db5: SWAP2
00001db6: MSTORE
00001db7: DUP4
00001db8: PUSH2 0x27d9
00001dbb: JUMP
00001dbc: JUMPDEST
00001dbd: PUSH2 0x0a95
00001dc0: PUSH0
00001dc1: DUP1
00001dc2: MLOAD
00001dc3: PUSH1 0x20
00001dc5: PUSH2 0x4a38
00001dc8: DUP4
00001dc9: CODECOPY
00001dca: DUP2
00001dcb: MLOAD
00001dcc: SWAP2
00001dcd: MSTORE
00001dce: DUP3
00001dcf: PUSH2 0x23cb
00001dd2: JUMP
00001dd3: JUMPDEST
00001dd4: PUSH2 0x1ddb
00001dd7: PUSH2 0x2761
00001dda: JUMP
00001ddb: JUMPDEST
00001ddc: PUSH1 0x01
00001dde: PUSH1 0x01
00001de0: PUSH1 0xa0
00001de2: SHL
00001de3: SUB
00001de4: AND
00001de5: PUSH4 0x7a98660b
00001dea: PUSH2 0x1df1
00001ded: PUSH2 0x2783
00001df0: JUMP
00001df1: JUMPDEST
00001df2: PUSH0
00001df3: DUP1
00001df4: MLOAD
00001df5: PUSH1 0x20
00001df7: PUSH2 0x4abf
00001dfa: DUP4
00001dfb: CODECOPY
00001dfc: DUP2
00001dfd: MLOAD
00001dfe: SWAP2
00001dff: MSTORE
00001e00: PUSH2 0x1e3f
00001e03: DUP11
00001e04: DUP11
00001e05: DUP11
00001e06: PUSH1 0x01
00001e08: DUP12
00001e09: DUP12
00001e0a: DUP1
00001e0b: DUP1
00001e0c: PUSH1 0x20
00001e0e: MUL
00001e0f: PUSH1 0x20
00001e11: ADD
00001e12: PUSH1 0x40
00001e14: MLOAD
00001e15: SWAP1
00001e16: DUP2
00001e17: ADD
00001e18: PUSH1 0x40
00001e1a: MSTORE
00001e1b: DUP1
00001e1c: SWAP4
00001e1d: SWAP3
00001e1e: SWAP2
00001e1f: SWAP1
00001e20: DUP2
00001e21: DUP2
00001e22: MSTORE
00001e23: PUSH1 0x20
00001e25: ADD
00001e26: DUP4
00001e27: DUP4
00001e28: PUSH1 0x20
00001e2a: MUL
00001e2b: DUP1
00001e2c: DUP3
00001e2d: DUP5
00001e2e: CALLDATACOPY
00001e2f: PUSH0
00001e30: SWAP3
00001e31: ADD
00001e32: SWAP2
00001e33: SWAP1
00001e34: SWAP2
00001e35: MSTORE
00001e36: POP
00001e37: PUSH2 0x303f
00001e3a: SWAP3
00001e3b: POP
00001e3c: POP
00001e3d: POP
00001e3e: JUMP
00001e3f: JUMPDEST
00001e40: DUP6
00001e41: PUSH1 0x40
00001e43: MLOAD
00001e44: DUP6
00001e45: PUSH4 0xffffffff
00001e4a: AND
00001e4b: PUSH1 0xe0
00001e4d: SHL
00001e4e: DUP2
00001e4f: MSTORE
00001e50: PUSH1 0x04
00001e52: ADD
00001e53: PUSH2 0x1e5f
00001e56: SWAP5
00001e57: SWAP4
00001e58: SWAP3
00001e59: SWAP2
00001e5a: SWAP1
00001e5b: PUSH2 0x44aa
00001e5e: JUMP
00001e5f: JUMPDEST
00001e60: PUSH1 0x20
00001e62: PUSH1 0x40
00001e64: MLOAD
00001e65: DUP1
00001e66: DUP4
00001e67: SUB
00001e68: DUP2
00001e69: PUSH0
00001e6a: DUP8
00001e6b: GAS
00001e6c: CALL
00001e6d: ISZERO
00001e6e: DUP1
00001e6f: ISZERO
00001e70: PUSH2 0x1e7b
00001e73: JUMPI
00001e74: RETURNDATASIZE
00001e75: PUSH0
00001e76: DUP1
00001e77: RETURNDATACOPY
00001e78: RETURNDATASIZE
00001e79: PUSH0
00001e7a: REVERT
00001e7b: JUMPDEST
00001e7c: POP
00001e7d: POP
00001e7e: POP
00001e7f: POP
00001e80: PUSH1 0x40
00001e82: MLOAD
00001e83: RETURNDATASIZE
00001e84: PUSH1 0x1f
00001e86: NOT
00001e87: PUSH1 0x1f
00001e89: DUP3
00001e8a: ADD
00001e8b: AND
00001e8c: DUP3
00001e8d: ADD
00001e8e: DUP1
00001e8f: PUSH1 0x40
00001e91: MSTORE
00001e92: POP
00001e93: DUP2
00001e94: ADD
00001e95: SWAP1
00001e96: PUSH2 0x1e9f
00001e99: SWAP2
00001e9a: SWAP1
00001e9b: PUSH2 0x44d9
00001e9e: JUMP
00001e9f: JUMPDEST
00001ea0: POP
00001ea1: DUP4
00001ea2: DUP7
00001ea3: PUSH1 0x01
00001ea5: PUSH1 0x01
00001ea7: PUSH1 0xa0
00001ea9: SHL
00001eaa: SUB
00001eab: AND
00001eac: CALLER
00001ead: PUSH1 0x01
00001eaf: PUSH1 0x01
00001eb1: PUSH1 0xa0
00001eb3: SHL
00001eb4: SUB
00001eb5: AND
00001eb6: PUSH32 0x889e470f207032611b2f68dbd2124e3139794f19a6b536c83892fd5057603860
00001ed7: DUP9
00001ed8: DUP8
00001ed9: DUP8
00001eda: DUP8
00001edb: PUSH1 0x40
00001edd: MLOAD
00001ede: PUSH2 0x1b8d
00001ee1: SWAP5
00001ee2: SWAP4
00001ee3: SWAP3
00001ee4: SWAP2
00001ee5: SWAP1
00001ee6: PUSH2 0x4585
00001ee9: JUMP
00001eea: JUMPDEST
00001eeb: PUSH0
00001eec: PUSH2 0x1298
00001eef: PUSH0
00001ef0: DUP1
00001ef1: MLOAD
00001ef2: PUSH1 0x20
00001ef4: PUSH2 0x49f1
00001ef7: DUP4
00001ef8: CODECOPY
00001ef9: DUP2
00001efa: MLOAD
00001efb: SWAP2
00001efc: MSTORE
00001efd: DUP4
00001efe: PUSH2 0x27d9
00001f01: JUMP
00001f02: JUMPDEST
00001f03: PUSH1 0x01
00001f05: PUSH1 0x01
00001f07: PUSH1 0xa0
00001f09: SHL
00001f0a: SUB
00001f0b: DUP2
00001f0c: AND
00001f0d: PUSH0
00001f0e: SWAP1
00001f0f: DUP2
00001f10: MSTORE
00001f11: PUSH0
00001f12: DUP1
00001f13: MLOAD
00001f14: PUSH1 0x20
00001f16: PUSH2 0x4bdc
00001f19: DUP4
00001f1a: CODECOPY
00001f1b: DUP2
00001f1c: MLOAD
00001f1d: SWAP2
00001f1e: MSTORE
00001f1f: PUSH1 0x20
00001f21: MSTORE
00001f22: PUSH1 0x40
00001f24: SWAP1
00001f25: KECCAK256
00001f26: SLOAD
00001f27: DUP2
00001f28: SWAP1
00001f29: PUSH1 0x01
00001f2b: SWAP1
00001f2c: PUSH1 0xff
00001f2e: AND
00001f2f: PUSH1 0x03
00001f31: DUP2
00001f32: GT
00001f33: ISZERO
00001f34: PUSH2 0x1f3f
00001f37: JUMPI
00001f38: PUSH2 0x1f3f
00001f3b: PUSH2 0x4197
00001f3e: JUMP
00001f3f: JUMPDEST
00001f40: EQ
00001f41: PUSH2 0x1f48
00001f44: JUMPI
00001f45: POP
00001f46: POP
00001f47: JUMP
00001f48: JUMPDEST
00001f49: PUSH1 0x01
00001f4b: PUSH1 0x01
00001f4d: PUSH1 0xa0
00001f4f: SHL
00001f50: SUB
00001f51: DUP3
00001f52: AND
00001f53: PUSH0
00001f54: SWAP1
00001f55: DUP2
00001f56: MSTORE
00001f57: PUSH0
00001f58: DUP1
00001f59: MLOAD
00001f5a: PUSH1 0x20
00001f5c: PUSH2 0x4bdc
00001f5f: DUP4
00001f60: CODECOPY
00001f61: DUP2
00001f62: MLOAD
00001f63: SWAP2
00001f64: MSTORE
00001f65: PUSH1 0x20
00001f67: MSTORE
00001f68: PUSH1 0x40
00001f6a: SWAP1
00001f6b: KECCAK256
00001f6c: PUSH1 0x01
00001f6e: DUP2
00001f6f: ADD
00001f70: SLOAD
00001f71: PUSH2 0x1f78
00001f74: PUSH2 0x2761
00001f77: JUMP
00001f78: JUMPDEST
00001f79: PUSH1 0x01
00001f7b: PUSH1 0x01
00001f7d: PUSH1 0xa0
00001f7f: SHL
00001f80: SUB
00001f81: AND
00001f82: PUSH4 0x77c7d7a9
00001f87: DUP3
00001f88: PUSH1 0x40
00001f8a: MLOAD
00001f8b: DUP3
00001f8c: PUSH4 0xffffffff
00001f91: AND
00001f92: PUSH1 0xe0
00001f94: SHL
00001f95: DUP2
00001f96: MSTORE
00001f97: PUSH1 0x04
00001f99: ADD
00001f9a: PUSH2 0x1fa5
00001f9d: SWAP2
00001f9e: DUP2
00001f9f: MSTORE
00001fa0: PUSH1 0x20
00001fa2: ADD
00001fa3: SWAP1
00001fa4: JUMP
00001fa5: JUMPDEST
00001fa6: PUSH1 0x20
00001fa8: PUSH1 0x40
00001faa: MLOAD
00001fab: DUP1
00001fac: DUP4
00001fad: SUB
00001fae: DUP2
00001faf: DUP7
00001fb0: GAS
00001fb1: STATICCALL
00001fb2: ISZERO
00001fb3: DUP1
00001fb4: ISZERO
00001fb5: PUSH2 0x1fc0
00001fb8: JUMPI
00001fb9: RETURNDATASIZE
00001fba: PUSH0
00001fbb: DUP1
00001fbc: RETURNDATACOPY
00001fbd: RETURNDATASIZE
00001fbe: PUSH0
00001fbf: REVERT
00001fc0: JUMPDEST
00001fc1: POP
00001fc2: POP
00001fc3: POP
00001fc4: POP
00001fc5: PUSH1 0x40
00001fc7: MLOAD
00001fc8: RETURNDATASIZE
00001fc9: PUSH1 0x1f
00001fcb: NOT
00001fcc: PUSH1 0x1f
00001fce: DUP3
00001fcf: ADD
00001fd0: AND
00001fd1: DUP3
00001fd2: ADD
00001fd3: DUP1
00001fd4: PUSH1 0x40
00001fd6: MSTORE
00001fd7: POP
00001fd8: DUP2
00001fd9: ADD
00001fda: SWAP1
00001fdb: PUSH2 0x1fe4
00001fde: SWAP2
00001fdf: SWAP1
00001fe0: PUSH2 0x44d9
00001fe3: JUMP
00001fe4: JUMPDEST
00001fe5: PUSH0
00001fe6: SUB
00001fe7: PUSH2 0x1ffa
00001fea: JUMPI
00001feb: DUP2
00001fec: SLOAD
00001fed: PUSH1 0xff
00001fef: NOT
00001ff0: AND
00001ff1: PUSH1 0x02
00001ff3: OR
00001ff4: DUP3
00001ff5: SSTORE
00001ff6: PUSH2 0x2111
00001ff9: JUMP
00001ffa: JUMPDEST
00001ffb: DUP2
00001ffc: PUSH1 0x02
00001ffe: ADD
00001fff: SLOAD
00002000: TIMESTAMP
00002001: GT
00002002: ISZERO
00002003: PUSH2 0x2111
00002006: JUMPI
00002007: PUSH1 0x01
00002009: PUSH1 0x01
0000200b: PUSH1 0xa0
0000200d: SHL
0000200e: SUB
0000200f: DUP5
00002010: AND
00002011: PUSH0
00002012: SWAP1
00002013: DUP2
00002014: MSTORE
00002015: PUSH0
00002016: DUP1
00002017: MLOAD
00002018: PUSH1 0x20
0000201a: PUSH2 0x4bdc
0000201d: DUP4
0000201e: CODECOPY
0000201f: DUP2
00002020: MLOAD
00002021: SWAP2
00002022: MSTORE
00002023: PUSH1 0x20
00002025: MSTORE
00002026: PUSH1 0x40
00002028: DUP2
00002029: KECCAK256
0000202a: DUP1
0000202b: SLOAD
0000202c: PUSH1 0xff
0000202e: NOT
0000202f: SWAP1
00002030: DUP2
00002031: AND
00002032: DUP3
00002033: SSTORE
00002034: PUSH1 0x01
00002036: DUP3
00002037: ADD
00002038: DUP4
00002039: SWAP1
0000203a: SSTORE
0000203b: PUSH1 0x02
0000203d: DUP3
0000203e: ADD
0000203f: DUP4
00002040: SWAP1
00002041: SSTORE
00002042: PUSH1 0x03
00002044: DUP3
00002045: ADD
00002046: DUP4
00002047: SWAP1
00002048: SSTORE
00002049: PUSH1 0x04
0000204b: SWAP1
0000204c: SWAP2
0000204d: ADD
0000204e: DUP1
0000204f: SLOAD
00002050: SWAP1
00002051: SWAP2
00002052: AND
00002053: SWAP1
00002054: SSTORE
00002055: PUSH2 0x205c
00002058: PUSH2 0x28a5
0000205b: JUMP
0000205c: JUMPDEST
0000205d: PUSH1 0x01
0000205f: PUSH1 0x01
00002061: PUSH1 0xa0
00002063: SHL
00002064: SUB
00002065: AND
00002066: PUSH4 0x5ab1bd53
0000206b: PUSH1 0x40
0000206d: MLOAD
0000206e: DUP2
0000206f: PUSH4 0xffffffff
00002074: AND
00002075: PUSH1 0xe0
00002077: SHL
00002078: DUP2
00002079: MSTORE
0000207a: PUSH1 0x04
0000207c: ADD
0000207d: PUSH1 0x20
0000207f: PUSH1 0x40
00002081: MLOAD
00002082: DUP1
00002083: DUP4
00002084: SUB
00002085: DUP2
00002086: DUP7
00002087: GAS
00002088: STATICCALL
00002089: ISZERO
0000208a: DUP1
0000208b: ISZERO
0000208c: PUSH2 0x2097
0000208f: JUMPI
00002090: RETURNDATASIZE
00002091: PUSH0
00002092: DUP1
00002093: RETURNDATACOPY
00002094: RETURNDATASIZE
00002095: PUSH0
00002096: REVERT
00002097: JUMPDEST
00002098: POP
00002099: POP
0000209a: POP
0000209b: POP
0000209c: PUSH1 0x40
0000209e: MLOAD
0000209f: RETURNDATASIZE
000020a0: PUSH1 0x1f
000020a2: NOT
000020a3: PUSH1 0x1f
000020a5: DUP3
000020a6: ADD
000020a7: AND
000020a8: DUP3
000020a9: ADD
000020aa: DUP1
000020ab: PUSH1 0x40
000020ad: MSTORE
000020ae: POP
000020af: DUP2
000020b0: ADD
000020b1: SWAP1
000020b2: PUSH2 0x20bb
000020b5: SWAP2
000020b6: SWAP1
000020b7: PUSH2 0x45c9
000020ba: JUMP
000020bb: JUMPDEST
000020bc: PUSH1 0x40
000020be: MLOAD
000020bf: PUSH4 0x0caca051
000020c4: PUSH1 0xe3
000020c6: SHL
000020c7: DUP2
000020c8: MSTORE
000020c9: PUSH1 0x01
000020cb: PUSH1 0x01
000020cd: PUSH1 0xa0
000020cf: SHL
000020d0: SUB
000020d1: DUP8
000020d2: DUP2
000020d3: AND
000020d4: PUSH1 0x04
000020d6: DUP4
000020d7: ADD
000020d8: MSTORE
000020d9: SWAP2
000020da: SWAP3
000020db: POP
000020dc: SWAP1
000020dd: DUP3
000020de: AND
000020df: SWAP1
000020e0: PUSH4 0x65650288
000020e5: SWAP1
000020e6: PUSH1 0x24
000020e8: ADD
000020e9: PUSH0
000020ea: PUSH1 0x40
000020ec: MLOAD
000020ed: DUP1
000020ee: DUP4
000020ef: SUB
000020f0: DUP2
000020f1: PUSH0
000020f2: DUP8
000020f3: DUP1
000020f4: EXTCODESIZE
000020f5: ISZERO
000020f6: DUP1
000020f7: ISZERO
000020f8: PUSH2 0x20ff
000020fb: JUMPI
000020fc: PUSH0
000020fd: DUP1
000020fe: REVERT
000020ff: JUMPDEST
00002100: POP
00002101: GAS
00002102: CALL
00002103: ISZERO
00002104: DUP1
00002105: ISZERO
00002106: PUSH2 0x11dc
00002109: JUMPI
0000210a: RETURNDATASIZE
0000210b: PUSH0
0000210c: DUP1
0000210d: RETURNDATACOPY
0000210e: RETURNDATASIZE
0000210f: PUSH0
00002110: REVERT
00002111: JUMPDEST
00002112: POP
00002113: POP
00002114: POP
00002115: POP
00002116: JUMP
00002117: JUMPDEST
00002118: PUSH2 0x2120
0000211b: CALLER
0000211c: PUSH2 0x12e3
0000211f: JUMP
00002120: JUMPDEST
00002121: PUSH2 0x2160
00002124: JUMPI
00002125: PUSH1 0x40
00002127: MLOAD
00002128: PUSH3 0x461bcd
0000212c: PUSH1 0xe5
0000212e: SHL
0000212f: DUP2
00002130: MSTORE
00002131: PUSH1 0x20
00002133: PUSH1 0x04
00002135: DUP3
00002136: ADD
00002137: MSTORE
00002138: PUSH1 0x11
0000213a: PUSH1 0x24
0000213c: DUP3
0000213d: ADD
0000213e: MSTORE
0000213f: PUSH17 0x27a7262cafa0a8282fa3a7ab22a92727a9
00002151: PUSH1 0x79
00002153: SHL
00002154: PUSH1 0x44
00002156: DUP3
00002157: ADD
00002158: MSTORE
00002159: PUSH1 0x64
0000215b: ADD
0000215c: PUSH2 0x0b55
0000215f: JUMP
00002160: JUMPDEST
00002161: DUP1
00002162: PUSH0
00002163: SUB
00002164: PUSH2 0x21af
00002167: JUMPI
00002168: PUSH1 0x40
0000216a: MLOAD
0000216b: PUSH3 0x461bcd
0000216f: PUSH1 0xe5
00002171: SHL
00002172: DUP2
00002173: MSTORE
00002174: PUSH1 0x20
00002176: PUSH1 0x04
00002178: DUP3
00002179: ADD
0000217a: MSTORE
0000217b: PUSH1 0x19
0000217d: PUSH1 0x24
0000217f: DUP3
00002180: ADD
00002181: MSTORE
00002182: PUSH32 0x494e56414c49445f4d41585f544f54414c5f42414c414e434500000000000000
000021a3: PUSH1 0x44
000021a5: DUP3
000021a6: ADD
000021a7: MSTORE
000021a8: PUSH1 0x64
000021aa: ADD
000021ab: PUSH2 0x0b55
000021ae: JUMP
000021af: JUMPDEST
000021b0: DUP2
000021b1: PUSH1 0x01
000021b3: PUSH1 0x01
000021b5: PUSH1 0xa0
000021b7: SHL
000021b8: SUB
000021b9: AND
000021ba: PUSH32 0xb895637c7d86c9b7b5b747e72195206a3fc21d8df0e019edd2312454ffa733b1
000021db: DUP3
000021dc: PUSH1 0x40
000021de: MLOAD
000021df: PUSH2 0x21ea
000021e2: SWAP2
000021e3: DUP2
000021e4: MSTORE
000021e5: PUSH1 0x20
000021e7: ADD
000021e8: SWAP1
000021e9: JUMP
000021ea: JUMPDEST
000021eb: PUSH1 0x40
000021ed: MLOAD
000021ee: DUP1
000021ef: SWAP2
000021f0: SUB
000021f1: SWAP1
000021f2: LOG2
000021f3: PUSH1 0x01
000021f5: PUSH1 0x01
000021f7: PUSH1 0xa0
000021f9: SHL
000021fa: SUB
000021fb: SWAP2
000021fc: SWAP1
000021fd: SWAP2
000021fe: AND
000021ff: PUSH0
00002200: SWAP1
00002201: DUP2
00002202: MSTORE
00002203: PUSH0
00002204: DUP1
00002205: MLOAD
00002206: PUSH1 0x20
00002208: PUSH2 0x4bdc
0000220b: DUP4
0000220c: CODECOPY
0000220d: DUP2
0000220e: MLOAD
0000220f: SWAP2
00002210: MSTORE
00002211: PUSH1 0x20
00002213: MSTORE
00002214: PUSH1 0x40
00002216: SWAP1
00002217: KECCAK256
00002218: PUSH1 0x03
0000221a: ADD
0000221b: SSTORE
0000221c: JUMP
0000221d: JUMPDEST
0000221e: PUSH2 0x0a95
00002221: PUSH0
00002222: DUP1
00002223: MLOAD
00002224: PUSH1 0x20
00002226: PUSH2 0x4adf
00002229: DUP4
0000222a: CODECOPY
0000222b: DUP2
0000222c: MLOAD
0000222d: SWAP2
0000222e: MSTORE
0000222f: DUP3
00002230: PUSH2 0x280f
00002233: JUMP
00002234: JUMPDEST
00002235: PUSH2 0x0a95
00002238: PUSH0
00002239: DUP1
0000223a: MLOAD
0000223b: PUSH1 0x20
0000223d: PUSH2 0x4a38
00002240: DUP4
00002241: CODECOPY
00002242: DUP2
00002243: MLOAD
00002244: SWAP2
00002245: MSTORE
00002246: DUP3
00002247: PUSH2 0x280f
0000224a: JUMP
0000224b: JUMPDEST
0000224c: PUSH1 0x40
0000224e: DUP1
0000224f: MLOAD
00002250: PUSH0
00002251: DUP1
00002252: DUP3
00002253: MSTORE
00002254: PUSH1 0x20
00002256: DUP3
00002257: ADD
00002258: SWAP1
00002259: SWAP3
0000225a: MSTORE
0000225b: SWAP1
0000225c: PUSH2 0x2263
0000225f: PUSH2 0x23a9
00002262: JUMP
00002263: JUMPDEST
00002264: SWAP1
00002265: POP
00002266: PUSH0
00002267: PUSH2 0x2270
0000226a: DUP3
0000226b: DUP7
0000226c: PUSH2 0x23ec
0000226f: JUMP
00002270: JUMPDEST
00002271: SWAP1
00002272: POP
00002273: PUSH0
00002274: PUSH2 0x228e
00002277: DUP4
00002278: DUP8
00002279: DUP8
0000227a: DUP8
0000227b: PUSH0
0000227c: DUP1
0000227d: MLOAD
0000227e: PUSH1 0x20
00002280: PUSH2 0x4bbc
00002283: DUP4
00002284: CODECOPY
00002285: DUP2
00002286: MLOAD
00002287: SWAP2
00002288: MSTORE
00002289: DUP8
0000228a: PUSH2 0x24cc
0000228d: JUMP
0000228e: JUMPDEST
0000228f: SWAP1
00002290: POP
00002291: PUSH2 0x22ac
00002294: DUP4
00002295: DUP8
00002296: DUP8
00002297: DUP8
00002298: PUSH0
00002299: DUP1
0000229a: MLOAD
0000229b: PUSH1 0x20
0000229d: PUSH2 0x4bbc
000022a0: DUP4
000022a1: CODECOPY
000022a2: DUP2
000022a3: MLOAD
000022a4: SWAP2
000022a5: MSTORE
000022a6: DUP7
000022a7: DUP9
000022a8: PUSH2 0x264e
000022ab: JUMP
000022ac: JUMPDEST
000022ad: PUSH1 0x40
000022af: DUP1
000022b0: MLOAD
000022b1: DUP8
000022b2: DUP2
000022b3: MSTORE
000022b4: PUSH1 0x20
000022b6: DUP2
000022b7: ADD
000022b8: DUP4
000022b9: SWAP1
000022ba: MSTORE
000022bb: SWAP1
000022bc: DUP2
000022bd: ADD
000022be: DUP4
000022bf: SWAP1
000022c0: MSTORE
000022c1: DUP6
000022c2: SWAP1
000022c3: CALLER
000022c4: SWAP1
000022c5: PUSH32 0x5b5dbc6c64043a15d3fe6943a6e443a826b78755edc257b2ec890c022225dbcf
000022e6: SWAP1
000022e7: PUSH1 0x60
000022e9: ADD
000022ea: PUSH1 0x40
000022ec: MLOAD
000022ed: DUP1
000022ee: SWAP2
000022ef: SUB
000022f0: SWAP1
000022f1: LOG3
000022f2: POP
000022f3: POP
000022f4: POP
000022f5: POP
000022f6: POP
000022f7: POP
000022f8: JUMP
000022f9: JUMPDEST
000022fa: PUSH2 0x0a95
000022fd: PUSH0
000022fe: DUP1
000022ff: MLOAD
00002300: PUSH1 0x20
00002302: PUSH2 0x4a58
00002305: DUP4
00002306: CODECOPY
00002307: DUP2
00002308: MLOAD
00002309: SWAP2
0000230a: MSTORE
0000230b: DUP3
0000230c: PUSH2 0x280f
0000230f: JUMP
00002310: JUMPDEST
00002311: DUP1
00002312: CALLER
00002313: PUSH1 0x01
00002315: PUSH1 0x01
00002317: PUSH1 0xa0
00002319: SHL
0000231a: SUB
0000231b: DUP3
0000231c: AND
0000231d: SUB
0000231e: PUSH2 0x2339
00002321: JUMPI
00002322: PUSH1 0x40
00002324: MLOAD
00002325: PUSH3 0x461bcd
00002329: PUSH1 0xe5
0000232b: SHL
0000232c: DUP2
0000232d: MSTORE
0000232e: PUSH1 0x04
00002330: ADD
00002331: PUSH2 0x0b55
00002334: SWAP1
00002335: PUSH2 0x44f0
00002338: JUMP
00002339: JUMPDEST
0000233a: PUSH2 0x0a7a
0000233d: PUSH0
0000233e: DUP1
0000233f: MLOAD
00002340: PUSH1 0x20
00002342: PUSH2 0x49d1
00002345: DUP4
00002346: CODECOPY
00002347: DUP2
00002348: MLOAD
00002349: SWAP2
0000234a: MSTORE
0000234b: DUP4
0000234c: PUSH2 0x280f
0000234f: JUMP
00002350: JUMPDEST
00002351: PUSH1 0x60
00002353: PUSH1 0x40
00002355: MLOAD
00002356: DUP1
00002357: PUSH1 0x60
00002359: ADD
0000235a: PUSH1 0x40
0000235c: MSTORE
0000235d: DUP1
0000235e: PUSH1 0x23
00002360: DUP2
00002361: MSTORE
00002362: PUSH1 0x20
00002364: ADD
00002365: PUSH2 0x4b99
00002368: PUSH1 0x23
0000236a: SWAP2
0000236b: CODECOPY
0000236c: SWAP1
0000236d: POP
0000236e: SWAP1
0000236f: JUMP
00002370: JUMPDEST
00002371: PUSH2 0x0a7a
00002374: DUP3
00002375: DUP3
00002376: CALLER
00002377: PUSH2 0x13b5
0000237a: JUMP
0000237b: JUMPDEST
0000237c: PUSH2 0x0a95
0000237f: PUSH0
00002380: DUP1
00002381: MLOAD
00002382: PUSH1 0x20
00002384: PUSH2 0x4c45
00002387: DUP4
00002388: CODECOPY
00002389: DUP2
0000238a: MLOAD
0000238b: SWAP2
0000238c: MSTORE
0000238d: DUP3
0000238e: PUSH2 0x280f
00002391: JUMP
00002392: JUMPDEST
00002393: PUSH2 0x0a95
00002396: PUSH0
00002397: DUP1
00002398: MLOAD
00002399: PUSH1 0x20
0000239b: PUSH2 0x4bfc
0000239e: DUP4
0000239f: CODECOPY
000023a0: DUP2
000023a1: MLOAD
000023a2: SWAP2
000023a3: MSTORE
000023a4: DUP3
000023a5: PUSH2 0x280f
000023a8: JUMP
000023a9: JUMPDEST
000023aa: PUSH0
000023ab: PUSH2 0x0c8f
000023ae: PUSH1 0x40
000023b0: MLOAD
000023b1: DUP1
000023b2: PUSH1 0x60
000023b4: ADD
000023b5: PUSH1 0x40
000023b7: MSTORE
000023b8: DUP1
000023b9: PUSH1 0x29
000023bb: DUP2
000023bc: MSTORE
000023bd: PUSH1 0x20
000023bf: ADD
000023c0: PUSH2 0x4c1c
000023c3: PUSH1 0x29
000023c5: SWAP2
000023c6: CODECOPY
000023c7: PUSH2 0x328a
000023ca: JUMP
000023cb: JUMPDEST
000023cc: PUSH2 0x23d4
000023cf: DUP3
000023d0: PUSH2 0x32bd
000023d3: JUMP
000023d4: JUMPDEST
000023d5: PUSH2 0x23dd
000023d8: DUP2
000023d9: PUSH2 0x32dd
000023dc: JUMP
000023dd: JUMPDEST
000023de: PUSH2 0x23e7
000023e1: DUP4
000023e2: DUP4
000023e3: PUSH2 0x32e7
000023e6: JUMP
000023e7: JUMPDEST
000023e8: POP
000023e9: POP
000023ea: POP
000023eb: JUMP
000023ec: JUMPDEST
000023ed: PUSH0
000023ee: PUSH2 0x23f6
000023f1: CALLVALUE
000023f2: PUSH2 0x335b
000023f5: JUMP
000023f6: JUMPDEST
000023f7: PUSH1 0x40
000023f9: MLOAD
000023fa: PUSH4 0x70a08231
000023ff: PUSH1 0xe0
00002401: SHL
00002402: DUP2
00002403: MSTORE
00002404: ADDRESS
00002405: PUSH1 0x04
00002407: DUP3
00002408: ADD
00002409: MSTORE
0000240a: PUSH0
0000240b: SWAP1
0000240c: PUSH1 0x01
0000240e: PUSH1 0x01
00002410: PUSH1 0xa0
00002412: SHL
00002413: SUB
00002414: DUP6
00002415: AND
00002416: SWAP1
00002417: PUSH4 0x70a08231
0000241c: SWAP1
0000241d: PUSH1 0x24
0000241f: ADD
00002420: PUSH1 0x20
00002422: PUSH1 0x40
00002424: MLOAD
00002425: DUP1
00002426: DUP4
00002427: SUB
00002428: DUP2
00002429: DUP7
0000242a: GAS
0000242b: STATICCALL
0000242c: ISZERO
0000242d: DUP1
0000242e: ISZERO
0000242f: PUSH2 0x243a
00002432: JUMPI
00002433: RETURNDATASIZE
00002434: PUSH0
00002435: DUP1
00002436: RETURNDATACOPY
00002437: RETURNDATASIZE
00002438: PUSH0
00002439: REVERT
0000243a: JUMPDEST
0000243b: POP
0000243c: POP
0000243d: POP
0000243e: POP
0000243f: PUSH1 0x40
00002441: MLOAD
00002442: RETURNDATASIZE
00002443: PUSH1 0x1f
00002445: NOT
00002446: PUSH1 0x1f
00002448: DUP3
00002449: ADD
0000244a: AND
0000244b: DUP3
0000244c: ADD
0000244d: DUP1
0000244e: PUSH1 0x40
00002450: MSTORE
00002451: POP
00002452: DUP2
00002453: ADD
00002454: SWAP1
00002455: PUSH2 0x245e
00002458: SWAP2
00002459: SWAP1
0000245a: PUSH2 0x44d9
0000245d: JUMP
0000245e: JUMPDEST
0000245f: SWAP1
00002460: POP
00002461: PUSH2 0x2469
00002464: DUP5
00002465: PUSH2 0x129e
00002468: JUMP
00002469: JUMPDEST
0000246a: PUSH2 0x2473
0000246d: DUP5
0000246e: DUP4
0000246f: PUSH2 0x454b
00002472: JUMP
00002473: JUMPDEST
00002474: GT
00002475: ISZERO
00002476: PUSH2 0x24b8
00002479: JUMPI
0000247a: PUSH1 0x40
0000247c: MLOAD
0000247d: PUSH3 0x461bcd
00002481: PUSH1 0xe5
00002483: SHL
00002484: DUP2
00002485: MSTORE
00002486: PUSH1 0x20
00002488: PUSH1 0x04
0000248a: DUP3
0000248b: ADD
0000248c: MSTORE
0000248d: PUSH1 0x14
0000248f: PUSH1 0x24
00002491: DUP3
00002492: ADD
00002493: MSTORE
00002494: PUSH20 0x13505617d09053105390d157d15610d151511151
000024a9: PUSH1 0x62
000024ab: SHL
000024ac: PUSH1 0x44
000024ae: DUP3
000024af: ADD
000024b0: MSTORE
000024b1: PUSH1 0x64
000024b3: ADD
000024b4: PUSH2 0x0b55
000024b7: JUMP
000024b8: JUMPDEST
000024b9: PUSH2 0x24c3
000024bc: DUP5
000024bd: CALLER
000024be: DUP6
000024bf: PUSH2 0x3410
000024c2: JUMP
000024c3: JUMPDEST
000024c4: POP
000024c5: CALLVALUE
000024c6: SWAP4
000024c7: SWAP3
000024c8: POP
000024c9: POP
000024ca: POP
000024cb: JUMP
000024cc: JUMPDEST
000024cd: PUSH0
000024ce: PUSH2 0x24d5
000024d1: PUSH2 0x2783
000024d4: JUMP
000024d5: JUMPDEST
000024d6: PUSH0
000024d7: SUB
000024d8: PUSH2 0x2517
000024db: JUMPI
000024dc: PUSH1 0x40
000024de: MLOAD
000024df: PUSH3 0x461bcd
000024e3: PUSH1 0xe5
000024e5: SHL
000024e6: DUP2
000024e7: MSTORE
000024e8: PUSH1 0x20
000024ea: PUSH1 0x04
000024ec: DUP3
000024ed: ADD
000024ee: MSTORE
000024ef: PUSH1 0x11
000024f1: PUSH1 0x24
000024f3: DUP3
000024f4: ADD
000024f5: MSTORE
000024f6: PUSH17 0x130c97d094925111d157d393d517d4d155
00002508: PUSH1 0x7a
0000250a: SHL
0000250b: PUSH1 0x44
0000250d: DUP3
0000250e: ADD
0000250f: MSTORE
00002510: PUSH1 0x64
00002512: ADD
00002513: PUSH2 0x0b55
00002516: JUMP
00002517: JUMPDEST
00002518: PUSH0
00002519: DUP7
0000251a: GT
0000251b: PUSH2 0x2555
0000251e: JUMPI
0000251f: PUSH1 0x40
00002521: MLOAD
00002522: PUSH3 0x461bcd
00002526: PUSH1 0xe5
00002528: SHL
00002529: DUP2
0000252a: MSTORE
0000252b: PUSH1 0x20
0000252d: PUSH1 0x04
0000252f: DUP3
00002530: ADD
00002531: MSTORE
00002532: PUSH1 0x0c
00002534: PUSH1 0x24
00002536: DUP3
00002537: ADD
00002538: MSTORE
00002539: PUSH12 0x16915493d7d1115413d4d255
00002546: PUSH1 0xa2
00002548: SHL
00002549: PUSH1 0x44
0000254b: DUP3
0000254c: ADD
0000254d: MSTORE
0000254e: PUSH1 0x64
00002550: ADD
00002551: PUSH2 0x0b55
00002554: JUMP
00002555: JUMPDEST
00002556: PUSH2 0x255e
00002559: DUP6
0000255a: PUSH2 0x2fe9
0000255d: JUMP
0000255e: JUMPDEST
0000255f: PUSH2 0x25a4
00002562: JUMPI
00002563: PUSH1 0x40
00002565: MLOAD
00002566: PUSH3 0x461bcd
0000256a: PUSH1 0xe5
0000256c: SHL
0000256d: DUP2
0000256e: MSTORE
0000256f: PUSH1 0x20
00002571: PUSH1 0x04
00002573: DUP3
00002574: ADD
00002575: MSTORE
00002576: PUSH1 0x17
00002578: PUSH1 0x24
0000257a: DUP3
0000257b: ADD
0000257c: MSTORE
0000257d: PUSH23 0x4c325f414444524553535f4f55545f4f465f52414e4745
00002595: PUSH1 0x48
00002597: SHL
00002598: PUSH1 0x44
0000259a: DUP3
0000259b: ADD
0000259c: MSTORE
0000259d: PUSH1 0x64
0000259f: ADD
000025a0: PUSH2 0x0b55
000025a3: JUMP
000025a4: JUMPDEST
000025a5: PUSH0
000025a6: DUP1
000025a7: MLOAD
000025a8: PUSH1 0x20
000025aa: PUSH2 0x4abf
000025ad: DUP4
000025ae: CODECOPY
000025af: DUP2
000025b0: MLOAD
000025b1: SWAP2
000025b2: MSTORE
000025b3: DUP4
000025b4: EQ
000025b5: PUSH0
000025b6: PUSH2 0x25bd
000025b9: PUSH2 0x2761
000025bc: JUMP
000025bd: JUMPDEST
000025be: PUSH1 0x01
000025c0: PUSH1 0x01
000025c2: PUSH1 0xa0
000025c4: SHL
000025c5: SUB
000025c6: AND
000025c7: PUSH4 0x3e3aa6c5
000025cc: DUP6
000025cd: PUSH2 0x25d4
000025d0: PUSH2 0x2783
000025d3: JUMP
000025d4: JUMPDEST
000025d5: DUP9
000025d6: PUSH2 0x25e2
000025d9: DUP15
000025da: DUP15
000025db: DUP15
000025dc: DUP11
000025dd: DUP16
000025de: PUSH2 0x303f
000025e1: JUMP
000025e2: JUMPDEST
000025e3: PUSH1 0x40
000025e5: MLOAD
000025e6: DUP6
000025e7: PUSH4 0xffffffff
000025ec: AND
000025ed: PUSH1 0xe0
000025ef: SHL
000025f0: DUP2
000025f1: MSTORE
000025f2: PUSH1 0x04
000025f4: ADD
000025f5: PUSH2 0x2600
000025f8: SWAP4
000025f9: SWAP3
000025fa: SWAP2
000025fb: SWAP1
000025fc: PUSH2 0x45e4
000025ff: JUMP
00002600: JUMPDEST
00002601: PUSH1 0x40
00002603: DUP1
00002604: MLOAD
00002605: DUP1
00002606: DUP4
00002607: SUB
00002608: DUP2
00002609: DUP6
0000260a: DUP9
0000260b: GAS
0000260c: CALL
0000260d: ISZERO
0000260e: DUP1
0000260f: ISZERO
00002610: PUSH2 0x261b
00002613: JUMPI
00002614: RETURNDATASIZE
00002615: PUSH0
00002616: DUP1
00002617: RETURNDATACOPY
00002618: RETURNDATASIZE
00002619: PUSH0
0000261a: REVERT
0000261b: JUMPDEST
0000261c: POP
0000261d: POP
0000261e: POP
0000261f: POP
00002620: POP
00002621: PUSH1 0x40
00002623: MLOAD
00002624: RETURNDATASIZE
00002625: PUSH1 0x1f
00002627: NOT
00002628: PUSH1 0x1f
0000262a: DUP3
0000262b: ADD
0000262c: AND
0000262d: DUP3
0000262e: ADD
0000262f: DUP1
00002630: PUSH1 0x40
00002632: MSTORE
00002633: POP
00002634: DUP2
00002635: ADD
00002636: SWAP1
00002637: PUSH2 0x2640
0000263a: SWAP2
0000263b: SWAP1
0000263c: PUSH2 0x4602
0000263f: JUMP
00002640: JUMPDEST
00002641: SWAP11
00002642: SWAP10
00002643: POP
00002644: POP
00002645: POP
00002646: POP
00002647: POP
00002648: POP
00002649: POP
0000264a: POP
0000264b: POP
0000264c: POP
0000264d: JUMP
0000264e: JUMPDEST
0000264f: PUSH0
00002650: DUP1
00002651: MLOAD
00002652: PUSH1 0x20
00002654: PUSH2 0x4bbc
00002657: DUP4
00002658: CODECOPY
00002659: DUP2
0000265a: MLOAD
0000265b: SWAP2
0000265c: MSTORE
0000265d: DUP4
0000265e: SUB
0000265f: PUSH2 0x26b7
00002662: JUMPI
00002663: PUSH1 0x40
00002665: DUP1
00002666: MLOAD
00002667: DUP8
00002668: DUP2
00002669: MSTORE
0000266a: PUSH1 0x20
0000266c: DUP2
0000266d: ADD
0000266e: DUP5
0000266f: SWAP1
00002670: MSTORE
00002671: SWAP1
00002672: DUP2
00002673: ADD
00002674: DUP3
00002675: SWAP1
00002676: MSTORE
00002677: DUP6
00002678: SWAP1
00002679: PUSH1 0x01
0000267b: PUSH1 0x01
0000267d: PUSH1 0xa0
0000267f: SHL
00002680: SUB
00002681: DUP10
00002682: AND
00002683: SWAP1
00002684: CALLER
00002685: SWAP1
00002686: PUSH32 0x5f971bd00bf3ffbca8a6d72cdd4fd92cfd4f62636161921d1e5a64f0b64ccb6d
000026a7: SWAP1
000026a8: PUSH1 0x60
000026aa: ADD
000026ab: PUSH1 0x40
000026ad: MLOAD
000026ae: DUP1
000026af: SWAP2
000026b0: SUB
000026b1: SWAP1
000026b2: LOG4
000026b3: PUSH2 0x0bbd
000026b6: JUMP
000026b7: JUMPDEST
000026b8: PUSH0
000026b9: DUP1
000026ba: MLOAD
000026bb: PUSH1 0x20
000026bd: PUSH2 0x4abf
000026c0: DUP4
000026c1: CODECOPY
000026c2: DUP2
000026c3: MLOAD
000026c4: SWAP2
000026c5: MSTORE
000026c6: DUP4
000026c7: EQ
000026c8: PUSH2 0x2706
000026cb: JUMPI
000026cc: PUSH1 0x40
000026ce: MLOAD
000026cf: PUSH3 0x461bcd
000026d3: PUSH1 0xe5
000026d5: SHL
000026d6: DUP2
000026d7: MSTORE
000026d8: PUSH1 0x20
000026da: PUSH1 0x04
000026dc: DUP3
000026dd: ADD
000026de: MSTORE
000026df: PUSH1 0x10
000026e1: PUSH1 0x24
000026e3: DUP3
000026e4: ADD
000026e5: MSTORE
000026e6: PUSH16 0x2aa725a727aba72fa9a2a622a1aa27a9
000026f7: PUSH1 0x81
000026f9: SHL
000026fa: PUSH1 0x44
000026fc: DUP3
000026fd: ADD
000026fe: MSTORE
000026ff: PUSH1 0x64
00002701: ADD
00002702: PUSH2 0x0b55
00002705: JUMP
00002706: JUMPDEST
00002707: DUP5
00002708: DUP8
00002709: PUSH1 0x01
0000270b: PUSH1 0x01
0000270d: PUSH1 0xa0
0000270f: SHL
00002710: SUB
00002711: AND
00002712: CALLER
00002713: PUSH1 0x01
00002715: PUSH1 0x01
00002717: PUSH1 0xa0
00002719: SHL
0000271a: SUB
0000271b: AND
0000271c: PUSH32 0x2203a49c69f1a46c1164f5e4a30643dd77b7c59c0ff9bc433256048365c247f1
0000273d: DUP10
0000273e: DUP9
0000273f: DUP8
00002740: DUP8
00002741: PUSH1 0x40
00002743: MLOAD
00002744: PUSH2 0x2750
00002747: SWAP5
00002748: SWAP4
00002749: SWAP3
0000274a: SWAP2
0000274b: SWAP1
0000274c: PUSH2 0x4624
0000274f: JUMP
00002750: JUMPDEST
00002751: PUSH1 0x40
00002753: MLOAD
00002754: DUP1
00002755: SWAP2
00002756: SUB
00002757: SWAP1
00002758: LOG4
00002759: POP
0000275a: POP
0000275b: POP
0000275c: POP
0000275d: POP
0000275e: POP
0000275f: POP
00002760: JUMP
00002761: JUMPDEST
00002762: PUSH0
00002763: PUSH2 0x0c8f
00002766: PUSH1 0x40
00002768: MLOAD
00002769: DUP1
0000276a: PUSH1 0x60
0000276c: ADD
0000276d: PUSH1 0x40
0000276f: MSTORE
00002770: DUP1
00002771: PUSH1 0x28
00002773: DUP2
00002774: MSTORE
00002775: PUSH1 0x20
00002777: ADD
00002778: PUSH2 0x49a9
0000277b: PUSH1 0x28
0000277d: SWAP2
0000277e: CODECOPY
0000277f: PUSH2 0x328a
00002782: JUMP
00002783: JUMPDEST
00002784: PUSH0
00002785: PUSH2 0x0c8f
00002788: PUSH1 0x40
0000278a: MLOAD
0000278b: DUP1
0000278c: PUSH1 0x60
0000278e: ADD
0000278f: PUSH1 0x40
00002791: MSTORE
00002792: DUP1
00002793: PUSH1 0x27
00002795: DUP2
00002796: MSTORE
00002797: PUSH1 0x20
00002799: ADD
0000279a: PUSH2 0x4a98
0000279d: PUSH1 0x27
0000279f: SWAP2
000027a0: CODECOPY
000027a1: PUSH2 0x328a
000027a4: JUMP
000027a5: JUMPDEST
000027a6: PUSH1 0x40
000027a8: DUP1
000027a9: MLOAD
000027aa: PUSH0
000027ab: DUP1
000027ac: DUP3
000027ad: MSTORE
000027ae: PUSH1 0x20
000027b0: DUP3
000027b1: ADD
000027b2: SWAP1
000027b3: SWAP3
000027b4: MSTORE
000027b5: PUSH1 0x60
000027b7: SWAP2
000027b8: POP
000027b9: PUSH2 0x27c5
000027bc: DUP6
000027bd: DUP6
000027be: DUP6
000027bf: PUSH0
000027c0: DUP6
000027c1: PUSH2 0x303f
000027c4: JUMP
000027c5: JUMPDEST
000027c6: SWAP6
000027c7: SWAP5
000027c8: POP
000027c9: POP
000027ca: POP
000027cb: POP
000027cc: POP
000027cd: JUMP
000027ce: JUMPDEST
000027cf: PUSH2 0x23e7
000027d2: DUP4
000027d3: DUP3
000027d4: DUP5
000027d5: PUSH2 0x35fe
000027d8: JUMP
000027d9: JUMPDEST
000027da: PUSH0
000027db: SWAP2
000027dc: DUP3
000027dd: MSTORE
000027de: PUSH0
000027df: DUP1
000027e0: MLOAD
000027e1: PUSH1 0x20
000027e3: PUSH2 0x4a78
000027e6: DUP4
000027e7: CODECOPY
000027e8: DUP2
000027e9: MLOAD
000027ea: SWAP2
000027eb: MSTORE
000027ec: PUSH1 0x20
000027ee: SWAP1
000027ef: DUP2
000027f0: MSTORE
000027f1: PUSH1 0x40
000027f3: DUP1
000027f4: DUP5
000027f5: KECCAK256
000027f6: PUSH1 0x01
000027f8: PUSH1 0x01
000027fa: PUSH1 0xa0
000027fc: SHL
000027fd: SUB
000027fe: SWAP4
000027ff: SWAP1
00002800: SWAP4
00002801: AND
00002802: DUP5
00002803: MSTORE
00002804: SWAP2
00002805: SWAP1
00002806: MSTORE
00002807: SWAP1
00002808: KECCAK256
00002809: SLOAD
0000280a: PUSH1 0xff
0000280c: AND
0000280d: SWAP1
0000280e: JUMP
0000280f: JUMPDEST
00002810: PUSH2 0x2818
00002813: DUP3
00002814: PUSH2 0x32bd
00002817: JUMP
00002818: JUMPDEST
00002819: PUSH2 0x2821
0000281c: DUP2
0000281d: PUSH2 0x32dd
00002820: JUMP
00002821: JUMPDEST
00002822: PUSH2 0x23e7
00002825: DUP4
00002826: DUP4
00002827: PUSH2 0x3735
0000282a: JUMP
0000282b: JUMPDEST
0000282c: PUSH1 0x01
0000282e: PUSH1 0x01
00002830: PUSH1 0xa0
00002832: SHL
00002833: SUB
00002834: DUP2
00002835: AND
00002836: CALLER
00002837: EQ
00002838: PUSH2 0x289b
0000283b: JUMPI
0000283c: PUSH1 0x40
0000283e: MLOAD
0000283f: PUSH3 0x461bcd
00002843: PUSH1 0xe5
00002845: SHL
00002846: DUP2
00002847: MSTORE
00002848: PUSH1 0x20
0000284a: PUSH1 0x04
0000284c: DUP3
0000284d: ADD
0000284e: MSTORE
0000284f: PUSH1 0x2f
00002851: PUSH1 0x24
00002853: DUP3
00002854: ADD
00002855: MSTORE
00002856: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
00002877: PUSH1 0x44
00002879: DUP3
0000287a: ADD
0000287b: MSTORE
0000287c: PUSH15 0x103937b632b9903337b91039b2b633
0000288c: PUSH1 0x89
0000288e: SHL
0000288f: PUSH1 0x64
00002891: DUP3
00002892: ADD
00002893: MSTORE
00002894: PUSH1 0x84
00002896: ADD
00002897: PUSH2 0x0b55
0000289a: JUMP
0000289b: JUMPDEST
0000289c: PUSH2 0x0a7a
0000289f: DUP3
000028a0: DUP3
000028a1: PUSH2 0x3735
000028a4: JUMP
000028a5: JUMPDEST
000028a6: PUSH0
000028a7: PUSH2 0x0c8f
000028aa: PUSH1 0x40
000028ac: MLOAD
000028ad: DUP1
000028ae: PUSH1 0x60
000028b0: ADD
000028b1: PUSH1 0x40
000028b3: MSTORE
000028b4: DUP1
000028b5: PUSH1 0x26
000028b7: DUP2
000028b8: MSTORE
000028b9: PUSH1 0x20
000028bb: ADD
000028bc: PUSH2 0x4b1f
000028bf: PUSH1 0x26
000028c1: SWAP2
000028c2: CODECOPY
000028c3: PUSH2 0x328a
000028c6: JUMP
000028c7: JUMPDEST
000028c8: PUSH1 0x01
000028ca: PUSH1 0x01
000028cc: PUSH1 0xa0
000028ce: SHL
000028cf: SUB
000028d0: DUP4
000028d1: AND
000028d2: EXTCODESIZE
000028d3: PUSH2 0x2913
000028d6: JUMPI
000028d7: PUSH1 0x40
000028d9: MLOAD
000028da: PUSH3 0x461bcd
000028de: PUSH1 0xe5
000028e0: SHL
000028e1: DUP2
000028e2: MSTORE
000028e3: PUSH1 0x20
000028e5: PUSH1 0x04
000028e7: DUP3
000028e8: ADD
000028e9: MSTORE
000028ea: PUSH1 0x12
000028ec: PUSH1 0x24
000028ee: DUP3
000028ef: ADD
000028f0: MSTORE
000028f1: PUSH18 0x115250d7d393d517d057d0d3d395149050d5
00002904: PUSH1 0x72
00002906: SHL
00002907: PUSH1 0x44
00002909: DUP3
0000290a: ADD
0000290b: MSTORE
0000290c: PUSH1 0x64
0000290e: ADD
0000290f: PUSH2 0x0b55
00002912: JUMP
00002913: JUMPDEST
00002914: PUSH0
00002915: DUP1
00002916: DUP5
00002917: PUSH1 0x01
00002919: PUSH1 0x01
0000291b: PUSH1 0xa0
0000291d: SHL
0000291e: SUB
0000291f: AND
00002920: PUSH4 0x439fab91
00002925: PUSH1 0xe0
00002927: SHL
00002928: DUP6
00002929: DUP6
0000292a: PUSH1 0x40
0000292c: MLOAD
0000292d: PUSH1 0x24
0000292f: ADD
00002930: PUSH2 0x293a
00002933: SWAP3
00002934: SWAP2
00002935: SWAP1
00002936: PUSH2 0x464f
00002939: JUMP
0000293a: JUMPDEST
0000293b: PUSH1 0x40
0000293d: DUP1
0000293e: MLOAD
0000293f: PUSH1 0x1f
00002941: NOT
00002942: DUP2
00002943: DUP5
00002944: SUB
00002945: ADD
00002946: DUP2
00002947: MSTORE
00002948: SWAP2
00002949: DUP2
0000294a: MSTORE
0000294b: PUSH1 0x20
0000294d: DUP3
0000294e: ADD
0000294f: DUP1
00002950: MLOAD
00002951: PUSH1 0x01
00002953: PUSH1 0x01
00002955: PUSH1 0xe0
00002957: SHL
00002958: SUB
00002959: AND
0000295a: PUSH1 0x01
0000295c: PUSH1 0x01
0000295e: PUSH1 0xe0
00002960: SHL
00002961: SUB
00002962: NOT
00002963: SWAP1
00002964: SWAP5
00002965: AND
00002966: SWAP4
00002967: SWAP1
00002968: SWAP4
00002969: OR
0000296a: SWAP1
0000296b: SWAP3
0000296c: MSTORE
0000296d: SWAP1
0000296e: MLOAD
0000296f: PUSH2 0x2978
00002972: SWAP2
00002973: SWAP1
00002974: PUSH2 0x467d
00002977: JUMP
00002978: JUMPDEST
00002979: PUSH0
0000297a: PUSH1 0x40
0000297c: MLOAD
0000297d: DUP1
0000297e: DUP4
0000297f: SUB
00002980: DUP2
00002981: DUP6
00002982: GAS
00002983: DELEGATECALL
00002984: SWAP2
00002985: POP
00002986: POP
00002987: RETURNDATASIZE
00002988: DUP1
00002989: PUSH0
0000298a: DUP2
0000298b: EQ
0000298c: PUSH2 0x29b0
0000298f: JUMPI
00002990: PUSH1 0x40
00002992: MLOAD
00002993: SWAP2
00002994: POP
00002995: PUSH1 0x1f
00002997: NOT
00002998: PUSH1 0x3f
0000299a: RETURNDATASIZE
0000299b: ADD
0000299c: AND
0000299d: DUP3
0000299e: ADD
0000299f: PUSH1 0x40
000029a1: MSTORE
000029a2: RETURNDATASIZE
000029a3: DUP3
000029a4: MSTORE
000029a5: RETURNDATASIZE
000029a6: PUSH0
000029a7: PUSH1 0x20
000029a9: DUP5
000029aa: ADD
000029ab: RETURNDATACOPY
000029ac: PUSH2 0x29b5
000029af: JUMP
000029b0: JUMPDEST
000029b1: PUSH1 0x60
000029b3: SWAP2
000029b4: POP
000029b5: JUMPDEST
000029b6: POP
000029b7: SWAP2
000029b8: POP
000029b9: SWAP2
000029ba: POP
000029bb: DUP2
000029bc: DUP2
000029bd: SWAP1
000029be: PUSH2 0x29da
000029c1: JUMPI
000029c2: PUSH1 0x40
000029c4: MLOAD
000029c5: PUSH3 0x461bcd
000029c9: PUSH1 0xe5
000029cb: SHL
000029cc: DUP2
000029cd: MSTORE
000029ce: PUSH1 0x04
000029d0: ADD
000029d1: PUSH2 0x0b55
000029d4: SWAP2
000029d5: SWAP1
000029d6: PUSH2 0x442b
000029d9: JUMP
000029da: JUMPDEST
000029db: POP
000029dc: DUP1
000029dd: MLOAD
000029de: DUP2
000029df: SWAP1
000029e0: ISZERO
000029e1: PUSH2 0x29fd
000029e4: JUMPI
000029e5: PUSH1 0x40
000029e7: MLOAD
000029e8: PUSH3 0x461bcd
000029ec: PUSH1 0xe5
000029ee: SHL
000029ef: DUP2
000029f0: MSTORE
000029f1: PUSH1 0x04
000029f3: ADD
000029f4: PUSH2 0x0b55
000029f7: SWAP2
000029f8: SWAP1
000029f9: PUSH2 0x442b
000029fc: JUMP
000029fd: JUMPDEST
000029fe: POP
000029ff: POP
00002a00: POP
00002a01: POP
00002a02: POP
00002a03: POP
00002a04: JUMP
00002a05: JUMPDEST
00002a06: PUSH0
00002a07: DUP1
00002a08: PUSH2 0x2a0f
00002a0b: PUSH2 0x2761
00002a0e: JUMP
00002a0f: JUMPDEST
00002a10: PUSH1 0x01
00002a12: PUSH1 0x01
00002a14: PUSH1 0xa0
00002a16: SHL
00002a17: SUB
00002a18: AND
00002a19: EQ
00002a1a: ISZERO
00002a1b: SWAP1
00002a1c: POP
00002a1d: SWAP1
00002a1e: JUMP
00002a1f: JUMPDEST
00002a20: PUSH1 0x40
00002a22: DUP2
00002a23: EQ
00002a24: PUSH2 0x2a63
00002a27: JUMPI
00002a28: PUSH1 0x40
00002a2a: MLOAD
00002a2b: PUSH3 0x461bcd
00002a2f: PUSH1 0xe5
00002a31: SHL
00002a32: DUP2
00002a33: MSTORE
00002a34: PUSH1 0x20
00002a36: PUSH1 0x04
00002a38: DUP3
00002a39: ADD
00002a3a: MSTORE
00002a3b: PUSH1 0x11
00002a3d: PUSH1 0x24
00002a3f: DUP3
00002a40: ADD
00002a41: MSTORE
00002a42: PUSH17 0x494c4c4547414c5f444154415f53495a45
00002a54: PUSH1 0x78
00002a56: SHL
00002a57: PUSH1 0x44
00002a59: DUP3
00002a5a: ADD
00002a5b: MSTORE
00002a5c: PUSH1 0x64
00002a5e: ADD
00002a5f: PUSH2 0x0b55
00002a62: JUMP
00002a63: JUMPDEST
00002a64: PUSH0
00002a65: DUP1
00002a66: PUSH2 0x2a71
00002a69: DUP4
00002a6a: DUP6
00002a6b: ADD
00002a6c: DUP6
00002a6d: PUSH2 0x4698
00002a70: JUMP
00002a71: JUMPDEST
00002a72: SWAP2
00002a73: POP
00002a74: SWAP2
00002a75: POP
00002a76: PUSH2 0x2a88
00002a79: DUP2
00002a7a: PUSH1 0x01
00002a7c: PUSH1 0x01
00002a7e: PUSH1 0xa0
00002a80: SHL
00002a81: SUB
00002a82: AND
00002a83: EXTCODESIZE
00002a84: ISZERO
00002a85: ISZERO
00002a86: SWAP1
00002a87: JUMP
00002a88: JUMPDEST
00002a89: PUSH2 0x2adf
00002a8c: JUMPI
00002a8d: PUSH1 0x40
00002a8f: MLOAD
00002a90: PUSH3 0x461bcd
00002a94: PUSH1 0xe5
00002a96: SHL
00002a97: DUP2
00002a98: MSTORE
00002a99: PUSH1 0x20
00002a9b: PUSH1 0x04
00002a9d: DUP3
00002a9e: ADD
00002a9f: MSTORE
00002aa0: PUSH1 0x22
00002aa2: PUSH1 0x24
00002aa4: DUP3
00002aa5: ADD
00002aa6: MSTORE
00002aa7: PUSH32 0x494e56414c49445f4d4553534147494e475f434f4e54524143545f4144445245
00002ac8: PUSH1 0x44
00002aca: DUP3
00002acb: ADD
00002acc: MSTORE
00002acd: PUSH2 0x5353
00002ad0: PUSH1 0xf0
00002ad2: SHL
00002ad3: PUSH1 0x64
00002ad5: DUP3
00002ad6: ADD
00002ad7: MSTORE
00002ad8: PUSH1 0x84
00002ada: ADD
00002adb: PUSH2 0x0b55
00002ade: JUMP
00002adf: JUMPDEST
00002ae0: PUSH1 0x01
00002ae2: PUSH1 0x01
00002ae4: PUSH1 0xa0
00002ae6: SHL
00002ae7: SUB
00002ae8: DUP3
00002ae9: AND
00002aea: EXTCODESIZE
00002aeb: PUSH2 0x2111
00002aee: JUMPI
00002aef: PUSH1 0x40
00002af1: MLOAD
00002af2: PUSH3 0x461bcd
00002af6: PUSH1 0xe5
00002af8: SHL
00002af9: DUP2
00002afa: MSTORE
00002afb: PUSH1 0x20
00002afd: PUSH1 0x04
00002aff: DUP3
00002b00: ADD
00002b01: DUP2
00002b02: SWAP1
00002b03: MSTORE
00002b04: PUSH1 0x24
00002b06: DUP3
00002b07: ADD
00002b08: MSTORE
00002b09: PUSH32 0x494e56414c49445f4d414e414745525f434f4e54524143545f41444452455353
00002b2a: PUSH1 0x44
00002b2c: DUP3
00002b2d: ADD
00002b2e: MSTORE
00002b2f: PUSH1 0x64
00002b31: ADD
00002b32: PUSH2 0x0b55
00002b35: JUMP
00002b36: JUMPDEST
00002b37: PUSH0
00002b38: DUP1
00002b39: PUSH2 0x2b44
00002b3c: DUP4
00002b3d: DUP6
00002b3e: ADD
00002b3f: DUP6
00002b40: PUSH2 0x4698
00002b43: JUMP
00002b44: JUMPDEST
00002b45: SWAP2
00002b46: POP
00002b47: SWAP2
00002b48: POP
00002b49: PUSH2 0x2b51
00002b4c: DUP2
00002b4d: PUSH2 0x37a7
00002b50: JUMP
00002b51: JUMPDEST
00002b52: PUSH2 0x2b5a
00002b55: DUP3
00002b56: PUSH2 0x37c9
00002b59: JUMP
00002b5a: JUMPDEST
00002b5b: PUSH2 0x2111
00002b5e: PUSH1 0x05
00002b60: PUSH2 0x37eb
00002b63: JUMP
00002b64: JUMPDEST
00002b65: CALLER
00002b66: PUSH2 0x0a95
00002b69: DUP2
00002b6a: DUP1
00002b6b: PUSH2 0x380d
00002b6e: JUMP
00002b6f: JUMPDEST
00002b70: PUSH0
00002b71: PUSH2 0x2b79
00002b74: DUP3
00002b75: PUSH2 0x390f
00002b78: JUMP
00002b79: JUMPDEST
00002b7a: PUSH2 0x2b86
00002b7d: JUMPI
00002b7e: PUSH2 0x1298
00002b81: DUP3
00002b82: PUSH2 0x393a
00002b85: JUMP
00002b86: JUMPDEST
00002b87: PUSH2 0x1298
00002b8a: DUP3
00002b8b: PUSH2 0x39e9
00002b8e: JUMP
00002b8f: JUMPDEST
00002b90: PUSH0
00002b91: PUSH2 0x0c8f
00002b94: PUSH5 0x012a05f200
00002b9a: PUSH3 0x0186a0
00002b9e: PUSH2 0x4534
00002ba1: JUMP
00002ba2: JUMPDEST
00002ba3: PUSH2 0x2baa
00002ba6: PUSH2 0x2783
00002ba9: JUMP
00002baa: JUMPDEST
00002bab: PUSH0
00002bac: SUB
00002bad: PUSH2 0x2bec
00002bb0: JUMPI
00002bb1: PUSH1 0x40
00002bb3: MLOAD
00002bb4: PUSH3 0x461bcd
00002bb8: PUSH1 0xe5
00002bba: SHL
00002bbb: DUP2
00002bbc: MSTORE
00002bbd: PUSH1 0x20
00002bbf: PUSH1 0x04
00002bc1: DUP3
00002bc2: ADD
00002bc3: MSTORE
00002bc4: PUSH1 0x11
00002bc6: PUSH1 0x24
00002bc8: DUP3
00002bc9: ADD
00002bca: MSTORE
00002bcb: PUSH17 0x130c97d094925111d157d393d517d4d155
00002bdd: PUSH1 0x7a
00002bdf: SHL
00002be0: PUSH1 0x44
00002be2: DUP3
00002be3: ADD
00002be4: MSTORE
00002be5: PUSH1 0x64
00002be7: ADD
00002be8: PUSH2 0x0b55
00002beb: JUMP
00002bec: JUMPDEST
00002bed: PUSH1 0x01
00002bef: PUSH1 0x01
00002bf1: PUSH1 0xa0
00002bf3: SHL
00002bf4: SUB
00002bf5: DUP2
00002bf6: AND
00002bf7: PUSH0
00002bf8: PUSH1 0x01
00002bfa: PUSH2 0x2c05
00002bfd: PUSH1 0x80
00002bff: PUSH1 0x02
00002c01: PUSH2 0x47a4
00002c04: JUMP
00002c05: JUMPDEST
00002c06: PUSH2 0x2c0f
00002c09: SWAP2
00002c0a: SWAP1
00002c0b: PUSH2 0x47af
00002c0e: JUMP
00002c0f: JUMPDEST
00002c10: PUSH1 0x40
00002c12: DUP1
00002c13: MLOAD
00002c14: PUSH1 0x05
00002c16: DUP1
00002c17: DUP3
00002c18: MSTORE
00002c19: PUSH1 0xc0
00002c1b: DUP3
00002c1c: ADD
00002c1d: SWAP1
00002c1e: SWAP3
00002c1f: MSTORE
00002c20: SWAP2
00002c21: DUP7
00002c22: AND
00002c23: SWAP3
00002c24: POP
00002c25: PUSH1 0x80
00002c27: DUP7
00002c28: SWAP1
00002c29: SHR
00002c2a: SWAP2
00002c2b: PUSH0
00002c2c: SWAP2
00002c2d: PUSH1 0x20
00002c2f: DUP3
00002c30: ADD
00002c31: PUSH1 0xa0
00002c33: DUP1
00002c34: CALLDATASIZE
00002c35: DUP4
00002c36: CALLDATACOPY
00002c37: ADD
00002c38: SWAP1
00002c39: POP
00002c3a: POP
00002c3b: SWAP1
00002c3c: POP
00002c3d: PUSH0
00002c3e: DUP2
00002c3f: PUSH0
00002c40: DUP2
00002c41: MLOAD
00002c42: DUP2
00002c43: LT
00002c44: PUSH2 0x2c4f
00002c47: JUMPI
00002c48: PUSH2 0x2c4f
00002c4b: PUSH2 0x47c2
00002c4e: JUMP
00002c4f: JUMPDEST
00002c50: PUSH1 0x20
00002c52: MUL
00002c53: PUSH1 0x20
00002c55: ADD
00002c56: ADD
00002c57: DUP2
00002c58: DUP2
00002c59: MSTORE
00002c5a: POP
00002c5b: POP
00002c5c: DUP4
00002c5d: DUP2
00002c5e: PUSH1 0x01
00002c60: DUP2
00002c61: MLOAD
00002c62: DUP2
00002c63: LT
00002c64: PUSH2 0x2c6f
00002c67: JUMPI
00002c68: PUSH2 0x2c6f
00002c6b: PUSH2 0x47c2
00002c6e: JUMP
00002c6f: JUMPDEST
00002c70: PUSH1 0x20
00002c72: MUL
00002c73: PUSH1 0x20
00002c75: ADD
00002c76: ADD
00002c77: DUP2
00002c78: DUP2
00002c79: MSTORE
00002c7a: POP
00002c7b: POP
00002c7c: DUP7
00002c7d: PUSH1 0x01
00002c7f: PUSH1 0x01
00002c81: PUSH1 0xa0
00002c83: SHL
00002c84: SUB
00002c85: AND
00002c86: DUP2
00002c87: PUSH1 0x02
00002c89: DUP2
00002c8a: MLOAD
00002c8b: DUP2
00002c8c: LT
00002c8d: PUSH2 0x2c98
00002c90: JUMPI
00002c91: PUSH2 0x2c98
00002c94: PUSH2 0x47c2
00002c97: JUMP
00002c98: JUMPDEST
00002c99: PUSH1 0x20
00002c9b: MUL
00002c9c: PUSH1 0x20
00002c9e: ADD
00002c9f: ADD
00002ca0: DUP2
00002ca1: DUP2
00002ca2: MSTORE
00002ca3: POP
00002ca4: POP
00002ca5: DUP3
00002ca6: DUP2
00002ca7: PUSH1 0x03
00002ca9: DUP2
00002caa: MLOAD
00002cab: DUP2
00002cac: LT
00002cad: PUSH2 0x2cb8
00002cb0: JUMPI
00002cb1: PUSH2 0x2cb8
00002cb4: PUSH2 0x47c2
00002cb7: JUMP
00002cb8: JUMPDEST
00002cb9: PUSH1 0x20
00002cbb: MUL
00002cbc: PUSH1 0x20
00002cbe: ADD
00002cbf: ADD
00002cc0: DUP2
00002cc1: DUP2
00002cc2: MSTORE
00002cc3: POP
00002cc4: POP
00002cc5: DUP2
00002cc6: DUP2
00002cc7: PUSH1 0x04
00002cc9: DUP2
00002cca: MLOAD
00002ccb: DUP2
00002ccc: LT
00002ccd: PUSH2 0x2cd8
00002cd0: JUMPI
00002cd1: PUSH2 0x2cd8
00002cd4: PUSH2 0x47c2
00002cd7: JUMP
00002cd8: JUMPDEST
00002cd9: PUSH1 0x20
00002cdb: MUL
00002cdc: PUSH1 0x20
00002cde: ADD
00002cdf: ADD
00002ce0: DUP2
00002ce1: DUP2
00002ce2: MSTORE
00002ce3: POP
00002ce4: POP
00002ce5: PUSH2 0x2cec
00002ce8: PUSH2 0x2761
00002ceb: JUMP
00002cec: JUMPDEST
00002ced: PUSH1 0x01
00002cef: PUSH1 0x01
00002cf1: PUSH1 0xa0
00002cf3: SHL
00002cf4: SUB
00002cf5: AND
00002cf6: PUSH4 0x2c9dd5c0
00002cfb: PUSH2 0x2d02
00002cfe: PUSH2 0x2783
00002d01: JUMP
00002d02: JUMPDEST
00002d03: DUP4
00002d04: PUSH1 0x40
00002d06: MLOAD
00002d07: DUP4
00002d08: PUSH4 0xffffffff
00002d0d: AND
00002d0e: PUSH1 0xe0
00002d10: SHL
00002d11: DUP2
00002d12: MSTORE
00002d13: PUSH1 0x04
00002d15: ADD
00002d16: PUSH2 0x2d20
00002d19: SWAP3
00002d1a: SWAP2
00002d1b: SWAP1
00002d1c: PUSH2 0x47d6
00002d1f: JUMP
00002d20: JUMPDEST
00002d21: PUSH1 0x20
00002d23: PUSH1 0x40
00002d25: MLOAD
00002d26: DUP1
00002d27: DUP4
00002d28: SUB
00002d29: DUP2
00002d2a: PUSH0
00002d2b: DUP8
00002d2c: GAS
00002d2d: CALL
00002d2e: SWAP3
00002d2f: POP
00002d30: POP
00002d31: POP
00002d32: DUP1
00002d33: ISZERO
00002d34: PUSH2 0x2d5a
00002d37: JUMPI
00002d38: POP
00002d39: PUSH1 0x40
00002d3b: DUP1
00002d3c: MLOAD
00002d3d: PUSH1 0x1f
00002d3f: RETURNDATASIZE
00002d40: SWAP1
00002d41: DUP2
00002d42: ADD
00002d43: PUSH1 0x1f
00002d45: NOT
00002d46: AND
00002d47: DUP3
00002d48: ADD
00002d49: SWAP1
00002d4a: SWAP3
00002d4b: MSTORE
00002d4c: PUSH2 0x2d57
00002d4f: SWAP2
00002d50: DUP2
00002d51: ADD
00002d52: SWAP1
00002d53: PUSH2 0x44d9
00002d56: JUMP
00002d57: JUMPDEST
00002d58: PUSH1 0x01
00002d5a: JUMPDEST
00002d5b: PUSH2 0x1ca0
00002d5e: JUMPI
00002d5f: PUSH2 0x2d66
00002d62: PUSH2 0x47ee
00002d65: JUMP
00002d66: JUMPDEST
00002d67: DUP1
00002d68: PUSH4 0x08c379a0
00002d6d: SUB
00002d6e: PUSH2 0x2ea8
00002d71: JUMPI
00002d72: POP
00002d73: PUSH2 0x2d7a
00002d76: PUSH2 0x4840
00002d79: JUMP
00002d7a: JUMPDEST
00002d7b: DUP1
00002d7c: PUSH2 0x2d85
00002d7f: JUMPI
00002d80: POP
00002d81: PUSH2 0x2eaa
00002d84: JUMP
00002d85: JUMPDEST
00002d86: PUSH1 0x40
00002d88: DUP1
00002d89: MLOAD
00002d8a: PUSH1 0x04
00002d8c: DUP1
00002d8d: DUP3
00002d8e: MSTORE
00002d8f: PUSH1 0xa0
00002d91: DUP3
00002d92: ADD
00002d93: SWAP1
00002d94: SWAP3
00002d95: MSTORE
00002d96: SWAP1
00002d97: PUSH1 0x20
00002d99: DUP3
00002d9a: ADD
00002d9b: PUSH1 0x80
00002d9d: DUP1
00002d9e: CALLDATASIZE
00002d9f: DUP4
00002da0: CALLDATACOPY
00002da1: ADD
00002da2: SWAP1
00002da3: POP
00002da4: POP
00002da5: SWAP2
00002da6: POP
00002da7: PUSH0
00002da8: DUP3
00002da9: PUSH0
00002daa: DUP2
00002dab: MLOAD
00002dac: DUP2
00002dad: LT
00002dae: PUSH2 0x2db9
00002db1: JUMPI
00002db2: PUSH2 0x2db9
00002db5: PUSH2 0x47c2
00002db8: JUMP
00002db9: JUMPDEST
00002dba: PUSH1 0x20
00002dbc: MUL
00002dbd: PUSH1 0x20
00002dbf: ADD
00002dc0: ADD
00002dc1: DUP2
00002dc2: DUP2
00002dc3: MSTORE
00002dc4: POP
00002dc5: POP
00002dc6: DUP5
00002dc7: DUP3
00002dc8: PUSH1 0x01
00002dca: DUP2
00002dcb: MLOAD
00002dcc: DUP2
00002dcd: LT
00002dce: PUSH2 0x2dd9
00002dd1: JUMPI
00002dd2: PUSH2 0x2dd9
00002dd5: PUSH2 0x47c2
00002dd8: JUMP
00002dd9: JUMPDEST
00002dda: PUSH1 0x20
00002ddc: MUL
00002ddd: PUSH1 0x20
00002ddf: ADD
00002de0: ADD
00002de1: DUP2
00002de2: DUP2
00002de3: MSTORE
00002de4: POP
00002de5: POP
00002de6: DUP4
00002de7: DUP3
00002de8: PUSH1 0x02
00002dea: DUP2
00002deb: MLOAD
00002dec: DUP2
00002ded: LT
00002dee: PUSH2 0x2df9
00002df1: JUMPI
00002df2: PUSH2 0x2df9
00002df5: PUSH2 0x47c2
00002df8: JUMP
00002df9: JUMPDEST
00002dfa: PUSH1 0x20
00002dfc: MUL
00002dfd: PUSH1 0x20
00002dff: ADD
00002e00: ADD
00002e01: DUP2
00002e02: DUP2
00002e03: MSTORE
00002e04: POP
00002e05: POP
00002e06: DUP3
00002e07: DUP3
00002e08: PUSH1 0x03
00002e0a: DUP2
00002e0b: MLOAD
00002e0c: DUP2
00002e0d: LT
00002e0e: PUSH2 0x2e19
00002e11: JUMPI
00002e12: PUSH2 0x2e19
00002e15: PUSH2 0x47c2
00002e18: JUMP
00002e19: JUMPDEST
00002e1a: PUSH1 0x20
00002e1c: MUL
00002e1d: PUSH1 0x20
00002e1f: ADD
00002e20: ADD
00002e21: DUP2
00002e22: DUP2
00002e23: MSTORE
00002e24: POP
00002e25: POP
00002e26: PUSH2 0x2e2d
00002e29: PUSH2 0x2761
00002e2c: JUMP
00002e2d: JUMPDEST
00002e2e: PUSH1 0x01
00002e30: PUSH1 0x01
00002e32: PUSH1 0xa0
00002e34: SHL
00002e35: SUB
00002e36: AND
00002e37: PUSH4 0x2c9dd5c0
00002e3c: PUSH2 0x2e43
00002e3f: PUSH2 0x2783
00002e42: JUMP
00002e43: JUMPDEST
00002e44: DUP5
00002e45: PUSH1 0x40
00002e47: MLOAD
00002e48: DUP4
00002e49: PUSH4 0xffffffff
00002e4e: AND
00002e4f: PUSH1 0xe0
00002e51: SHL
00002e52: DUP2
00002e53: MSTORE
00002e54: PUSH1 0x04
00002e56: ADD
00002e57: PUSH2 0x2e61
00002e5a: SWAP3
00002e5b: SWAP2
00002e5c: SWAP1
00002e5d: PUSH2 0x47d6
00002e60: JUMP
00002e61: JUMPDEST
00002e62: PUSH1 0x20
00002e64: PUSH1 0x40
00002e66: MLOAD
00002e67: DUP1
00002e68: DUP4
00002e69: SUB
00002e6a: DUP2
00002e6b: PUSH0
00002e6c: DUP8
00002e6d: GAS
00002e6e: CALL
00002e6f: ISZERO
00002e70: DUP1
00002e71: ISZERO
00002e72: PUSH2 0x2e7d
00002e75: JUMPI
00002e76: RETURNDATASIZE
00002e77: PUSH0
00002e78: DUP1
00002e79: RETURNDATACOPY
00002e7a: RETURNDATASIZE
00002e7b: PUSH0
00002e7c: REVERT
00002e7d: JUMPDEST
00002e7e: POP
00002e7f: POP
00002e80: POP
00002e81: POP
00002e82: PUSH1 0x40
00002e84: MLOAD
00002e85: RETURNDATASIZE
00002e86: PUSH1 0x1f
00002e88: NOT
00002e89: PUSH1 0x1f
00002e8b: DUP3
00002e8c: ADD
00002e8d: AND
00002e8e: DUP3
00002e8f: ADD
00002e90: DUP1
00002e91: PUSH1 0x40
00002e93: MSTORE
00002e94: POP
00002e95: DUP2
00002e96: ADD
00002e97: SWAP1
00002e98: PUSH2 0x2ea1
00002e9b: SWAP2
00002e9c: SWAP1
00002e9d: PUSH2 0x44d9
00002ea0: JUMP
00002ea1: JUMPDEST
00002ea2: POP
00002ea3: POP
00002ea4: PUSH2 0x0bbd
00002ea7: JUMP
00002ea8: JUMPDEST
00002ea9: POP
00002eaa: JUMPDEST
00002eab: RETURNDATASIZE
00002eac: PUSH0
00002ead: DUP1
00002eae: RETURNDATACOPY
00002eaf: RETURNDATASIZE
00002eb0: PUSH0
00002eb1: REVERT
00002eb2: JUMPDEST
00002eb3: PUSH0
00002eb4: PUSH2 0x2ebc
00002eb7: DUP4
00002eb8: PUSH2 0x2b6f
00002ebb: JUMP
00002ebc: JUMPDEST
00002ebd: SWAP1
00002ebe: POP
00002ebf: DUP2
00002ec0: DUP2
00002ec1: LT
00002ec2: ISZERO
00002ec3: PUSH2 0x2f0e
00002ec6: JUMPI
00002ec7: PUSH1 0x40
00002ec9: MLOAD
00002eca: PUSH3 0x461bcd
00002ece: PUSH1 0xe5
00002ed0: SHL
00002ed1: DUP2
00002ed2: MSTORE
00002ed3: PUSH1 0x20
00002ed5: PUSH1 0x04
00002ed7: DUP3
00002ed8: ADD
00002ed9: MSTORE
00002eda: PUSH1 0x1d
00002edc: PUSH1 0x24
00002ede: DUP3
00002edf: ADD
00002ee0: MSTORE
00002ee1: PUSH32 0x455843454544535f474c4f42414c5f57495448445241575f4c494d4954000000
00002f02: PUSH1 0x44
00002f04: DUP3
00002f05: ADD
00002f06: MSTORE
00002f07: PUSH1 0x64
00002f09: ADD
00002f0a: PUSH2 0x0b55
00002f0d: JUMP
00002f0e: JUMPDEST
00002f0f: PUSH2 0x23e7
00002f12: DUP4
00002f13: PUSH2 0x2f1c
00002f16: DUP5
00002f17: DUP5
00002f18: PUSH2 0x47af
00002f1b: JUMP
00002f1c: JUMPDEST
00002f1d: PUSH2 0x3a16
00002f20: JUMP
00002f21: JUMPDEST
00002f22: PUSH0
00002f23: PUSH2 0x0c8f
00002f26: PUSH1 0x40
00002f28: MLOAD
00002f29: DUP1
00002f2a: PUSH1 0x60
00002f2c: ADD
00002f2d: PUSH1 0x40
00002f2f: MSTORE
00002f30: DUP1
00002f31: PUSH1 0x29
00002f33: DUP2
00002f34: MSTORE
00002f35: PUSH1 0x20
00002f37: ADD
00002f38: PUSH2 0x4b70
00002f3b: PUSH1 0x29
00002f3d: SWAP2
00002f3e: CODECOPY
00002f3f: PUSH2 0x3a47
00002f42: JUMP
00002f43: JUMPDEST
00002f44: PUSH1 0x40
00002f46: DUP1
00002f47: MLOAD
00002f48: PUSH1 0x03
00002f4a: DUP1
00002f4b: DUP3
00002f4c: MSTORE
00002f4d: PUSH1 0x80
00002f4f: DUP3
00002f50: ADD
00002f51: SWAP1
00002f52: SWAP3
00002f53: MSTORE
00002f54: PUSH1 0x60
00002f56: SWAP2
00002f57: PUSH0
00002f58: SWAP2
00002f59: SWAP1
00002f5a: PUSH1 0x20
00002f5c: DUP3
00002f5d: ADD
00002f5e: DUP5
00002f5f: DUP1
00002f60: CALLDATASIZE
00002f61: DUP4
00002f62: CALLDATACOPY
00002f63: ADD
00002f64: SWAP1
00002f65: POP
00002f66: POP
00002f67: SWAP1
00002f68: POP
00002f69: DUP3
00002f6a: DUP2
00002f6b: PUSH0
00002f6c: DUP2
00002f6d: MLOAD
00002f6e: DUP2
00002f6f: LT
00002f70: PUSH2 0x2f7b
00002f73: JUMPI
00002f74: PUSH2 0x2f7b
00002f77: PUSH2 0x47c2
00002f7a: JUMP
00002f7b: JUMPDEST
00002f7c: PUSH1 0x20
00002f7e: SWAP1
00002f7f: DUP2
00002f80: MUL
00002f81: SWAP2
00002f82: SWAP1
00002f83: SWAP2
00002f84: ADD
00002f85: ADD
00002f86: MSTORE
00002f87: PUSH1 0x01
00002f89: PUSH2 0x2f94
00002f8c: PUSH1 0x80
00002f8e: PUSH1 0x02
00002f90: PUSH2 0x47a4
00002f93: JUMP
00002f94: JUMPDEST
00002f95: PUSH2 0x2f9e
00002f98: SWAP2
00002f99: SWAP1
00002f9a: PUSH2 0x47af
00002f9d: JUMP
00002f9e: JUMPDEST
00002f9f: DUP5
00002fa0: AND
00002fa1: DUP2
00002fa2: PUSH1 0x01
00002fa4: DUP2
00002fa5: MLOAD
00002fa6: DUP2
00002fa7: LT
00002fa8: PUSH2 0x2fb3
00002fab: JUMPI
00002fac: PUSH2 0x2fb3
00002faf: PUSH2 0x47c2
00002fb2: JUMP
00002fb3: JUMPDEST
00002fb4: PUSH1 0x20
00002fb6: MUL
00002fb7: PUSH1 0x20
00002fb9: ADD
00002fba: ADD
00002fbb: DUP2
00002fbc: DUP2
00002fbd: MSTORE
00002fbe: POP
00002fbf: POP
00002fc0: PUSH1 0x80
00002fc2: DUP5
00002fc3: SWAP1
00002fc4: SHR
00002fc5: DUP2
00002fc6: PUSH1 0x02
00002fc8: DUP2
00002fc9: MLOAD
00002fca: DUP2
00002fcb: LT
00002fcc: PUSH2 0x2fd7
00002fcf: JUMPI
00002fd0: PUSH2 0x2fd7
00002fd3: PUSH2 0x47c2
00002fd6: JUMP
00002fd7: JUMPDEST
00002fd8: PUSH1 0x20
00002fda: SWAP1
00002fdb: DUP2
00002fdc: MUL
00002fdd: SWAP2
00002fde: SWAP1
00002fdf: SWAP2
00002fe0: ADD
00002fe1: ADD
00002fe2: MSTORE
00002fe3: SWAP4
00002fe4: SWAP3
00002fe5: POP
00002fe6: POP
00002fe7: POP
00002fe8: JUMP
00002fe9: JUMPDEST
00002fea: PUSH0
00002feb: DUP2
00002fec: ISZERO
00002fed: DUP1
00002fee: ISZERO
00002fef: SWAP1
00002ff0: PUSH2 0x1298
00002ff3: JUMPI
00002ff4: POP
00002ff5: PUSH2 0x1298
00002ff8: DUP3
00002ff9: PUSH1 0x01
00002ffb: PUSH8 0x0800000000000011
00003004: PUSH1 0xc0
00003006: SHL
00003007: ADD
00003008: GT
00003009: SWAP1
0000300a: JUMP
0000300b: JUMPDEST
0000300c: PUSH2 0x0a95
0000300f: PUSH1 0x40
00003011: MLOAD
00003012: DUP1
00003013: PUSH1 0x60
00003015: ADD
00003016: PUSH1 0x40
00003018: MSTORE
00003019: DUP1
0000301a: PUSH1 0x27
0000301c: DUP2
0000301d: MSTORE
0000301e: PUSH1 0x20
00003020: ADD
00003021: PUSH2 0x4a98
00003024: PUSH1 0x27
00003026: SWAP2
00003027: CODECOPY
00003028: DUP3
00003029: PUSH2 0x3a79
0000302c: JUMP
0000302d: JUMPDEST
0000302e: PUSH0
0000302f: PUSH2 0x0c8f
00003032: PUSH5 0x012a05f200
00003038: PUSH2 0x4e20
0000303b: PUSH2 0x4534
0000303e: JUMP
0000303f: JUMPDEST
00003040: PUSH1 0x60
00003042: PUSH0
00003043: DUP4
00003044: PUSH2 0x304e
00003047: JUMPI
00003048: PUSH1 0x05
0000304a: PUSH2 0x305a
0000304d: JUMP
0000304e: JUMPDEST
0000304f: PUSH2 0x305a
00003052: PUSH1 0x01
00003054: PUSH1 0x05
00003056: PUSH2 0x454b
00003059: JUMP
0000305a: JUMPDEST
0000305b: SWAP1
0000305c: POP
0000305d: PUSH0
0000305e: DUP4
0000305f: MLOAD
00003060: DUP3
00003061: PUSH2 0x306a
00003064: SWAP2
00003065: SWAP1
00003066: PUSH2 0x454b
00003069: JUMP
0000306a: JUMPDEST
0000306b: PUSH8 0xffffffffffffffff
00003074: DUP2
00003075: GT
00003076: ISZERO
00003077: PUSH2 0x3082
0000307a: JUMPI
0000307b: PUSH2 0x3082
0000307e: PUSH2 0x445d
00003081: JUMP
00003082: JUMPDEST
00003083: PUSH1 0x40
00003085: MLOAD
00003086: SWAP1
00003087: DUP1
00003088: DUP3
00003089: MSTORE
0000308a: DUP1
0000308b: PUSH1 0x20
0000308d: MUL
0000308e: PUSH1 0x20
00003090: ADD
00003091: DUP3
00003092: ADD
00003093: PUSH1 0x40
00003095: MSTORE
00003096: DUP1
00003097: ISZERO
00003098: PUSH2 0x30ab
0000309b: JUMPI
0000309c: DUP2
0000309d: PUSH1 0x20
0000309f: ADD
000030a0: PUSH1 0x20
000030a2: DUP3
000030a3: MUL
000030a4: DUP1
000030a5: CALLDATASIZE
000030a6: DUP4
000030a7: CALLDATACOPY
000030a8: ADD
000030a9: SWAP1
000030aa: POP
000030ab: JUMPDEST
000030ac: POP
000030ad: SWAP1
000030ae: POP
000030af: DUP8
000030b0: PUSH1 0x01
000030b2: PUSH1 0x01
000030b4: PUSH1 0xa0
000030b6: SHL
000030b7: SUB
000030b8: AND
000030b9: DUP2
000030ba: PUSH0
000030bb: DUP2
000030bc: MLOAD
000030bd: DUP2
000030be: LT
000030bf: PUSH2 0x30ca
000030c2: JUMPI
000030c3: PUSH2 0x30ca
000030c6: PUSH2 0x47c2
000030c9: JUMP
000030ca: JUMPDEST
000030cb: PUSH1 0x20
000030cd: MUL
000030ce: PUSH1 0x20
000030d0: ADD
000030d1: ADD
000030d2: DUP2
000030d3: DUP2
000030d4: MSTORE
000030d5: POP
000030d6: POP
000030d7: CALLER
000030d8: PUSH1 0x01
000030da: PUSH1 0x01
000030dc: PUSH1 0xa0
000030de: SHL
000030df: SUB
000030e0: AND
000030e1: DUP2
000030e2: PUSH1 0x01
000030e4: DUP2
000030e5: MLOAD
000030e6: DUP2
000030e7: LT
000030e8: PUSH2 0x30f3
000030eb: JUMPI
000030ec: PUSH2 0x30f3
000030ef: PUSH2 0x47c2
000030f2: JUMP
000030f3: JUMPDEST
000030f4: PUSH1 0x20
000030f6: MUL
000030f7: PUSH1 0x20
000030f9: ADD
000030fa: ADD
000030fb: DUP2
000030fc: DUP2
000030fd: MSTORE
000030fe: POP
000030ff: POP
00003100: DUP6
00003101: DUP2
00003102: PUSH1 0x02
00003104: DUP2
00003105: MLOAD
00003106: DUP2
00003107: LT
00003108: PUSH2 0x3113
0000310b: JUMPI
0000310c: PUSH2 0x3113
0000310f: PUSH2 0x47c2
00003112: JUMP
00003113: JUMPDEST
00003114: PUSH1 0x20
00003116: SWAP1
00003117: DUP2
00003118: MUL
00003119: SWAP2
0000311a: SWAP1
0000311b: SWAP2
0000311c: ADD
0000311d: ADD
0000311e: MSTORE
0000311f: PUSH1 0x01
00003121: PUSH2 0x312c
00003124: PUSH1 0x80
00003126: PUSH1 0x02
00003128: PUSH2 0x47a4
0000312b: JUMP
0000312c: JUMPDEST
0000312d: PUSH2 0x3136
00003130: SWAP2
00003131: SWAP1
00003132: PUSH2 0x47af
00003135: JUMP
00003136: JUMPDEST
00003137: DUP8
00003138: AND
00003139: DUP2
0000313a: PUSH1 0x03
0000313c: DUP2
0000313d: MLOAD
0000313e: DUP2
0000313f: LT
00003140: PUSH2 0x314b
00003143: JUMPI
00003144: PUSH2 0x314b
00003147: PUSH2 0x47c2
0000314a: JUMP
0000314b: JUMPDEST
0000314c: PUSH1 0x20
0000314e: MUL
0000314f: PUSH1 0x20
00003151: ADD
00003152: ADD
00003153: DUP2
00003154: DUP2
00003155: MSTORE
00003156: POP
00003157: POP
00003158: PUSH1 0x80
0000315a: DUP8
0000315b: SWAP1
0000315c: SHR
0000315d: DUP2
0000315e: PUSH1 0x04
00003160: DUP2
00003161: MLOAD
00003162: DUP2
00003163: LT
00003164: PUSH2 0x316f
00003167: JUMPI
00003168: PUSH2 0x316f
0000316b: PUSH2 0x47c2
0000316e: JUMP
0000316f: JUMPDEST
00003170: PUSH1 0x20
00003172: MUL
00003173: PUSH1 0x20
00003175: ADD
00003176: ADD
00003177: DUP2
00003178: DUP2
00003179: MSTORE
0000317a: POP
0000317b: POP
0000317c: DUP5
0000317d: ISZERO
0000317e: PUSH2 0x327f
00003181: JUMPI
00003182: DUP4
00003183: MLOAD
00003184: DUP2
00003185: PUSH2 0x318f
00003188: PUSH1 0x01
0000318a: DUP6
0000318b: PUSH2 0x47af
0000318e: JUMP
0000318f: JUMPDEST
00003190: DUP2
00003191: MLOAD
00003192: DUP2
00003193: LT
00003194: PUSH2 0x319f
00003197: JUMPI
00003198: PUSH2 0x319f
0000319b: PUSH2 0x47c2
0000319e: JUMP
0000319f: JUMPDEST
000031a0: PUSH1 0x20
000031a2: MUL
000031a3: PUSH1 0x20
000031a5: ADD
000031a6: ADD
000031a7: DUP2
000031a8: DUP2
000031a9: MSTORE
000031aa: POP
000031ab: POP
000031ac: PUSH0
000031ad: JUMPDEST
000031ae: DUP5
000031af: MLOAD
000031b0: DUP2
000031b1: LT
000031b2: ISZERO
000031b3: PUSH2 0x327d
000031b6: JUMPI
000031b7: PUSH2 0x31e6
000031ba: DUP6
000031bb: DUP3
000031bc: DUP2
000031bd: MLOAD
000031be: DUP2
000031bf: LT
000031c0: PUSH2 0x31cb
000031c3: JUMPI
000031c4: PUSH2 0x31cb
000031c7: PUSH2 0x47c2
000031ca: JUMP
000031cb: JUMPDEST
000031cc: PUSH1 0x20
000031ce: MUL
000031cf: PUSH1 0x20
000031d1: ADD
000031d2: ADD
000031d3: MLOAD
000031d4: PUSH1 0x01
000031d6: PUSH8 0x0800000000000011
000031df: PUSH1 0xc0
000031e1: SHL
000031e2: ADD
000031e3: GT
000031e4: SWAP1
000031e5: JUMP
000031e6: JUMPDEST
000031e7: PUSH2 0x3229
000031ea: JUMPI
000031eb: PUSH1 0x40
000031ed: MLOAD
000031ee: PUSH3 0x461bcd
000031f2: PUSH1 0xe5
000031f4: SHL
000031f5: DUP2
000031f6: MSTORE
000031f7: PUSH1 0x20
000031f9: PUSH1 0x04
000031fb: DUP3
000031fc: ADD
000031fd: MSTORE
000031fe: PUSH1 0x14
00003200: PUSH1 0x24
00003202: DUP3
00003203: ADD
00003204: MSTORE
00003205: PUSH20 0x494e56414c49445f4d4553534147455f44415441
0000321a: PUSH1 0x60
0000321c: SHL
0000321d: PUSH1 0x44
0000321f: DUP3
00003220: ADD
00003221: MSTORE
00003222: PUSH1 0x64
00003224: ADD
00003225: PUSH2 0x0b55
00003228: JUMP
00003229: JUMPDEST
0000322a: DUP5
0000322b: DUP2
0000322c: DUP2
0000322d: MLOAD
0000322e: DUP2
0000322f: LT
00003230: PUSH2 0x323b
00003233: JUMPI
00003234: PUSH2 0x323b
00003237: PUSH2 0x47c2
0000323a: JUMP
0000323b: JUMPDEST
0000323c: PUSH1 0x20
0000323e: MUL
0000323f: PUSH1 0x20
00003241: ADD
00003242: ADD
00003243: MLOAD
00003244: DUP3
00003245: DUP5
00003246: DUP4
00003247: PUSH2 0x3250
0000324a: SWAP2
0000324b: SWAP1
0000324c: PUSH2 0x454b
0000324f: JUMP
00003250: JUMPDEST
00003251: DUP2
00003252: MLOAD
00003253: DUP2
00003254: LT
00003255: PUSH2 0x3260
00003258: JUMPI
00003259: PUSH2 0x3260
0000325c: PUSH2 0x47c2
0000325f: JUMP
00003260: JUMPDEST
00003261: PUSH1 0x20
00003263: SWAP1
00003264: DUP2
00003265: MUL
00003266: SWAP2
00003267: SWAP1
00003268: SWAP2
00003269: ADD
0000326a: ADD
0000326b: MSTORE
0000326c: DUP1
0000326d: PUSH2 0x3275
00003270: DUP2
00003271: PUSH2 0x48c9
00003274: JUMP
00003275: JUMPDEST
00003276: SWAP2
00003277: POP
00003278: POP
00003279: PUSH2 0x31ad
0000327c: JUMP
0000327d: JUMPDEST
0000327e: POP
0000327f: JUMPDEST
00003280: SWAP8
00003281: SWAP7
00003282: POP
00003283: POP
00003284: POP
00003285: POP
00003286: POP
00003287: POP
00003288: POP
00003289: JUMP
0000328a: JUMPDEST
0000328b: PUSH0
0000328c: DUP1
0000328d: DUP3
0000328e: PUSH1 0x40
00003290: MLOAD
00003291: PUSH1 0x20
00003293: ADD
00003294: PUSH2 0x329d
00003297: SWAP2
00003298: SWAP1
00003299: PUSH2 0x467d
0000329c: JUMP
0000329d: JUMPDEST
0000329e: PUSH1 0x40
000032a0: DUP1
000032a1: MLOAD
000032a2: PUSH1 0x1f
000032a4: NOT
000032a5: DUP2
000032a6: DUP5
000032a7: SUB
000032a8: ADD
000032a9: DUP2
000032aa: MSTORE
000032ab: SWAP2
000032ac: SWAP1
000032ad: MSTORE
000032ae: DUP1
000032af: MLOAD
000032b0: PUSH1 0x20
000032b2: SWAP1
000032b3: SWAP2
000032b4: ADD
000032b5: KECCAK256
000032b6: SLOAD
000032b7: SWAP4
000032b8: SWAP3
000032b9: POP
000032ba: POP
000032bb: POP
000032bc: JUMP
000032bd: JUMPDEST
000032be: PUSH0
000032bf: SWAP1
000032c0: DUP2
000032c1: MSTORE
000032c2: PUSH0
000032c3: DUP1
000032c4: MLOAD
000032c5: PUSH1 0x20
000032c7: PUSH2 0x4a78
000032ca: DUP4
000032cb: CODECOPY
000032cc: DUP2
000032cd: MLOAD
000032ce: SWAP2
000032cf: MSTORE
000032d0: PUSH1 0x20
000032d2: MSTORE
000032d3: PUSH1 0x40
000032d5: SWAP1
000032d6: KECCAK256
000032d7: PUSH1 0x01
000032d9: ADD
000032da: SLOAD
000032db: SWAP1
000032dc: JUMP
000032dd: JUMPDEST
000032de: PUSH2 0x0a95
000032e1: DUP2
000032e2: CALLER
000032e3: PUSH2 0x3ac7
000032e6: JUMP
000032e7: JUMPDEST
000032e8: PUSH2 0x32f1
000032eb: DUP3
000032ec: DUP3
000032ed: PUSH2 0x27d9
000032f0: JUMP
000032f1: JUMPDEST
000032f2: PUSH2 0x0a7a
000032f5: JUMPI
000032f6: PUSH0
000032f7: DUP3
000032f8: DUP2
000032f9: MSTORE
000032fa: PUSH0
000032fb: DUP1
000032fc: MLOAD
000032fd: PUSH1 0x20
000032ff: PUSH2 0x4a78
00003302: DUP4
00003303: CODECOPY
00003304: DUP2
00003305: MLOAD
00003306: SWAP2
00003307: MSTORE
00003308: PUSH1 0x20
0000330a: SWAP1
0000330b: DUP2
0000330c: MSTORE
0000330d: PUSH1 0x40
0000330f: DUP1
00003310: DUP4
00003311: KECCAK256
00003312: PUSH1 0x01
00003314: PUSH1 0x01
00003316: PUSH1 0xa0
00003318: SHL
00003319: SUB
0000331a: DUP6
0000331b: AND
0000331c: DUP1
0000331d: DUP6
0000331e: MSTORE
0000331f: SWAP3
00003320: MSTORE
00003321: DUP1
00003322: DUP4
00003323: KECCAK256
00003324: DUP1
00003325: SLOAD
00003326: PUSH1 0xff
00003328: NOT
00003329: AND
0000332a: PUSH1 0x01
0000332c: OR
0000332d: SWAP1
0000332e: SSTORE
0000332f: MLOAD
00003330: CALLER
00003331: SWAP3
00003332: DUP6
00003333: SWAP2
00003334: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00003355: SWAP2
00003356: SWAP1
00003357: LOG4
00003358: POP
00003359: POP
0000335a: JUMP
0000335b: JUMPDEST
0000335c: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
0000337d: DUP2
0000337e: LT
0000337f: ISZERO
00003380: PUSH2 0x33c4
00003383: JUMPI
00003384: PUSH1 0x40
00003386: MLOAD
00003387: PUSH3 0x461bcd
0000338b: PUSH1 0xe5
0000338d: SHL
0000338e: DUP2
0000338f: MSTORE
00003390: PUSH1 0x20
00003392: PUSH1 0x04
00003394: DUP3
00003395: ADD
00003396: MSTORE
00003397: PUSH1 0x16
00003399: PUSH1 0x24
0000339b: DUP3
0000339c: ADD
0000339d: MSTORE
0000339e: PUSH22 0x494e53554646494349454e545f4645455f56414c5545
000033b5: PUSH1 0x50
000033b7: SHL
000033b8: PUSH1 0x44
000033ba: DUP3
000033bb: ADD
000033bc: MSTORE
000033bd: PUSH1 0x64
000033bf: ADD
000033c0: PUSH2 0x0b55
000033c3: JUMP
000033c4: JUMPDEST
000033c5: PUSH7 0x2386f26fc10000
000033cd: DUP2
000033ce: GT
000033cf: ISZERO
000033d0: PUSH2 0x0a95
000033d3: JUMPI
000033d4: PUSH1 0x40
000033d6: MLOAD
000033d7: PUSH3 0x461bcd
000033db: PUSH1 0xe5
000033dd: SHL
000033de: DUP2
000033df: MSTORE
000033e0: PUSH1 0x20
000033e2: PUSH1 0x04
000033e4: DUP3
000033e5: ADD
000033e6: MSTORE
000033e7: PUSH1 0x12
000033e9: PUSH1 0x24
000033eb: DUP3
000033ec: ADD
000033ed: MSTORE
000033ee: PUSH18 0x08c8a8abeac8298aa8abea89e9ebe90928e9
00003401: PUSH1 0x73
00003403: SHL
00003404: PUSH1 0x44
00003406: DUP3
00003407: ADD
00003408: MSTORE
00003409: PUSH1 0x64
0000340b: ADD
0000340c: PUSH2 0x0b55
0000340f: JUMP
00003410: JUMPDEST
00003411: DUP1
00003412: PUSH0
00003413: SUB
00003414: PUSH2 0x341c
00003417: JUMPI
00003418: POP
00003419: POP
0000341a: POP
0000341b: JUMP
0000341c: JUMPDEST
0000341d: PUSH1 0x40
0000341f: MLOAD
00003420: PUSH4 0x70a08231
00003425: PUSH1 0xe0
00003427: SHL
00003428: DUP2
00003429: MSTORE
0000342a: ADDRESS
0000342b: PUSH1 0x04
0000342d: DUP3
0000342e: ADD
0000342f: MSTORE
00003430: DUP4
00003431: SWAP1
00003432: PUSH0
00003433: SWAP1
00003434: PUSH1 0x01
00003436: PUSH1 0x01
00003438: PUSH1 0xa0
0000343a: SHL
0000343b: SUB
0000343c: DUP4
0000343d: AND
0000343e: SWAP1
0000343f: PUSH4 0x70a08231
00003444: SWAP1
00003445: PUSH1 0x24
00003447: ADD
00003448: PUSH1 0x20
0000344a: PUSH1 0x40
0000344c: MLOAD
0000344d: DUP1
0000344e: DUP4
0000344f: SUB
00003450: DUP2
00003451: DUP7
00003452: GAS
00003453: STATICCALL
00003454: ISZERO
00003455: DUP1
00003456: ISZERO
00003457: PUSH2 0x3462
0000345a: JUMPI
0000345b: RETURNDATASIZE
0000345c: PUSH0
0000345d: DUP1
0000345e: RETURNDATACOPY
0000345f: RETURNDATASIZE
00003460: PUSH0
00003461: REVERT
00003462: JUMPDEST
00003463: POP
00003464: POP
00003465: POP
00003466: POP
00003467: PUSH1 0x40
00003469: MLOAD
0000346a: RETURNDATASIZE
0000346b: PUSH1 0x1f
0000346d: NOT
0000346e: PUSH1 0x1f
00003470: DUP3
00003471: ADD
00003472: AND
00003473: DUP3
00003474: ADD
00003475: DUP1
00003476: PUSH1 0x40
00003478: MSTORE
00003479: POP
0000347a: DUP2
0000347b: ADD
0000347c: SWAP1
0000347d: PUSH2 0x3486
00003480: SWAP2
00003481: SWAP1
00003482: PUSH2 0x44d9
00003485: JUMP
00003486: JUMPDEST
00003487: SWAP1
00003488: POP
00003489: PUSH0
0000348a: PUSH2 0x3493
0000348d: DUP5
0000348e: DUP4
0000348f: PUSH2 0x454b
00003492: JUMP
00003493: JUMPDEST
00003494: SWAP1
00003495: POP
00003496: DUP2
00003497: DUP2
00003498: LT
00003499: ISZERO
0000349a: PUSH2 0x34d0
0000349d: JUMPI
0000349e: PUSH1 0x40
000034a0: MLOAD
000034a1: PUSH3 0x461bcd
000034a5: PUSH1 0xe5
000034a7: SHL
000034a8: DUP2
000034a9: MSTORE
000034aa: PUSH1 0x20
000034ac: PUSH1 0x04
000034ae: DUP3
000034af: ADD
000034b0: MSTORE
000034b1: PUSH1 0x08
000034b3: PUSH1 0x24
000034b5: DUP3
000034b6: ADD
000034b7: MSTORE
000034b8: PUSH8 0x4f564552464c4f57
000034c1: PUSH1 0xc0
000034c3: SHL
000034c4: PUSH1 0x44
000034c6: DUP3
000034c7: ADD
000034c8: MSTORE
000034c9: PUSH1 0x64
000034cb: ADD
000034cc: PUSH2 0x0b55
000034cf: JUMP
000034d0: JUMPDEST
000034d1: PUSH1 0x40
000034d3: MLOAD
000034d4: PUSH1 0x01
000034d6: PUSH1 0x01
000034d8: PUSH1 0xa0
000034da: SHL
000034db: SUB
000034dc: DUP7
000034dd: AND
000034de: PUSH1 0x24
000034e0: DUP3
000034e1: ADD
000034e2: MSTORE
000034e3: ADDRESS
000034e4: PUSH1 0x44
000034e6: DUP3
000034e7: ADD
000034e8: MSTORE
000034e9: PUSH1 0x64
000034eb: DUP2
000034ec: ADD
000034ed: DUP6
000034ee: SWAP1
000034ef: MSTORE
000034f0: PUSH0
000034f1: SWAP1
000034f2: PUSH4 0x23b872dd
000034f7: PUSH1 0xe0
000034f9: SHL
000034fa: SWAP1
000034fb: PUSH1 0x84
000034fd: ADD
000034fe: JUMPDEST
000034ff: PUSH1 0x40
00003501: DUP1
00003502: MLOAD
00003503: PUSH1 0x1f
00003505: NOT
00003506: DUP2
00003507: DUP5
00003508: SUB
00003509: ADD
0000350a: DUP2
0000350b: MSTORE
0000350c: SWAP2
0000350d: SWAP1
0000350e: MSTORE
0000350f: PUSH1 0x20
00003511: DUP2
00003512: ADD
00003513: DUP1
00003514: MLOAD
00003515: PUSH1 0x01
00003517: PUSH1 0x01
00003519: PUSH1 0xe0
0000351b: SHL
0000351c: SUB
0000351d: AND
0000351e: PUSH1 0x01
00003520: PUSH1 0x01
00003522: PUSH1 0xe0
00003524: SHL
00003525: SUB
00003526: NOT
00003527: SWAP1
00003528: SWAP4
00003529: AND
0000352a: SWAP3
0000352b: SWAP1
0000352c: SWAP3
0000352d: OR
0000352e: SWAP1
0000352f: SWAP2
00003530: MSTORE
00003531: SWAP1
00003532: POP
00003533: PUSH2 0x3545
00003536: PUSH1 0x01
00003538: PUSH1 0x01
0000353a: PUSH1 0xa0
0000353c: SHL
0000353d: SUB
0000353e: DUP9
0000353f: AND
00003540: DUP3
00003541: PUSH2 0x3b2b
00003544: JUMP
00003545: JUMPDEST
00003546: PUSH1 0x40
00003548: MLOAD
00003549: PUSH4 0x70a08231
0000354e: PUSH1 0xe0
00003550: SHL
00003551: DUP2
00003552: MSTORE
00003553: ADDRESS
00003554: PUSH1 0x04
00003556: DUP3
00003557: ADD
00003558: MSTORE
00003559: PUSH0
0000355a: SWAP1
0000355b: PUSH1 0x01
0000355d: PUSH1 0x01
0000355f: PUSH1 0xa0
00003561: SHL
00003562: SUB
00003563: DUP7
00003564: AND
00003565: SWAP1
00003566: PUSH4 0x70a08231
0000356b: SWAP1
0000356c: PUSH1 0x24
0000356e: ADD
0000356f: PUSH1 0x20
00003571: PUSH1 0x40
00003573: MLOAD
00003574: DUP1
00003575: DUP4
00003576: SUB
00003577: DUP2
00003578: DUP7
00003579: GAS
0000357a: STATICCALL
0000357b: ISZERO
0000357c: DUP1
0000357d: ISZERO
0000357e: PUSH2 0x3589
00003581: JUMPI
00003582: RETURNDATASIZE
00003583: PUSH0
00003584: DUP1
00003585: RETURNDATACOPY
00003586: RETURNDATASIZE
00003587: PUSH0
00003588: REVERT
00003589: JUMPDEST
0000358a: POP
0000358b: POP
0000358c: POP
0000358d: POP
0000358e: PUSH1 0x40
00003590: MLOAD
00003591: RETURNDATASIZE
00003592: PUSH1 0x1f
00003594: NOT
00003595: PUSH1 0x1f
00003597: DUP3
00003598: ADD
00003599: AND
0000359a: DUP3
0000359b: ADD
0000359c: DUP1
0000359d: PUSH1 0x40
0000359f: MSTORE
000035a0: POP
000035a1: DUP2
000035a2: ADD
000035a3: SWAP1
000035a4: PUSH2 0x35ad
000035a7: SWAP2
000035a8: SWAP1
000035a9: PUSH2 0x44d9
000035ac: JUMP
000035ad: JUMPDEST
000035ae: SWAP1
000035af: POP
000035b0: DUP3
000035b1: DUP2
000035b2: EQ
000035b3: PUSH2 0x1ca0
000035b6: JUMPI
000035b7: PUSH1 0x40
000035b9: MLOAD
000035ba: PUSH3 0x461bcd
000035be: PUSH1 0xe5
000035c0: SHL
000035c1: DUP2
000035c2: MSTORE
000035c3: PUSH1 0x20
000035c5: PUSH1 0x04
000035c7: DUP3
000035c8: ADD
000035c9: MSTORE
000035ca: PUSH1 0x1c
000035cc: PUSH1 0x24
000035ce: DUP3
000035cf: ADD
000035d0: MSTORE
000035d1: PUSH32 0x494e434f52524543545f414d4f554e545f5452414e5346455252454400000000
000035f2: PUSH1 0x44
000035f4: DUP3
000035f5: ADD
000035f6: MSTORE
000035f7: PUSH1 0x64
000035f9: ADD
000035fa: PUSH2 0x0b55
000035fd: JUMP
000035fe: JUMPDEST
000035ff: PUSH1 0x01
00003601: PUSH1 0x01
00003603: PUSH1 0xa0
00003605: SHL
00003606: SUB
00003607: DUP3
00003608: AND
00003609: PUSH2 0x3648
0000360c: JUMPI
0000360d: PUSH1 0x40
0000360f: MLOAD
00003610: PUSH3 0x461bcd
00003614: PUSH1 0xe5
00003616: SHL
00003617: DUP2
00003618: MSTORE
00003619: PUSH1 0x20
0000361b: PUSH1 0x04
0000361d: DUP3
0000361e: ADD
0000361f: MSTORE
00003620: PUSH1 0x11
00003622: PUSH1 0x24
00003624: DUP3
00003625: ADD
00003626: MSTORE
00003627: PUSH17 0x1253959053125117d49150d25412515395
00003639: PUSH1 0x7a
0000363b: SHL
0000363c: PUSH1 0x44
0000363e: DUP3
0000363f: ADD
00003640: MSTORE
00003641: PUSH1 0x64
00003643: ADD
00003644: PUSH2 0x0b55
00003647: JUMP
00003648: JUMPDEST
00003649: DUP1
0000364a: PUSH0
0000364b: SUB
0000364c: PUSH2 0x3654
0000364f: JUMPI
00003650: POP
00003651: POP
00003652: POP
00003653: JUMP
00003654: JUMPDEST
00003655: PUSH1 0x40
00003657: MLOAD
00003658: PUSH4 0x70a08231
0000365d: PUSH1 0xe0
0000365f: SHL
00003660: DUP2
00003661: MSTORE
00003662: ADDRESS
00003663: PUSH1 0x04
00003665: DUP3
00003666: ADD
00003667: MSTORE
00003668: DUP4
00003669: SWAP1
0000366a: PUSH0
0000366b: SWAP1
0000366c: PUSH1 0x01
0000366e: PUSH1 0x01
00003670: PUSH1 0xa0
00003672: SHL
00003673: SUB
00003674: DUP4
00003675: AND
00003676: SWAP1
00003677: PUSH4 0x70a08231
0000367c: SWAP1
0000367d: PUSH1 0x24
0000367f: ADD
00003680: PUSH1 0x20
00003682: PUSH1 0x40
00003684: MLOAD
00003685: DUP1
00003686: DUP4
00003687: SUB
00003688: DUP2
00003689: DUP7
0000368a: GAS
0000368b: STATICCALL
0000368c: ISZERO
0000368d: DUP1
0000368e: ISZERO
0000368f: PUSH2 0x369a
00003692: JUMPI
00003693: RETURNDATASIZE
00003694: PUSH0
00003695: DUP1
00003696: RETURNDATACOPY
00003697: RETURNDATASIZE
00003698: PUSH0
00003699: REVERT
0000369a: JUMPDEST
0000369b: POP
0000369c: POP
0000369d: POP
0000369e: POP
0000369f: PUSH1 0x40
000036a1: MLOAD
000036a2: RETURNDATASIZE
000036a3: PUSH1 0x1f
000036a5: NOT
000036a6: PUSH1 0x1f
000036a8: DUP3
000036a9: ADD
000036aa: AND
000036ab: DUP3
000036ac: ADD
000036ad: DUP1
000036ae: PUSH1 0x40
000036b0: MSTORE
000036b1: POP
000036b2: DUP2
000036b3: ADD
000036b4: SWAP1
000036b5: PUSH2 0x36be
000036b8: SWAP2
000036b9: SWAP1
000036ba: PUSH2 0x44d9
000036bd: JUMP
000036be: JUMPDEST
000036bf: SWAP1
000036c0: POP
000036c1: PUSH0
000036c2: PUSH2 0x36cb
000036c5: DUP5
000036c6: DUP4
000036c7: PUSH2 0x47af
000036ca: JUMP
000036cb: JUMPDEST
000036cc: SWAP1
000036cd: POP
000036ce: DUP2
000036cf: DUP2
000036d0: GT
000036d1: ISZERO
000036d2: PUSH2 0x3709
000036d5: JUMPI
000036d6: PUSH1 0x40
000036d8: MLOAD
000036d9: PUSH3 0x461bcd
000036dd: PUSH1 0xe5
000036df: SHL
000036e0: DUP2
000036e1: MSTORE
000036e2: PUSH1 0x20
000036e4: PUSH1 0x04
000036e6: DUP3
000036e7: ADD
000036e8: MSTORE
000036e9: PUSH1 0x09
000036eb: PUSH1 0x24
000036ed: DUP3
000036ee: ADD
000036ef: MSTORE
000036f0: PUSH9 0x554e444552464c4f57
000036fa: PUSH1 0xb8
000036fc: SHL
000036fd: PUSH1 0x44
000036ff: DUP3
00003700: ADD
00003701: MSTORE
00003702: PUSH1 0x64
00003704: ADD
00003705: PUSH2 0x0b55
00003708: JUMP
00003709: JUMPDEST
0000370a: PUSH1 0x40
0000370c: MLOAD
0000370d: PUSH1 0x01
0000370f: PUSH1 0x01
00003711: PUSH1 0xa0
00003713: SHL
00003714: SUB
00003715: DUP7
00003716: AND
00003717: PUSH1 0x24
00003719: DUP3
0000371a: ADD
0000371b: MSTORE
0000371c: PUSH1 0x44
0000371e: DUP2
0000371f: ADD
00003720: DUP6
00003721: SWAP1
00003722: MSTORE
00003723: PUSH0
00003724: SWAP1
00003725: PUSH4 0xa9059cbb
0000372a: PUSH1 0xe0
0000372c: SHL
0000372d: SWAP1
0000372e: PUSH1 0x64
00003730: ADD
00003731: PUSH2 0x34fe
00003734: JUMP
00003735: JUMPDEST
00003736: PUSH2 0x373f
00003739: DUP3
0000373a: DUP3
0000373b: PUSH2 0x27d9
0000373e: JUMP
0000373f: JUMPDEST
00003740: ISZERO
00003741: PUSH2 0x0a7a
00003744: JUMPI
00003745: PUSH0
00003746: DUP3
00003747: DUP2
00003748: MSTORE
00003749: PUSH0
0000374a: DUP1
0000374b: MLOAD
0000374c: PUSH1 0x20
0000374e: PUSH2 0x4a78
00003751: DUP4
00003752: CODECOPY
00003753: DUP2
00003754: MLOAD
00003755: SWAP2
00003756: MSTORE
00003757: PUSH1 0x20
00003759: SWAP1
0000375a: DUP2
0000375b: MSTORE
0000375c: PUSH1 0x40
0000375e: DUP1
0000375f: DUP4
00003760: KECCAK256
00003761: PUSH1 0x01
00003763: PUSH1 0x01
00003765: PUSH1 0xa0
00003767: SHL
00003768: SUB
00003769: DUP6
0000376a: AND
0000376b: DUP1
0000376c: DUP6
0000376d: MSTORE
0000376e: SWAP3
0000376f: MSTORE
00003770: DUP1
00003771: DUP4
00003772: KECCAK256
00003773: DUP1
00003774: SLOAD
00003775: PUSH1 0xff
00003777: NOT
00003778: AND
00003779: SWAP1
0000377a: SSTORE
0000377b: MLOAD
0000377c: CALLER
0000377d: SWAP3
0000377e: DUP6
0000377f: SWAP2
00003780: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
000037a1: SWAP2
000037a2: SWAP1
000037a3: LOG4
000037a4: POP
000037a5: POP
000037a6: JUMP
000037a7: JUMPDEST
000037a8: PUSH2 0x0a95
000037ab: PUSH1 0x40
000037ad: MLOAD
000037ae: DUP1
000037af: PUSH1 0x60
000037b1: ADD
000037b2: PUSH1 0x40
000037b4: MSTORE
000037b5: DUP1
000037b6: PUSH1 0x28
000037b8: DUP2
000037b9: MSTORE
000037ba: PUSH1 0x20
000037bc: ADD
000037bd: PUSH2 0x49a9
000037c0: PUSH1 0x28
000037c2: SWAP2
000037c3: CODECOPY
000037c4: DUP3
000037c5: PUSH2 0x3c4b
000037c8: JUMP
000037c9: JUMPDEST
000037ca: PUSH2 0x0a95
000037cd: PUSH1 0x40
000037cf: MLOAD
000037d0: DUP1
000037d1: PUSH1 0x60
000037d3: ADD
000037d4: PUSH1 0x40
000037d6: MSTORE
000037d7: DUP1
000037d8: PUSH1 0x26
000037da: DUP2
000037db: MSTORE
000037dc: PUSH1 0x20
000037de: ADD
000037df: PUSH2 0x4b1f
000037e2: PUSH1 0x26
000037e4: SWAP2
000037e5: CODECOPY
000037e6: DUP3
000037e7: PUSH2 0x3c4b
000037ea: JUMP
000037eb: JUMPDEST
000037ec: PUSH2 0x0a95
000037ef: PUSH1 0x40
000037f1: MLOAD
000037f2: DUP1
000037f3: PUSH1 0x60
000037f5: ADD
000037f6: PUSH1 0x40
000037f8: MSTORE
000037f9: DUP1
000037fa: PUSH1 0x2b
000037fc: DUP2
000037fd: MSTORE
000037fe: PUSH1 0x20
00003800: ADD
00003801: PUSH2 0x4b45
00003804: PUSH1 0x2b
00003806: SWAP2
00003807: CODECOPY
00003808: DUP3
00003809: PUSH2 0x3c99
0000380c: JUMP
0000380d: JUMPDEST
0000380e: PUSH2 0x3815
00003811: PUSH2 0x3ccb
00003814: JUMP
00003815: JUMPDEST
00003816: ISZERO
00003817: PUSH2 0x3882
0000381a: JUMPI
0000381b: PUSH2 0x3831
0000381e: PUSH0
0000381f: DUP1
00003820: MLOAD
00003821: PUSH1 0x20
00003823: PUSH2 0x49d1
00003826: DUP4
00003827: CODECOPY
00003828: DUP2
00003829: MLOAD
0000382a: SWAP2
0000382b: MSTORE
0000382c: DUP4
0000382d: PUSH2 0x27d9
00003830: JUMP
00003831: JUMPDEST
00003832: PUSH2 0x387d
00003835: JUMPI
00003836: PUSH1 0x40
00003838: MLOAD
00003839: PUSH3 0x461bcd
0000383d: PUSH1 0xe5
0000383f: SHL
00003840: DUP2
00003841: MSTORE
00003842: PUSH1 0x20
00003844: PUSH1 0x04
00003846: DUP3
00003847: ADD
00003848: MSTORE
00003849: PUSH1 0x19
0000384b: PUSH1 0x24
0000384d: DUP3
0000384e: ADD
0000384f: MSTORE
00003850: PUSH32 0x524f4c45535f414c52454144595f494e495449414c495a454400000000000000
00003871: PUSH1 0x44
00003873: DUP3
00003874: ADD
00003875: MSTORE
00003876: PUSH1 0x64
00003878: ADD
00003879: PUSH2 0x0b55
0000387c: JUMP
0000387d: JUMPDEST
0000387e: PUSH2 0x388b
00003881: JUMP
00003882: JUMPDEST
00003883: PUSH2 0x388b
00003886: DUP3
00003887: PUSH2 0x3cea
0000388a: JUMP
0000388b: JUMPDEST
0000388c: PUSH2 0x3893
0000388f: PUSH2 0x3dcc
00003892: JUMP
00003893: JUMPDEST
00003894: ISZERO
00003895: PUSH2 0x3906
00003898: JUMPI
00003899: PUSH2 0x38af
0000389c: PUSH0
0000389d: DUP1
0000389e: MLOAD
0000389f: PUSH1 0x20
000038a1: PUSH2 0x49f1
000038a4: DUP4
000038a5: CODECOPY
000038a6: DUP2
000038a7: MLOAD
000038a8: SWAP2
000038a9: MSTORE
000038aa: DUP3
000038ab: PUSH2 0x27d9
000038ae: JUMP
000038af: JUMPDEST
000038b0: PUSH2 0x0a7a
000038b3: JUMPI
000038b4: PUSH1 0x40
000038b6: MLOAD
000038b7: PUSH3 0x461bcd
000038bb: PUSH1 0xe5
000038bd: SHL
000038be: DUP2
000038bf: MSTORE
000038c0: PUSH1 0x20
000038c2: PUSH1 0x04
000038c4: DUP3
000038c5: ADD
000038c6: MSTORE
000038c7: PUSH1 0x22
000038c9: PUSH1 0x24
000038cb: DUP3
000038cc: ADD
000038cd: MSTORE
000038ce: PUSH32 0x53454355524954595f524f4c45535f414c52454144595f494e495449414c495a
000038ef: PUSH1 0x44
000038f1: DUP3
000038f2: ADD
000038f3: MSTORE
000038f4: PUSH2 0x1151
000038f7: PUSH1 0xf2
000038f9: SHL
000038fa: PUSH1 0x64
000038fc: DUP3
000038fd: ADD
000038fe: MSTORE
000038ff: PUSH1 0x84
00003901: ADD
00003902: PUSH2 0x0b55
00003905: JUMP
00003906: JUMPDEST
00003907: PUSH2 0x0a7a
0000390a: DUP2
0000390b: PUSH2 0x3de4
0000390e: JUMP
0000390f: JUMPDEST
00003910: PUSH0
00003911: PUSH2 0x3918
00003914: PUSH2 0x3e36
00003917: JUMP
00003918: JUMPDEST
00003919: PUSH0
0000391a: PUSH2 0x3922
0000391d: DUP5
0000391e: PUSH2 0x3e58
00003921: JUMP
00003922: JUMPDEST
00003923: DUP2
00003924: MSTORE
00003925: PUSH1 0x20
00003927: ADD
00003928: SWAP1
00003929: DUP2
0000392a: MSTORE
0000392b: PUSH1 0x20
0000392d: ADD
0000392e: PUSH0
0000392f: KECCAK256
00003930: SLOAD
00003931: PUSH0
00003932: EQ
00003933: ISZERO
00003934: SWAP1
00003935: POP
00003936: SWAP2
00003937: SWAP1
00003938: POP
00003939: JUMP
0000393a: JUMPDEST
0000393b: PUSH0
0000393c: DUP1
0000393d: PUSH3 0x455447
00003941: NOT
00003942: PUSH1 0x01
00003944: PUSH1 0x01
00003946: PUSH1 0xa0
00003948: SHL
00003949: SUB
0000394a: DUP5
0000394b: AND
0000394c: ADD
0000394d: PUSH2 0x3957
00003950: JUMPI
00003951: POP
00003952: SELFBALANCE
00003953: PUSH2 0x39c0
00003956: JUMP
00003957: JUMPDEST
00003958: PUSH1 0x40
0000395a: MLOAD
0000395b: PUSH4 0x70a08231
00003960: PUSH1 0xe0
00003962: SHL
00003963: DUP2
00003964: MSTORE
00003965: ADDRESS
00003966: PUSH1 0x04
00003968: DUP3
00003969: ADD
0000396a: MSTORE
0000396b: PUSH1 0x01
0000396d: PUSH1 0x01
0000396f: PUSH1 0xa0
00003971: SHL
00003972: SUB
00003973: DUP5
00003974: AND
00003975: SWAP1
00003976: PUSH4 0x70a08231
0000397b: SWAP1
0000397c: PUSH1 0x24
0000397e: ADD
0000397f: PUSH1 0x20
00003981: PUSH1 0x40
00003983: MLOAD
00003984: DUP1
00003985: DUP4
00003986: SUB
00003987: DUP2
00003988: DUP7
00003989: GAS
0000398a: STATICCALL
0000398b: ISZERO
0000398c: DUP1
0000398d: ISZERO
0000398e: PUSH2 0x3999
00003991: JUMPI
00003992: RETURNDATASIZE
00003993: PUSH0
00003994: DUP1
00003995: RETURNDATACOPY
00003996: RETURNDATASIZE
00003997: PUSH0
00003998: REVERT
00003999: JUMPDEST
0000399a: POP
0000399b: POP
0000399c: POP
0000399d: POP
0000399e: PUSH1 0x40
000039a0: MLOAD
000039a1: RETURNDATASIZE
000039a2: PUSH1 0x1f
000039a4: NOT
000039a5: PUSH1 0x1f
000039a7: DUP3
000039a8: ADD
000039a9: AND
000039aa: DUP3
000039ab: ADD
000039ac: DUP1
000039ad: PUSH1 0x40
000039af: MSTORE
000039b0: POP
000039b1: DUP2
000039b2: ADD
000039b3: SWAP1
000039b4: PUSH2 0x39bd
000039b7: SWAP2
000039b8: SWAP1
000039b9: PUSH2 0x44d9
000039bc: JUMP
000039bd: JUMPDEST
000039be: SWAP1
000039bf: POP
000039c0: JUMPDEST
000039c1: PUSH0
000039c2: PUSH2 0x39c9
000039c5: PUSH2 0x3ea4
000039c8: JUMP
000039c9: JUMPDEST
000039ca: SWAP1
000039cb: POP
000039cc: PUSH1 0x64
000039ce: PUSH2 0x39d7
000039d1: DUP3
000039d2: DUP5
000039d3: PUSH2 0x4534
000039d6: JUMP
000039d7: JUMPDEST
000039d8: PUSH2 0x39e1
000039db: SWAP2
000039dc: SWAP1
000039dd: PUSH2 0x48e1
000039e0: JUMP
000039e1: JUMPDEST
000039e2: SWAP5
000039e3: SWAP4
000039e4: POP
000039e5: POP
000039e6: POP
000039e7: POP
000039e8: JUMP
000039e9: JUMPDEST
000039ea: PUSH0
000039eb: PUSH1 0x01
000039ed: PUSH2 0x39f4
000039f0: PUSH2 0x3e36
000039f3: JUMP
000039f4: JUMPDEST
000039f5: PUSH0
000039f6: PUSH2 0x39fe
000039f9: DUP6
000039fa: PUSH2 0x3e58
000039fd: JUMP
000039fe: JUMPDEST
000039ff: DUP2
00003a00: MSTORE
00003a01: PUSH1 0x20
00003a03: ADD
00003a04: SWAP1
00003a05: DUP2
00003a06: MSTORE
00003a07: PUSH1 0x20
00003a09: ADD
00003a0a: PUSH0
00003a0b: KECCAK256
00003a0c: SLOAD
00003a0d: PUSH2 0x1298
00003a10: SWAP2
00003a11: SWAP1
00003a12: PUSH2 0x47af
00003a15: JUMP
00003a16: JUMPDEST
00003a17: PUSH2 0x3a21
00003a1a: PUSH1 0x01
00003a1c: DUP3
00003a1d: PUSH2 0x454b
00003a20: JUMP
00003a21: JUMPDEST
00003a22: PUSH2 0x3a29
00003a25: PUSH2 0x3e36
00003a28: JUMP
00003a29: JUMPDEST
00003a2a: PUSH0
00003a2b: PUSH2 0x3a33
00003a2e: DUP6
00003a2f: PUSH2 0x3e58
00003a32: JUMP
00003a33: JUMPDEST
00003a34: DUP2
00003a35: MSTORE
00003a36: PUSH1 0x20
00003a38: DUP2
00003a39: ADD
00003a3a: SWAP2
00003a3b: SWAP1
00003a3c: SWAP2
00003a3d: MSTORE
00003a3e: PUSH1 0x40
00003a40: ADD
00003a41: PUSH0
00003a42: KECCAK256
00003a43: SSTORE
00003a44: POP
00003a45: POP
00003a46: JUMP
00003a47: JUMPDEST
00003a48: PUSH0
00003a49: DUP1
00003a4a: DUP3
00003a4b: PUSH1 0x40
00003a4d: MLOAD
00003a4e: PUSH1 0x20
00003a50: ADD
00003a51: PUSH2 0x3a5a
00003a54: SWAP2
00003a55: SWAP1
00003a56: PUSH2 0x467d
00003a59: JUMP
00003a5a: JUMPDEST
00003a5b: PUSH1 0x40
00003a5d: DUP1
00003a5e: MLOAD
00003a5f: PUSH1 0x1f
00003a61: NOT
00003a62: DUP2
00003a63: DUP5
00003a64: SUB
00003a65: ADD
00003a66: DUP2
00003a67: MSTORE
00003a68: SWAP2
00003a69: SWAP1
00003a6a: MSTORE
00003a6b: DUP1
00003a6c: MLOAD
00003a6d: PUSH1 0x20
00003a6f: SWAP1
00003a70: SWAP2
00003a71: ADD
00003a72: KECCAK256
00003a73: SWAP4
00003a74: SWAP3
00003a75: POP
00003a76: POP
00003a77: POP
00003a78: JUMP
00003a79: JUMPDEST
00003a7a: PUSH2 0x3a82
00003a7d: DUP3
00003a7e: PUSH2 0x328a
00003a81: JUMP
00003a82: JUMPDEST
00003a83: ISZERO
00003a84: PUSH2 0x3abd
00003a87: JUMPI
00003a88: PUSH1 0x40
00003a8a: MLOAD
00003a8b: PUSH3 0x461bcd
00003a8f: PUSH1 0xe5
00003a91: SHL
00003a92: DUP2
00003a93: MSTORE
00003a94: PUSH1 0x20
00003a96: PUSH1 0x04
00003a98: DUP3
00003a99: ADD
00003a9a: MSTORE
00003a9b: PUSH1 0x0b
00003a9d: PUSH1 0x24
00003a9f: DUP3
00003aa0: ADD
00003aa1: MSTORE
00003aa2: PUSH11 0x1053149150511657d4d155
00003aae: PUSH1 0xaa
00003ab0: SHL
00003ab1: PUSH1 0x44
00003ab3: DUP3
00003ab4: ADD
00003ab5: MSTORE
00003ab6: PUSH1 0x64
00003ab8: ADD
00003ab9: PUSH2 0x0b55
00003abc: JUMP
00003abd: JUMPDEST
00003abe: PUSH2 0x0a7a
00003ac1: DUP3
00003ac2: DUP3
00003ac3: PUSH2 0x3c99
00003ac6: JUMP
00003ac7: JUMPDEST
00003ac8: PUSH2 0x3ad1
00003acb: DUP3
00003acc: DUP3
00003acd: PUSH2 0x27d9
00003ad0: JUMP
00003ad1: JUMPDEST
00003ad2: PUSH2 0x0a7a
00003ad5: JUMPI
00003ad6: PUSH2 0x3ae9
00003ad9: DUP2
00003ada: PUSH1 0x01
00003adc: PUSH1 0x01
00003ade: PUSH1 0xa0
00003ae0: SHL
00003ae1: SUB
00003ae2: AND
00003ae3: PUSH1 0x14
00003ae5: PUSH2 0x3ec6
00003ae8: JUMP
00003ae9: JUMPDEST
00003aea: PUSH2 0x3af4
00003aed: DUP4
00003aee: PUSH1 0x20
00003af0: PUSH2 0x3ec6
00003af3: JUMP
00003af4: JUMPDEST
00003af5: PUSH1 0x40
00003af7: MLOAD
00003af8: PUSH1 0x20
00003afa: ADD
00003afb: PUSH2 0x3b05
00003afe: SWAP3
00003aff: SWAP2
00003b00: SWAP1
00003b01: PUSH2 0x4900
00003b04: JUMP
00003b05: JUMPDEST
00003b06: PUSH1 0x40
00003b08: DUP1
00003b09: MLOAD
00003b0a: PUSH1 0x1f
00003b0c: NOT
00003b0d: DUP2
00003b0e: DUP5
00003b0f: SUB
00003b10: ADD
00003b11: DUP2
00003b12: MSTORE
00003b13: SWAP1
00003b14: DUP3
00003b15: SWAP1
00003b16: MSTORE
00003b17: PUSH3 0x461bcd
00003b1b: PUSH1 0xe5
00003b1d: SHL
00003b1e: DUP3
00003b1f: MSTORE
00003b20: PUSH2 0x0b55
00003b23: SWAP2
00003b24: PUSH1 0x04
00003b26: ADD
00003b27: PUSH2 0x442b
00003b2a: JUMP
00003b2b: JUMPDEST
00003b2c: DUP2
00003b2d: EXTCODESIZE
00003b2e: PUSH2 0x3b6d
00003b31: JUMPI
00003b32: PUSH1 0x40
00003b34: MLOAD
00003b35: PUSH3 0x461bcd
00003b39: PUSH1 0xe5
00003b3b: SHL
00003b3c: DUP2
00003b3d: MSTORE
00003b3e: PUSH1 0x20
00003b40: PUSH1 0x04
00003b42: DUP3
00003b43: ADD
00003b44: MSTORE
00003b45: PUSH1 0x11
00003b47: PUSH1 0x24
00003b49: DUP3
00003b4a: ADD
00003b4b: MSTORE
00003b4c: PUSH17 0x4241445f544f4b454e5f41444452455353
00003b5e: PUSH1 0x78
00003b60: SHL
00003b61: PUSH1 0x44
00003b63: DUP3
00003b64: ADD
00003b65: MSTORE
00003b66: PUSH1 0x64
00003b68: ADD
00003b69: PUSH2 0x0b55
00003b6c: JUMP
00003b6d: JUMPDEST
00003b6e: PUSH0
00003b6f: DUP1
00003b70: DUP4
00003b71: PUSH1 0x01
00003b73: PUSH1 0x01
00003b75: PUSH1 0xa0
00003b77: SHL
00003b78: SUB
00003b79: AND
00003b7a: DUP4
00003b7b: PUSH1 0x40
00003b7d: MLOAD
00003b7e: PUSH2 0x3b87
00003b81: SWAP2
00003b82: SWAP1
00003b83: PUSH2 0x467d
00003b86: JUMP
00003b87: JUMPDEST
00003b88: PUSH0
00003b89: PUSH1 0x40
00003b8b: MLOAD
00003b8c: DUP1
00003b8d: DUP4
00003b8e: SUB
00003b8f: DUP2
00003b90: PUSH0
00003b91: DUP7
00003b92: GAS
00003b93: CALL
00003b94: SWAP2
00003b95: POP
00003b96: POP
00003b97: RETURNDATASIZE
00003b98: DUP1
00003b99: PUSH0
00003b9a: DUP2
00003b9b: EQ
00003b9c: PUSH2 0x3bc0
00003b9f: JUMPI
00003ba0: PUSH1 0x40
00003ba2: MLOAD
00003ba3: SWAP2
00003ba4: POP
00003ba5: PUSH1 0x1f
00003ba7: NOT
00003ba8: PUSH1 0x3f
00003baa: RETURNDATASIZE
00003bab: ADD
00003bac: AND
00003bad: DUP3
00003bae: ADD
00003baf: PUSH1 0x40
00003bb1: MSTORE
00003bb2: RETURNDATASIZE
00003bb3: DUP3
00003bb4: MSTORE
00003bb5: RETURNDATASIZE
00003bb6: PUSH0
00003bb7: PUSH1 0x20
00003bb9: DUP5
00003bba: ADD
00003bbb: RETURNDATACOPY
00003bbc: PUSH2 0x3bc5
00003bbf: JUMP
00003bc0: JUMPDEST
00003bc1: PUSH1 0x60
00003bc3: SWAP2
00003bc4: POP
00003bc5: JUMPDEST
00003bc6: POP
00003bc7: SWAP2
00003bc8: POP
00003bc9: SWAP2
00003bca: POP
00003bcb: DUP2
00003bcc: DUP2
00003bcd: SWAP1
00003bce: PUSH2 0x3bea
00003bd1: JUMPI
00003bd2: PUSH1 0x40
00003bd4: MLOAD
00003bd5: PUSH3 0x461bcd
00003bd9: PUSH1 0xe5
00003bdb: SHL
00003bdc: DUP2
00003bdd: MSTORE
00003bde: PUSH1 0x04
00003be0: ADD
00003be1: PUSH2 0x0b55
00003be4: SWAP2
00003be5: SWAP1
00003be6: PUSH2 0x442b
00003be9: JUMP
00003bea: JUMPDEST
00003beb: POP
00003bec: DUP1
00003bed: MLOAD
00003bee: ISZERO
00003bef: PUSH2 0x2111
00003bf2: JUMPI
00003bf3: DUP1
00003bf4: DUP1
00003bf5: PUSH1 0x20
00003bf7: ADD
00003bf8: SWAP1
00003bf9: MLOAD
00003bfa: DUP2
00003bfb: ADD
00003bfc: SWAP1
00003bfd: PUSH2 0x3c06
00003c00: SWAP2
00003c01: SWAP1
00003c02: PUSH2 0x4974
00003c05: JUMP
00003c06: JUMPDEST
00003c07: PUSH2 0x2111
00003c0a: JUMPI
00003c0b: PUSH1 0x40
00003c0d: MLOAD
00003c0e: PUSH3 0x461bcd
00003c12: PUSH1 0xe5
00003c14: SHL
00003c15: DUP2
00003c16: MSTORE
00003c17: PUSH1 0x20
00003c19: PUSH1 0x04
00003c1b: DUP3
00003c1c: ADD
00003c1d: MSTORE
00003c1e: PUSH1 0x16
00003c20: PUSH1 0x24
00003c22: DUP3
00003c23: ADD
00003c24: MSTORE
00003c25: PUSH22 0x1513d2d15397d3d4115490551253d397d19052531151
00003c3c: PUSH1 0x52
00003c3e: SHL
00003c3f: PUSH1 0x44
00003c41: DUP3
00003c42: ADD
00003c43: MSTORE
00003c44: PUSH1 0x64
00003c46: ADD
00003c47: PUSH2 0x0b55
00003c4a: JUMP
00003c4b: JUMPDEST
00003c4c: PUSH0
00003c4d: PUSH2 0x3c55
00003c50: DUP4
00003c51: PUSH2 0x328a
00003c54: JUMP
00003c55: JUMPDEST
00003c56: PUSH1 0x01
00003c58: PUSH1 0x01
00003c5a: PUSH1 0xa0
00003c5c: SHL
00003c5d: SUB
00003c5e: AND
00003c5f: EQ
00003c60: PUSH2 0x3abd
00003c63: JUMPI
00003c64: PUSH1 0x40
00003c66: MLOAD
00003c67: PUSH3 0x461bcd
00003c6b: PUSH1 0xe5
00003c6d: SHL
00003c6e: DUP2
00003c6f: MSTORE
00003c70: PUSH1 0x20
00003c72: PUSH1 0x04
00003c74: DUP3
00003c75: ADD
00003c76: MSTORE
00003c77: PUSH1 0x0b
00003c79: PUSH1 0x24
00003c7b: DUP3
00003c7c: ADD
00003c7d: MSTORE
00003c7e: PUSH11 0x1053149150511657d4d155
00003c8a: PUSH1 0xaa
00003c8c: SHL
00003c8d: PUSH1 0x44
00003c8f: DUP3
00003c90: ADD
00003c91: MSTORE
00003c92: PUSH1 0x64
00003c94: ADD
00003c95: PUSH2 0x0b55
00003c98: JUMP
00003c99: JUMPDEST
00003c9a: PUSH0
00003c9b: DUP3
00003c9c: PUSH1 0x40
00003c9e: MLOAD
00003c9f: PUSH1 0x20
00003ca1: ADD
00003ca2: PUSH2 0x3cab
00003ca5: SWAP2
00003ca6: SWAP1
00003ca7: PUSH2 0x467d
00003caa: JUMP
00003cab: JUMPDEST
00003cac: PUSH1 0x40
00003cae: MLOAD
00003caf: PUSH1 0x20
00003cb1: DUP2
00003cb2: DUP4
00003cb3: SUB
00003cb4: SUB
00003cb5: DUP2
00003cb6: MSTORE
00003cb7: SWAP1
00003cb8: PUSH1 0x40
00003cba: MSTORE
00003cbb: DUP1
00003cbc: MLOAD
00003cbd: SWAP1
00003cbe: PUSH1 0x20
00003cc0: ADD
00003cc1: KECCAK256
00003cc2: SWAP1
00003cc3: POP
00003cc4: DUP2
00003cc5: DUP2
00003cc6: SSTORE
00003cc7: POP
00003cc8: POP
00003cc9: POP
00003cca: JUMP
00003ccb: JUMPDEST
00003ccc: PUSH0
00003ccd: DUP1
00003cce: PUSH2 0x3ce3
00003cd1: PUSH0
00003cd2: DUP1
00003cd3: MLOAD
00003cd4: PUSH1 0x20
00003cd6: PUSH2 0x49d1
00003cd9: DUP4
00003cda: CODECOPY
00003cdb: DUP2
00003cdc: MLOAD
00003cdd: SWAP2
00003cde: MSTORE
00003cdf: PUSH2 0x32bd
00003ce2: JUMP
00003ce3: JUMPDEST
00003ce4: EQ
00003ce5: ISZERO
00003ce6: SWAP1
00003ce7: POP
00003ce8: SWAP1
00003ce9: JUMP
00003cea: JUMPDEST
00003ceb: PUSH2 0x3d01
00003cee: PUSH0
00003cef: DUP1
00003cf0: MLOAD
00003cf1: PUSH1 0x20
00003cf3: PUSH2 0x49d1
00003cf6: DUP4
00003cf7: CODECOPY
00003cf8: DUP2
00003cf9: MLOAD
00003cfa: SWAP2
00003cfb: MSTORE
00003cfc: DUP3
00003cfd: PUSH2 0x32e7
00003d00: JUMP
00003d01: JUMPDEST
00003d02: PUSH2 0x3d25
00003d05: PUSH0
00003d06: DUP1
00003d07: MLOAD
00003d08: PUSH1 0x20
00003d0a: PUSH2 0x4a38
00003d0d: DUP4
00003d0e: CODECOPY
00003d0f: DUP2
00003d10: MLOAD
00003d11: SWAP2
00003d12: MSTORE
00003d13: PUSH0
00003d14: DUP1
00003d15: MLOAD
00003d16: PUSH1 0x20
00003d18: PUSH2 0x4aff
00003d1b: DUP4
00003d1c: CODECOPY
00003d1d: DUP2
00003d1e: MLOAD
00003d1f: SWAP2
00003d20: MSTORE
00003d21: PUSH2 0x405c
00003d24: JUMP
00003d25: JUMPDEST
00003d26: PUSH2 0x3d49
00003d29: PUSH0
00003d2a: DUP1
00003d2b: MLOAD
00003d2c: PUSH1 0x20
00003d2e: PUSH2 0x4aff
00003d31: DUP4
00003d32: CODECOPY
00003d33: DUP2
00003d34: MLOAD
00003d35: SWAP2
00003d36: MSTORE
00003d37: PUSH0
00003d38: DUP1
00003d39: MLOAD
00003d3a: PUSH1 0x20
00003d3c: PUSH2 0x49d1
00003d3f: DUP4
00003d40: CODECOPY
00003d41: DUP2
00003d42: MLOAD
00003d43: SWAP2
00003d44: MSTORE
00003d45: PUSH2 0x405c
00003d48: JUMP
00003d49: JUMPDEST
00003d4a: PUSH2 0x3d60
00003d4d: PUSH0
00003d4e: DUP1
00003d4f: MLOAD
00003d50: PUSH1 0x20
00003d52: PUSH2 0x49d1
00003d55: DUP4
00003d56: CODECOPY
00003d57: DUP2
00003d58: MLOAD
00003d59: SWAP2
00003d5a: MSTORE
00003d5b: DUP1
00003d5c: PUSH2 0x405c
00003d5f: JUMP
00003d60: JUMPDEST
00003d61: PUSH2 0x3d84
00003d64: PUSH0
00003d65: DUP1
00003d66: MLOAD
00003d67: PUSH1 0x20
00003d69: PUSH2 0x4bfc
00003d6c: DUP4
00003d6d: CODECOPY
00003d6e: DUP2
00003d6f: MLOAD
00003d70: SWAP2
00003d71: MSTORE
00003d72: PUSH0
00003d73: DUP1
00003d74: MLOAD
00003d75: PUSH1 0x20
00003d77: PUSH2 0x4aff
00003d7a: DUP4
00003d7b: CODECOPY
00003d7c: DUP2
00003d7d: MLOAD
00003d7e: SWAP2
00003d7f: MSTORE
00003d80: PUSH2 0x405c
00003d83: JUMP
00003d84: JUMPDEST
00003d85: PUSH2 0x3da8
00003d88: PUSH0
00003d89: DUP1
00003d8a: MLOAD
00003d8b: PUSH1 0x20
00003d8d: PUSH2 0x4c45
00003d90: DUP4
00003d91: CODECOPY
00003d92: DUP2
00003d93: MLOAD
00003d94: SWAP2
00003d95: MSTORE
00003d96: PUSH0
00003d97: DUP1
00003d98: MLOAD
00003d99: PUSH1 0x20
00003d9b: PUSH2 0x4aff
00003d9e: DUP4
00003d9f: CODECOPY
00003da0: DUP2
00003da1: MLOAD
00003da2: SWAP2
00003da3: MSTORE
00003da4: PUSH2 0x405c
00003da7: JUMP
00003da8: JUMPDEST
00003da9: PUSH2 0x0a95
00003dac: PUSH0
00003dad: DUP1
00003dae: MLOAD
00003daf: PUSH1 0x20
00003db1: PUSH2 0x4a58
00003db4: DUP4
00003db5: CODECOPY
00003db6: DUP2
00003db7: MLOAD
00003db8: SWAP2
00003db9: MSTORE
00003dba: PUSH0
00003dbb: DUP1
00003dbc: MLOAD
00003dbd: PUSH1 0x20
00003dbf: PUSH2 0x49d1
00003dc2: DUP4
00003dc3: CODECOPY
00003dc4: DUP2
00003dc5: MLOAD
00003dc6: SWAP2
00003dc7: MSTORE
00003dc8: PUSH2 0x405c
00003dcb: JUMP
00003dcc: JUMPDEST
00003dcd: PUSH0
00003dce: DUP1
00003dcf: PUSH2 0x3ce3
00003dd2: PUSH0
00003dd3: DUP1
00003dd4: MLOAD
00003dd5: PUSH1 0x20
00003dd7: PUSH2 0x49f1
00003dda: DUP4
00003ddb: CODECOPY
00003ddc: DUP2
00003ddd: MLOAD
00003dde: SWAP2
00003ddf: MSTORE
00003de0: PUSH2 0x32bd
00003de3: JUMP
00003de4: JUMPDEST
00003de5: PUSH2 0x3dfb
00003de8: PUSH0
00003de9: DUP1
00003dea: MLOAD
00003deb: PUSH1 0x20
00003ded: PUSH2 0x49f1
00003df0: DUP4
00003df1: CODECOPY
00003df2: DUP2
00003df3: MLOAD
00003df4: SWAP2
00003df5: MSTORE
00003df6: DUP1
00003df7: PUSH2 0x405c
00003dfa: JUMP
00003dfb: JUMPDEST
00003dfc: PUSH2 0x3e1f
00003dff: PUSH0
00003e00: DUP1
00003e01: MLOAD
00003e02: PUSH1 0x20
00003e04: PUSH2 0x4adf
00003e07: DUP4
00003e08: CODECOPY
00003e09: DUP2
00003e0a: MLOAD
00003e0b: SWAP2
00003e0c: MSTORE
00003e0d: PUSH0
00003e0e: DUP1
00003e0f: MLOAD
00003e10: PUSH1 0x20
00003e12: PUSH2 0x49f1
00003e15: DUP4
00003e16: CODECOPY
00003e17: DUP2
00003e18: MLOAD
00003e19: SWAP2
00003e1a: MSTORE
00003e1b: PUSH2 0x405c
00003e1e: JUMP
00003e1f: JUMPDEST
00003e20: PUSH2 0x0a95
00003e23: PUSH0
00003e24: DUP1
00003e25: MLOAD
00003e26: PUSH1 0x20
00003e28: PUSH2 0x49f1
00003e2b: DUP4
00003e2c: CODECOPY
00003e2d: DUP2
00003e2e: MLOAD
00003e2f: SWAP2
00003e30: MSTORE
00003e31: DUP3
00003e32: PUSH2 0x32e7
00003e35: JUMP
00003e36: JUMPDEST
00003e37: PUSH0
00003e38: PUSH2 0x0c8f
00003e3b: PUSH1 0x40
00003e3d: MLOAD
00003e3e: DUP1
00003e3f: PUSH1 0x60
00003e41: ADD
00003e42: PUSH1 0x40
00003e44: MSTORE
00003e45: DUP1
00003e46: PUSH1 0x27
00003e48: DUP2
00003e49: MSTORE
00003e4a: PUSH1 0x20
00003e4c: ADD
00003e4d: PUSH2 0x4a11
00003e50: PUSH1 0x27
00003e52: SWAP2
00003e53: CODECOPY
00003e54: PUSH2 0x3a47
00003e57: JUMP
00003e58: JUMPDEST
00003e59: PUSH0
00003e5a: DUP1
00003e5b: PUSH2 0x3e67
00003e5e: PUSH3 0x015180
00003e62: TIMESTAMP
00003e63: PUSH2 0x48e1
00003e66: JUMP
00003e67: JUMPDEST
00003e68: PUSH1 0x40
00003e6a: DUP1
00003e6b: MLOAD
00003e6c: PUSH1 0x01
00003e6e: PUSH1 0x01
00003e70: PUSH1 0xa0
00003e72: SHL
00003e73: SUB
00003e74: DUP7
00003e75: AND
00003e76: PUSH1 0x20
00003e78: DUP3
00003e79: ADD
00003e7a: MSTORE
00003e7b: SWAP1
00003e7c: DUP2
00003e7d: ADD
00003e7e: DUP3
00003e7f: SWAP1
00003e80: MSTORE
00003e81: SWAP1
00003e82: SWAP2
00003e83: POP
00003e84: PUSH1 0x60
00003e86: ADD
00003e87: PUSH1 0x40
00003e89: MLOAD
00003e8a: PUSH1 0x20
00003e8c: DUP2
00003e8d: DUP4
00003e8e: SUB
00003e8f: SUB
00003e90: DUP2
00003e91: MSTORE
00003e92: SWAP1
00003e93: PUSH1 0x40
00003e95: MSTORE
00003e96: DUP1
00003e97: MLOAD
00003e98: SWAP1
00003e99: PUSH1 0x20
00003e9b: ADD
00003e9c: KECCAK256
00003e9d: SWAP2
00003e9e: POP
00003e9f: POP
00003ea0: SWAP2
00003ea1: SWAP1
00003ea2: POP
00003ea3: JUMP
00003ea4: JUMPDEST
00003ea5: PUSH0
00003ea6: PUSH2 0x0c8f
00003ea9: PUSH1 0x40
00003eab: MLOAD
00003eac: DUP1
00003ead: PUSH1 0x60
00003eaf: ADD
00003eb0: PUSH1 0x40
00003eb2: MSTORE
00003eb3: DUP1
00003eb4: PUSH1 0x2b
00003eb6: DUP2
00003eb7: MSTORE
00003eb8: PUSH1 0x20
00003eba: ADD
00003ebb: PUSH2 0x4b45
00003ebe: PUSH1 0x2b
00003ec0: SWAP2
00003ec1: CODECOPY
00003ec2: PUSH2 0x328a
00003ec5: JUMP
00003ec6: JUMPDEST
00003ec7: PUSH1 0x60
00003ec9: PUSH0
00003eca: PUSH2 0x3ed4
00003ecd: DUP4
00003ece: PUSH1 0x02
00003ed0: PUSH2 0x4534
00003ed3: JUMP
00003ed4: JUMPDEST
00003ed5: PUSH2 0x3edf
00003ed8: SWAP1
00003ed9: PUSH1 0x02
00003edb: PUSH2 0x454b
00003ede: JUMP
00003edf: JUMPDEST
00003ee0: PUSH8 0xffffffffffffffff
00003ee9: DUP2
00003eea: GT
00003eeb: ISZERO
00003eec: PUSH2 0x3ef7
00003eef: JUMPI
00003ef0: PUSH2 0x3ef7
00003ef3: PUSH2 0x445d
00003ef6: JUMP
00003ef7: JUMPDEST
00003ef8: PUSH1 0x40
00003efa: MLOAD
00003efb: SWAP1
00003efc: DUP1
00003efd: DUP3
00003efe: MSTORE
00003eff: DUP1
00003f00: PUSH1 0x1f
00003f02: ADD
00003f03: PUSH1 0x1f
00003f05: NOT
00003f06: AND
00003f07: PUSH1 0x20
00003f09: ADD
00003f0a: DUP3
00003f0b: ADD
00003f0c: PUSH1 0x40
00003f0e: MSTORE
00003f0f: DUP1
00003f10: ISZERO
00003f11: PUSH2 0x3f21
00003f14: JUMPI
00003f15: PUSH1 0x20
00003f17: DUP3
00003f18: ADD
00003f19: DUP2
00003f1a: DUP1
00003f1b: CALLDATASIZE
00003f1c: DUP4
00003f1d: CALLDATACOPY
00003f1e: ADD
00003f1f: SWAP1
00003f20: POP
00003f21: JUMPDEST
00003f22: POP
00003f23: SWAP1
00003f24: POP
00003f25: PUSH1 0x03
00003f27: PUSH1 0xfc
00003f29: SHL
00003f2a: DUP2
00003f2b: PUSH0
00003f2c: DUP2
00003f2d: MLOAD
00003f2e: DUP2
00003f2f: LT
00003f30: PUSH2 0x3f3b
00003f33: JUMPI
00003f34: PUSH2 0x3f3b
00003f37: PUSH2 0x47c2
00003f3a: JUMP
00003f3b: JUMPDEST
00003f3c: PUSH1 0x20
00003f3e: ADD
00003f3f: ADD
00003f40: SWAP1
00003f41: PUSH1 0x01
00003f43: PUSH1 0x01
00003f45: PUSH1 0xf8
00003f47: SHL
00003f48: SUB
00003f49: NOT
00003f4a: AND
00003f4b: SWAP1
00003f4c: DUP2
00003f4d: PUSH0
00003f4e: BYTE
00003f4f: SWAP1
00003f50: MSTORE8
00003f51: POP
00003f52: PUSH1 0x0f
00003f54: PUSH1 0xfb
00003f56: SHL
00003f57: DUP2
00003f58: PUSH1 0x01
00003f5a: DUP2
00003f5b: MLOAD
00003f5c: DUP2
00003f5d: LT
00003f5e: PUSH2 0x3f69
00003f61: JUMPI
00003f62: PUSH2 0x3f69
00003f65: PUSH2 0x47c2
00003f68: JUMP
00003f69: JUMPDEST
00003f6a: PUSH1 0x20
00003f6c: ADD
00003f6d: ADD
00003f6e: SWAP1
00003f6f: PUSH1 0x01
00003f71: PUSH1 0x01
00003f73: PUSH1 0xf8
00003f75: SHL
00003f76: SUB
00003f77: NOT
00003f78: AND
00003f79: SWAP1
00003f7a: DUP2
00003f7b: PUSH0
00003f7c: BYTE
00003f7d: SWAP1
00003f7e: MSTORE8
00003f7f: POP
00003f80: PUSH0
00003f81: PUSH2 0x3f8b
00003f84: DUP5
00003f85: PUSH1 0x02
00003f87: PUSH2 0x4534
00003f8a: JUMP
00003f8b: JUMPDEST
00003f8c: PUSH2 0x3f96
00003f8f: SWAP1
00003f90: PUSH1 0x01
00003f92: PUSH2 0x454b
00003f95: JUMP
00003f96: JUMPDEST
00003f97: SWAP1
00003f98: POP
00003f99: JUMPDEST
00003f9a: PUSH1 0x01
00003f9c: DUP2
00003f9d: GT
00003f9e: ISZERO
00003f9f: PUSH2 0x400d
00003fa2: JUMPI
00003fa3: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3
00003fb4: PUSH1 0x81
00003fb6: SHL
00003fb7: DUP6
00003fb8: PUSH1 0x0f
00003fba: AND
00003fbb: PUSH1 0x10
00003fbd: DUP2
00003fbe: LT
00003fbf: PUSH2 0x3fca
00003fc2: JUMPI
00003fc3: PUSH2 0x3fca
00003fc6: PUSH2 0x47c2
00003fc9: JUMP
00003fca: JUMPDEST
00003fcb: BYTE
00003fcc: PUSH1 0xf8
00003fce: SHL
00003fcf: DUP3
00003fd0: DUP3
00003fd1: DUP2
00003fd2: MLOAD
00003fd3: DUP2
00003fd4: LT
00003fd5: PUSH2 0x3fe0
00003fd8: JUMPI
00003fd9: PUSH2 0x3fe0
00003fdc: PUSH2 0x47c2
00003fdf: JUMP
00003fe0: JUMPDEST
00003fe1: PUSH1 0x20
00003fe3: ADD
00003fe4: ADD
00003fe5: SWAP1
00003fe6: PUSH1 0x01
00003fe8: PUSH1 0x01
00003fea: PUSH1 0xf8
00003fec: SHL
00003fed: SUB
00003fee: NOT
00003fef: AND
00003ff0: SWAP1
00003ff1: DUP2
00003ff2: PUSH0
00003ff3: BYTE
00003ff4: SWAP1
00003ff5: MSTORE8
00003ff6: POP
00003ff7: PUSH1 0x04
00003ff9: SWAP5
00003ffa: SWAP1
00003ffb: SWAP5
00003ffc: SHR
00003ffd: SWAP4
00003ffe: PUSH2 0x4006
00004001: DUP2
00004002: PUSH2 0x4993
00004005: JUMP
00004006: JUMPDEST
00004007: SWAP1
00004008: POP
00004009: PUSH2 0x3f99
0000400c: JUMP
0000400d: JUMPDEST
0000400e: POP
0000400f: DUP4
00004010: ISZERO
00004011: PUSH2 0x0af0
00004014: JUMPI
00004015: PUSH1 0x40
00004017: MLOAD
00004018: PUSH3 0x461bcd
0000401c: PUSH1 0xe5
0000401e: SHL
0000401f: DUP2
00004020: MSTORE
00004021: PUSH1 0x20
00004023: PUSH1 0x04
00004025: DUP3
00004026: ADD
00004027: DUP2
00004028: SWAP1
00004029: MSTORE
0000402a: PUSH1 0x24
0000402c: DUP3
0000402d: ADD
0000402e: MSTORE
0000402f: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00004050: PUSH1 0x44
00004052: DUP3
00004053: ADD
00004054: MSTORE
00004055: PUSH1 0x64
00004057: ADD
00004058: PUSH2 0x0b55
0000405b: JUMP
0000405c: JUMPDEST
0000405d: PUSH0
0000405e: PUSH2 0x4066
00004061: DUP4
00004062: PUSH2 0x32bd
00004065: JUMP
00004066: JUMPDEST
00004067: PUSH0
00004068: DUP5
00004069: DUP2
0000406a: MSTORE
0000406b: PUSH0
0000406c: DUP1
0000406d: MLOAD
0000406e: PUSH1 0x20
00004070: PUSH2 0x4a78
00004073: DUP4
00004074: CODECOPY
00004075: DUP2
00004076: MLOAD
00004077: SWAP2
00004078: MSTORE
00004079: PUSH1 0x20
0000407b: MSTORE
0000407c: PUSH1 0x40
0000407e: DUP1
0000407f: DUP3
00004080: KECCAK256
00004081: PUSH1 0x01
00004083: ADD
00004084: DUP6
00004085: SWAP1
00004086: SSTORE
00004087: MLOAD
00004088: SWAP2
00004089: SWAP3
0000408a: POP
0000408b: DUP4
0000408c: SWAP2
0000408d: DUP4
0000408e: SWAP2
0000408f: DUP7
00004090: SWAP2
00004091: PUSH32 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff
000040b2: SWAP2
000040b3: SWAP1
000040b4: LOG4
000040b5: POP
000040b6: POP
000040b7: POP
000040b8: JUMP
000040b9: JUMPDEST
000040ba: PUSH1 0x01
000040bc: PUSH1 0x01
000040be: PUSH1 0xa0
000040c0: SHL
000040c1: SUB
000040c2: DUP2
000040c3: AND
000040c4: DUP2
000040c5: EQ
000040c6: PUSH2 0x0a95
000040c9: JUMPI
000040ca: PUSH0
000040cb: DUP1
000040cc: REVERT
000040cd: JUMPDEST
000040ce: PUSH0
000040cf: DUP1
000040d0: PUSH1 0x40
000040d2: DUP4
000040d3: DUP6
000040d4: SUB
000040d5: SLT
000040d6: ISZERO
000040d7: PUSH2 0x40de
000040da: JUMPI
000040db: PUSH0
000040dc: DUP1
000040dd: REVERT
000040de: JUMPDEST
000040df: DUP3
000040e0: CALLDATALOAD
000040e1: SWAP2
000040e2: POP
000040e3: PUSH1 0x20
000040e5: DUP4
000040e6: ADD
000040e7: CALLDATALOAD
000040e8: PUSH2 0x40f0
000040eb: DUP2
000040ec: PUSH2 0x40b9
000040ef: JUMP
000040f0: JUMPDEST
000040f1: DUP1
000040f2: SWAP2
000040f3: POP
000040f4: POP
000040f5: SWAP3
000040f6: POP
000040f7: SWAP3
000040f8: SWAP1
000040f9: POP
000040fa: JUMP
000040fb: JUMPDEST
000040fc: PUSH0
000040fd: PUSH1 0x20
000040ff: DUP3
00004100: DUP5
00004101: SUB
00004102: SLT
00004103: ISZERO
00004104: PUSH2 0x410b
00004107: JUMPI
00004108: PUSH0
00004109: DUP1
0000410a: REVERT
0000410b: JUMPDEST
0000410c: DUP2
0000410d: CALLDATALOAD
0000410e: PUSH2 0x0af0
00004111: DUP2
00004112: PUSH2 0x40b9
00004115: JUMP
00004116: JUMPDEST
00004117: PUSH0
00004118: DUP1
00004119: PUSH0
0000411a: PUSH1 0x60
0000411c: DUP5
0000411d: DUP7
0000411e: SUB
0000411f: SLT
00004120: ISZERO
00004121: PUSH2 0x4128
00004124: JUMPI
00004125: PUSH0
00004126: DUP1
00004127: REVERT
00004128: JUMPDEST
00004129: DUP4
0000412a: CALLDATALOAD
0000412b: PUSH2 0x4133
0000412e: DUP2
0000412f: PUSH2 0x40b9
00004132: JUMP
00004133: JUMPDEST
00004134: SWAP6
00004135: PUSH1 0x20
00004137: DUP6
00004138: ADD
00004139: CALLDATALOAD
0000413a: SWAP6
0000413b: POP
0000413c: PUSH1 0x40
0000413e: SWAP1
0000413f: SWAP5
00004140: ADD
00004141: CALLDATALOAD
00004142: SWAP4
00004143: SWAP3
00004144: POP
00004145: POP
00004146: POP
00004147: JUMP
00004148: JUMPDEST
00004149: PUSH0
0000414a: DUP1
0000414b: PUSH0
0000414c: DUP1
0000414d: PUSH1 0x80
0000414f: DUP6
00004150: DUP8
00004151: SUB
00004152: SLT
00004153: ISZERO
00004154: PUSH2 0x415b
00004157: JUMPI
00004158: PUSH0
00004159: DUP1
0000415a: REVERT
0000415b: JUMPDEST
0000415c: DUP5
0000415d: CALLDATALOAD
0000415e: PUSH2 0x4166
00004161: DUP2
00004162: PUSH2 0x40b9
00004165: JUMP
00004166: JUMPDEST
00004167: SWAP7
00004168: PUSH1 0x20
0000416a: DUP7
0000416b: ADD
0000416c: CALLDATALOAD
0000416d: SWAP7
0000416e: POP
0000416f: PUSH1 0x40
00004171: DUP7
00004172: ADD
00004173: CALLDATALOAD
00004174: SWAP6
00004175: PUSH1 0x60
00004177: ADD
00004178: CALLDATALOAD
00004179: SWAP5
0000417a: POP
0000417b: SWAP3
0000417c: POP
0000417d: POP
0000417e: POP
0000417f: JUMP
00004180: JUMPDEST
00004181: PUSH0
00004182: PUSH1 0x20
00004184: DUP3
00004185: DUP5
00004186: SUB
00004187: SLT
00004188: ISZERO
00004189: PUSH2 0x4190
0000418c: JUMPI
0000418d: PUSH0
0000418e: DUP1
0000418f: REVERT
00004190: JUMPDEST
00004191: POP
00004192: CALLDATALOAD
00004193: SWAP2
00004194: SWAP1
00004195: POP
00004196: JUMP
00004197: JUMPDEST
00004198: PUSH4 0x4e487b71
0000419d: PUSH1 0xe0
0000419f: SHL
000041a0: PUSH0
000041a1: MSTORE
000041a2: PUSH1 0x21
000041a4: PUSH1 0x04
000041a6: MSTORE
000041a7: PUSH1 0x24
000041a9: PUSH0
000041aa: REVERT
000041ab: JUMPDEST
000041ac: PUSH1 0x20
000041ae: DUP2
000041af: ADD
000041b0: PUSH1 0x04
000041b2: DUP4
000041b3: LT
000041b4: PUSH2 0x41cb
000041b7: JUMPI
000041b8: PUSH4 0x4e487b71
000041bd: PUSH1 0xe0
000041bf: SHL
000041c0: PUSH0
000041c1: MSTORE
000041c2: PUSH1 0x21
000041c4: PUSH1 0x04
000041c6: MSTORE
000041c7: PUSH1 0x24
000041c9: PUSH0
000041ca: REVERT
000041cb: JUMPDEST
000041cc: SWAP2
000041cd: SWAP1
000041ce: MSTORE
000041cf: SWAP1
000041d0: JUMP
000041d1: JUMPDEST
000041d2: PUSH0
000041d3: DUP1
000041d4: PUSH1 0x20
000041d6: DUP4
000041d7: DUP6
000041d8: SUB
000041d9: SLT
000041da: ISZERO
000041db: PUSH2 0x41e2
000041de: JUMPI
000041df: PUSH0
000041e0: DUP1
000041e1: REVERT
000041e2: JUMPDEST
000041e3: DUP3
000041e4: CALLDATALOAD
000041e5: PUSH8 0xffffffffffffffff
000041ee: DUP1
000041ef: DUP3
000041f0: GT
000041f1: ISZERO
000041f2: PUSH2 0x41f9
000041f5: JUMPI
000041f6: PUSH0
000041f7: DUP1
000041f8: REVERT
000041f9: JUMPDEST
000041fa: DUP2
000041fb: DUP6
000041fc: ADD
000041fd: SWAP2
000041fe: POP
000041ff: DUP6
00004200: PUSH1 0x1f
00004202: DUP4
00004203: ADD
00004204: SLT
00004205: PUSH2 0x420c
00004208: JUMPI
00004209: PUSH0
0000420a: DUP1
0000420b: REVERT
0000420c: JUMPDEST
0000420d: DUP2
0000420e: CALLDATALOAD
0000420f: DUP2
00004210: DUP2
00004211: GT
00004212: ISZERO
00004213: PUSH2 0x421a
00004216: JUMPI
00004217: PUSH0
00004218: DUP1
00004219: REVERT
0000421a: JUMPDEST
0000421b: DUP7
0000421c: PUSH1 0x20
0000421e: DUP3
0000421f: DUP6
00004220: ADD
00004221: ADD
00004222: GT
00004223: ISZERO
00004224: PUSH2 0x422b
00004227: JUMPI
00004228: PUSH0
00004229: DUP1
0000422a: REVERT
0000422b: JUMPDEST
0000422c: PUSH1 0x20
0000422e: SWAP3
0000422f: SWAP1
00004230: SWAP3
00004231: ADD
00004232: SWAP7
00004233: SWAP2
00004234: SWAP6
00004235: POP
00004236: SWAP1
00004237: SWAP4
00004238: POP
00004239: POP
0000423a: POP
0000423b: POP
0000423c: JUMP
0000423d: JUMPDEST
0000423e: PUSH0
0000423f: DUP1
00004240: PUSH0
00004241: PUSH1 0x60
00004243: DUP5
00004244: DUP7
00004245: SUB
00004246: SLT
00004247: ISZERO
00004248: PUSH2 0x424f
0000424b: JUMPI
0000424c: PUSH0
0000424d: DUP1
0000424e: REVERT
0000424f: JUMPDEST
00004250: DUP4
00004251: CALLDATALOAD
00004252: PUSH2 0x425a
00004255: DUP2
00004256: PUSH2 0x40b9
00004259: JUMP
0000425a: JUMPDEST
0000425b: SWAP3
0000425c: POP
0000425d: PUSH1 0x20
0000425f: DUP5
00004260: ADD
00004261: CALLDATALOAD
00004262: SWAP2
00004263: POP
00004264: PUSH1 0x40
00004266: DUP5
00004267: ADD
00004268: CALLDATALOAD
00004269: PUSH2 0x4271
0000426c: DUP2
0000426d: PUSH2 0x40b9
00004270: JUMP
00004271: JUMPDEST
00004272: DUP1
00004273: SWAP2
00004274: POP
00004275: POP
00004276: SWAP3
00004277: POP
00004278: SWAP3
00004279: POP
0000427a: SWAP3
0000427b: JUMP
0000427c: JUMPDEST
0000427d: PUSH0
0000427e: DUP1
0000427f: PUSH0
00004280: PUSH1 0x60
00004282: DUP5
00004283: DUP7
00004284: SUB
00004285: SLT
00004286: ISZERO
00004287: PUSH2 0x428e
0000428a: JUMPI
0000428b: PUSH0
0000428c: DUP1
0000428d: REVERT
0000428e: JUMPDEST
0000428f: POP
00004290: POP
00004291: DUP2
00004292: CALLDATALOAD
00004293: SWAP4
00004294: PUSH1 0x20
00004296: DUP4
00004297: ADD
00004298: CALLDATALOAD
00004299: SWAP4
0000429a: POP
0000429b: PUSH1 0x40
0000429d: SWAP1
0000429e: SWAP3
0000429f: ADD
000042a0: CALLDATALOAD
000042a1: SWAP2
000042a2: SWAP1
000042a3: POP
000042a4: JUMP
000042a5: JUMPDEST
000042a6: PUSH0
000042a7: DUP1
000042a8: DUP4
000042a9: PUSH1 0x1f
000042ab: DUP5
000042ac: ADD
000042ad: SLT
000042ae: PUSH2 0x42b5
000042b1: JUMPI
000042b2: PUSH0
000042b3: DUP1
000042b4: REVERT
000042b5: JUMPDEST
000042b6: POP
000042b7: DUP2
000042b8: CALLDATALOAD
000042b9: PUSH8 0xffffffffffffffff
000042c2: DUP2
000042c3: GT
000042c4: ISZERO
000042c5: PUSH2 0x42cc
000042c8: JUMPI
000042c9: PUSH0
000042ca: DUP1
000042cb: REVERT
000042cc: JUMPDEST
000042cd: PUSH1 0x20
000042cf: DUP4
000042d0: ADD
000042d1: SWAP2
000042d2: POP
000042d3: DUP4
000042d4: PUSH1 0x20
000042d6: DUP3
000042d7: PUSH1 0x05
000042d9: SHL
000042da: DUP6
000042db: ADD
000042dc: ADD
000042dd: GT
000042de: ISZERO
000042df: PUSH2 0x42e6
000042e2: JUMPI
000042e3: PUSH0
000042e4: DUP1
000042e5: REVERT
000042e6: JUMPDEST
000042e7: SWAP3
000042e8: POP
000042e9: SWAP3
000042ea: SWAP1
000042eb: POP
000042ec: JUMP
000042ed: JUMPDEST
000042ee: PUSH0
000042ef: DUP1
000042f0: PUSH0
000042f1: DUP1
000042f2: PUSH0
000042f3: DUP1
000042f4: PUSH1 0xa0
000042f6: DUP8
000042f7: DUP10
000042f8: SUB
000042f9: SLT
000042fa: ISZERO
000042fb: PUSH2 0x4302
000042fe: JUMPI
000042ff: PUSH0
00004300: DUP1
00004301: REVERT
00004302: JUMPDEST
00004303: DUP7
00004304: CALLDATALOAD
00004305: PUSH2 0x430d
00004308: DUP2
00004309: PUSH2 0x40b9
0000430c: JUMP
0000430d: JUMPDEST
0000430e: SWAP6
0000430f: POP
00004310: PUSH1 0x20
00004312: DUP8
00004313: ADD
00004314: CALLDATALOAD
00004315: SWAP5
00004316: POP
00004317: PUSH1 0x40
00004319: DUP8
0000431a: ADD
0000431b: CALLDATALOAD
0000431c: SWAP4
0000431d: POP
0000431e: PUSH1 0x60
00004320: DUP8
00004321: ADD
00004322: CALLDATALOAD
00004323: PUSH8 0xffffffffffffffff
0000432c: DUP2
0000432d: GT
0000432e: ISZERO
0000432f: PUSH2 0x4336
00004332: JUMPI
00004333: PUSH0
00004334: DUP1
00004335: REVERT
00004336: JUMPDEST
00004337: PUSH2 0x4342
0000433a: DUP10
0000433b: DUP3
0000433c: DUP11
0000433d: ADD
0000433e: PUSH2 0x42a5
00004341: JUMP
00004342: JUMPDEST
00004343: SWAP8
00004344: SWAP11
00004345: SWAP7
00004346: SWAP10
00004347: POP
00004348: SWAP5
00004349: SWAP8
0000434a: SWAP5
0000434b: SWAP7
0000434c: SWAP6
0000434d: PUSH1 0x80
0000434f: SWAP1
00004350: SWAP6
00004351: ADD
00004352: CALLDATALOAD
00004353: SWAP5
00004354: SWAP4
00004355: POP
00004356: POP
00004357: POP
00004358: POP
00004359: JUMP
0000435a: JUMPDEST
0000435b: PUSH0
0000435c: DUP1
0000435d: PUSH0
0000435e: DUP1
0000435f: PUSH0
00004360: PUSH1 0x80
00004362: DUP7
00004363: DUP9
00004364: SUB
00004365: SLT
00004366: ISZERO
00004367: PUSH2 0x436e
0000436a: JUMPI
0000436b: PUSH0
0000436c: DUP1
0000436d: REVERT
0000436e: JUMPDEST
0000436f: DUP6
00004370: CALLDATALOAD
00004371: PUSH2 0x4379
00004374: DUP2
00004375: PUSH2 0x40b9
00004378: JUMP
00004379: JUMPDEST
0000437a: SWAP5
0000437b: POP
0000437c: PUSH1 0x20
0000437e: DUP7
0000437f: ADD
00004380: CALLDATALOAD
00004381: SWAP4
00004382: POP
00004383: PUSH1 0x40
00004385: DUP7
00004386: ADD
00004387: CALLDATALOAD
00004388: SWAP3
00004389: POP
0000438a: PUSH1 0x60
0000438c: DUP7
0000438d: ADD
0000438e: CALLDATALOAD
0000438f: PUSH8 0xffffffffffffffff
00004398: DUP2
00004399: GT
0000439a: ISZERO
0000439b: PUSH2 0x43a2
0000439e: JUMPI
0000439f: PUSH0
000043a0: DUP1
000043a1: REVERT
000043a2: JUMPDEST
000043a3: PUSH2 0x43ae
000043a6: DUP9
000043a7: DUP3
000043a8: DUP10
000043a9: ADD
000043aa: PUSH2 0x42a5
000043ad: JUMP
000043ae: JUMPDEST
000043af: SWAP7
000043b0: SWAP10
000043b1: SWAP6
000043b2: SWAP9
000043b3: POP
000043b4: SWAP4
000043b5: SWAP7
000043b6: POP
000043b7: SWAP3
000043b8: SWAP5
000043b9: SWAP4
000043ba: SWAP3
000043bb: POP
000043bc: POP
000043bd: POP
000043be: JUMP
000043bf: JUMPDEST
000043c0: PUSH0
000043c1: DUP1
000043c2: PUSH1 0x40
000043c4: DUP4
000043c5: DUP6
000043c6: SUB
000043c7: SLT
000043c8: ISZERO
000043c9: PUSH2 0x43d0
000043cc: JUMPI
000043cd: PUSH0
000043ce: DUP1
000043cf: REVERT
000043d0: JUMPDEST
000043d1: DUP3
000043d2: CALLDATALOAD
000043d3: PUSH2 0x43db
000043d6: DUP2
000043d7: PUSH2 0x40b9
000043da: JUMP
000043db: JUMPDEST
000043dc: SWAP5
000043dd: PUSH1 0x20
000043df: SWAP4
000043e0: SWAP1
000043e1: SWAP4
000043e2: ADD
000043e3: CALLDATALOAD
000043e4: SWAP4
000043e5: POP
000043e6: POP
000043e7: POP
000043e8: JUMP
000043e9: JUMPDEST
000043ea: PUSH0
000043eb: DUP1
000043ec: PUSH1 0x40
000043ee: DUP4
000043ef: DUP6
000043f0: SUB
000043f1: SLT
000043f2: ISZERO
000043f3: PUSH2 0x43fa
000043f6: JUMPI
000043f7: PUSH0
000043f8: DUP1
000043f9: REVERT
000043fa: JUMPDEST
000043fb: POP
000043fc: POP
000043fd: DUP1
000043fe: CALLDATALOAD
000043ff: SWAP3
00004400: PUSH1 0x20
00004402: SWAP1
00004403: SWAP2
00004404: ADD
00004405: CALLDATALOAD
00004406: SWAP2
00004407: POP
00004408: JUMP
00004409: JUMPDEST
0000440a: PUSH0
0000440b: JUMPDEST
0000440c: DUP4
0000440d: DUP2
0000440e: LT
0000440f: ISZERO
00004410: PUSH2 0x4423
00004413: JUMPI
00004414: DUP2
00004415: DUP2
00004416: ADD
00004417: MLOAD
00004418: DUP4
00004419: DUP3
0000441a: ADD
0000441b: MSTORE
0000441c: PUSH1 0x20
0000441e: ADD
0000441f: PUSH2 0x440b
00004422: JUMP
00004423: JUMPDEST
00004424: POP
00004425: POP
00004426: PUSH0
00004427: SWAP2
00004428: ADD
00004429: MSTORE
0000442a: JUMP
0000442b: JUMPDEST
0000442c: PUSH1 0x20
0000442e: DUP2
0000442f: MSTORE
00004430: PUSH0
00004431: DUP3
00004432: MLOAD
00004433: DUP1
00004434: PUSH1 0x20
00004436: DUP5
00004437: ADD
00004438: MSTORE
00004439: PUSH2 0x4449
0000443c: DUP2
0000443d: PUSH1 0x40
0000443f: DUP6
00004440: ADD
00004441: PUSH1 0x20
00004443: DUP8
00004444: ADD
00004445: PUSH2 0x4409
00004448: JUMP
00004449: JUMPDEST
0000444a: PUSH1 0x1f
0000444c: ADD
0000444d: PUSH1 0x1f
0000444f: NOT
00004450: AND
00004451: SWAP2
00004452: SWAP1
00004453: SWAP2
00004454: ADD
00004455: PUSH1 0x40
00004457: ADD
00004458: SWAP3
00004459: SWAP2
0000445a: POP
0000445b: POP
0000445c: JUMP
0000445d: JUMPDEST
0000445e: PUSH4 0x4e487b71
00004463: PUSH1 0xe0
00004465: SHL
00004466: PUSH0
00004467: MSTORE
00004468: PUSH1 0x41
0000446a: PUSH1 0x04
0000446c: MSTORE
0000446d: PUSH1 0x24
0000446f: PUSH0
00004470: REVERT
00004471: JUMPDEST
00004472: PUSH0
00004473: DUP2
00004474: MLOAD
00004475: DUP1
00004476: DUP5
00004477: MSTORE
00004478: PUSH1 0x20
0000447a: DUP1
0000447b: DUP6
0000447c: ADD
0000447d: SWAP5
0000447e: POP
0000447f: DUP1
00004480: DUP5
00004481: ADD
00004482: PUSH0
00004483: JUMPDEST
00004484: DUP4
00004485: DUP2
00004486: LT
00004487: ISZERO
00004488: PUSH2 0x449f
0000448b: JUMPI
0000448c: DUP2
0000448d: MLOAD
0000448e: DUP8
0000448f: MSTORE
00004490: SWAP6
00004491: DUP3
00004492: ADD
00004493: SWAP6
00004494: SWAP1
00004495: DUP3
00004496: ADD
00004497: SWAP1
00004498: PUSH1 0x01
0000449a: ADD
0000449b: PUSH2 0x4483
0000449e: JUMP
0000449f: JUMPDEST
000044a0: POP
000044a1: SWAP5
000044a2: SWAP6
000044a3: SWAP5
000044a4: POP
000044a5: POP
000044a6: POP
000044a7: POP
000044a8: POP
000044a9: JUMP
000044aa: JUMPDEST
000044ab: DUP5
000044ac: DUP2
000044ad: MSTORE
000044ae: DUP4
000044af: PUSH1 0x20
000044b1: DUP3
000044b2: ADD
000044b3: MSTORE
000044b4: PUSH1 0x80
000044b6: PUSH1 0x40
000044b8: DUP3
000044b9: ADD
000044ba: MSTORE
000044bb: PUSH0
000044bc: PUSH2 0x44c8
000044bf: PUSH1 0x80
000044c1: DUP4
000044c2: ADD
000044c3: DUP6
000044c4: PUSH2 0x4471
000044c7: JUMP
000044c8: JUMPDEST
000044c9: SWAP1
000044ca: POP
000044cb: DUP3
000044cc: PUSH1 0x60
000044ce: DUP4
000044cf: ADD
000044d0: MSTORE
000044d1: SWAP6
000044d2: SWAP5
000044d3: POP
000044d4: POP
000044d5: POP
000044d6: POP
000044d7: POP
000044d8: JUMP
000044d9: JUMPDEST
000044da: PUSH0
000044db: PUSH1 0x20
000044dd: DUP3
000044de: DUP5
000044df: SUB
000044e0: SLT
000044e1: ISZERO
000044e2: PUSH2 0x44e9
000044e5: JUMPI
000044e6: PUSH0
000044e7: DUP1
000044e8: REVERT
000044e9: JUMPDEST
000044ea: POP
000044eb: MLOAD
000044ec: SWAP2
000044ed: SWAP1
000044ee: POP
000044ef: JUMP
000044f0: JUMPDEST
000044f1: PUSH1 0x20
000044f3: DUP1
000044f4: DUP3
000044f5: MSTORE
000044f6: PUSH1 0x16
000044f8: SWAP1
000044f9: DUP3
000044fa: ADD
000044fb: MSTORE
000044fc: PUSH22 0x21a0a72727aa2fa822a92327a926afa7a72fa9a2a623
00004513: PUSH1 0x51
00004515: SHL
00004516: PUSH1 0x40
00004518: DUP3
00004519: ADD
0000451a: MSTORE
0000451b: PUSH1 0x60
0000451d: ADD
0000451e: SWAP1
0000451f: JUMP
00004520: JUMPDEST
00004521: PUSH4 0x4e487b71
00004526: PUSH1 0xe0
00004528: SHL
00004529: PUSH0
0000452a: MSTORE
0000452b: PUSH1 0x11
0000452d: PUSH1 0x04
0000452f: MSTORE
00004530: PUSH1 0x24
00004532: PUSH0
00004533: REVERT
00004534: JUMPDEST
00004535: DUP1
00004536: DUP3
00004537: MUL
00004538: DUP2
00004539: ISZERO
0000453a: DUP3
0000453b: DUP3
0000453c: DIV
0000453d: DUP5
0000453e: EQ
0000453f: OR
00004540: PUSH2 0x1298
00004543: JUMPI
00004544: PUSH2 0x1298
00004547: PUSH2 0x4520
0000454a: JUMP
0000454b: JUMPDEST
0000454c: DUP1
0000454d: DUP3
0000454e: ADD
0000454f: DUP1
00004550: DUP3
00004551: GT
00004552: ISZERO
00004553: PUSH2 0x1298
00004556: JUMPI
00004557: PUSH2 0x1298
0000455a: PUSH2 0x4520
0000455d: JUMP
0000455e: JUMPDEST
0000455f: PUSH0
00004560: DUP1
00004561: DUP6
00004562: DUP6
00004563: GT
00004564: ISZERO
00004565: PUSH2 0x456c
00004568: JUMPI
00004569: PUSH0
0000456a: DUP1
0000456b: REVERT
0000456c: JUMPDEST
0000456d: DUP4
0000456e: DUP7
0000456f: GT
00004570: ISZERO
00004571: PUSH2 0x4578
00004574: JUMPI
00004575: PUSH0
00004576: DUP1
00004577: REVERT
00004578: JUMPDEST
00004579: POP
0000457a: POP
0000457b: DUP3
0000457c: ADD
0000457d: SWAP4
0000457e: SWAP2
0000457f: SWAP1
00004580: SWAP3
00004581: SUB
00004582: SWAP2
00004583: POP
00004584: JUMP
00004585: JUMPDEST
00004586: DUP5
00004587: DUP2
00004588: MSTORE
00004589: PUSH1 0x60
0000458b: PUSH1 0x20
0000458d: DUP3
0000458e: ADD
0000458f: DUP2
00004590: SWAP1
00004591: MSTORE
00004592: DUP2
00004593: ADD
00004594: DUP4
00004595: SWAP1
00004596: MSTORE
00004597: PUSH0
00004598: PUSH1 0x01
0000459a: PUSH1 0x01
0000459c: PUSH1 0xfb
0000459e: SHL
0000459f: SUB
000045a0: DUP5
000045a1: GT
000045a2: ISZERO
000045a3: PUSH2 0x45aa
000045a6: JUMPI
000045a7: PUSH0
000045a8: DUP1
000045a9: REVERT
000045aa: JUMPDEST
000045ab: DUP4
000045ac: PUSH1 0x05
000045ae: SHL
000045af: DUP1
000045b0: DUP7
000045b1: PUSH1 0x80
000045b3: DUP6
000045b4: ADD
000045b5: CALLDATACOPY
000045b6: PUSH1 0x40
000045b8: DUP4
000045b9: ADD
000045ba: SWAP4
000045bb: SWAP1
000045bc: SWAP4
000045bd: MSTORE
000045be: POP
000045bf: ADD
000045c0: PUSH1 0x80
000045c2: ADD
000045c3: SWAP4
000045c4: SWAP3
000045c5: POP
000045c6: POP
000045c7: POP
000045c8: JUMP
000045c9: JUMPDEST
000045ca: PUSH0
000045cb: PUSH1 0x20
000045cd: DUP3
000045ce: DUP5
000045cf: SUB
000045d0: SLT
000045d1: ISZERO
000045d2: PUSH2 0x45d9
000045d5: JUMPI
000045d6: PUSH0
000045d7: DUP1
000045d8: REVERT
000045d9: JUMPDEST
000045da: DUP2
000045db: MLOAD
000045dc: PUSH2 0x0af0
000045df: DUP2
000045e0: PUSH2 0x40b9
000045e3: JUMP
000045e4: JUMPDEST
000045e5: DUP4
000045e6: DUP2
000045e7: MSTORE
000045e8: DUP3
000045e9: PUSH1 0x20
000045eb: DUP3
000045ec: ADD
000045ed: MSTORE
000045ee: PUSH1 0x60
000045f0: PUSH1 0x40
000045f2: DUP3
000045f3: ADD
000045f4: MSTORE
000045f5: PUSH0
000045f6: PUSH2 0x27c5
000045f9: PUSH1 0x60
000045fb: DUP4
000045fc: ADD
000045fd: DUP5
000045fe: PUSH2 0x4471
00004601: JUMP
00004602: JUMPDEST
00004603: PUSH0
00004604: DUP1
00004605: PUSH1 0x40
00004607: DUP4
00004608: DUP6
00004609: SUB
0000460a: SLT
0000460b: ISZERO
0000460c: PUSH2 0x4613
0000460f: JUMPI
00004610: PUSH0
00004611: DUP1
00004612: REVERT
00004613: JUMPDEST
00004614: POP
00004615: POP
00004616: DUP1
00004617: MLOAD
00004618: PUSH1 0x20
0000461a: SWAP1
0000461b: SWAP2
0000461c: ADD
0000461d: MLOAD
0000461e: SWAP1
0000461f: SWAP3
00004620: SWAP1
00004621: SWAP2
00004622: POP
00004623: JUMP
00004624: JUMPDEST
00004625: DUP5
00004626: DUP2
00004627: MSTORE
00004628: PUSH1 0x80
0000462a: PUSH1 0x20
0000462c: DUP3
0000462d: ADD
0000462e: MSTORE
0000462f: PUSH0
00004630: PUSH2 0x463c
00004633: PUSH1 0x80
00004635: DUP4
00004636: ADD
00004637: DUP7
00004638: PUSH2 0x4471
0000463b: JUMP
0000463c: JUMPDEST
0000463d: PUSH1 0x40
0000463f: DUP4
00004640: ADD
00004641: SWAP5
00004642: SWAP1
00004643: SWAP5
00004644: MSTORE
00004645: POP
00004646: PUSH1 0x60
00004648: ADD
00004649: MSTORE
0000464a: SWAP3
0000464b: SWAP2
0000464c: POP
0000464d: POP
0000464e: JUMP
0000464f: JUMPDEST
00004650: PUSH1 0x20
00004652: DUP2
00004653: MSTORE
00004654: DUP2
00004655: PUSH1 0x20
00004657: DUP3
00004658: ADD
00004659: MSTORE
0000465a: DUP2
0000465b: DUP4
0000465c: PUSH1 0x40
0000465e: DUP4
0000465f: ADD
00004660: CALLDATACOPY
00004661: PUSH0
00004662: DUP2
00004663: DUP4
00004664: ADD
00004665: PUSH1 0x40
00004667: SWAP1
00004668: DUP2
00004669: ADD
0000466a: SWAP2
0000466b: SWAP1
0000466c: SWAP2
0000466d: MSTORE
0000466e: PUSH1 0x1f
00004670: SWAP1
00004671: SWAP3
00004672: ADD
00004673: PUSH1 0x1f
00004675: NOT
00004676: AND
00004677: ADD
00004678: ADD
00004679: SWAP2
0000467a: SWAP1
0000467b: POP
0000467c: JUMP
0000467d: JUMPDEST
0000467e: PUSH0
0000467f: DUP3
00004680: MLOAD
00004681: PUSH2 0x468e
00004684: DUP2
00004685: DUP5
00004686: PUSH1 0x20
00004688: DUP8
00004689: ADD
0000468a: PUSH2 0x4409
0000468d: JUMP
0000468e: JUMPDEST
0000468f: SWAP2
00004690: SWAP1
00004691: SWAP2
00004692: ADD
00004693: SWAP3
00004694: SWAP2
00004695: POP
00004696: POP
00004697: JUMP
00004698: JUMPDEST
00004699: PUSH0
0000469a: DUP1
0000469b: PUSH1 0x40
0000469d: DUP4
0000469e: DUP6
0000469f: SUB
000046a0: SLT
000046a1: ISZERO
000046a2: PUSH2 0x46a9
000046a5: JUMPI
000046a6: PUSH0
000046a7: DUP1
000046a8: REVERT
000046a9: JUMPDEST
000046aa: DUP3
000046ab: CALLDATALOAD
000046ac: PUSH2 0x46b4
000046af: DUP2
000046b0: PUSH2 0x40b9
000046b3: JUMP
000046b4: JUMPDEST
000046b5: SWAP2
000046b6: POP
000046b7: PUSH1 0x20
000046b9: DUP4
000046ba: ADD
000046bb: CALLDATALOAD
000046bc: PUSH2 0x40f0
000046bf: DUP2
000046c0: PUSH2 0x40b9
000046c3: JUMP
000046c4: JUMPDEST
000046c5: PUSH1 0x01
000046c7: DUP2
000046c8: DUP2
000046c9: JUMPDEST
000046ca: DUP1
000046cb: DUP6
000046cc: GT
000046cd: ISZERO
000046ce: PUSH2 0x46fe
000046d1: JUMPI
000046d2: DUP2
000046d3: PUSH0
000046d4: NOT
000046d5: DIV
000046d6: DUP3
000046d7: GT
000046d8: ISZERO
000046d9: PUSH2 0x46e4
000046dc: JUMPI
000046dd: PUSH2 0x46e4
000046e0: PUSH2 0x4520
000046e3: JUMP
000046e4: JUMPDEST
000046e5: DUP1
000046e6: DUP6
000046e7: AND
000046e8: ISZERO
000046e9: PUSH2 0x46f1
000046ec: JUMPI
000046ed: SWAP2
000046ee: DUP2
000046ef: MUL
000046f0: SWAP2
000046f1: JUMPDEST
000046f2: SWAP4
000046f3: DUP5
000046f4: SHR
000046f5: SWAP4
000046f6: SWAP1
000046f7: DUP1
000046f8: MUL
000046f9: SWAP1
000046fa: PUSH2 0x46c9
000046fd: JUMP
000046fe: JUMPDEST
000046ff: POP
00004700: SWAP3
00004701: POP
00004702: SWAP3
00004703: SWAP1
00004704: POP
00004705: JUMP
00004706: JUMPDEST
00004707: PUSH0
00004708: DUP3
00004709: PUSH2 0x4714
0000470c: JUMPI
0000470d: POP
0000470e: PUSH1 0x01
00004710: PUSH2 0x1298
00004713: JUMP
00004714: JUMPDEST
00004715: DUP2
00004716: PUSH2 0x4720
00004719: JUMPI
0000471a: POP
0000471b: PUSH0
0000471c: PUSH2 0x1298
0000471f: JUMP
00004720: JUMPDEST
00004721: DUP2
00004722: PUSH1 0x01
00004724: DUP2
00004725: EQ
00004726: PUSH2 0x4736
00004729: JUMPI
0000472a: PUSH1 0x02
0000472c: DUP2
0000472d: EQ
0000472e: PUSH2 0x4740
00004731: JUMPI
00004732: PUSH2 0x475c
00004735: JUMP
00004736: JUMPDEST
00004737: PUSH1 0x01
00004739: SWAP2
0000473a: POP
0000473b: POP
0000473c: PUSH2 0x1298
0000473f: JUMP
00004740: JUMPDEST
00004741: PUSH1 0xff
00004743: DUP5
00004744: GT
00004745: ISZERO
00004746: PUSH2 0x4751
00004749: JUMPI
0000474a: PUSH2 0x4751
0000474d: PUSH2 0x4520
00004750: JUMP
00004751: JUMPDEST
00004752: POP
00004753: POP
00004754: PUSH1 0x01
00004756: DUP3
00004757: SHL
00004758: PUSH2 0x1298
0000475b: JUMP
0000475c: JUMPDEST
0000475d: POP
0000475e: PUSH1 0x20
00004760: DUP4
00004761: LT
00004762: PUSH2 0x0133
00004765: DUP4
00004766: LT
00004767: AND
00004768: PUSH1 0x4e
0000476a: DUP5
0000476b: LT
0000476c: PUSH1 0x0b
0000476e: DUP5
0000476f: LT
00004770: AND
00004771: OR
00004772: ISZERO
00004773: PUSH2 0x477f
00004776: JUMPI
00004777: POP
00004778: DUP2
00004779: DUP2
0000477a: EXP
0000477b: PUSH2 0x1298
0000477e: JUMP
0000477f: JUMPDEST
00004780: PUSH2 0x4789
00004783: DUP4
00004784: DUP4
00004785: PUSH2 0x46c4
00004788: JUMP
00004789: JUMPDEST
0000478a: DUP1
0000478b: PUSH0
0000478c: NOT
0000478d: DIV
0000478e: DUP3
0000478f: GT
00004790: ISZERO
00004791: PUSH2 0x479c
00004794: JUMPI
00004795: PUSH2 0x479c
00004798: PUSH2 0x4520
0000479b: JUMP
0000479c: JUMPDEST
0000479d: MUL
0000479e: SWAP4
0000479f: SWAP3
000047a0: POP
000047a1: POP
000047a2: POP
000047a3: JUMP
000047a4: JUMPDEST
000047a5: PUSH0
000047a6: PUSH2 0x0af0
000047a9: DUP4
000047aa: DUP4
000047ab: PUSH2 0x4706
000047ae: JUMP
000047af: JUMPDEST
000047b0: DUP2
000047b1: DUP2
000047b2: SUB
000047b3: DUP2
000047b4: DUP2
000047b5: GT
000047b6: ISZERO
000047b7: PUSH2 0x1298
000047ba: JUMPI
000047bb: PUSH2 0x1298
000047be: PUSH2 0x4520
000047c1: JUMP
000047c2: JUMPDEST
000047c3: PUSH4 0x4e487b71
000047c8: PUSH1 0xe0
000047ca: SHL
000047cb: PUSH0
000047cc: MSTORE
000047cd: PUSH1 0x32
000047cf: PUSH1 0x04
000047d1: MSTORE
000047d2: PUSH1 0x24
000047d4: PUSH0
000047d5: REVERT
000047d6: JUMPDEST
000047d7: DUP3
000047d8: DUP2
000047d9: MSTORE
000047da: PUSH1 0x40
000047dc: PUSH1 0x20
000047de: DUP3
000047df: ADD
000047e0: MSTORE
000047e1: PUSH0
000047e2: PUSH2 0x39e1
000047e5: PUSH1 0x40
000047e7: DUP4
000047e8: ADD
000047e9: DUP5
000047ea: PUSH2 0x4471
000047ed: JUMP
000047ee: JUMPDEST
000047ef: PUSH0
000047f0: PUSH1 0x03
000047f2: RETURNDATASIZE
000047f3: GT
000047f4: ISZERO
000047f5: PUSH2 0x4804
000047f8: JUMPI
000047f9: PUSH1 0x04
000047fb: PUSH0
000047fc: DUP1
000047fd: RETURNDATACOPY
000047fe: POP
000047ff: PUSH0
00004800: MLOAD
00004801: PUSH1 0xe0
00004803: SHR
00004804: JUMPDEST
00004805: SWAP1
00004806: JUMP
00004807: JUMPDEST
00004808: PUSH1 0x1f
0000480a: DUP3
0000480b: ADD
0000480c: PUSH1 0x1f
0000480e: NOT
0000480f: AND
00004810: DUP2
00004811: ADD
00004812: PUSH8 0xffffffffffffffff
0000481b: DUP2
0000481c: GT
0000481d: DUP3
0000481e: DUP3
0000481f: LT
00004820: OR
00004821: ISZERO
00004822: PUSH2 0x4839
00004825: JUMPI
00004826: PUSH4 0x4e487b71
0000482b: PUSH1 0xe0
0000482d: SHL
0000482e: PUSH0
0000482f: MSTORE
00004830: PUSH1 0x41
00004832: PUSH1 0x04
00004834: MSTORE
00004835: PUSH1 0x24
00004837: PUSH0
00004838: REVERT
00004839: JUMPDEST
0000483a: PUSH1 0x40
0000483c: MSTORE
0000483d: POP
0000483e: POP
0000483f: JUMP
00004840: JUMPDEST
00004841: PUSH0
00004842: PUSH1 0x44
00004844: RETURNDATASIZE
00004845: LT
00004846: ISZERO
00004847: PUSH2 0x484d
0000484a: JUMPI
0000484b: SWAP1
0000484c: JUMP
0000484d: JUMPDEST
0000484e: PUSH1 0x40
00004850: MLOAD
00004851: PUSH1 0x03
00004853: NOT
00004854: RETURNDATASIZE
00004855: DUP2
00004856: ADD
00004857: PUSH1 0x04
00004859: DUP4
0000485a: RETURNDATACOPY
0000485b: DUP2
0000485c: MLOAD
0000485d: RETURNDATASIZE
0000485e: PUSH8 0xffffffffffffffff
00004867: DUP2
00004868: PUSH1 0x24
0000486a: DUP5
0000486b: ADD
0000486c: GT
0000486d: DUP2
0000486e: DUP5
0000486f: GT
00004870: OR
00004871: ISZERO
00004872: PUSH2 0x487d
00004875: JUMPI
00004876: POP
00004877: POP
00004878: POP
00004879: POP
0000487a: POP
0000487b: SWAP1
0000487c: JUMP
0000487d: JUMPDEST
0000487e: DUP3
0000487f: DUP6
00004880: ADD
00004881: SWAP2
00004882: POP
00004883: DUP2
00004884: MLOAD
00004885: DUP2
00004886: DUP2
00004887: GT
00004888: ISZERO
00004889: PUSH2 0x4895
0000488c: JUMPI
0000488d: POP
0000488e: POP
0000488f: POP
00004890: POP
00004891: POP
00004892: POP
00004893: SWAP1
00004894: JUMP
00004895: JUMPDEST
00004896: DUP5
00004897: RETURNDATASIZE
00004898: DUP8
00004899: ADD
0000489a: ADD
0000489b: PUSH1 0x20
0000489d: DUP3
0000489e: DUP6
0000489f: ADD
000048a0: ADD
000048a1: GT
000048a2: ISZERO
000048a3: PUSH2 0x48af
000048a6: JUMPI
000048a7: POP
000048a8: POP
000048a9: POP
000048aa: POP
000048ab: POP
000048ac: POP
000048ad: SWAP1
000048ae: JUMP
000048af: JUMPDEST
000048b0: PUSH2 0x48be
000048b3: PUSH1 0x20
000048b5: DUP3
000048b6: DUP7
000048b7: ADD
000048b8: ADD
000048b9: DUP8
000048ba: PUSH2 0x4807
000048bd: JUMP
000048be: JUMPDEST
000048bf: POP
000048c0: SWAP1
000048c1: SWAP6
000048c2: SWAP5
000048c3: POP
000048c4: POP
000048c5: POP
000048c6: POP
000048c7: POP
000048c8: JUMP
000048c9: JUMPDEST
000048ca: PUSH0
000048cb: PUSH1 0x01
000048cd: DUP3
000048ce: ADD
000048cf: PUSH2 0x48da
000048d2: JUMPI
000048d3: PUSH2 0x48da
000048d6: PUSH2 0x4520
000048d9: JUMP
000048da: JUMPDEST
000048db: POP
000048dc: PUSH1 0x01
000048de: ADD
000048df: SWAP1
000048e0: JUMP
000048e1: JUMPDEST
000048e2: PUSH0
000048e3: DUP3
000048e4: PUSH2 0x48fb
000048e7: JUMPI
000048e8: PUSH4 0x4e487b71
000048ed: PUSH1 0xe0
000048ef: SHL
000048f0: PUSH0
000048f1: MSTORE
000048f2: PUSH1 0x12
000048f4: PUSH1 0x04
000048f6: MSTORE
000048f7: PUSH1 0x24
000048f9: PUSH0
000048fa: REVERT
000048fb: JUMPDEST
000048fc: POP
000048fd: DIV
000048fe: SWAP1
000048ff: JUMP
00004900: JUMPDEST
00004901: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000
00004922: DUP2
00004923: MSTORE
00004924: PUSH0
00004925: DUP4
00004926: MLOAD
00004927: PUSH2 0x4937
0000492a: DUP2
0000492b: PUSH1 0x17
0000492d: DUP6
0000492e: ADD
0000492f: PUSH1 0x20
00004931: DUP9
00004932: ADD
00004933: PUSH2 0x4409
00004936: JUMP
00004937: JUMPDEST
00004938: PUSH17 0x01034b99036b4b9b9b4b733903937b6329
0000494a: PUSH1 0x7d
0000494c: SHL
0000494d: PUSH1 0x17
0000494f: SWAP2
00004950: DUP5
00004951: ADD
00004952: SWAP2
00004953: DUP3
00004954: ADD
00004955: MSTORE
00004956: DUP4
00004957: MLOAD
00004958: PUSH2 0x4968
0000495b: DUP2
0000495c: PUSH1 0x28
0000495e: DUP5
0000495f: ADD
00004960: PUSH1 0x20
00004962: DUP9
00004963: ADD
00004964: PUSH2 0x4409
00004967: JUMP
00004968: JUMPDEST
00004969: ADD
0000496a: PUSH1 0x28
0000496c: ADD
0000496d: SWAP5
0000496e: SWAP4
0000496f: POP
00004970: POP
00004971: POP
00004972: POP
00004973: JUMP
00004974: JUMPDEST
00004975: PUSH0
00004976: PUSH1 0x20
00004978: DUP3
00004979: DUP5
0000497a: SUB
0000497b: SLT
0000497c: ISZERO
0000497d: PUSH2 0x4984
00004980: JUMPI
00004981: PUSH0
00004982: DUP1
00004983: REVERT
00004984: JUMPDEST
00004985: DUP2
00004986: MLOAD
00004987: DUP1
00004988: ISZERO
00004989: ISZERO
0000498a: DUP2
0000498b: EQ
0000498c: PUSH2 0x0af0
0000498f: JUMPI
00004990: PUSH0
00004991: DUP1
00004992: REVERT
00004993: JUMPDEST
00004994: PUSH0
00004995: DUP2
00004996: PUSH2 0x49a1
00004999: JUMPI
0000499a: PUSH2 0x49a1
0000499d: PUSH2 0x4520
000049a0: JUMP
000049a1: JUMPDEST
000049a2: POP
000049a3: PUSH0
000049a4: NOT
000049a5: ADD
000049a6: SWAP1
000049a7: JUMP
000049a8: INVALID
000049a9: MSTORE8
000049aa: SLOAD
000049ab: COINBASE
000049ac: MSTORE
000049ad: UNKNOWN(0x4B)
000049ae: UNKNOWN(0x4E)
000049af: GASLIMIT
000049b0: SLOAD
000049b1: PUSH0
000049b2: SLOAD
000049b3: UNKNOWN(0x4F)
000049b4: UNKNOWN(0x4B)
000049b5: GASLIMIT
000049b6: UNKNOWN(0x4E)
000049b7: PUSH0
000049b8: TIMESTAMP
000049b9: MSTORE
000049ba: BLOBHASH
000049bb: DIFFICULTY
000049bc: SELFBALANCE
000049bd: GASLIMIT
000049be: PUSH0
000049bf: UNKNOWN(0x4D)
000049c0: GASLIMIT
000049c1: MSTORE8
000049c2: MSTORE8
000049c3: COINBASE
000049c4: SELFBALANCE
000049c5: BLOBHASH
000049c6: UNKNOWN(0x4E)
000049c7: SELFBALANCE
000049c8: PUSH0
000049c9: NUMBER
000049ca: UNKNOWN(0x4F)
000049cb: UNKNOWN(0x4E)
000049cc: SLOAD
000049cd: MSTORE
000049ce: COINBASE
000049cf: NUMBER
000049d0: SLOAD
000049d1: SUB
000049d2: PUSH18 0x1c9d994faf6055172091cb841fd4831aa743
000049e5: UNKNOWN(0xE6)
000049e6: RETURN
000049e7: BALANCE
000049e8: MLOAD
000049e9: PUSH4 0xb06a122c
000049ee: DUP5
000049ef: XOR
000049f0: CHAINID
000049f1: MUL
000049f2: PUSH12 0xd110619d11cfdfc28e281df8
000049ff: SWAP4
00004a00: UNKNOWN(0xBC)
00004a01: UNKNOWN(0x24)
00004a02: DUP3
00004a03: DUP15
00004a04: DUP10
00004a05: OR
00004a06: PUSH20 0x18e9dbd860cdaedeb6b357495448445241574c5f
00004a1b: UNKNOWN(0x4C)
00004a1c: BLOBHASH
00004a1d: UNKNOWN(0x4D)
00004a1e: BLOBHASH
00004a1f: SLOAD
00004a20: PUSH0
00004a21: BLOBHASH
00004a22: UNKNOWN(0x4E)
00004a23: SLOAD
00004a24: MSTORE
00004a25: COINBASE
00004a26: DIFFICULTY
00004a27: COINBASE
00004a28: MSIZE
00004a29: PUSH0
00004a2a: MLOAD
00004a2b: SSTORE
00004a2c: UNKNOWN(0x4F)
00004a2d: SLOAD
00004a2e: COINBASE
00004a2f: PUSH0
00004a30: MSTORE8
00004a31: UNKNOWN(0x4C)
00004a32: UNKNOWN(0x4F)
00004a33: SLOAD
00004a34: PUSH0
00004a35: SLOAD
00004a36: COINBASE
00004a37: SELFBALANCE
00004a38: STOP
00004a39: UNKNOWN(0xD2)
00004a3a: UNKNOWN(0xEA)
00004a3b: UNKNOWN(0xD7)
00004a3c: DUP13
00004a3d: PUSH3 0x0e94b0
00004a41: UNKNOWN(0x2D)
00004a42: EXP
00004a43: SWAP10
00004a44: PUSH15 0x99298c59ddccfa1d8a0149080ac3a2
00004a54: UNKNOWN(0x0D)
00004a55: UNKNOWN(0xE0)
00004a56: PUSH1 0x68
00004a58: MUL
00004a59: MLOAD
00004a5a: UNKNOWN(0xE8)
00004a5b: PUSH5 0xca2a080f55
00004a61: UNKNOWN(0xBC)
00004a62: UNKNOWN(0xE5)
00004a63: UNKNOWN(0xDA)
00004a64: UNKNOWN(0x24)
00004a65: MSTORE
00004a66: UNKNOWN(0xE8)
00004a67: UNKNOWN(0xCF)
00004a68: UNKNOWN(0xCA)
00004a69: REVERT
00004a6a: UNKNOWN(0xBC)
00004a6b: SWAP6
00004a6c: BYTE
00004a6d: RETURNDATACOPY
00004a6e: PUSH32 0xff5023d558452ec22853e43b954ba190a7e49386f1f78b01dcd9f628db23f432
00004a8f: STATICCALL
00004a90: MUL
00004a91: SWAP11
00004a92: PUSH30 0xfd6d98e8fb535441524b4e45545f544f4b454e5f4252494447455f4c325f
00004ab1: SLOAD
00004ab2: UNKNOWN(0x4F)
00004ab3: UNKNOWN(0x4B)
00004ab4: GASLIMIT
00004ab5: UNKNOWN(0x4E)
00004ab6: PUSH0
00004ab7: NUMBER
00004ab8: UNKNOWN(0x4F)
00004ab9: UNKNOWN(0x4E)
00004aba: SLOAD
00004abb: MSTORE
00004abc: COINBASE
00004abd: NUMBER
00004abe: SLOAD
00004abf: STOP
00004ac0: DUP12
00004ac1: UNKNOWN(0xCE)
00004ac2: COINBASE
00004ac3: DUP3
00004ac4: PUSH30 0xd5484d80312a2e43bc42a896e3fcf75bf84c2b49339168dfa00a037693ba
00004ae3: BALANCE
00004ae4: UNKNOWN(0x27)
00004ae5: DUP6
00004ae6: SWAP4
00004ae7: UNKNOWN(0x2D)
00004ae8: NUMBER
00004ae9: UNKNOWN(0x0D)
00004aea: UNKNOWN(0xCC)
00004aeb: CREATE
00004aec: CREATE2
00004aed: PUSH16 0xfedd0aa7c0f8b6da2cc4530c2717689b
00004afe: SWAP7
00004aff: SUB
00004b00: UNKNOWN(0xE6)
00004b01: ISZERO
00004b02: PUSH4 0x8e0b7944
00004b07: BLOBBASEFEE
00004b08: PUSH17 0xf8c695bf8f2a47033bf1cf95691ec3130f
00004b1a: PUSH5 0x939cee9953
00004b20: SLOAD
00004b21: COINBASE
00004b22: MSTORE
00004b23: UNKNOWN(0x4B)
00004b24: UNKNOWN(0x4E)
00004b25: GASLIMIT
00004b26: SLOAD
00004b27: PUSH0
00004b28: SLOAD
00004b29: UNKNOWN(0x4F)
00004b2a: UNKNOWN(0x4B)
00004b2b: GASLIMIT
00004b2c: UNKNOWN(0x4E)
00004b2d: PUSH0
00004b2e: TIMESTAMP
00004b2f: MSTORE
00004b30: BLOBHASH
00004b31: DIFFICULTY
00004b32: SELFBALANCE
00004b33: GASLIMIT
00004b34: PUSH0
00004b35: UNKNOWN(0x4D)
00004b36: COINBASE
00004b37: UNKNOWN(0x4E)
00004b38: COINBASE
00004b39: SELFBALANCE
00004b3a: GASLIMIT
00004b3b: MSTORE
00004b3c: PUSH0
00004b3d: MSTORE8
00004b3e: UNKNOWN(0x4C)
00004b3f: UNKNOWN(0x4F)
00004b40: SLOAD
00004b41: PUSH0
00004b42: SLOAD
00004b43: COINBASE
00004b44: SELFBALANCE
00004b45: JUMPI
00004b46: BLOBHASH
00004b47: SLOAD
00004b48: BASEFEE
00004b49: DIFFICULTY
00004b4a: MSTORE
00004b4b: COINBASE
00004b4c: JUMPI
00004b4d: UNKNOWN(0x4C)
00004b4e: PUSH0
00004b4f: UNKNOWN(0x4C)
00004b50: BLOBHASH
00004b51: UNKNOWN(0x4D)
00004b52: BLOBHASH
00004b53: SLOAD
00004b54: PUSH0
00004b55: JUMPI
00004b56: BLOBHASH
00004b57: SLOAD
00004b58: BASEFEE
00004b59: DIFFICULTY
00004b5a: MSTORE
00004b5b: COINBASE
00004b5c: JUMPI
00004b5d: PUSH0
00004b5e: UNKNOWN(0x4C)
00004b5f: BLOBHASH
00004b60: UNKNOWN(0x4D)
00004b61: BLOBHASH
00004b62: SLOAD
00004b63: PUSH0
00004b64: POP
00004b65: NUMBER
00004b66: SLOAD
00004b67: PUSH0
00004b68: MSTORE8
00004b69: UNKNOWN(0x4C)
00004b6a: UNKNOWN(0x4F)
00004b6b: SLOAD
00004b6c: PUSH0
00004b6d: SLOAD
00004b6e: COINBASE
00004b6f: SELFBALANCE
00004b70: MSTORE8
00004b71: SLOAD
00004b72: COINBASE
00004b73: MSTORE
00004b74: UNKNOWN(0x4B)
00004b75: UNKNOWN(0x4E)
00004b76: GASLIMIT
00004b77: SLOAD
00004b78: PUSH0
00004b79: SLOAD
00004b7a: UNKNOWN(0x4F)
00004b7b: UNKNOWN(0x4B)
00004b7c: GASLIMIT
00004b7d: UNKNOWN(0x4E)
00004b7e: PUSH0
00004b7f: TIMESTAMP
00004b80: MSTORE
00004b81: BLOBHASH
00004b82: DIFFICULTY
00004b83: SELFBALANCE
00004b84: GASLIMIT
00004b85: PUSH0
00004b86: DIFFICULTY
00004b87: GASLIMIT
00004b88: POP
00004b89: UNKNOWN(0x4F)
00004b8a: MSTORE8
00004b8b: BLOBHASH
00004b8c: SLOAD
00004b8d: UNKNOWN(0x4F)
00004b8e: MSTORE
00004b8f: PUSH0
00004b90: COINBASE
00004b91: DIFFICULTY
00004b92: DIFFICULTY
00004b93: MSTORE
00004b94: GASLIMIT
00004b95: MSTORE8
00004b96: MSTORE8
00004b97: GASLIMIT
00004b98: MSTORE8
00004b99: MSTORE8
00004b9a: PUSH21 0x61726b576172655f537461726b6e65744552433230
00004bb0: TIMESTAMP
00004bb1: PUSH19 0x696467655f322e305f3401b64b1b3b690b43b9
00004bc5: UNKNOWN(0xB5)
00004bc6: EQ
00004bc7: UNKNOWN(0xFB)
00004bc8: DUP2
00004bc9: CALLDATACOPY
00004bca: PUSH22 0x18f4039cd3e4f4914d8a6bdf01d679fb19c59c20aaa9
00004be1: PUSH6 0x97268f595db3
00004be8: UNKNOWN(0x0E)
00004be9: UNKNOWN(0xC2)
00004bea: GT
00004beb: ADDMOD
00004bec: UNKNOWN(0xA5)
00004bed: SDIV
00004bee: CALLDATACOPY
00004bef: UNKNOWN(0x0E)
00004bf0: ORIGIN
00004bf1: PUSH7 0xed3a6515637f16
00004bf9: UNKNOWN(0xB8)
00004bfa: UNKNOWN(0xB6)
00004bfb: DUP10
00004bfc: MUL
00004bfd: RETURNDATACOPY
00004bfe: UNKNOWN(0xDB)
00004bff: PUSH24 0xf7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84
00004c18: UNKNOWN(0xE6)
00004c19: UNKNOWN(0x2F)
00004c1a: PUSH14 0xa7535441524b4e45545f45524332
00004c29: ADDRESS
00004c2a: PUSH0
00004c2b: SLOAD
00004c2c: UNKNOWN(0x4F)
00004c2d: UNKNOWN(0x4B)
00004c2e: GASLIMIT
00004c2f: UNKNOWN(0x4E)
00004c30: PUSH0
00004c31: TIMESTAMP
00004c32: MSTORE
00004c33: BLOBHASH
00004c34: DIFFICULTY
00004c35: SELFBALANCE
00004c36: GASLIMIT
00004c37: PUSH0
00004c38: SLOAD
00004c39: UNKNOWN(0x4F)
00004c3a: UNKNOWN(0x4B)
00004c3b: GASLIMIT
00004c3c: UNKNOWN(0x4E)
00004c3d: PUSH0
00004c3e: COINBASE
00004c3f: DIFFICULTY
00004c40: DIFFICULTY
00004c41: MSTORE
00004c42: GASLIMIT
00004c43: MSTORE8
00004c44: MSTORE8
00004c45: ADD
00004c46: UNKNOWN(0x28)
00004c47: UNKNOWN(0xD6)
00004c48: GASPRICE
00004c49: UNKNOWN(0xDB)
00004c4a: UNKNOWN(0xF6)
00004c4b: UNKNOWN(0xB0)
00004c4c: SWAP1
00004c4d: MUL
00004c4e: UNKNOWN(0xC2)
00004c4f: PUSH13 0xaf55c47e2f26635807e3ef1b02
00004c5d: PUSH19 0x18aa74c8d61a3ea264697066735822122097c4
00004c71: UNKNOWN(0x2C)
00004c72: XOR
00004c73: GAS
00004c74: UNKNOWN(0x29)
00004c75: SIGNEXTEND
00004c76: PUSH18 0x8dfa810f8135fbc88aeb9967a7c8d302a3c0
00004c89: MUL
00004c8a: JUMPDEST
00004c8b: TLOAD
00004c8c: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Unrestricted external initializer delegatecall enables proxy takeover and fund drain 90 no
view
evidence_json
{
    "evidence": "ProxySupport.initialize accepts any caller (via proxy) and unconditionally delegatecalls an arbitrary eicAddress when nonzero, skipping init checks (lines 52-67). callExternalInitializer performs the delegatecall (lines 80-88). After storage overwrite, withdraw consumes messages via the stored messagingContract and transfers funds (StarknetTokenBridge.consumeMessage/withdraw).",
    "locations": [
        "contracts/starkware/solidity/interfaces/ProxySupport.sol:52",
        "contracts/starkware/solidity/interfaces/ProxySupport.sol:64",
        "contracts/starkware/solidity/interfaces/ProxySupport.sol:80",
        "contracts/src/solidity/StarknetTokenBridge.sol:482",
        "contracts/src/solidity/StarknetTokenBridge.sol:497"
    ],
    "recommendation": "Require authorization for the EIC path (e.g., only governance), and/or enforce isInitialized checks even when eicAddress != 0. Alternatively remove the EIC delegatecall path or gate initialize in the proxy so only an admin can call it.",
    "exploit_scenario": "1) Deploy an attacker-controlled messaging contract that implements consumeMessageFromL2 and always returns success.\n2) Deploy an attacker EIC contract with initialize(bytes) that sstores the MESSAGING_CONTRACT_TAG slot (keccak256(\"STARKNET_TOKEN_BRIDGE_MESSAGING_CONTRACT\")) to the attacker messaging contract address (or directly transfers tokens out during delegatecall).\n3) Call the proxy's initialize(...) with eicAddress set to the attacker EIC and any initData. Because eicAddress != 0, ProxySupport delegates to the EIC without any auth or isInitialized check.\n4) Call withdraw(token, amount, attacker) on the bridge. consumeMessage() now calls the attacker messaging contract and succeeds without a real L2 message, so the bridge transfers out tokens. Repeat to drain all tokens held by the bridge."
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x4d338598276779b99506dede22e72d3007afab1b9944296050336d06e661bf0f
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x4d338598276779b99506dede22e72d3007afab1b9944296050336d06e661bf0f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10627,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 19440,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 19440,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x0e6c9ffe83c0befa5c886f5dba012efe0e1e3e181d83aebd4fbb43750dc6297b
call_targets: 0x8a4e51ff0f2a45899519e6049fb2d1f038be1e77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0e6c9ffe83c0befa5c886f5dba012efe0e1e3e181d83aebd4fbb43750dc6297b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x8a4e51ff0f2a45899519e6049fb2d1f038be1e77"
    ],
    "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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3320,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5923,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": [
        {
            "pc": 19440,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x8ee0adb6b92a8a89d686772e1aa3cdfc50e7888645160ca44fb1a899eb798595
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x8ee0adb6b92a8a89d686772e1aa3cdfc50e7888645160ca44fb1a899eb798595",
    "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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x0e6c9ffe83c0befa5c886f5dba012efe0e1e3e181d83aebd4fbb43750dc6297b
call_targets: 0x8a4e51ff0f2a45899519e6049fb2d1f038be1e77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0e6c9ffe83c0befa5c886f5dba012efe0e1e3e181d83aebd4fbb43750dc6297b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x8a4e51ff0f2a45899519e6049fb2d1f038be1e77"
    ],
    "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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3320,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5923,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [
        {
            "pc": 19440,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 11
}
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": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 19
}
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": 7
}