8be6354b-23eb-41af-b543-f567f3434f60
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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"]}]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unrestricted external initializer delegatecall enables proxy takeover and fund drain | 90 | no | — |
viewevidence_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 |
viewtrace_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 | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "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 |
viewtrace_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 | — |
viewevidence_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 |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 7
}
|