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

Analysis Run

019bab3b-ac52-71c2-b78b-846cf73d1ca2

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Staking.withdraw(uint256) (contracts/Contract.sol#1300-1310) ignores return value by ABR.transfer(msg.sender,what) (contracts/Contract.sol#1309-1310)
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38737 artifact.fetch complete 1 / 3 3 months ago
38738 proxy.resolve complete 1 / 3 3 months ago
38739 tool.cast_disasm complete 1 / 3 3 months ago
38740 analysis.bundle complete 1 / 3 3 months ago
38741 capability.graph complete 1 / 3 3 months ago
38742 detector.run complete 1 / 3 3 months ago
38743 validation.fork complete 1 / 3 3 months ago
39157 report.consolidate complete 1 / 6 3 months ago
39158 tool.slither complete 1 / 2 3 months ago

Artifact

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

Slither

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

Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646) sends eth to arbitrary user
	Dangerous calls:
	- address(newAuthority).transfer(address(this).balance) (contracts/Contract.sol#1630-1633)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations

Reentrancy in Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646):
	External calls:
	- IERC20(tokenAddress).safeTransfer(newAuthority,tokenBalance) (contracts/Contract.sol#1636-1638)
	- WrappedToken(tokenAddress).transferOwnership(newAuthority) (contracts/Contract.sol#1639-1641)
	- IWrappedTokenV0(tokenAddress).changeAuthority(newAuthority) (contracts/Contract.sol#1643-1644)
	External calls sending eth:
	- address(newAuthority).transfer(address(this).balance) (contracts/Contract.sol#1630-1633)
	State variables written after the call(s):
	- delete tokenInfos[tokenAddress] (contracts/Contract.sol#1645)
	Bridge.tokenInfos (contracts/Contract.sol#1421) can be used in cross function reentrancies:
	- Bridge._createLock(uint128,address,uint256,bytes32,bytes4) (contracts/Contract.sol#1672-1705)
	- Bridge.addToken(bytes4,bytes32,address,Bridge.TokenType) (contracts/Contract.sol#1603-1619)
	- Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646)
	- Bridge.setTokenStatus(address,Bridge.TokenStatus) (contracts/Contract.sol#1660-1664)
	- Bridge.tokenInfos (contracts/Contract.sol#1421)
	- Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes) (contracts/Contract.sol#1528-1599)
	- delete tokenSourceMap[tokenSource][tokenSourceAddress] (contracts/Contract.sol#1645-1646)
	Bridge.tokenSourceMap (contracts/Contract.sol#1427-1428) can be used in cross function reentrancies:
	- Bridge.addToken(bytes4,bytes32,address,Bridge.TokenType) (contracts/Contract.sol#1603-1619)
	- Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646)
	- Bridge.tokenSourceMap (contracts/Contract.sol#1427-1428)
	- Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes) (contracts/Contract.sol#1528-1599)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities

Staking.deposit(uint256) (contracts/Contract.sol#1272-1300) ignores return value by ABR.transferFrom(msg.sender,address(this),_amount) (contracts/Contract.sol#1297-1300)
Staking.withdraw(uint256) (contracts/Contract.sol#1300-1310) ignores return value by ABR.transfer(msg.sender,what) (contracts/Contract.sol#1309-1310)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer

Staking.deposit(uint256) (contracts/Contract.sol#1272-1300) uses a dangerous strict equality:
	- totalShares == 0 || totalABR == 0 (contracts/Contract.sol#1282-1286)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities

WrappedToken.constructor(bytes4,bytes32,uint8,string,string).name (contracts/Contract.sol#1206-1207) shadows:
	- ERC20.name() (contracts/Contract.sol#467-469) (function)
	- IERC20Metadata.name() (contracts/Contract.sol#382-384) (function)
WrappedToken.constructor(bytes4,bytes32,uint8,string,string).symbol (contracts/Contract.sol#1207) shadows:
	- ERC20.symbol() (contracts/Contract.sol#472-475) (function)
	- IERC20Metadata.symbol() (contracts/Contract.sol#384-390) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing

FeeOracle.setFeeMultiplier(uint256) (contracts/Contract.sol#1324-1325) should emit an event for: 
	- feeMultiplier = multiplier (contracts/Contract.sol#1324-1325) 
FeeOracle.setBaseFeeRate(uint256) (contracts/Contract.sol#1327-1330) should emit an event for: 
	- baseFeeRateBP = baseFeeRateBP_ (contracts/Contract.sol#1329-1330) 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic

Bridge.constructor(address,address,address,address,address).feeCollector_ (contracts/Contract.sol#1433-1434) lacks a zero-check on :
		- feeCollector = feeCollector_ (contracts/Contract.sol#1443-1445)
Bridge.constructor(address,address,address,address,address).validator_ (contracts/Contract.sol#1436-1437) lacks a zero-check on :
		- validator = validator_ (contracts/Contract.sol#1445-1447)
Bridge.constructor(address,address,address,address,address).feeOracle_ (contracts/Contract.sol#1439-1440) lacks a zero-check on :
		- feeOracle = feeOracle_ (contracts/Contract.sol#1447-1448)
Bridge.constructor(address,address,address,address,address).unlockSigner_ (contracts/Contract.sol#1441-1442) lacks a zero-check on :
		- unlockSigner = unlockSigner_ (contracts/Contract.sol#1450-1451)
Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes).recipient (contracts/Contract.sol#1530-1531) lacks a zero-check on :
		- address(recipient).transfer(amountWithTokenPrecision) (contracts/Contract.sol#1568-1569)
Bridge.setFeeOracle(address)._feeOracle (contracts/Contract.sol#1646) lacks a zero-check on :
		- feeOracle = _feeOracle (contracts/Contract.sol#1647)
Bridge.setFeeCollector(address)._feeCollector (contracts/Contract.sol#1649) lacks a zero-check on :
		- feeCollector = _feeCollector (contracts/Contract.sol#1650)
Bridge.setValidator(address)._validator (contracts/Contract.sol#1651-1652) lacks a zero-check on :
		- validator = _validator (contracts/Contract.sol#1653-1654)
Bridge.setUnlockSigner(address)._unlockSigner (contracts/Contract.sol#1655-1658) lacks a zero-check on :
		- unlockSigner = _unlockSigner (contracts/Contract.sol#1659-1660)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation

Reentrancy in Bridge._createLock(uint128,address,uint256,bytes32,bytes4) (contracts/Contract.sol#1672-1705):
	External calls:
	- IValidator(validator).createLock(lockId,msg.sender,recipient,toSystemPrecision(amountToLock,tokenInfo.precision),destination,tokenInfo.tokenSource,tokenInfo.tokenSourceAddress) (contracts/Contract.sol#1691-1699)
	Event emitted after the call(s):
	- Sent(tokenInfo.tokenSource,tokenInfo.tokenSourceAddress,msg.sender,recipient,amountToLock,lockId,destination) (contracts/Contract.sol#1700-1704)
Reentrancy in Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes) (contracts/Contract.sol#1528-1599):
	External calls:
	- IValidator(validator).createUnlock(lockId,recipient,amount,lockSource,tokenSource,tokenSourceAddress,signaturePrimary,signatureSecondary) (contracts/Contract.sol#1535-1543)
	- IERC20(tokenAddress).safeTransfer(recipient,amountWithTokenPrecision) (contracts/Contract.sol#1577-1579)
	- IERC20(tokenAddress).safeTransfer(feeCollector,fee) (contracts/Contract.sol#1580-1582)
	- WrappedToken(tokenAddress).mint(recipient,amountWithTokenPrecision) (contracts/Contract.sol#1586-1588)
	- WrappedToken(tokenAddress).mint(feeCollector,fee) (contracts/Contract.sol#1590-1591)
	- IWrappedTokenV0(tokenAddress).mint(recipient,amountWithTokenPrecision) (contracts/Contract.sol#1594-1595)
	- IWrappedTokenV0(tokenAddress).mint(feeCollector,fee) (contracts/Contract.sol#1596-1598)
	External calls sending eth:
	- address(recipient).transfer(amountWithTokenPrecision) (contracts/Contract.sol#1568-1569)
	- address(feeCollector).transfer(fee) (contracts/Contract.sol#1573)
	Event emitted after the call(s):
	- Received(recipient,tokenAddress,amountWithTokenPrecision,lockId,lockSource) (contracts/Contract.sol#1598-1599)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3

Address.isContract(address) (contracts/Contract.sol#101-110) uses assembly
	- INLINE ASM (contracts/Contract.sol#107-108)
Address.verifyCallResult(bool,bytes,string) (contracts/Contract.sol#265-284) uses assembly
	- INLINE ASM (contracts/Contract.sol#279-283)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

AccessControl._setRoleAdmin(bytes32,bytes32) (contracts/Contract.sol#1178-1185) is never used and should be removed
Context._msgData() (contracts/Contract.sol#414-415) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code

Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.0 (contracts/Contract.sol#2-3)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in Address.sendValue(address,uint256) (contracts/Contract.sol#131-136):
	- (success,None) = recipient.call{value: amount}() (contracts/Contract.sol#133-134)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (contracts/Contract.sol#196-208):
	- (success,returndata) = target.call{value: value}(data) (contracts/Contract.sol#206-207)
Low level call in Address.functionStaticCall(address,bytes,string) (contracts/Contract.sol#221-234):
	- (success,returndata) = target.staticcall(data) (contracts/Contract.sol#230-232)
Low level call in Address.functionDelegateCall(address,bytes,string) (contracts/Contract.sol#248-261):
	- (success,returndata) = target.delegatecall(data) (contracts/Contract.sol#256-258)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Parameter Staking.deposit(uint256)._amount (contracts/Contract.sol#1272) is not in mixedCase
Parameter Staking.withdraw(uint256)._share (contracts/Contract.sol#1301) is not in mixedCase
Variable Staking.ABR (contracts/Contract.sol#1263) is not in mixedCase
Parameter FeeOracle.setMinFee(address,uint256)._minFee (contracts/Contract.sol#1325) is not in mixedCase
Parameter Bridge.setFeeOracle(address)._feeOracle (contracts/Contract.sol#1646) is not in mixedCase
Parameter Bridge.setFeeCollector(address)._feeCollector (contracts/Contract.sol#1649) is not in mixedCase
Parameter Bridge.setValidator(address)._validator (contracts/Contract.sol#1651-1652) is not in mixedCase
Parameter Bridge.setUnlockSigner(address)._unlockSigner (contracts/Contract.sol#1655-1658) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

Reentrancy in Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646):
	External calls:
	- address(newAuthority).transfer(address(this).balance) (contracts/Contract.sol#1630-1633)
	State variables written after the call(s):
	- delete tokenInfos[tokenAddress] (contracts/Contract.sol#1645)
	- delete tokenSourceMap[tokenSource][tokenSourceAddress] (contracts/Contract.sol#1645-1646)
Reentrancy in Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes) (contracts/Contract.sol#1528-1599):
	External calls:
	- address(recipient).transfer(amountWithTokenPrecision) (contracts/Contract.sol#1568-1569)
	- address(feeCollector).transfer(fee) (contracts/Contract.sol#1573)
	Event emitted after the call(s):
	- Received(recipient,tokenAddress,amountWithTokenPrecision,lockId,lockSource) (contracts/Contract.sol#1598-1599)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4

FeeOracle.xABR (contracts/Contract.sol#1319) should be immutable 
Staking.ABR (contracts/Contract.sol#1263) should be immutable 
WrappedToken._decimals (contracts/Contract.sol#1201) should be immutable 
WrappedToken.source (contracts/Contract.sol#1201-1202) should be immutable 
WrappedToken.sourceAddress (contracts/Contract.sol#1203) should be immutable 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
. analyzed (19 contracts with 100 detectors), 44 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.0",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.8.0",
        "install_stderr": null,
        "install_stdout": "Version '0.8.0' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-3c45bxap --allow-paths /tmp/slither-3c45bxap,/tmp/slither-3c45bxap/lib,/tmp/slither-3c45bxap/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 44,
    "workspace_hash": "028ee76c21aa63badc3bb30ede8f60c7c32f38604e01f65a4d6854afa4263625",
    "duration_seconds": 1.1185581684112549,
    "solc_version_requested": "0.8.17"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
4
No findings?
no
Summary
Found 4 issues: unchecked ERC20 return values in Staking, bridge accounting breaks with fee-on-transfer tokens, fee oracle manipulation via temporary xABR balances, and ETH transfer DoS risk.
View stdout
{"no_findings":false,"summary":"Found 4 issues: unchecked ERC20 return values in Staking, bridge accounting breaks with fee-on-transfer tokens, fee oracle manipulation via temporary xABR balances, and ETH transfer DoS risk.","findings":[{"severity":"medium","category":"other","title":"Unchecked ERC20 return values can mint unbacked xABR","exploit_scenario":"If the ABR token returns false instead of reverting (e.g., insufficient allowance or transfer restrictions), `deposit` mints xABR before the transfer succeeds. An attacker can mint xABR without actually transferring ABR, then `withdraw` to drain ABR from the pool.","recommendation":"Use SafeERC20 (safeTransferFrom/safeTransfer) or explicitly require the return value to be true to ensure the transfer succeeded before minting/burning shares.","evidence":"Staking uses `ABR.transferFrom` and `ABR.transfer` without checking the returned boolean.","locations":["contracts/Contract.sol#L1330","contracts/Contract.sol#L1341"]},{"severity":"medium","category":"other","title":"Bridge accounting breaks with fee-on-transfer or rebasing tokens","exploit_scenario":"If a token with transfer fees/rebasing is added as `TokenType.Native`, `lock` records `amountToLock` but the contract receives less due to transfer mechanics. Users can unlock the full recorded amount on the destination chain, creating a deficit in the bridge reserves.","recommendation":"Reject fee-on-transfer/rebasing tokens, or compute actual received amounts via balance-before/after and use that for lock records and fee calculations.","evidence":"`amountToLock` is computed from user input and passed to the validator, while `safeTransferFrom` does not verify the actual amount received.","locations":["contracts/Contract.sol#L1514","contracts/Contract.sol#L1524","contracts/Contract.sol#L1732","contracts/Contract.sol#L1740"]},{"severity":"low","category":"oracle","title":"FeeOracle can be manipulated via temporary xABR balances","exploit_scenario":"A user can temporarily inflate their xABR holdings (e.g., flashloan ABR, deposit to mint xABR, call `lock`, then withdraw) to reduce the computed fee for that transaction.","recommendation":"Use time-weighted balance snapshots, enforce staking lockups, or base fees on longer-term holdings rather than instantaneous balances.","evidence":"Fee calculation relies on current `xABR.balanceOf(sender)` and `xABR.totalSupply()` with no time weighting.","locations":["contracts/Contract.sol#L1378","contracts/Contract.sol#L1383"]},{"severity":"low","category":"other","title":"ETH transfers use `transfer`, enabling recipient DoS","exploit_scenario":"If `recipient` or `feeCollector` is a contract that requires more than 2300 gas to receive ETH, `transfer` will revert, causing `lockBase` or `unlock` to fail and potentially locking funds for that recipient.","recommendation":"Use `call` with success checks and reentrancy protection, or adopt a pull-payment pattern for ETH transfers.","evidence":"ETH payouts use `transfer` in `lockBase` and `unlock`.","locations":["contracts/Contract.sol#L1567","contracts/Contract.sol#L1607"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-da21t_lq
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019babdb-c976-7302-9db7-402f1942d4a1
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

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

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

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

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

================================================================================
FILE: contracts/Contract.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
pragma experimental ABIEncoderV2;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);



thinking
**Analyzing contract security and reentrancy risks**

I’m reviewing Contract.sol closely for vulnerabilities like reentrancy and unchecked token behavior, especially in staking and bridge logic. I’m unpacking details about how deposit and withdraw handle token transfers, potential ERC777 callback reentrancy, external validator calls before fund transfers, and unchecked return values from token transfers. There’s also interesting fee oracle manipulation possibilities and risks around using transfer for ETH payments that might cause DOS. The biggest concerns involve deposit/withdraw minting logic with unchecked transfer success, locking mechanisms with external calls to possibly untrusted validators, and vulnerable fee logic due to flash loans or signature trust assumptions. Overall, I’m gathering how these complex interactions might be exploited or require safer coding patterns like SafeERC20.
thinking
**Planning full file inspection**

I need to fully read the large AUDIT_BUNDLE.txt file to ensure nothing important is missed, especially since previous outputs were truncated. I'll use shell commands like `sed` to read it in manageable chunks to cover the entire 1798 lines systematically. This way, I can keep track of all code and spot any additional vulnerabilities or issues not yet seen.
exec
/bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-da21t_lq succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Contract.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
pragma experimental ABIEncoderV2;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);


thinking
**Continuing file review**
exec
/bin/bash -lc "sed -n '401,800p' AUDIT_BUNDLE.txt" in /tmp/codex-da21t_lq succeeded in 6ms:
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct

thinking
**Requesting additional information**
exec
/bin/bash -lc "sed -n '801,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-da21t_lq succeeded in 8ms:

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");

thinking
**Pausing to review AccessControl and WrappedToken**
exec
/bin/bash -lc "sed -n '1201,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-da21t_lq succeeded in 19ms:
     * event. Note that unlike {grantRole}, this function doesn't perform any
     * checks on the calling account.
     *
     * [WARNING]
     * ====
     * This function should only be called from the constructor when setting
     * up the initial roles for the system.
     *
     * Using this function in any other way is effectively circumventing the admin
     * system imposed by {AccessControl}.
     * ====
     */
    function _setupRole(bytes32 role, address account) internal virtual {
        _grantRole(role, account);
    }

    /**
     * @dev Sets `adminRole` as ``role``'s admin role.
     *
     * Emits a {RoleAdminChanged} event.

thinking
**Waiting for more input**
exec
/bin/bash -lc "sed -n '1601,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-da21t_lq succeeded in 7ms:
        require(tokenAddress != address(0), "Bridge: unsupported token");
        TokenInfo memory tokenInfo = tokenInfos[tokenAddress];

        // Transform amount form system to token precision
        uint256 amountWithTokenPrecision = fromSystemPrecision(amount, tokenInfo.precision);
        uint256 fee = 0;
        if (msg.sender == unlockSigner) {
            fee = FeeOracle(feeOracle).minFee(tokenAddress);
            require(amountWithTokenPrecision > fee, "Bridge: amount too small");
            amountWithTokenPrecision = amountWithTokenPrecision - fee;
        }

        if (tokenInfo.tokenType == TokenType.Base) {
            // If token is WETH - transfer ETH
            payable(recipient).transfer(amountWithTokenPrecision);
            if (fee > 0) {
                payable(feeCollector).transfer(fee);
            }
        } else if (tokenInfo.tokenType == TokenType.Native) {
            // If token is native - transfer the token

thinking
**Summarizing potential vulnerabilities and their severity**
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1330,1450p'" in /tmp/codex-da21t_lq succeeded in 17ms:
  1330	        // Lock the ABR in the contract
  1331	        ABR.transferFrom(msg.sender, address(this), _amount);
  1332	    }
  1333	
  1334	    // Unlocks the staked + gained ABR and burns xABR
  1335	    function withdraw(uint256 _share) public {
  1336	        // Gets the amount of xABR in existence
  1337	        uint256 totalShares = totalSupply();
  1338	        // Calculates the amount of ABR the xABR is worth
  1339	        uint256 what = _share * ABR.balanceOf(address(this)) / totalShares;
  1340	        _burn(msg.sender, _share);
  1341	        ABR.transfer(msg.sender, what);
  1342	    }
  1343	}
  1344	
  1345	contract FeeOracle is Ownable {
  1346	    using Math for uint256;
  1347	
  1348	    // tokenAddress => mintFee
  1349	    mapping(address => uint256) public minFee;

thinking
**Identifying relevant code lines for Bridge lock**
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1500,1650p'" in /tmp/codex-da21t_lq succeeded in 6ms:
  1500	        feeOracle = feeOracle_;
  1501	        _setupRole(DEFAULT_ADMIN_ROLE, admin_);
  1502	        unlockSigner = unlockSigner_;
  1503	        active = false;
  1504	    }
  1505	
  1506	    // Method to lock tokens
  1507	    function lock(
  1508	        uint128 lockId,
  1509	        address tokenAddress,
  1510	        bytes32 recipient,
  1511	        bytes4 destination,
  1512	        uint256 amount
  1513	    ) external isActive {
  1514	        (uint256 amountToLock, uint256 fee, TokenInfo memory tokenInfo) = _createLock(
  1515	            lockId,
  1516	            tokenAddress,
  1517	            amount,
  1518	            recipient,
  1519	            destination

thinking
**Summarizing key smart contract findings**

I'm evaluating major issues related to staking, fee oracles, bridge token handling, and ETH transfers. I'll focus on three main findings: unchecked ERC20 return values risking unbacked minting, fee oracle manipulation via flash loans reducing fees, and bridge misuse of fee-on-transfer tokens causing undercollateralization. There’s also a minor risk of denial-of-service from using `transfer` for ETH. I’ll produce a JSON with clear evidence, locations, categories, severities, and recommendations to keep it concise and actionable.
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1680,1780p'" in /tmp/codex-da21t_lq succeeded in 6ms:
  1680	            IWrappedTokenV0(tokenAddress).changeAuthority(newAuthority);
  1681	        }
  1682	
  1683	        delete tokenInfos[tokenAddress];
  1684	        delete tokenSourceMap[tokenSource][tokenSourceAddress];
  1685	    }
  1686	
  1687	    function setFeeOracle(address _feeOracle) external onlyRole(TOKEN_MANAGER) {
  1688	        feeOracle = _feeOracle;
  1689	    }
  1690	
  1691	    function setFeeCollector(address _feeCollector) external onlyRole(TOKEN_MANAGER) {
  1692	        feeCollector = _feeCollector;
  1693	    }
  1694	
  1695	    function setValidator(address _validator ) external onlyRole(BRIDGE_MANAGER) {
  1696	        validator = _validator;
  1697	    }
  1698	
  1699	    function setUnlockSigner(address _unlockSigner ) external onlyRole(BRIDGE_MANAGER) {

thinking
**Summarizing security findings and crafting report**

I'm gathering detailed, categorized findings about unchecked ERC20 returns, fee-on-transfer token handling, fee oracle manipulation, and ETH transfer DoS risks, preparing clear exploit scenarios, recommendations, and code locations to produce a concise JSON report for the user.
codex
{"no_findings":false,"summary":"Found 4 issues: unchecked ERC20 return values in Staking, bridge accounting breaks with fee-on-transfer tokens, fee oracle manipulation via temporary xABR balances, and ETH transfer DoS risk.","findings":[{"severity":"medium","category":"other","title":"Unchecked ERC20 return values can mint unbacked xABR","exploit_scenario":"If the ABR token returns false instead of reverting (e.g., insufficient allowance or transfer restrictions), `deposit` mints xABR before the transfer succeeds. An attacker can mint xABR without actually transferring ABR, then `withdraw` to drain ABR from the pool.","recommendation":"Use SafeERC20 (safeTransferFrom/safeTransfer) or explicitly require the return value to be true to ensure the transfer succeeded before minting/burning shares.","evidence":"Staking uses `ABR.transferFrom` and `ABR.transfer` without checking the returned boolean.","locations":["contracts/Contract.sol#L1330","contracts/Contract.sol#L1341"]},{"severity":"medium","category":"other","title":"Bridge accounting breaks with fee-on-transfer or rebasing tokens","exploit_scenario":"If a token with transfer fees/rebasing is added as `TokenType.Native`, `lock` records `amountToLock` but the contract receives less due to transfer mechanics. Users can unlock the full recorded amount on the destination chain, creating a deficit in the bridge reserves.","recommendation":"Reject fee-on-transfer/rebasing tokens, or compute actual received amounts via balance-before/after and use that for lock records and fee calculations.","evidence":"`amountToLock` is computed from user input and passed to the validator, while `safeTransferFrom` does not verify the actual amount received.","locations":["contracts/Contract.sol#L1514","contracts/Contract.sol#L1524","contracts/Contract.sol#L1732","contracts/Contract.sol#L1740"]},{"severity":"low","category":"oracle","title":"FeeOracle can be manipulated via temporary xABR balances","exploit_scenario":"A user can temporarily inflate their xABR holdings (e.g., flashloan ABR, deposit to mint xABR, call `lock`, then withdraw) to reduce the computed fee for that transaction.","recommendation":"Use time-weighted balance snapshots, enforce staking lockups, or base fees on longer-term holdings rather than instantaneous balances.","evidence":"Fee calculation relies on current `xABR.balanceOf(sender)` and `xABR.totalSupply()` with no time weighting.","locations":["contracts/Contract.sol#L1378","contracts/Contract.sol#L1383"]},{"severity":"low","category":"other","title":"ETH transfers use `transfer`, enabling recipient DoS","exploit_scenario":"If `recipient` or `feeCollector` is a contract that requires more than 2300 gas to receive ETH, `transfer` will revert, causing `lockBase` or `unlock` to fail and potentially locking funds for that recipient.","recommendation":"Use `call` with success checks and reentrancy protection, or adopt a pull-payment pattern for ETH transfers.","evidence":"ETH payouts use `transfer` in `lockBase` and `unlock`.","locations":["contracts/Contract.sol#L1567","contracts/Contract.sol#L1607"]}]}
tokens used
73,383
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T07:04:09.448642+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Found 4 issues: unchecked ERC20 return values in Staking, bridge accounting breaks with fee-on-transfer tokens, fee oracle manipulation via temporary xABR balances, and ETH transfer DoS risk.",
    "raw_final": {
        "summary": "Found 4 issues: unchecked ERC20 return values in Staking, bridge accounting breaks with fee-on-transfer tokens, fee oracle manipulation via temporary xABR balances, and ETH transfer DoS risk.",
        "findings": [
            {
                "title": "Unchecked ERC20 return values can mint unbacked xABR",
                "category": "other",
                "evidence": "Staking uses `ABR.transferFrom` and `ABR.transfer` without checking the returned boolean.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol#L1330",
                    "contracts/Contract.sol#L1341"
                ],
                "recommendation": "Use SafeERC20 (safeTransferFrom/safeTransfer) or explicitly require the return value to be true to ensure the transfer succeeded before minting/burning shares.",
                "exploit_scenario": "If the ABR token returns false instead of reverting (e.g., insufficient allowance or transfer restrictions), `deposit` mints xABR before the transfer succeeds. An attacker can mint xABR without actually transferring ABR, then `withdraw` to drain ABR from the pool."
            },
            {
                "title": "Bridge accounting breaks with fee-on-transfer or rebasing tokens",
                "category": "other",
                "evidence": "`amountToLock` is computed from user input and passed to the validator, while `safeTransferFrom` does not verify the actual amount received.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol#L1514",
                    "contracts/Contract.sol#L1524",
                    "contracts/Contract.sol#L1732",
                    "contracts/Contract.sol#L1740"
                ],
                "recommendation": "Reject fee-on-transfer/rebasing tokens, or compute actual received amounts via balance-before/after and use that for lock records and fee calculations.",
                "exploit_scenario": "If a token with transfer fees/rebasing is added as `TokenType.Native`, `lock` records `amountToLock` but the contract receives less due to transfer mechanics. Users can unlock the full recorded amount on the destination chain, creating a deficit in the bridge reserves."
            },
            {
                "title": "FeeOracle can be manipulated via temporary xABR balances",
                "category": "oracle",
                "evidence": "Fee calculation relies on current `xABR.balanceOf(sender)` and `xABR.totalSupply()` with no time weighting.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol#L1378",
                    "contracts/Contract.sol#L1383"
                ],
                "recommendation": "Use time-weighted balance snapshots, enforce staking lockups, or base fees on longer-term holdings rather than instantaneous balances.",
                "exploit_scenario": "A user can temporarily inflate their xABR holdings (e.g., flashloan ABR, deposit to mint xABR, call `lock`, then withdraw) to reduce the computed fee for that transaction."
            },
            {
                "title": "ETH transfers use `transfer`, enabling recipient DoS",
                "category": "other",
                "evidence": "ETH payouts use `transfer` in `lockBase` and `unlock`.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol#L1567",
                    "contracts/Contract.sol#L1607"
                ],
                "recommendation": "Use `call` with success checks and reentrancy protection, or adopt a pull-payment pattern for ETH transfers.",
                "exploit_scenario": "If `recipient` or `feeCollector` is a contract that requires more than 2300 gas to receive ETH, `transfer` will revert, causing `lockBase` or `unlock` to fail and potentially locking funds for that recipient."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
19
EXT*/BALANCE
11
Total opcodes
10125
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01b6
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x91d14854
00000019: GT
0000001a: PUSH2 0x00ec
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc415b95c
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe0956e0f
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe0956e0f
0000003a: EQ
0000003b: PUSH2 0x05e8
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe1e1935a
00000045: EQ
00000046: PUSH2 0x0613
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xec3794ff
00000050: EQ
00000051: PUSH2 0x063e
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf4bd4829
0000005b: EQ
0000005c: PUSH2 0x0667
0000005f: JUMPI
00000060: PUSH2 0x01b6
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xc415b95c
0000006b: EQ
0000006c: PUSH2 0x056b
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xc8594418
00000076: EQ
00000077: PUSH2 0x0596
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xd547741f
00000081: EQ
00000082: PUSH2 0x05bf
00000085: JUMPI
00000086: PUSH2 0x01b6
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xa8a98962
00000091: GT
00000092: PUSH2 0x00c6
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xa8a98962
0000009c: EQ
0000009d: PUSH2 0x04af
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xb43d20c3
000000a7: EQ
000000a8: PUSH2 0x04d8
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xba46ae72
000000b2: EQ
000000b3: PUSH2 0x0501
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xbd4bb242
000000bd: EQ
000000be: PUSH2 0x0542
000000c1: JUMPI
000000c2: PUSH2 0x01b6
000000c5: JUMP
000000c6: JUMPDEST
000000c7: DUP1
000000c8: PUSH4 0x91d14854
000000cd: EQ
000000ce: PUSH2 0x041e
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xa217fddf
000000d8: EQ
000000d9: PUSH2 0x045b
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0xa42dce80
000000e3: EQ
000000e4: PUSH2 0x0486
000000e7: JUMPI
000000e8: PUSH2 0x01b6
000000eb: JUMP
000000ec: JUMPDEST
000000ed: DUP1
000000ee: PUSH4 0x36568abe
000000f3: GT
000000f4: PUSH2 0x0159
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x5e3b0f9e
000000fe: GT
000000ff: PUSH2 0x0133
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x5e3b0f9e
00000109: EQ
0000010a: PUSH2 0x0371
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x64cd2af3
00000114: EQ
00000115: PUSH2 0x038d
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x7bacc91e
0000011f: EQ
00000120: PUSH2 0x03ca
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x81fea1c5
0000012a: EQ
0000012b: PUSH2 0x03f3
0000012e: JUMPI
0000012f: PUSH2 0x01b6
00000132: JUMP
00000133: JUMPDEST
00000134: DUP1
00000135: PUSH4 0x36568abe
0000013a: EQ
0000013b: PUSH2 0x02f2
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x3a5381b5
00000145: EQ
00000146: PUSH2 0x031b
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0x500b19e7
00000150: EQ
00000151: PUSH2 0x0346
00000154: JUMPI
00000155: PUSH2 0x01b6
00000158: JUMP
00000159: JUMPDEST
0000015a: DUP1
0000015b: PUSH4 0x133a01c4
00000160: GT
00000161: PUSH2 0x0195
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x133a01c4
0000016b: EQ
0000016c: PUSH2 0x024c
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x15d95a00
00000176: EQ
00000177: PUSH2 0x0263
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x248a9ca3
00000181: EQ
00000182: PUSH2 0x028c
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x2f2ff15d
0000018c: EQ
0000018d: PUSH2 0x02c9
00000190: JUMPI
00000191: PUSH2 0x01b6
00000194: JUMP
00000195: JUMPDEST
00000196: DUP1
00000197: PUSH3 0xc45c54
0000019b: EQ
0000019c: PUSH2 0x01bb
0000019f: JUMPI
000001a0: DUP1
000001a1: PUSH4 0x01ffc9a7
000001a6: EQ
000001a7: PUSH2 0x01e6
000001aa: JUMPI
000001ab: DUP1
000001ac: PUSH4 0x1327d3d8
000001b1: EQ
000001b2: PUSH2 0x0223
000001b5: JUMPI
000001b6: JUMPDEST
000001b7: PUSH1 0x00
000001b9: DUP1
000001ba: REVERT
000001bb: JUMPDEST
000001bc: CALLVALUE
000001bd: DUP1
000001be: ISZERO
000001bf: PUSH2 0x01c7
000001c2: JUMPI
000001c3: PUSH1 0x00
000001c5: DUP1
000001c6: REVERT
000001c7: JUMPDEST
000001c8: POP
000001c9: PUSH2 0x01d0
000001cc: PUSH2 0x067e
000001cf: JUMP
000001d0: JUMPDEST
000001d1: PUSH1 0x40
000001d3: MLOAD
000001d4: PUSH2 0x01dd
000001d7: SWAP2
000001d8: SWAP1
000001d9: PUSH2 0x3411
000001dc: JUMP
000001dd: JUMPDEST
000001de: PUSH1 0x40
000001e0: MLOAD
000001e1: DUP1
000001e2: SWAP2
000001e3: SUB
000001e4: SWAP1
000001e5: RETURN
000001e6: JUMPDEST
000001e7: CALLVALUE
000001e8: DUP1
000001e9: ISZERO
000001ea: PUSH2 0x01f2
000001ed: JUMPI
000001ee: PUSH1 0x00
000001f0: DUP1
000001f1: REVERT
000001f2: JUMPDEST
000001f3: POP
000001f4: PUSH2 0x020d
000001f7: PUSH1 0x04
000001f9: DUP1
000001fa: CALLDATASIZE
000001fb: SUB
000001fc: DUP2
000001fd: ADD
000001fe: SWAP1
000001ff: PUSH2 0x0208
00000202: SWAP2
00000203: SWAP1
00000204: PUSH2 0x348e
00000207: JUMP
00000208: JUMPDEST
00000209: PUSH2 0x06a4
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH1 0x40
00000210: MLOAD
00000211: PUSH2 0x021a
00000214: SWAP2
00000215: SWAP1
00000216: PUSH2 0x34d6
00000219: JUMP
0000021a: JUMPDEST
0000021b: PUSH1 0x40
0000021d: MLOAD
0000021e: DUP1
0000021f: SWAP2
00000220: SUB
00000221: SWAP1
00000222: RETURN
00000223: JUMPDEST
00000224: CALLVALUE
00000225: DUP1
00000226: ISZERO
00000227: PUSH2 0x022f
0000022a: JUMPI
0000022b: PUSH1 0x00
0000022d: DUP1
0000022e: REVERT
0000022f: JUMPDEST
00000230: POP
00000231: PUSH2 0x024a
00000234: PUSH1 0x04
00000236: DUP1
00000237: CALLDATASIZE
00000238: SUB
00000239: DUP2
0000023a: ADD
0000023b: SWAP1
0000023c: PUSH2 0x0245
0000023f: SWAP2
00000240: SWAP1
00000241: PUSH2 0x351d
00000244: JUMP
00000245: JUMPDEST
00000246: PUSH2 0x071e
00000249: JUMP
0000024a: JUMPDEST
0000024b: STOP
0000024c: JUMPDEST
0000024d: CALLVALUE
0000024e: DUP1
0000024f: ISZERO
00000250: PUSH2 0x0258
00000253: JUMPI
00000254: PUSH1 0x00
00000256: DUP1
00000257: REVERT
00000258: JUMPDEST
00000259: POP
0000025a: PUSH2 0x0261
0000025d: PUSH2 0x0794
00000260: JUMP
00000261: JUMPDEST
00000262: STOP
00000263: JUMPDEST
00000264: CALLVALUE
00000265: DUP1
00000266: ISZERO
00000267: PUSH2 0x026f
0000026a: JUMPI
0000026b: PUSH1 0x00
0000026d: DUP1
0000026e: REVERT
0000026f: JUMPDEST
00000270: POP
00000271: PUSH2 0x028a
00000274: PUSH1 0x04
00000276: DUP1
00000277: CALLDATASIZE
00000278: SUB
00000279: DUP2
0000027a: ADD
0000027b: SWAP1
0000027c: PUSH2 0x0285
0000027f: SWAP2
00000280: SWAP1
00000281: PUSH2 0x356f
00000284: JUMP
00000285: JUMPDEST
00000286: PUSH2 0x07e3
00000289: JUMP
0000028a: JUMPDEST
0000028b: STOP
0000028c: JUMPDEST
0000028d: CALLVALUE
0000028e: DUP1
0000028f: ISZERO
00000290: PUSH2 0x0298
00000293: JUMPI
00000294: PUSH1 0x00
00000296: DUP1
00000297: REVERT
00000298: JUMPDEST
00000299: POP
0000029a: PUSH2 0x02b3
0000029d: PUSH1 0x04
0000029f: DUP1
000002a0: CALLDATASIZE
000002a1: SUB
000002a2: DUP2
000002a3: ADD
000002a4: SWAP1
000002a5: PUSH2 0x02ae
000002a8: SWAP2
000002a9: SWAP1
000002aa: PUSH2 0x35e5
000002ad: JUMP
000002ae: JUMPDEST
000002af: PUSH2 0x090b
000002b2: JUMP
000002b3: JUMPDEST
000002b4: PUSH1 0x40
000002b6: MLOAD
000002b7: PUSH2 0x02c0
000002ba: SWAP2
000002bb: SWAP1
000002bc: PUSH2 0x3621
000002bf: JUMP
000002c0: JUMPDEST
000002c1: PUSH1 0x40
000002c3: MLOAD
000002c4: DUP1
000002c5: SWAP2
000002c6: SUB
000002c7: SWAP1
000002c8: RETURN
000002c9: JUMPDEST
000002ca: CALLVALUE
000002cb: DUP1
000002cc: ISZERO
000002cd: PUSH2 0x02d5
000002d0: JUMPI
000002d1: PUSH1 0x00
000002d3: DUP1
000002d4: REVERT
000002d5: JUMPDEST
000002d6: POP
000002d7: PUSH2 0x02f0
000002da: PUSH1 0x04
000002dc: DUP1
000002dd: CALLDATASIZE
000002de: SUB
000002df: DUP2
000002e0: ADD
000002e1: SWAP1
000002e2: PUSH2 0x02eb
000002e5: SWAP2
000002e6: SWAP1
000002e7: PUSH2 0x363c
000002ea: JUMP
000002eb: JUMPDEST
000002ec: PUSH2 0x092a
000002ef: JUMP
000002f0: JUMPDEST
000002f1: STOP
000002f2: JUMPDEST
000002f3: CALLVALUE
000002f4: DUP1
000002f5: ISZERO
000002f6: PUSH2 0x02fe
000002f9: JUMPI
000002fa: PUSH1 0x00
000002fc: DUP1
000002fd: REVERT
000002fe: JUMPDEST
000002ff: POP
00000300: PUSH2 0x0319
00000303: PUSH1 0x04
00000305: DUP1
00000306: CALLDATASIZE
00000307: SUB
00000308: DUP2
00000309: ADD
0000030a: SWAP1
0000030b: PUSH2 0x0314
0000030e: SWAP2
0000030f: SWAP1
00000310: PUSH2 0x363c
00000313: JUMP
00000314: JUMPDEST
00000315: PUSH2 0x0953
00000318: JUMP
00000319: JUMPDEST
0000031a: STOP
0000031b: JUMPDEST
0000031c: CALLVALUE
0000031d: DUP1
0000031e: ISZERO
0000031f: PUSH2 0x0327
00000322: JUMPI
00000323: PUSH1 0x00
00000325: DUP1
00000326: REVERT
00000327: JUMPDEST
00000328: POP
00000329: PUSH2 0x0330
0000032c: PUSH2 0x09d6
0000032f: JUMP
00000330: JUMPDEST
00000331: PUSH1 0x40
00000333: MLOAD
00000334: PUSH2 0x033d
00000337: SWAP2
00000338: SWAP1
00000339: PUSH2 0x3411
0000033c: JUMP
0000033d: JUMPDEST
0000033e: PUSH1 0x40
00000340: MLOAD
00000341: DUP1
00000342: SWAP2
00000343: SUB
00000344: SWAP1
00000345: RETURN
00000346: JUMPDEST
00000347: CALLVALUE
00000348: DUP1
00000349: ISZERO
0000034a: PUSH2 0x0352
0000034d: JUMPI
0000034e: PUSH1 0x00
00000350: DUP1
00000351: REVERT
00000352: JUMPDEST
00000353: POP
00000354: PUSH2 0x035b
00000357: PUSH2 0x09fa
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH1 0x40
0000035e: MLOAD
0000035f: PUSH2 0x0368
00000362: SWAP2
00000363: SWAP1
00000364: PUSH2 0x3411
00000367: JUMP
00000368: JUMPDEST
00000369: PUSH1 0x40
0000036b: MLOAD
0000036c: DUP1
0000036d: SWAP2
0000036e: SUB
0000036f: SWAP1
00000370: RETURN
00000371: JUMPDEST
00000372: PUSH2 0x038b
00000375: PUSH1 0x04
00000377: DUP1
00000378: CALLDATASIZE
00000379: SUB
0000037a: DUP2
0000037b: ADD
0000037c: SWAP1
0000037d: PUSH2 0x0386
00000380: SWAP2
00000381: SWAP1
00000382: PUSH2 0x36c4
00000385: JUMP
00000386: JUMPDEST
00000387: PUSH2 0x0a20
0000038a: JUMP
0000038b: JUMPDEST
0000038c: STOP
0000038d: JUMPDEST
0000038e: CALLVALUE
0000038f: DUP1
00000390: ISZERO
00000391: PUSH2 0x0399
00000394: JUMPI
00000395: PUSH1 0x00
00000397: DUP1
00000398: REVERT
00000399: JUMPDEST
0000039a: POP
0000039b: PUSH2 0x03b4
0000039e: PUSH1 0x04
000003a0: DUP1
000003a1: CALLDATASIZE
000003a2: SUB
000003a3: DUP2
000003a4: ADD
000003a5: SWAP1
000003a6: PUSH2 0x03af
000003a9: SWAP2
000003aa: SWAP1
000003ab: PUSH2 0x372b
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH2 0x0bd4
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH1 0x40
000003b7: MLOAD
000003b8: PUSH2 0x03c1
000003bb: SWAP2
000003bc: SWAP1
000003bd: PUSH2 0x3411
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH1 0x40
000003c4: MLOAD
000003c5: DUP1
000003c6: SWAP2
000003c7: SUB
000003c8: SWAP1
000003c9: RETURN
000003ca: JUMPDEST
000003cb: CALLVALUE
000003cc: DUP1
000003cd: ISZERO
000003ce: PUSH2 0x03d6
000003d1: JUMPI
000003d2: PUSH1 0x00
000003d4: DUP1
000003d5: REVERT
000003d6: JUMPDEST
000003d7: POP
000003d8: PUSH2 0x03f1
000003db: PUSH1 0x04
000003dd: DUP1
000003de: CALLDATASIZE
000003df: SUB
000003e0: DUP2
000003e1: ADD
000003e2: SWAP1
000003e3: PUSH2 0x03ec
000003e6: SWAP2
000003e7: SWAP1
000003e8: PUSH2 0x37a1
000003eb: JUMP
000003ec: JUMPDEST
000003ed: PUSH2 0x0c16
000003f0: JUMP
000003f1: JUMPDEST
000003f2: STOP
000003f3: JUMPDEST
000003f4: CALLVALUE
000003f5: DUP1
000003f6: ISZERO
000003f7: PUSH2 0x03ff
000003fa: JUMPI
000003fb: PUSH1 0x00
000003fd: DUP1
000003fe: REVERT
000003ff: JUMPDEST
00000400: POP
00000401: PUSH2 0x0408
00000404: PUSH2 0x0f2c
00000407: JUMP
00000408: JUMPDEST
00000409: PUSH1 0x40
0000040b: MLOAD
0000040c: PUSH2 0x0415
0000040f: SWAP2
00000410: SWAP1
00000411: PUSH2 0x3621
00000414: JUMP
00000415: JUMPDEST
00000416: PUSH1 0x40
00000418: MLOAD
00000419: DUP1
0000041a: SWAP2
0000041b: SUB
0000041c: SWAP1
0000041d: RETURN
0000041e: JUMPDEST
0000041f: CALLVALUE
00000420: DUP1
00000421: ISZERO
00000422: PUSH2 0x042a
00000425: JUMPI
00000426: PUSH1 0x00
00000428: DUP1
00000429: REVERT
0000042a: JUMPDEST
0000042b: POP
0000042c: PUSH2 0x0445
0000042f: PUSH1 0x04
00000431: DUP1
00000432: CALLDATASIZE
00000433: SUB
00000434: DUP2
00000435: ADD
00000436: SWAP1
00000437: PUSH2 0x0440
0000043a: SWAP2
0000043b: SWAP1
0000043c: PUSH2 0x363c
0000043f: JUMP
00000440: JUMPDEST
00000441: PUSH2 0x0f50
00000444: JUMP
00000445: JUMPDEST
00000446: PUSH1 0x40
00000448: MLOAD
00000449: PUSH2 0x0452
0000044c: SWAP2
0000044d: SWAP1
0000044e: PUSH2 0x34d6
00000451: JUMP
00000452: JUMPDEST
00000453: PUSH1 0x40
00000455: MLOAD
00000456: DUP1
00000457: SWAP2
00000458: SUB
00000459: SWAP1
0000045a: RETURN
0000045b: JUMPDEST
0000045c: CALLVALUE
0000045d: DUP1
0000045e: ISZERO
0000045f: PUSH2 0x0467
00000462: JUMPI
00000463: PUSH1 0x00
00000465: DUP1
00000466: REVERT
00000467: JUMPDEST
00000468: POP
00000469: PUSH2 0x0470
0000046c: PUSH2 0x0fba
0000046f: JUMP
00000470: JUMPDEST
00000471: PUSH1 0x40
00000473: MLOAD
00000474: PUSH2 0x047d
00000477: SWAP2
00000478: SWAP1
00000479: PUSH2 0x3621
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH1 0x40
00000480: MLOAD
00000481: DUP1
00000482: SWAP2
00000483: SUB
00000484: SWAP1
00000485: RETURN
00000486: JUMPDEST
00000487: CALLVALUE
00000488: DUP1
00000489: ISZERO
0000048a: PUSH2 0x0492
0000048d: JUMPI
0000048e: PUSH1 0x00
00000490: DUP1
00000491: REVERT
00000492: JUMPDEST
00000493: POP
00000494: PUSH2 0x04ad
00000497: PUSH1 0x04
00000499: DUP1
0000049a: CALLDATASIZE
0000049b: SUB
0000049c: DUP2
0000049d: ADD
0000049e: SWAP1
0000049f: PUSH2 0x04a8
000004a2: SWAP2
000004a3: SWAP1
000004a4: PUSH2 0x351d
000004a7: JUMP
000004a8: JUMPDEST
000004a9: PUSH2 0x0fc1
000004ac: JUMP
000004ad: JUMPDEST
000004ae: STOP
000004af: JUMPDEST
000004b0: CALLVALUE
000004b1: DUP1
000004b2: ISZERO
000004b3: PUSH2 0x04bb
000004b6: JUMPI
000004b7: PUSH1 0x00
000004b9: DUP1
000004ba: REVERT
000004bb: JUMPDEST
000004bc: POP
000004bd: PUSH2 0x04d6
000004c0: PUSH1 0x04
000004c2: DUP1
000004c3: CALLDATASIZE
000004c4: SUB
000004c5: DUP2
000004c6: ADD
000004c7: SWAP1
000004c8: PUSH2 0x04d1
000004cb: SWAP2
000004cc: SWAP1
000004cd: PUSH2 0x351d
000004d0: JUMP
000004d1: JUMPDEST
000004d2: PUSH2 0x1038
000004d5: JUMP
000004d6: JUMPDEST
000004d7: STOP
000004d8: JUMPDEST
000004d9: CALLVALUE
000004da: DUP1
000004db: ISZERO
000004dc: PUSH2 0x04e4
000004df: JUMPI
000004e0: PUSH1 0x00
000004e2: DUP1
000004e3: REVERT
000004e4: JUMPDEST
000004e5: POP
000004e6: PUSH2 0x04ff
000004e9: PUSH1 0x04
000004eb: DUP1
000004ec: CALLDATASIZE
000004ed: SUB
000004ee: DUP2
000004ef: ADD
000004f0: SWAP1
000004f1: PUSH2 0x04fa
000004f4: SWAP2
000004f5: SWAP1
000004f6: PUSH2 0x3881
000004f9: JUMP
000004fa: JUMPDEST
000004fb: PUSH2 0x10af
000004fe: JUMP
000004ff: JUMPDEST
00000500: STOP
00000501: JUMPDEST
00000502: CALLVALUE
00000503: DUP1
00000504: ISZERO
00000505: PUSH2 0x050d
00000508: JUMPI
00000509: PUSH1 0x00
0000050b: DUP1
0000050c: REVERT
0000050d: JUMPDEST
0000050e: POP
0000050f: PUSH2 0x0528
00000512: PUSH1 0x04
00000514: DUP1
00000515: CALLDATASIZE
00000516: SUB
00000517: DUP2
00000518: ADD
00000519: SWAP1
0000051a: PUSH2 0x0523
0000051d: SWAP2
0000051e: SWAP1
0000051f: PUSH2 0x351d
00000522: JUMP
00000523: JUMPDEST
00000524: PUSH2 0x19b8
00000527: JUMP
00000528: JUMPDEST
00000529: PUSH1 0x40
0000052b: MLOAD
0000052c: PUSH2 0x0539
0000052f: SWAP6
00000530: SWAP5
00000531: SWAP4
00000532: SWAP3
00000533: SWAP2
00000534: SWAP1
00000535: PUSH2 0x3a62
00000538: JUMP
00000539: JUMPDEST
0000053a: PUSH1 0x40
0000053c: MLOAD
0000053d: DUP1
0000053e: SWAP2
0000053f: SUB
00000540: SWAP1
00000541: RETURN
00000542: JUMPDEST
00000543: CALLVALUE
00000544: DUP1
00000545: ISZERO
00000546: PUSH2 0x054e
00000549: JUMPI
0000054a: PUSH1 0x00
0000054c: DUP1
0000054d: REVERT
0000054e: JUMPDEST
0000054f: POP
00000550: PUSH2 0x0569
00000553: PUSH1 0x04
00000555: DUP1
00000556: CALLDATASIZE
00000557: SUB
00000558: DUP2
00000559: ADD
0000055a: SWAP1
0000055b: PUSH2 0x0564
0000055e: SWAP2
0000055f: SWAP1
00000560: PUSH2 0x3ada
00000563: JUMP
00000564: JUMPDEST
00000565: PUSH2 0x1a22
00000568: JUMP
00000569: JUMPDEST
0000056a: STOP
0000056b: JUMPDEST
0000056c: CALLVALUE
0000056d: DUP1
0000056e: ISZERO
0000056f: PUSH2 0x0577
00000572: JUMPI
00000573: PUSH1 0x00
00000575: DUP1
00000576: REVERT
00000577: JUMPDEST
00000578: POP
00000579: PUSH2 0x0580
0000057c: PUSH2 0x1e0f
0000057f: JUMP
00000580: JUMPDEST
00000581: PUSH1 0x40
00000583: MLOAD
00000584: PUSH2 0x058d
00000587: SWAP2
00000588: SWAP1
00000589: PUSH2 0x3411
0000058c: JUMP
0000058d: JUMPDEST
0000058e: PUSH1 0x40
00000590: MLOAD
00000591: DUP1
00000592: SWAP2
00000593: SUB
00000594: SWAP1
00000595: RETURN
00000596: JUMPDEST
00000597: CALLVALUE
00000598: DUP1
00000599: ISZERO
0000059a: PUSH2 0x05a2
0000059d: JUMPI
0000059e: PUSH1 0x00
000005a0: DUP1
000005a1: REVERT
000005a2: JUMPDEST
000005a3: POP
000005a4: PUSH2 0x05bd
000005a7: PUSH1 0x04
000005a9: DUP1
000005aa: CALLDATASIZE
000005ab: SUB
000005ac: DUP2
000005ad: ADD
000005ae: SWAP1
000005af: PUSH2 0x05b8
000005b2: SWAP2
000005b3: SWAP1
000005b4: PUSH2 0x351d
000005b7: JUMP
000005b8: JUMPDEST
000005b9: PUSH2 0x1e35
000005bc: JUMP
000005bd: JUMPDEST
000005be: STOP
000005bf: JUMPDEST
000005c0: CALLVALUE
000005c1: DUP1
000005c2: ISZERO
000005c3: PUSH2 0x05cb
000005c6: JUMPI
000005c7: PUSH1 0x00
000005c9: DUP1
000005ca: REVERT
000005cb: JUMPDEST
000005cc: POP
000005cd: PUSH2 0x05e6
000005d0: PUSH1 0x04
000005d2: DUP1
000005d3: CALLDATASIZE
000005d4: SUB
000005d5: DUP2
000005d6: ADD
000005d7: SWAP1
000005d8: PUSH2 0x05e1
000005db: SWAP2
000005dc: SWAP1
000005dd: PUSH2 0x363c
000005e0: JUMP
000005e1: JUMPDEST
000005e2: PUSH2 0x1eac
000005e5: JUMP
000005e6: JUMPDEST
000005e7: STOP
000005e8: JUMPDEST
000005e9: CALLVALUE
000005ea: DUP1
000005eb: ISZERO
000005ec: PUSH2 0x05f4
000005ef: JUMPI
000005f0: PUSH1 0x00
000005f2: DUP1
000005f3: REVERT
000005f4: JUMPDEST
000005f5: POP
000005f6: PUSH2 0x05fd
000005f9: PUSH2 0x1ed5
000005fc: JUMP
000005fd: JUMPDEST
000005fe: PUSH1 0x40
00000600: MLOAD
00000601: PUSH2 0x060a
00000604: SWAP2
00000605: SWAP1
00000606: PUSH2 0x3621
00000609: JUMP
0000060a: JUMPDEST
0000060b: PUSH1 0x40
0000060d: MLOAD
0000060e: DUP1
0000060f: SWAP2
00000610: SUB
00000611: SWAP1
00000612: RETURN
00000613: JUMPDEST
00000614: CALLVALUE
00000615: DUP1
00000616: ISZERO
00000617: PUSH2 0x061f
0000061a: JUMPI
0000061b: PUSH1 0x00
0000061d: DUP1
0000061e: REVERT
0000061f: JUMPDEST
00000620: POP
00000621: PUSH2 0x0628
00000624: PUSH2 0x1ef9
00000627: JUMP
00000628: JUMPDEST
00000629: PUSH1 0x40
0000062b: MLOAD
0000062c: PUSH2 0x0635
0000062f: SWAP2
00000630: SWAP1
00000631: PUSH2 0x3621
00000634: JUMP
00000635: JUMPDEST
00000636: PUSH1 0x40
00000638: MLOAD
00000639: DUP1
0000063a: SWAP2
0000063b: SUB
0000063c: SWAP1
0000063d: RETURN
0000063e: JUMPDEST
0000063f: CALLVALUE
00000640: DUP1
00000641: ISZERO
00000642: PUSH2 0x064a
00000645: JUMPI
00000646: PUSH1 0x00
00000648: DUP1
00000649: REVERT
0000064a: JUMPDEST
0000064b: POP
0000064c: PUSH2 0x0665
0000064f: PUSH1 0x04
00000651: DUP1
00000652: CALLDATASIZE
00000653: SUB
00000654: DUP2
00000655: ADD
00000656: SWAP1
00000657: PUSH2 0x0660
0000065a: SWAP2
0000065b: SWAP1
0000065c: PUSH2 0x3b41
0000065f: JUMP
00000660: JUMPDEST
00000661: PUSH2 0x1f1d
00000664: JUMP
00000665: JUMPDEST
00000666: STOP
00000667: JUMPDEST
00000668: CALLVALUE
00000669: DUP1
0000066a: ISZERO
0000066b: PUSH2 0x0673
0000066e: JUMPI
0000066f: PUSH1 0x00
00000671: DUP1
00000672: REVERT
00000673: JUMPDEST
00000674: POP
00000675: PUSH2 0x067c
00000678: PUSH2 0x2593
0000067b: JUMP
0000067c: JUMPDEST
0000067d: STOP
0000067e: JUMPDEST
0000067f: PUSH1 0x04
00000681: PUSH1 0x00
00000683: SWAP1
00000684: SLOAD
00000685: SWAP1
00000686: PUSH2 0x0100
00000689: EXP
0000068a: SWAP1
0000068b: DIV
0000068c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006a1: AND
000006a2: DUP2
000006a3: JUMP
000006a4: JUMPDEST
000006a5: PUSH1 0x00
000006a7: PUSH32 0x7965db0b00000000000000000000000000000000000000000000000000000000
000006c8: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000006e5: NOT
000006e6: AND
000006e7: DUP3
000006e8: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000705: NOT
00000706: AND
00000707: EQ
00000708: DUP1
00000709: PUSH2 0x0717
0000070c: JUMPI
0000070d: POP
0000070e: PUSH2 0x0716
00000711: DUP3
00000712: PUSH2 0x25e3
00000715: JUMP
00000716: JUMPDEST
00000717: JUMPDEST
00000718: SWAP1
00000719: POP
0000071a: SWAP2
0000071b: SWAP1
0000071c: POP
0000071d: JUMP
0000071e: JUMPDEST
0000071f: PUSH32 0x77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d
00000740: PUSH2 0x0750
00000743: DUP2
00000744: PUSH2 0x074b
00000747: PUSH2 0x264d
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH2 0x2655
0000074f: JUMP
00000750: JUMPDEST
00000751: DUP2
00000752: PUSH1 0x01
00000754: DUP1
00000755: PUSH2 0x0100
00000758: EXP
00000759: DUP2
0000075a: SLOAD
0000075b: DUP2
0000075c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000771: MUL
00000772: NOT
00000773: AND
00000774: SWAP1
00000775: DUP4
00000776: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000078b: AND
0000078c: MUL
0000078d: OR
0000078e: SWAP1
0000078f: SSTORE
00000790: POP
00000791: POP
00000792: POP
00000793: JUMP
00000794: JUMPDEST
00000795: PUSH32 0x77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d
000007b6: PUSH2 0x07c6
000007b9: DUP2
000007ba: PUSH2 0x07c1
000007bd: PUSH2 0x264d
000007c0: JUMP
000007c1: JUMPDEST
000007c2: PUSH2 0x2655
000007c5: JUMP
000007c6: JUMPDEST
000007c7: PUSH1 0x01
000007c9: DUP1
000007ca: PUSH1 0x00
000007cc: PUSH2 0x0100
000007cf: EXP
000007d0: DUP2
000007d1: SLOAD
000007d2: DUP2
000007d3: PUSH1 0xff
000007d5: MUL
000007d6: NOT
000007d7: AND
000007d8: SWAP1
000007d9: DUP4
000007da: ISZERO
000007db: ISZERO
000007dc: MUL
000007dd: OR
000007de: SWAP1
000007df: SSTORE
000007e0: POP
000007e1: POP
000007e2: JUMP
000007e3: JUMPDEST
000007e4: PUSH32 0x593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0
00000805: PUSH2 0x0815
00000808: DUP2
00000809: PUSH2 0x0810
0000080c: PUSH2 0x264d
0000080f: JUMP
00000810: JUMPDEST
00000811: PUSH2 0x2655
00000814: JUMP
00000815: JUMPDEST
00000816: PUSH1 0x00
00000818: DUP1
00000819: SHL
0000081a: PUSH1 0x05
0000081c: PUSH1 0x00
0000081e: DUP6
0000081f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000834: AND
00000835: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000084a: AND
0000084b: DUP2
0000084c: MSTORE
0000084d: PUSH1 0x20
0000084f: ADD
00000850: SWAP1
00000851: DUP2
00000852: MSTORE
00000853: PUSH1 0x20
00000855: ADD
00000856: PUSH1 0x00
00000858: KECCAK256
00000859: PUSH1 0x01
0000085b: ADD
0000085c: SLOAD
0000085d: SUB
0000085e: PUSH2 0x089c
00000861: JUMPI
00000862: PUSH1 0x40
00000864: MLOAD
00000865: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000886: DUP2
00000887: MSTORE
00000888: PUSH1 0x04
0000088a: ADD
0000088b: PUSH2 0x0893
0000088e: SWAP1
0000088f: PUSH2 0x3bf1
00000892: JUMP
00000893: JUMPDEST
00000894: PUSH1 0x40
00000896: MLOAD
00000897: DUP1
00000898: SWAP2
00000899: SUB
0000089a: SWAP1
0000089b: REVERT
0000089c: JUMPDEST
0000089d: DUP2
0000089e: PUSH1 0x05
000008a0: PUSH1 0x00
000008a2: DUP6
000008a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b8: AND
000008b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008ce: AND
000008cf: DUP2
000008d0: MSTORE
000008d1: PUSH1 0x20
000008d3: ADD
000008d4: SWAP1
000008d5: DUP2
000008d6: MSTORE
000008d7: PUSH1 0x20
000008d9: ADD
000008da: PUSH1 0x00
000008dc: KECCAK256
000008dd: PUSH1 0x02
000008df: ADD
000008e0: PUSH1 0x02
000008e2: PUSH2 0x0100
000008e5: EXP
000008e6: DUP2
000008e7: SLOAD
000008e8: DUP2
000008e9: PUSH1 0xff
000008eb: MUL
000008ec: NOT
000008ed: AND
000008ee: SWAP1
000008ef: DUP4
000008f0: PUSH1 0x01
000008f2: DUP2
000008f3: GT
000008f4: ISZERO
000008f5: PUSH2 0x0901
000008f8: JUMPI
000008f9: PUSH2 0x0900
000008fc: PUSH2 0x39a3
000008ff: JUMP
00000900: JUMPDEST
00000901: JUMPDEST
00000902: MUL
00000903: OR
00000904: SWAP1
00000905: SSTORE
00000906: POP
00000907: POP
00000908: POP
00000909: POP
0000090a: JUMP
0000090b: JUMPDEST
0000090c: PUSH1 0x00
0000090e: DUP1
0000090f: PUSH1 0x00
00000911: DUP4
00000912: DUP2
00000913: MSTORE
00000914: PUSH1 0x20
00000916: ADD
00000917: SWAP1
00000918: DUP2
00000919: MSTORE
0000091a: PUSH1 0x20
0000091c: ADD
0000091d: PUSH1 0x00
0000091f: KECCAK256
00000920: PUSH1 0x01
00000922: ADD
00000923: SLOAD
00000924: SWAP1
00000925: POP
00000926: SWAP2
00000927: SWAP1
00000928: POP
00000929: JUMP
0000092a: JUMPDEST
0000092b: PUSH2 0x0933
0000092e: DUP3
0000092f: PUSH2 0x090b
00000932: JUMP
00000933: JUMPDEST
00000934: PUSH2 0x0944
00000937: DUP2
00000938: PUSH2 0x093f
0000093b: PUSH2 0x264d
0000093e: JUMP
0000093f: JUMPDEST
00000940: PUSH2 0x2655
00000943: JUMP
00000944: JUMPDEST
00000945: PUSH2 0x094e
00000948: DUP4
00000949: DUP4
0000094a: PUSH2 0x26f2
0000094d: JUMP
0000094e: JUMPDEST
0000094f: POP
00000950: POP
00000951: POP
00000952: JUMP
00000953: JUMPDEST
00000954: PUSH2 0x095b
00000957: PUSH2 0x264d
0000095a: JUMP
0000095b: JUMPDEST
0000095c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000971: AND
00000972: DUP2
00000973: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000988: AND
00000989: EQ
0000098a: PUSH2 0x09c8
0000098d: JUMPI
0000098e: PUSH1 0x40
00000990: MLOAD
00000991: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009b2: DUP2
000009b3: MSTORE
000009b4: PUSH1 0x04
000009b6: ADD
000009b7: PUSH2 0x09bf
000009ba: SWAP1
000009bb: PUSH2 0x3c83
000009be: JUMP
000009bf: JUMPDEST
000009c0: PUSH1 0x40
000009c2: MLOAD
000009c3: DUP1
000009c4: SWAP2
000009c5: SUB
000009c6: SWAP1
000009c7: REVERT
000009c8: JUMPDEST
000009c9: PUSH2 0x09d2
000009cc: DUP3
000009cd: DUP3
000009ce: PUSH2 0x27d2
000009d1: JUMP
000009d2: JUMPDEST
000009d3: POP
000009d4: POP
000009d5: JUMP
000009d6: JUMPDEST
000009d7: PUSH1 0x01
000009d9: DUP1
000009da: SLOAD
000009db: SWAP1
000009dc: PUSH2 0x0100
000009df: EXP
000009e0: SWAP1
000009e1: DIV
000009e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009f7: AND
000009f8: DUP2
000009f9: JUMP
000009fa: JUMPDEST
000009fb: PUSH1 0x03
000009fd: PUSH1 0x00
000009ff: SWAP1
00000a00: SLOAD
00000a01: SWAP1
00000a02: PUSH2 0x0100
00000a05: EXP
00000a06: SWAP1
00000a07: DIV
00000a08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a1d: AND
00000a1e: DUP2
00000a1f: JUMP
00000a20: JUMPDEST
00000a21: PUSH1 0x01
00000a23: PUSH1 0x00
00000a25: SWAP1
00000a26: SLOAD
00000a27: SWAP1
00000a28: PUSH2 0x0100
00000a2b: EXP
00000a2c: SWAP1
00000a2d: DIV
00000a2e: PUSH1 0xff
00000a30: AND
00000a31: PUSH2 0x0a6f
00000a34: JUMPI
00000a35: PUSH1 0x40
00000a37: MLOAD
00000a38: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a59: DUP2
00000a5a: MSTORE
00000a5b: PUSH1 0x04
00000a5d: ADD
00000a5e: PUSH2 0x0a66
00000a61: SWAP1
00000a62: PUSH2 0x3cef
00000a65: JUMP
00000a66: JUMPDEST
00000a67: PUSH1 0x40
00000a69: MLOAD
00000a6a: DUP1
00000a6b: SWAP2
00000a6c: SUB
00000a6d: SWAP1
00000a6e: REVERT
00000a6f: JUMPDEST
00000a70: PUSH1 0x00
00000a72: DUP1
00000a73: PUSH2 0x0a7f
00000a76: DUP7
00000a77: DUP7
00000a78: CALLVALUE
00000a79: DUP8
00000a7a: DUP8
00000a7b: PUSH2 0x28b3
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: SWAP3
00000a81: POP
00000a82: SWAP3
00000a83: POP
00000a84: POP
00000a85: PUSH1 0x01
00000a87: DUP1
00000a88: DUP2
00000a89: GT
00000a8a: ISZERO
00000a8b: PUSH2 0x0a97
00000a8e: JUMPI
00000a8f: PUSH2 0x0a96
00000a92: PUSH2 0x39a3
00000a95: JUMP
00000a96: JUMPDEST
00000a97: JUMPDEST
00000a98: DUP2
00000a99: PUSH1 0x80
00000a9b: ADD
00000a9c: MLOAD
00000a9d: PUSH1 0x01
00000a9f: DUP2
00000aa0: GT
00000aa1: ISZERO
00000aa2: PUSH2 0x0aae
00000aa5: JUMPI
00000aa6: PUSH2 0x0aad
00000aa9: PUSH2 0x39a3
00000aac: JUMP
00000aad: JUMPDEST
00000aae: JUMPDEST
00000aaf: EQ
00000ab0: PUSH2 0x0aee
00000ab3: JUMPI
00000ab4: PUSH1 0x40
00000ab6: MLOAD
00000ab7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ad8: DUP2
00000ad9: MSTORE
00000ada: PUSH1 0x04
00000adc: ADD
00000add: PUSH2 0x0ae5
00000ae0: SWAP1
00000ae1: PUSH2 0x3d5b
00000ae4: JUMP
00000ae5: JUMPDEST
00000ae6: PUSH1 0x40
00000ae8: MLOAD
00000ae9: DUP1
00000aea: SWAP2
00000aeb: SUB
00000aec: SWAP1
00000aed: REVERT
00000aee: JUMPDEST
00000aef: PUSH1 0x00
00000af1: PUSH1 0x03
00000af3: DUP2
00000af4: GT
00000af5: ISZERO
00000af6: PUSH2 0x0b02
00000af9: JUMPI
00000afa: PUSH2 0x0b01
00000afd: PUSH2 0x39a3
00000b00: JUMP
00000b01: JUMPDEST
00000b02: JUMPDEST
00000b03: DUP2
00000b04: PUSH1 0x60
00000b06: ADD
00000b07: MLOAD
00000b08: PUSH1 0x03
00000b0a: DUP2
00000b0b: GT
00000b0c: ISZERO
00000b0d: PUSH2 0x0b19
00000b10: JUMPI
00000b11: PUSH2 0x0b18
00000b14: PUSH2 0x39a3
00000b17: JUMP
00000b18: JUMPDEST
00000b19: JUMPDEST
00000b1a: EQ
00000b1b: PUSH2 0x0b59
00000b1e: JUMPI
00000b1f: PUSH1 0x40
00000b21: MLOAD
00000b22: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000b43: DUP2
00000b44: MSTORE
00000b45: PUSH1 0x04
00000b47: ADD
00000b48: PUSH2 0x0b50
00000b4b: SWAP1
00000b4c: PUSH2 0x3dc7
00000b4f: JUMP
00000b50: JUMPDEST
00000b51: PUSH1 0x40
00000b53: MLOAD
00000b54: DUP1
00000b55: SWAP2
00000b56: SUB
00000b57: SWAP1
00000b58: REVERT
00000b59: JUMPDEST
00000b5a: PUSH1 0x00
00000b5c: DUP3
00000b5d: GT
00000b5e: ISZERO
00000b5f: PUSH2 0x0bcc
00000b62: JUMPI
00000b63: PUSH1 0x02
00000b65: PUSH1 0x00
00000b67: SWAP1
00000b68: SLOAD
00000b69: SWAP1
00000b6a: PUSH2 0x0100
00000b6d: EXP
00000b6e: SWAP1
00000b6f: DIV
00000b70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b85: AND
00000b86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b9b: AND
00000b9c: PUSH2 0x08fc
00000b9f: DUP4
00000ba0: SWAP1
00000ba1: DUP2
00000ba2: ISZERO
00000ba3: MUL
00000ba4: SWAP1
00000ba5: PUSH1 0x40
00000ba7: MLOAD
00000ba8: PUSH1 0x00
00000baa: PUSH1 0x40
00000bac: MLOAD
00000bad: DUP1
00000bae: DUP4
00000baf: SUB
00000bb0: DUP2
00000bb1: DUP6
00000bb2: DUP9
00000bb3: DUP9
00000bb4: CALL
00000bb5: SWAP4
00000bb6: POP
00000bb7: POP
00000bb8: POP
00000bb9: POP
00000bba: ISZERO
00000bbb: DUP1
00000bbc: ISZERO
00000bbd: PUSH2 0x0bca
00000bc0: JUMPI
00000bc1: RETURNDATASIZE
00000bc2: PUSH1 0x00
00000bc4: DUP1
00000bc5: RETURNDATACOPY
00000bc6: RETURNDATASIZE
00000bc7: PUSH1 0x00
00000bc9: REVERT
00000bca: JUMPDEST
00000bcb: POP
00000bcc: JUMPDEST
00000bcd: POP
00000bce: POP
00000bcf: POP
00000bd0: POP
00000bd1: POP
00000bd2: POP
00000bd3: JUMP
00000bd4: JUMPDEST
00000bd5: PUSH1 0x06
00000bd7: PUSH1 0x20
00000bd9: MSTORE
00000bda: DUP2
00000bdb: PUSH1 0x00
00000bdd: MSTORE
00000bde: PUSH1 0x40
00000be0: PUSH1 0x00
00000be2: KECCAK256
00000be3: PUSH1 0x20
00000be5: MSTORE
00000be6: DUP1
00000be7: PUSH1 0x00
00000be9: MSTORE
00000bea: PUSH1 0x40
00000bec: PUSH1 0x00
00000bee: KECCAK256
00000bef: PUSH1 0x00
00000bf1: SWAP2
00000bf2: POP
00000bf3: SWAP2
00000bf4: POP
00000bf5: SWAP1
00000bf6: SLOAD
00000bf7: SWAP1
00000bf8: PUSH2 0x0100
00000bfb: EXP
00000bfc: SWAP1
00000bfd: DIV
00000bfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c13: AND
00000c14: DUP2
00000c15: JUMP
00000c16: JUMPDEST
00000c17: PUSH1 0x01
00000c19: PUSH1 0x00
00000c1b: SWAP1
00000c1c: SLOAD
00000c1d: SWAP1
00000c1e: PUSH2 0x0100
00000c21: EXP
00000c22: SWAP1
00000c23: DIV
00000c24: PUSH1 0xff
00000c26: AND
00000c27: PUSH2 0x0c65
00000c2a: JUMPI
00000c2b: PUSH1 0x40
00000c2d: MLOAD
00000c2e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c4f: DUP2
00000c50: MSTORE
00000c51: PUSH1 0x04
00000c53: ADD
00000c54: PUSH2 0x0c5c
00000c57: SWAP1
00000c58: PUSH2 0x3cef
00000c5b: JUMP
00000c5c: JUMPDEST
00000c5d: PUSH1 0x40
00000c5f: MLOAD
00000c60: DUP1
00000c61: SWAP2
00000c62: SUB
00000c63: SWAP1
00000c64: REVERT
00000c65: JUMPDEST
00000c66: PUSH1 0x00
00000c68: DUP1
00000c69: PUSH1 0x00
00000c6b: PUSH2 0x0c77
00000c6e: DUP9
00000c6f: DUP9
00000c70: DUP7
00000c71: DUP10
00000c72: DUP10
00000c73: PUSH2 0x28b3
00000c76: JUMP
00000c77: JUMPDEST
00000c78: SWAP3
00000c79: POP
00000c7a: SWAP3
00000c7b: POP
00000c7c: SWAP3
00000c7d: POP
00000c7e: PUSH1 0x01
00000c80: DUP1
00000c81: DUP2
00000c82: GT
00000c83: ISZERO
00000c84: PUSH2 0x0c90
00000c87: JUMPI
00000c88: PUSH2 0x0c8f
00000c8b: PUSH2 0x39a3
00000c8e: JUMP
00000c8f: JUMPDEST
00000c90: JUMPDEST
00000c91: DUP2
00000c92: PUSH1 0x80
00000c94: ADD
00000c95: MLOAD
00000c96: PUSH1 0x01
00000c98: DUP2
00000c99: GT
00000c9a: ISZERO
00000c9b: PUSH2 0x0ca7
00000c9e: JUMPI
00000c9f: PUSH2 0x0ca6
00000ca2: PUSH2 0x39a3
00000ca5: JUMP
00000ca6: JUMPDEST
00000ca7: JUMPDEST
00000ca8: EQ
00000ca9: PUSH2 0x0ce7
00000cac: JUMPI
00000cad: PUSH1 0x40
00000caf: MLOAD
00000cb0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cd1: DUP2
00000cd2: MSTORE
00000cd3: PUSH1 0x04
00000cd5: ADD
00000cd6: PUSH2 0x0cde
00000cd9: SWAP1
00000cda: PUSH2 0x3d5b
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: PUSH1 0x40
00000ce1: MLOAD
00000ce2: DUP1
00000ce3: SWAP2
00000ce4: SUB
00000ce5: SWAP1
00000ce6: REVERT
00000ce7: JUMPDEST
00000ce8: PUSH1 0x01
00000cea: PUSH1 0x03
00000cec: DUP2
00000ced: GT
00000cee: ISZERO
00000cef: PUSH2 0x0cfb
00000cf2: JUMPI
00000cf3: PUSH2 0x0cfa
00000cf6: PUSH2 0x39a3
00000cf9: JUMP
00000cfa: JUMPDEST
00000cfb: JUMPDEST
00000cfc: DUP2
00000cfd: PUSH1 0x60
00000cff: ADD
00000d00: MLOAD
00000d01: PUSH1 0x03
00000d03: DUP2
00000d04: GT
00000d05: ISZERO
00000d06: PUSH2 0x0d12
00000d09: JUMPI
00000d0a: PUSH2 0x0d11
00000d0d: PUSH2 0x39a3
00000d10: JUMP
00000d11: JUMPDEST
00000d12: JUMPDEST
00000d13: SUB
00000d14: PUSH2 0x0d49
00000d17: JUMPI
00000d18: PUSH2 0x0d44
00000d1b: CALLER
00000d1c: ADDRESS
00000d1d: DUP6
00000d1e: DUP11
00000d1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d34: AND
00000d35: PUSH2 0x2ca0
00000d38: SWAP1
00000d39: SWAP4
00000d3a: SWAP3
00000d3b: SWAP2
00000d3c: SWAP1
00000d3d: PUSH4 0xffffffff
00000d42: AND
00000d43: JUMP
00000d44: JUMPDEST
00000d45: PUSH2 0x0ec9
00000d48: JUMP
00000d49: JUMPDEST
00000d4a: PUSH1 0x03
00000d4c: DUP1
00000d4d: DUP2
00000d4e: GT
00000d4f: ISZERO
00000d50: PUSH2 0x0d5c
00000d53: JUMPI
00000d54: PUSH2 0x0d5b
00000d57: PUSH2 0x39a3
00000d5a: JUMP
00000d5b: JUMPDEST
00000d5c: JUMPDEST
00000d5d: DUP2
00000d5e: PUSH1 0x60
00000d60: ADD
00000d61: MLOAD
00000d62: PUSH1 0x03
00000d64: DUP2
00000d65: GT
00000d66: ISZERO
00000d67: PUSH2 0x0d73
00000d6a: JUMPI
00000d6b: PUSH2 0x0d72
00000d6e: PUSH2 0x39a3
00000d71: JUMP
00000d72: JUMPDEST
00000d73: JUMPDEST
00000d74: SUB
00000d75: PUSH2 0x0dea
00000d78: JUMPI
00000d79: DUP7
00000d7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d8f: AND
00000d90: PUSH4 0x9dc29fac
00000d95: CALLER
00000d96: DUP6
00000d97: PUSH1 0x40
00000d99: MLOAD
00000d9a: DUP4
00000d9b: PUSH4 0xffffffff
00000da0: AND
00000da1: PUSH1 0xe0
00000da3: SHL
00000da4: DUP2
00000da5: MSTORE
00000da6: PUSH1 0x04
00000da8: ADD
00000da9: PUSH2 0x0db3
00000dac: SWAP3
00000dad: SWAP2
00000dae: SWAP1
00000daf: PUSH2 0x3df6
00000db2: JUMP
00000db3: JUMPDEST
00000db4: PUSH1 0x00
00000db6: PUSH1 0x40
00000db8: MLOAD
00000db9: DUP1
00000dba: DUP4
00000dbb: SUB
00000dbc: DUP2
00000dbd: PUSH1 0x00
00000dbf: DUP8
00000dc0: DUP1
00000dc1: EXTCODESIZE
00000dc2: ISZERO
00000dc3: DUP1
00000dc4: ISZERO
00000dc5: PUSH2 0x0dcd
00000dc8: JUMPI
00000dc9: PUSH1 0x00
00000dcb: DUP1
00000dcc: REVERT
00000dcd: JUMPDEST
00000dce: POP
00000dcf: GAS
00000dd0: CALL
00000dd1: ISZERO
00000dd2: DUP1
00000dd3: ISZERO
00000dd4: PUSH2 0x0de1
00000dd7: JUMPI
00000dd8: RETURNDATASIZE
00000dd9: PUSH1 0x00
00000ddb: DUP1
00000ddc: RETURNDATACOPY
00000ddd: RETURNDATASIZE
00000dde: PUSH1 0x00
00000de0: REVERT
00000de1: JUMPDEST
00000de2: POP
00000de3: POP
00000de4: POP
00000de5: POP
00000de6: PUSH2 0x0ec8
00000de9: JUMP
00000dea: JUMPDEST
00000deb: PUSH1 0x02
00000ded: PUSH1 0x03
00000def: DUP2
00000df0: GT
00000df1: ISZERO
00000df2: PUSH2 0x0dfe
00000df5: JUMPI
00000df6: PUSH2 0x0dfd
00000df9: PUSH2 0x39a3
00000dfc: JUMP
00000dfd: JUMPDEST
00000dfe: JUMPDEST
00000dff: DUP2
00000e00: PUSH1 0x60
00000e02: ADD
00000e03: MLOAD
00000e04: PUSH1 0x03
00000e06: DUP2
00000e07: GT
00000e08: ISZERO
00000e09: PUSH2 0x0e15
00000e0c: JUMPI
00000e0d: PUSH2 0x0e14
00000e10: PUSH2 0x39a3
00000e13: JUMP
00000e14: JUMPDEST
00000e15: JUMPDEST
00000e16: SUB
00000e17: PUSH2 0x0e8c
00000e1a: JUMPI
00000e1b: DUP7
00000e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e31: AND
00000e32: PUSH4 0x9dc29fac
00000e37: CALLER
00000e38: DUP6
00000e39: PUSH1 0x40
00000e3b: MLOAD
00000e3c: DUP4
00000e3d: PUSH4 0xffffffff
00000e42: AND
00000e43: PUSH1 0xe0
00000e45: SHL
00000e46: DUP2
00000e47: MSTORE
00000e48: PUSH1 0x04
00000e4a: ADD
00000e4b: PUSH2 0x0e55
00000e4e: SWAP3
00000e4f: SWAP2
00000e50: SWAP1
00000e51: PUSH2 0x3df6
00000e54: JUMP
00000e55: JUMPDEST
00000e56: PUSH1 0x00
00000e58: PUSH1 0x40
00000e5a: MLOAD
00000e5b: DUP1
00000e5c: DUP4
00000e5d: SUB
00000e5e: DUP2
00000e5f: PUSH1 0x00
00000e61: DUP8
00000e62: DUP1
00000e63: EXTCODESIZE
00000e64: ISZERO
00000e65: DUP1
00000e66: ISZERO
00000e67: PUSH2 0x0e6f
00000e6a: JUMPI
00000e6b: PUSH1 0x00
00000e6d: DUP1
00000e6e: REVERT
00000e6f: JUMPDEST
00000e70: POP
00000e71: GAS
00000e72: CALL
00000e73: ISZERO
00000e74: DUP1
00000e75: ISZERO
00000e76: PUSH2 0x0e83
00000e79: JUMPI
00000e7a: RETURNDATASIZE
00000e7b: PUSH1 0x00
00000e7d: DUP1
00000e7e: RETURNDATACOPY
00000e7f: RETURNDATASIZE
00000e80: PUSH1 0x00
00000e82: REVERT
00000e83: JUMPDEST
00000e84: POP
00000e85: POP
00000e86: POP
00000e87: POP
00000e88: PUSH2 0x0ec7
00000e8b: JUMP
00000e8c: JUMPDEST
00000e8d: PUSH1 0x40
00000e8f: MLOAD
00000e90: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000eb1: DUP2
00000eb2: MSTORE
00000eb3: PUSH1 0x04
00000eb5: ADD
00000eb6: PUSH2 0x0ebe
00000eb9: SWAP1
00000eba: PUSH2 0x3dc7
00000ebd: JUMP
00000ebe: JUMPDEST
00000ebf: PUSH1 0x40
00000ec1: MLOAD
00000ec2: DUP1
00000ec3: SWAP2
00000ec4: SUB
00000ec5: SWAP1
00000ec6: REVERT
00000ec7: JUMPDEST
00000ec8: JUMPDEST
00000ec9: JUMPDEST
00000eca: PUSH1 0x00
00000ecc: DUP3
00000ecd: GT
00000ece: ISZERO
00000ecf: PUSH2 0x0f22
00000ed2: JUMPI
00000ed3: PUSH2 0x0f21
00000ed6: CALLER
00000ed7: PUSH1 0x02
00000ed9: PUSH1 0x00
00000edb: SWAP1
00000edc: SLOAD
00000edd: SWAP1
00000ede: PUSH2 0x0100
00000ee1: EXP
00000ee2: SWAP1
00000ee3: DIV
00000ee4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ef9: AND
00000efa: DUP5
00000efb: DUP11
00000efc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f11: AND
00000f12: PUSH2 0x2ca0
00000f15: SWAP1
00000f16: SWAP4
00000f17: SWAP3
00000f18: SWAP2
00000f19: SWAP1
00000f1a: PUSH4 0xffffffff
00000f1f: AND
00000f20: JUMP
00000f21: JUMPDEST
00000f22: JUMPDEST
00000f23: POP
00000f24: POP
00000f25: POP
00000f26: POP
00000f27: POP
00000f28: POP
00000f29: POP
00000f2a: POP
00000f2b: JUMP
00000f2c: JUMPDEST
00000f2d: PUSH32 0x77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d
00000f4e: DUP2
00000f4f: JUMP
00000f50: JUMPDEST
00000f51: PUSH1 0x00
00000f53: DUP1
00000f54: PUSH1 0x00
00000f56: DUP5
00000f57: DUP2
00000f58: MSTORE
00000f59: PUSH1 0x20
00000f5b: ADD
00000f5c: SWAP1
00000f5d: DUP2
00000f5e: MSTORE
00000f5f: PUSH1 0x20
00000f61: ADD
00000f62: PUSH1 0x00
00000f64: KECCAK256
00000f65: PUSH1 0x00
00000f67: ADD
00000f68: PUSH1 0x00
00000f6a: DUP4
00000f6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f80: AND
00000f81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f96: AND
00000f97: DUP2
00000f98: MSTORE
00000f99: PUSH1 0x20
00000f9b: ADD
00000f9c: SWAP1
00000f9d: DUP2
00000f9e: MSTORE
00000f9f: PUSH1 0x20
00000fa1: ADD
00000fa2: PUSH1 0x00
00000fa4: KECCAK256
00000fa5: PUSH1 0x00
00000fa7: SWAP1
00000fa8: SLOAD
00000fa9: SWAP1
00000faa: PUSH2 0x0100
00000fad: EXP
00000fae: SWAP1
00000faf: DIV
00000fb0: PUSH1 0xff
00000fb2: AND
00000fb3: SWAP1
00000fb4: POP
00000fb5: SWAP3
00000fb6: SWAP2
00000fb7: POP
00000fb8: POP
00000fb9: JUMP
00000fba: JUMPDEST
00000fbb: PUSH1 0x00
00000fbd: DUP1
00000fbe: SHL
00000fbf: DUP2
00000fc0: JUMP
00000fc1: JUMPDEST
00000fc2: PUSH32 0x593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0
00000fe3: PUSH2 0x0ff3
00000fe6: DUP2
00000fe7: PUSH2 0x0fee
00000fea: PUSH2 0x264d
00000fed: JUMP
00000fee: JUMPDEST
00000fef: PUSH2 0x2655
00000ff2: JUMP
00000ff3: JUMPDEST
00000ff4: DUP2
00000ff5: PUSH1 0x02
00000ff7: PUSH1 0x00
00000ff9: PUSH2 0x0100
00000ffc: EXP
00000ffd: DUP2
00000ffe: SLOAD
00000fff: DUP2
00001000: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001015: MUL
00001016: NOT
00001017: AND
00001018: SWAP1
00001019: DUP4
0000101a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000102f: AND
00001030: MUL
00001031: OR
00001032: SWAP1
00001033: SSTORE
00001034: POP
00001035: POP
00001036: POP
00001037: JUMP
00001038: JUMPDEST
00001039: PUSH32 0x593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0
0000105a: PUSH2 0x106a
0000105d: DUP2
0000105e: PUSH2 0x1065
00001061: PUSH2 0x264d
00001064: JUMP
00001065: JUMPDEST
00001066: PUSH2 0x2655
00001069: JUMP
0000106a: JUMPDEST
0000106b: DUP2
0000106c: PUSH1 0x03
0000106e: PUSH1 0x00
00001070: PUSH2 0x0100
00001073: EXP
00001074: DUP2
00001075: SLOAD
00001076: DUP2
00001077: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000108c: MUL
0000108d: NOT
0000108e: AND
0000108f: SWAP1
00001090: DUP4
00001091: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010a6: AND
000010a7: MUL
000010a8: OR
000010a9: SWAP1
000010aa: SSTORE
000010ab: POP
000010ac: POP
000010ad: POP
000010ae: JUMP
000010af: JUMPDEST
000010b0: PUSH1 0x01
000010b2: PUSH1 0x00
000010b4: SWAP1
000010b5: SLOAD
000010b6: SWAP1
000010b7: PUSH2 0x0100
000010ba: EXP
000010bb: SWAP1
000010bc: DIV
000010bd: PUSH1 0xff
000010bf: AND
000010c0: PUSH2 0x10fe
000010c3: JUMPI
000010c4: PUSH1 0x40
000010c6: MLOAD
000010c7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010e8: DUP2
000010e9: MSTORE
000010ea: PUSH1 0x04
000010ec: ADD
000010ed: PUSH2 0x10f5
000010f0: SWAP1
000010f1: PUSH2 0x3cef
000010f4: JUMP
000010f5: JUMPDEST
000010f6: PUSH1 0x40
000010f8: MLOAD
000010f9: DUP1
000010fa: SWAP2
000010fb: SUB
000010fc: SWAP1
000010fd: REVERT
000010fe: JUMPDEST
000010ff: PUSH1 0x01
00001101: DUP1
00001102: SLOAD
00001103: SWAP1
00001104: PUSH2 0x0100
00001107: EXP
00001108: SWAP1
00001109: DIV
0000110a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000111f: AND
00001120: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001135: AND
00001136: PUSH4 0xceed2d3b
0000113b: DUP12
0000113c: DUP12
0000113d: DUP12
0000113e: DUP12
0000113f: DUP12
00001140: DUP12
00001141: DUP12
00001142: DUP12
00001143: DUP12
00001144: DUP12
00001145: PUSH1 0x40
00001147: MLOAD
00001148: DUP12
00001149: PUSH4 0xffffffff
0000114e: AND
0000114f: PUSH1 0xe0
00001151: SHL
00001152: DUP2
00001153: MSTORE
00001154: PUSH1 0x04
00001156: ADD
00001157: PUSH2 0x1169
0000115a: SWAP11
0000115b: SWAP10
0000115c: SWAP9
0000115d: SWAP8
0000115e: SWAP7
0000115f: SWAP6
00001160: SWAP5
00001161: SWAP4
00001162: SWAP3
00001163: SWAP2
00001164: SWAP1
00001165: PUSH2 0x3e8c
00001168: JUMP
00001169: JUMPDEST
0000116a: PUSH1 0x00
0000116c: PUSH1 0x40
0000116e: MLOAD
0000116f: DUP1
00001170: DUP4
00001171: SUB
00001172: DUP2
00001173: PUSH1 0x00
00001175: DUP8
00001176: DUP1
00001177: EXTCODESIZE
00001178: ISZERO
00001179: DUP1
0000117a: ISZERO
0000117b: PUSH2 0x1183
0000117e: JUMPI
0000117f: PUSH1 0x00
00001181: DUP1
00001182: REVERT
00001183: JUMPDEST
00001184: POP
00001185: GAS
00001186: CALL
00001187: ISZERO
00001188: DUP1
00001189: ISZERO
0000118a: PUSH2 0x1197
0000118d: JUMPI
0000118e: RETURNDATASIZE
0000118f: PUSH1 0x00
00001191: DUP1
00001192: RETURNDATACOPY
00001193: RETURNDATASIZE
00001194: PUSH1 0x00
00001196: REVERT
00001197: JUMPDEST
00001198: POP
00001199: POP
0000119a: POP
0000119b: POP
0000119c: PUSH1 0x00
0000119e: PUSH1 0x06
000011a0: PUSH1 0x00
000011a2: DUP9
000011a3: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000011c0: NOT
000011c1: AND
000011c2: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000011df: NOT
000011e0: AND
000011e1: DUP2
000011e2: MSTORE
000011e3: PUSH1 0x20
000011e5: ADD
000011e6: SWAP1
000011e7: DUP2
000011e8: MSTORE
000011e9: PUSH1 0x20
000011eb: ADD
000011ec: PUSH1 0x00
000011ee: KECCAK256
000011ef: PUSH1 0x00
000011f1: DUP8
000011f2: DUP2
000011f3: MSTORE
000011f4: PUSH1 0x20
000011f6: ADD
000011f7: SWAP1
000011f8: DUP2
000011f9: MSTORE
000011fa: PUSH1 0x20
000011fc: ADD
000011fd: PUSH1 0x00
000011ff: KECCAK256
00001200: PUSH1 0x00
00001202: SWAP1
00001203: SLOAD
00001204: SWAP1
00001205: PUSH2 0x0100
00001208: EXP
00001209: SWAP1
0000120a: DIV
0000120b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001220: AND
00001221: SWAP1
00001222: POP
00001223: PUSH1 0x00
00001225: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000123a: AND
0000123b: DUP2
0000123c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001251: AND
00001252: SUB
00001253: PUSH2 0x1291
00001256: JUMPI
00001257: PUSH1 0x40
00001259: MLOAD
0000125a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000127b: DUP2
0000127c: MSTORE
0000127d: PUSH1 0x04
0000127f: ADD
00001280: PUSH2 0x1288
00001283: SWAP1
00001284: PUSH2 0x3bf1
00001287: JUMP
00001288: JUMPDEST
00001289: PUSH1 0x40
0000128b: MLOAD
0000128c: DUP1
0000128d: SWAP2
0000128e: SUB
0000128f: SWAP1
00001290: REVERT
00001291: JUMPDEST
00001292: PUSH1 0x00
00001294: PUSH1 0x05
00001296: PUSH1 0x00
00001298: DUP4
00001299: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ae: AND
000012af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c4: AND
000012c5: DUP2
000012c6: MSTORE
000012c7: PUSH1 0x20
000012c9: ADD
000012ca: SWAP1
000012cb: DUP2
000012cc: MSTORE
000012cd: PUSH1 0x20
000012cf: ADD
000012d0: PUSH1 0x00
000012d2: KECCAK256
000012d3: PUSH1 0x40
000012d5: MLOAD
000012d6: DUP1
000012d7: PUSH1 0xa0
000012d9: ADD
000012da: PUSH1 0x40
000012dc: MSTORE
000012dd: SWAP1
000012de: DUP2
000012df: PUSH1 0x00
000012e1: DUP3
000012e2: ADD
000012e3: PUSH1 0x00
000012e5: SWAP1
000012e6: SLOAD
000012e7: SWAP1
000012e8: PUSH2 0x0100
000012eb: EXP
000012ec: SWAP1
000012ed: DIV
000012ee: PUSH1 0xe0
000012f0: SHL
000012f1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000130e: NOT
0000130f: AND
00001310: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000132d: NOT
0000132e: AND
0000132f: DUP2
00001330: MSTORE
00001331: PUSH1 0x20
00001333: ADD
00001334: PUSH1 0x01
00001336: DUP3
00001337: ADD
00001338: SLOAD
00001339: DUP2
0000133a: MSTORE
0000133b: PUSH1 0x20
0000133d: ADD
0000133e: PUSH1 0x02
00001340: DUP3
00001341: ADD
00001342: PUSH1 0x00
00001344: SWAP1
00001345: SLOAD
00001346: SWAP1
00001347: PUSH2 0x0100
0000134a: EXP
0000134b: SWAP1
0000134c: DIV
0000134d: PUSH1 0xff
0000134f: AND
00001350: PUSH1 0xff
00001352: AND
00001353: PUSH1 0xff
00001355: AND
00001356: DUP2
00001357: MSTORE
00001358: PUSH1 0x20
0000135a: ADD
0000135b: PUSH1 0x02
0000135d: DUP3
0000135e: ADD
0000135f: PUSH1 0x01
00001361: SWAP1
00001362: SLOAD
00001363: SWAP1
00001364: PUSH2 0x0100
00001367: EXP
00001368: SWAP1
00001369: DIV
0000136a: PUSH1 0xff
0000136c: AND
0000136d: PUSH1 0x03
0000136f: DUP2
00001370: GT
00001371: ISZERO
00001372: PUSH2 0x137e
00001375: JUMPI
00001376: PUSH2 0x137d
00001379: PUSH2 0x39a3
0000137c: JUMP
0000137d: JUMPDEST
0000137e: JUMPDEST
0000137f: PUSH1 0x03
00001381: DUP2
00001382: GT
00001383: ISZERO
00001384: PUSH2 0x1390
00001387: JUMPI
00001388: PUSH2 0x138f
0000138b: PUSH2 0x39a3
0000138e: JUMP
0000138f: JUMPDEST
00001390: JUMPDEST
00001391: DUP2
00001392: MSTORE
00001393: PUSH1 0x20
00001395: ADD
00001396: PUSH1 0x02
00001398: DUP3
00001399: ADD
0000139a: PUSH1 0x02
0000139c: SWAP1
0000139d: SLOAD
0000139e: SWAP1
0000139f: PUSH2 0x0100
000013a2: EXP
000013a3: SWAP1
000013a4: DIV
000013a5: PUSH1 0xff
000013a7: AND
000013a8: PUSH1 0x01
000013aa: DUP2
000013ab: GT
000013ac: ISZERO
000013ad: PUSH2 0x13b9
000013b0: JUMPI
000013b1: PUSH2 0x13b8
000013b4: PUSH2 0x39a3
000013b7: JUMP
000013b8: JUMPDEST
000013b9: JUMPDEST
000013ba: PUSH1 0x01
000013bc: DUP2
000013bd: GT
000013be: ISZERO
000013bf: PUSH2 0x13cb
000013c2: JUMPI
000013c3: PUSH2 0x13ca
000013c6: PUSH2 0x39a3
000013c9: JUMP
000013ca: JUMPDEST
000013cb: JUMPDEST
000013cc: DUP2
000013cd: MSTORE
000013ce: POP
000013cf: POP
000013d0: SWAP1
000013d1: POP
000013d2: PUSH1 0x00
000013d4: PUSH2 0x13e1
000013d7: DUP12
000013d8: DUP4
000013d9: PUSH1 0x40
000013db: ADD
000013dc: MLOAD
000013dd: PUSH2 0x2d29
000013e0: JUMP
000013e1: JUMPDEST
000013e2: SWAP1
000013e3: POP
000013e4: PUSH1 0x00
000013e6: PUSH1 0x04
000013e8: PUSH1 0x00
000013ea: SWAP1
000013eb: SLOAD
000013ec: SWAP1
000013ed: PUSH2 0x0100
000013f0: EXP
000013f1: SWAP1
000013f2: DIV
000013f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001408: AND
00001409: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000141e: AND
0000141f: CALLER
00001420: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001435: AND
00001436: SUB
00001437: PUSH2 0x1529
0000143a: JUMPI
0000143b: PUSH1 0x03
0000143d: PUSH1 0x00
0000143f: SWAP1
00001440: SLOAD
00001441: SWAP1
00001442: PUSH2 0x0100
00001445: EXP
00001446: SWAP1
00001447: DIV
00001448: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000145d: AND
0000145e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001473: AND
00001474: PUSH4 0x5c9edb87
00001479: DUP6
0000147a: PUSH1 0x40
0000147c: MLOAD
0000147d: DUP3
0000147e: PUSH4 0xffffffff
00001483: AND
00001484: PUSH1 0xe0
00001486: SHL
00001487: DUP2
00001488: MSTORE
00001489: PUSH1 0x04
0000148b: ADD
0000148c: PUSH2 0x1495
0000148f: SWAP2
00001490: SWAP1
00001491: PUSH2 0x3411
00001494: JUMP
00001495: JUMPDEST
00001496: PUSH1 0x20
00001498: PUSH1 0x40
0000149a: MLOAD
0000149b: DUP1
0000149c: DUP4
0000149d: SUB
0000149e: DUP2
0000149f: DUP7
000014a0: GAS
000014a1: STATICCALL
000014a2: ISZERO
000014a3: DUP1
000014a4: ISZERO
000014a5: PUSH2 0x14b2
000014a8: JUMPI
000014a9: RETURNDATASIZE
000014aa: PUSH1 0x00
000014ac: DUP1
000014ad: RETURNDATACOPY
000014ae: RETURNDATASIZE
000014af: PUSH1 0x00
000014b1: REVERT
000014b2: JUMPDEST
000014b3: POP
000014b4: POP
000014b5: POP
000014b6: POP
000014b7: PUSH1 0x40
000014b9: MLOAD
000014ba: RETURNDATASIZE
000014bb: PUSH1 0x1f
000014bd: NOT
000014be: PUSH1 0x1f
000014c0: DUP3
000014c1: ADD
000014c2: AND
000014c3: DUP3
000014c4: ADD
000014c5: DUP1
000014c6: PUSH1 0x40
000014c8: MSTORE
000014c9: POP
000014ca: DUP2
000014cb: ADD
000014cc: SWAP1
000014cd: PUSH2 0x14d6
000014d0: SWAP2
000014d1: SWAP1
000014d2: PUSH2 0x3f31
000014d5: JUMP
000014d6: JUMPDEST
000014d7: SWAP1
000014d8: POP
000014d9: DUP1
000014da: DUP3
000014db: GT
000014dc: PUSH2 0x151a
000014df: JUMPI
000014e0: PUSH1 0x40
000014e2: MLOAD
000014e3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001504: DUP2
00001505: MSTORE
00001506: PUSH1 0x04
00001508: ADD
00001509: PUSH2 0x1511
0000150c: SWAP1
0000150d: PUSH2 0x3faa
00001510: JUMP
00001511: JUMPDEST
00001512: PUSH1 0x40
00001514: MLOAD
00001515: DUP1
00001516: SWAP2
00001517: SUB
00001518: SWAP1
00001519: REVERT
0000151a: JUMPDEST
0000151b: DUP1
0000151c: DUP3
0000151d: PUSH2 0x1526
00001520: SWAP2
00001521: SWAP1
00001522: PUSH2 0x3ff9
00001525: JUMP
00001526: JUMPDEST
00001527: SWAP2
00001528: POP
00001529: JUMPDEST
0000152a: PUSH1 0x00
0000152c: PUSH1 0x03
0000152e: DUP2
0000152f: GT
00001530: ISZERO
00001531: PUSH2 0x153d
00001534: JUMPI
00001535: PUSH2 0x153c
00001538: PUSH2 0x39a3
0000153b: JUMP
0000153c: JUMPDEST
0000153d: JUMPDEST
0000153e: DUP4
0000153f: PUSH1 0x60
00001541: ADD
00001542: MLOAD
00001543: PUSH1 0x03
00001545: DUP2
00001546: GT
00001547: ISZERO
00001548: PUSH2 0x1554
0000154b: JUMPI
0000154c: PUSH2 0x1553
0000154f: PUSH2 0x39a3
00001552: JUMP
00001553: JUMPDEST
00001554: JUMPDEST
00001555: SUB
00001556: PUSH2 0x1618
00001559: JUMPI
0000155a: DUP13
0000155b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001570: AND
00001571: PUSH2 0x08fc
00001574: DUP4
00001575: SWAP1
00001576: DUP2
00001577: ISZERO
00001578: MUL
00001579: SWAP1
0000157a: PUSH1 0x40
0000157c: MLOAD
0000157d: PUSH1 0x00
0000157f: PUSH1 0x40
00001581: MLOAD
00001582: DUP1
00001583: DUP4
00001584: SUB
00001585: DUP2
00001586: DUP6
00001587: DUP9
00001588: DUP9
00001589: CALL
0000158a: SWAP4
0000158b: POP
0000158c: POP
0000158d: POP
0000158e: POP
0000158f: ISZERO
00001590: DUP1
00001591: ISZERO
00001592: PUSH2 0x159f
00001595: JUMPI
00001596: RETURNDATASIZE
00001597: PUSH1 0x00
00001599: DUP1
0000159a: RETURNDATACOPY
0000159b: RETURNDATASIZE
0000159c: PUSH1 0x00
0000159e: REVERT
0000159f: JUMPDEST
000015a0: POP
000015a1: PUSH1 0x00
000015a3: DUP2
000015a4: GT
000015a5: ISZERO
000015a6: PUSH2 0x1613
000015a9: JUMPI
000015aa: PUSH1 0x02
000015ac: PUSH1 0x00
000015ae: SWAP1
000015af: SLOAD
000015b0: SWAP1
000015b1: PUSH2 0x0100
000015b4: EXP
000015b5: SWAP1
000015b6: DIV
000015b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015cc: AND
000015cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015e2: AND
000015e3: PUSH2 0x08fc
000015e6: DUP3
000015e7: SWAP1
000015e8: DUP2
000015e9: ISZERO
000015ea: MUL
000015eb: SWAP1
000015ec: PUSH1 0x40
000015ee: MLOAD
000015ef: PUSH1 0x00
000015f1: PUSH1 0x40
000015f3: MLOAD
000015f4: DUP1
000015f5: DUP4
000015f6: SUB
000015f7: DUP2
000015f8: DUP6
000015f9: DUP9
000015fa: DUP9
000015fb: CALL
000015fc: SWAP4
000015fd: POP
000015fe: POP
000015ff: POP
00001600: POP
00001601: ISZERO
00001602: DUP1
00001603: ISZERO
00001604: PUSH2 0x1611
00001607: JUMPI
00001608: RETURNDATASIZE
00001609: PUSH1 0x00
0000160b: DUP1
0000160c: RETURNDATACOPY
0000160d: RETURNDATASIZE
0000160e: PUSH1 0x00
00001610: REVERT
00001611: JUMPDEST
00001612: POP
00001613: JUMPDEST
00001614: PUSH2 0x1943
00001617: JUMP
00001618: JUMPDEST
00001619: PUSH1 0x01
0000161b: PUSH1 0x03
0000161d: DUP2
0000161e: GT
0000161f: ISZERO
00001620: PUSH2 0x162c
00001623: JUMPI
00001624: PUSH2 0x162b
00001627: PUSH2 0x39a3
0000162a: JUMP
0000162b: JUMPDEST
0000162c: JUMPDEST
0000162d: DUP4
0000162e: PUSH1 0x60
00001630: ADD
00001631: MLOAD
00001632: PUSH1 0x03
00001634: DUP2
00001635: GT
00001636: ISZERO
00001637: PUSH2 0x1643
0000163a: JUMPI
0000163b: PUSH2 0x1642
0000163e: PUSH2 0x39a3
00001641: JUMP
00001642: JUMPDEST
00001643: JUMPDEST
00001644: SUB
00001645: PUSH2 0x16cf
00001648: JUMPI
00001649: PUSH2 0x1673
0000164c: DUP14
0000164d: DUP4
0000164e: DUP7
0000164f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001664: AND
00001665: PUSH2 0x2da9
00001668: SWAP1
00001669: SWAP3
0000166a: SWAP2
0000166b: SWAP1
0000166c: PUSH4 0xffffffff
00001671: AND
00001672: JUMP
00001673: JUMPDEST
00001674: PUSH1 0x00
00001676: DUP2
00001677: GT
00001678: ISZERO
00001679: PUSH2 0x16ca
0000167c: JUMPI
0000167d: PUSH2 0x16c9
00001680: PUSH1 0x02
00001682: PUSH1 0x00
00001684: SWAP1
00001685: SLOAD
00001686: SWAP1
00001687: PUSH2 0x0100
0000168a: EXP
0000168b: SWAP1
0000168c: DIV
0000168d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016a2: AND
000016a3: DUP3
000016a4: DUP7
000016a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016ba: AND
000016bb: PUSH2 0x2da9
000016be: SWAP1
000016bf: SWAP3
000016c0: SWAP2
000016c1: SWAP1
000016c2: PUSH4 0xffffffff
000016c7: AND
000016c8: JUMP
000016c9: JUMPDEST
000016ca: JUMPDEST
000016cb: PUSH2 0x1942
000016ce: JUMP
000016cf: JUMPDEST
000016d0: PUSH1 0x03
000016d2: DUP1
000016d3: DUP2
000016d4: GT
000016d5: ISZERO
000016d6: PUSH2 0x16e2
000016d9: JUMPI
000016da: PUSH2 0x16e1
000016dd: PUSH2 0x39a3
000016e0: JUMP
000016e1: JUMPDEST
000016e2: JUMPDEST
000016e3: DUP4
000016e4: PUSH1 0x60
000016e6: ADD
000016e7: MLOAD
000016e8: PUSH1 0x03
000016ea: DUP2
000016eb: GT
000016ec: ISZERO
000016ed: PUSH2 0x16f9
000016f0: JUMPI
000016f1: PUSH2 0x16f8
000016f4: PUSH2 0x39a3
000016f7: JUMP
000016f8: JUMPDEST
000016f9: JUMPDEST
000016fa: SUB
000016fb: PUSH2 0x1809
000016fe: JUMPI
000016ff: DUP4
00001700: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001715: AND
00001716: PUSH4 0x40c10f19
0000171b: DUP15
0000171c: DUP5
0000171d: PUSH1 0x40
0000171f: MLOAD
00001720: DUP4
00001721: PUSH4 0xffffffff
00001726: AND
00001727: PUSH1 0xe0
00001729: SHL
0000172a: DUP2
0000172b: MSTORE
0000172c: PUSH1 0x04
0000172e: ADD
0000172f: PUSH2 0x1739
00001732: SWAP3
00001733: SWAP2
00001734: SWAP1
00001735: PUSH2 0x3df6
00001738: JUMP
00001739: JUMPDEST
0000173a: PUSH1 0x00
0000173c: PUSH1 0x40
0000173e: MLOAD
0000173f: DUP1
00001740: DUP4
00001741: SUB
00001742: DUP2
00001743: PUSH1 0x00
00001745: DUP8
00001746: DUP1
00001747: EXTCODESIZE
00001748: ISZERO
00001749: DUP1
0000174a: ISZERO
0000174b: PUSH2 0x1753
0000174e: JUMPI
0000174f: PUSH1 0x00
00001751: DUP1
00001752: REVERT
00001753: JUMPDEST
00001754: POP
00001755: GAS
00001756: CALL
00001757: ISZERO
00001758: DUP1
00001759: ISZERO
0000175a: PUSH2 0x1767
0000175d: JUMPI
0000175e: RETURNDATASIZE
0000175f: PUSH1 0x00
00001761: DUP1
00001762: RETURNDATACOPY
00001763: RETURNDATASIZE
00001764: PUSH1 0x00
00001766: REVERT
00001767: JUMPDEST
00001768: POP
00001769: POP
0000176a: POP
0000176b: POP
0000176c: PUSH1 0x00
0000176e: DUP2
0000176f: GT
00001770: ISZERO
00001771: PUSH2 0x1804
00001774: JUMPI
00001775: DUP4
00001776: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000178b: AND
0000178c: PUSH4 0x40c10f19
00001791: PUSH1 0x02
00001793: PUSH1 0x00
00001795: SWAP1
00001796: SLOAD
00001797: SWAP1
00001798: PUSH2 0x0100
0000179b: EXP
0000179c: SWAP1
0000179d: DIV
0000179e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017b3: AND
000017b4: DUP4
000017b5: PUSH1 0x40
000017b7: MLOAD
000017b8: DUP4
000017b9: PUSH4 0xffffffff
000017be: AND
000017bf: PUSH1 0xe0
000017c1: SHL
000017c2: DUP2
000017c3: MSTORE
000017c4: PUSH1 0x04
000017c6: ADD
000017c7: PUSH2 0x17d1
000017ca: SWAP3
000017cb: SWAP2
000017cc: SWAP1
000017cd: PUSH2 0x3df6
000017d0: JUMP
000017d1: JUMPDEST
000017d2: PUSH1 0x00
000017d4: PUSH1 0x40
000017d6: MLOAD
000017d7: DUP1
000017d8: DUP4
000017d9: SUB
000017da: DUP2
000017db: PUSH1 0x00
000017dd: DUP8
000017de: DUP1
000017df: EXTCODESIZE
000017e0: ISZERO
000017e1: DUP1
000017e2: ISZERO
000017e3: PUSH2 0x17eb
000017e6: JUMPI
000017e7: PUSH1 0x00
000017e9: DUP1
000017ea: REVERT
000017eb: JUMPDEST
000017ec: POP
000017ed: GAS
000017ee: CALL
000017ef: ISZERO
000017f0: DUP1
000017f1: ISZERO
000017f2: PUSH2 0x17ff
000017f5: JUMPI
000017f6: RETURNDATASIZE
000017f7: PUSH1 0x00
000017f9: DUP1
000017fa: RETURNDATACOPY
000017fb: RETURNDATASIZE
000017fc: PUSH1 0x00
000017fe: REVERT
000017ff: JUMPDEST
00001800: POP
00001801: POP
00001802: POP
00001803: POP
00001804: JUMPDEST
00001805: PUSH2 0x1941
00001808: JUMP
00001809: JUMPDEST
0000180a: PUSH1 0x02
0000180c: PUSH1 0x03
0000180e: DUP2
0000180f: GT
00001810: ISZERO
00001811: PUSH2 0x181d
00001814: JUMPI
00001815: PUSH2 0x181c
00001818: PUSH2 0x39a3
0000181b: JUMP
0000181c: JUMPDEST
0000181d: JUMPDEST
0000181e: DUP4
0000181f: PUSH1 0x60
00001821: ADD
00001822: MLOAD
00001823: PUSH1 0x03
00001825: DUP2
00001826: GT
00001827: ISZERO
00001828: PUSH2 0x1834
0000182b: JUMPI
0000182c: PUSH2 0x1833
0000182f: PUSH2 0x39a3
00001832: JUMP
00001833: JUMPDEST
00001834: JUMPDEST
00001835: SUB
00001836: PUSH2 0x1940
00001839: JUMPI
0000183a: DUP4
0000183b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001850: AND
00001851: PUSH4 0x40c10f19
00001856: DUP15
00001857: DUP5
00001858: PUSH1 0x40
0000185a: MLOAD
0000185b: DUP4
0000185c: PUSH4 0xffffffff
00001861: AND
00001862: PUSH1 0xe0
00001864: SHL
00001865: DUP2
00001866: MSTORE
00001867: PUSH1 0x04
00001869: ADD
0000186a: PUSH2 0x1874
0000186d: SWAP3
0000186e: SWAP2
0000186f: SWAP1
00001870: PUSH2 0x3df6
00001873: JUMP
00001874: JUMPDEST
00001875: PUSH1 0x00
00001877: PUSH1 0x40
00001879: MLOAD
0000187a: DUP1
0000187b: DUP4
0000187c: SUB
0000187d: DUP2
0000187e: PUSH1 0x00
00001880: DUP8
00001881: DUP1
00001882: EXTCODESIZE
00001883: ISZERO
00001884: DUP1
00001885: ISZERO
00001886: PUSH2 0x188e
00001889: JUMPI
0000188a: PUSH1 0x00
0000188c: DUP1
0000188d: REVERT
0000188e: JUMPDEST
0000188f: POP
00001890: GAS
00001891: CALL
00001892: ISZERO
00001893: DUP1
00001894: ISZERO
00001895: PUSH2 0x18a2
00001898: JUMPI
00001899: RETURNDATASIZE
0000189a: PUSH1 0x00
0000189c: DUP1
0000189d: RETURNDATACOPY
0000189e: RETURNDATASIZE
0000189f: PUSH1 0x00
000018a1: REVERT
000018a2: JUMPDEST
000018a3: POP
000018a4: POP
000018a5: POP
000018a6: POP
000018a7: PUSH1 0x00
000018a9: DUP2
000018aa: GT
000018ab: ISZERO
000018ac: PUSH2 0x193f
000018af: JUMPI
000018b0: DUP4
000018b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018c6: AND
000018c7: PUSH4 0x40c10f19
000018cc: PUSH1 0x02
000018ce: PUSH1 0x00
000018d0: SWAP1
000018d1: SLOAD
000018d2: SWAP1
000018d3: PUSH2 0x0100
000018d6: EXP
000018d7: SWAP1
000018d8: DIV
000018d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018ee: AND
000018ef: DUP4
000018f0: PUSH1 0x40
000018f2: MLOAD
000018f3: DUP4
000018f4: PUSH4 0xffffffff
000018f9: AND
000018fa: PUSH1 0xe0
000018fc: SHL
000018fd: DUP2
000018fe: MSTORE
000018ff: PUSH1 0x04
00001901: ADD
00001902: PUSH2 0x190c
00001905: SWAP3
00001906: SWAP2
00001907: SWAP1
00001908: PUSH2 0x3df6
0000190b: JUMP
0000190c: JUMPDEST
0000190d: PUSH1 0x00
0000190f: PUSH1 0x40
00001911: MLOAD
00001912: DUP1
00001913: DUP4
00001914: SUB
00001915: DUP2
00001916: PUSH1 0x00
00001918: DUP8
00001919: DUP1
0000191a: EXTCODESIZE
0000191b: ISZERO
0000191c: DUP1
0000191d: ISZERO
0000191e: PUSH2 0x1926
00001921: JUMPI
00001922: PUSH1 0x00
00001924: DUP1
00001925: REVERT
00001926: JUMPDEST
00001927: POP
00001928: GAS
00001929: CALL
0000192a: ISZERO
0000192b: DUP1
0000192c: ISZERO
0000192d: PUSH2 0x193a
00001930: JUMPI
00001931: RETURNDATASIZE
00001932: PUSH1 0x00
00001934: DUP1
00001935: RETURNDATACOPY
00001936: RETURNDATASIZE
00001937: PUSH1 0x00
00001939: REVERT
0000193a: JUMPDEST
0000193b: POP
0000193c: POP
0000193d: POP
0000193e: POP
0000193f: JUMPDEST
00001940: JUMPDEST
00001941: JUMPDEST
00001942: JUMPDEST
00001943: JUMPDEST
00001944: DUP14
00001945: PUSH16 0xffffffffffffffffffffffffffffffff
00001956: AND
00001957: DUP14
00001958: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000196d: AND
0000196e: PUSH32 0xeeff8dc309b75f785752dd67594b2d8a3a9fd4ff6ecd65fcfe670cee0d851ce4
0000198f: DUP7
00001990: DUP6
00001991: DUP16
00001992: PUSH1 0x40
00001994: MLOAD
00001995: PUSH2 0x19a0
00001998: SWAP4
00001999: SWAP3
0000199a: SWAP2
0000199b: SWAP1
0000199c: PUSH2 0x402d
0000199f: JUMP
000019a0: JUMPDEST
000019a1: PUSH1 0x40
000019a3: MLOAD
000019a4: DUP1
000019a5: SWAP2
000019a6: SUB
000019a7: SWAP1
000019a8: LOG3
000019a9: POP
000019aa: POP
000019ab: POP
000019ac: POP
000019ad: POP
000019ae: POP
000019af: POP
000019b0: POP
000019b1: POP
000019b2: POP
000019b3: POP
000019b4: POP
000019b5: POP
000019b6: POP
000019b7: JUMP
000019b8: JUMPDEST
000019b9: PUSH1 0x05
000019bb: PUSH1 0x20
000019bd: MSTORE
000019be: DUP1
000019bf: PUSH1 0x00
000019c1: MSTORE
000019c2: PUSH1 0x40
000019c4: PUSH1 0x00
000019c6: KECCAK256
000019c7: PUSH1 0x00
000019c9: SWAP2
000019ca: POP
000019cb: SWAP1
000019cc: POP
000019cd: DUP1
000019ce: PUSH1 0x00
000019d0: ADD
000019d1: PUSH1 0x00
000019d3: SWAP1
000019d4: SLOAD
000019d5: SWAP1
000019d6: PUSH2 0x0100
000019d9: EXP
000019da: SWAP1
000019db: DIV
000019dc: PUSH1 0xe0
000019de: SHL
000019df: SWAP1
000019e0: DUP1
000019e1: PUSH1 0x01
000019e3: ADD
000019e4: SLOAD
000019e5: SWAP1
000019e6: DUP1
000019e7: PUSH1 0x02
000019e9: ADD
000019ea: PUSH1 0x00
000019ec: SWAP1
000019ed: SLOAD
000019ee: SWAP1
000019ef: PUSH2 0x0100
000019f2: EXP
000019f3: SWAP1
000019f4: DIV
000019f5: PUSH1 0xff
000019f7: AND
000019f8: SWAP1
000019f9: DUP1
000019fa: PUSH1 0x02
000019fc: ADD
000019fd: PUSH1 0x01
000019ff: SWAP1
00001a00: SLOAD
00001a01: SWAP1
00001a02: PUSH2 0x0100
00001a05: EXP
00001a06: SWAP1
00001a07: DIV
00001a08: PUSH1 0xff
00001a0a: AND
00001a0b: SWAP1
00001a0c: DUP1
00001a0d: PUSH1 0x02
00001a0f: ADD
00001a10: PUSH1 0x02
00001a12: SWAP1
00001a13: SLOAD
00001a14: SWAP1
00001a15: PUSH2 0x0100
00001a18: EXP
00001a19: SWAP1
00001a1a: DIV
00001a1b: PUSH1 0xff
00001a1d: AND
00001a1e: SWAP1
00001a1f: POP
00001a20: DUP6
00001a21: JUMP
00001a22: JUMPDEST
00001a23: PUSH32 0x593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0
00001a44: PUSH2 0x1a54
00001a47: DUP2
00001a48: PUSH2 0x1a4f
00001a4b: PUSH2 0x264d
00001a4e: JUMP
00001a4f: JUMPDEST
00001a50: PUSH2 0x2655
00001a53: JUMP
00001a54: JUMPDEST
00001a55: PUSH1 0x00
00001a57: DUP1
00001a58: SHL
00001a59: PUSH1 0x05
00001a5b: PUSH1 0x00
00001a5d: DUP6
00001a5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a73: AND
00001a74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a89: AND
00001a8a: DUP2
00001a8b: MSTORE
00001a8c: PUSH1 0x20
00001a8e: ADD
00001a8f: SWAP1
00001a90: DUP2
00001a91: MSTORE
00001a92: PUSH1 0x20
00001a94: ADD
00001a95: PUSH1 0x00
00001a97: KECCAK256
00001a98: PUSH1 0x01
00001a9a: ADD
00001a9b: SLOAD
00001a9c: EQ
00001a9d: DUP1
00001a9e: ISZERO
00001a9f: PUSH2 0x1b56
00001aa2: JUMPI
00001aa3: POP
00001aa4: PUSH1 0x00
00001aa6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001abb: AND
00001abc: PUSH1 0x06
00001abe: PUSH1 0x00
00001ac0: DUP8
00001ac1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001ade: NOT
00001adf: AND
00001ae0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001afd: NOT
00001afe: AND
00001aff: DUP2
00001b00: MSTORE
00001b01: PUSH1 0x20
00001b03: ADD
00001b04: SWAP1
00001b05: DUP2
00001b06: MSTORE
00001b07: PUSH1 0x20
00001b09: ADD
00001b0a: PUSH1 0x00
00001b0c: KECCAK256
00001b0d: PUSH1 0x00
00001b0f: DUP7
00001b10: DUP2
00001b11: MSTORE
00001b12: PUSH1 0x20
00001b14: ADD
00001b15: SWAP1
00001b16: DUP2
00001b17: MSTORE
00001b18: PUSH1 0x20
00001b1a: ADD
00001b1b: PUSH1 0x00
00001b1d: KECCAK256
00001b1e: PUSH1 0x00
00001b20: SWAP1
00001b21: SLOAD
00001b22: SWAP1
00001b23: PUSH2 0x0100
00001b26: EXP
00001b27: SWAP1
00001b28: DIV
00001b29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b3e: AND
00001b3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b54: AND
00001b55: EQ
00001b56: JUMPDEST
00001b57: PUSH2 0x1b95
00001b5a: JUMPI
00001b5b: PUSH1 0x40
00001b5d: MLOAD
00001b5e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001b7f: DUP2
00001b80: MSTORE
00001b81: PUSH1 0x04
00001b83: ADD
00001b84: PUSH2 0x1b8c
00001b87: SWAP1
00001b88: PUSH2 0x40b0
00001b8b: JUMP
00001b8c: JUMPDEST
00001b8d: PUSH1 0x40
00001b8f: MLOAD
00001b90: DUP1
00001b91: SWAP2
00001b92: SUB
00001b93: SWAP1
00001b94: REVERT
00001b95: JUMPDEST
00001b96: PUSH1 0x00
00001b98: DUP4
00001b99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bae: AND
00001baf: PUSH4 0x313ce567
00001bb4: PUSH1 0x40
00001bb6: MLOAD
00001bb7: DUP2
00001bb8: PUSH4 0xffffffff
00001bbd: AND
00001bbe: PUSH1 0xe0
00001bc0: SHL
00001bc1: DUP2
00001bc2: MSTORE
00001bc3: PUSH1 0x04
00001bc5: ADD
00001bc6: PUSH1 0x20
00001bc8: PUSH1 0x40
00001bca: MLOAD
00001bcb: DUP1
00001bcc: DUP4
00001bcd: SUB
00001bce: DUP2
00001bcf: DUP7
00001bd0: GAS
00001bd1: STATICCALL
00001bd2: ISZERO
00001bd3: DUP1
00001bd4: ISZERO
00001bd5: PUSH2 0x1be2
00001bd8: JUMPI
00001bd9: RETURNDATASIZE
00001bda: PUSH1 0x00
00001bdc: DUP1
00001bdd: RETURNDATACOPY
00001bde: RETURNDATASIZE
00001bdf: PUSH1 0x00
00001be1: REVERT
00001be2: JUMPDEST
00001be3: POP
00001be4: POP
00001be5: POP
00001be6: POP
00001be7: PUSH1 0x40
00001be9: MLOAD
00001bea: RETURNDATASIZE
00001beb: PUSH1 0x1f
00001bed: NOT
00001bee: PUSH1 0x1f
00001bf0: DUP3
00001bf1: ADD
00001bf2: AND
00001bf3: DUP3
00001bf4: ADD
00001bf5: DUP1
00001bf6: PUSH1 0x40
00001bf8: MSTORE
00001bf9: POP
00001bfa: DUP2
00001bfb: ADD
00001bfc: SWAP1
00001bfd: PUSH2 0x1c06
00001c00: SWAP2
00001c01: SWAP1
00001c02: PUSH2 0x40fc
00001c05: JUMP
00001c06: JUMPDEST
00001c07: SWAP1
00001c08: POP
00001c09: DUP4
00001c0a: PUSH1 0x06
00001c0c: PUSH1 0x00
00001c0e: DUP9
00001c0f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001c2c: NOT
00001c2d: AND
00001c2e: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001c4b: NOT
00001c4c: AND
00001c4d: DUP2
00001c4e: MSTORE
00001c4f: PUSH1 0x20
00001c51: ADD
00001c52: SWAP1
00001c53: DUP2
00001c54: MSTORE
00001c55: PUSH1 0x20
00001c57: ADD
00001c58: PUSH1 0x00
00001c5a: KECCAK256
00001c5b: PUSH1 0x00
00001c5d: DUP8
00001c5e: DUP2
00001c5f: MSTORE
00001c60: PUSH1 0x20
00001c62: ADD
00001c63: SWAP1
00001c64: DUP2
00001c65: MSTORE
00001c66: PUSH1 0x20
00001c68: ADD
00001c69: PUSH1 0x00
00001c6b: KECCAK256
00001c6c: PUSH1 0x00
00001c6e: PUSH2 0x0100
00001c71: EXP
00001c72: DUP2
00001c73: SLOAD
00001c74: DUP2
00001c75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c8a: MUL
00001c8b: NOT
00001c8c: AND
00001c8d: SWAP1
00001c8e: DUP4
00001c8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ca4: AND
00001ca5: MUL
00001ca6: OR
00001ca7: SWAP1
00001ca8: SSTORE
00001ca9: POP
00001caa: PUSH1 0x40
00001cac: MLOAD
00001cad: DUP1
00001cae: PUSH1 0xa0
00001cb0: ADD
00001cb1: PUSH1 0x40
00001cb3: MSTORE
00001cb4: DUP1
00001cb5: DUP8
00001cb6: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001cd3: NOT
00001cd4: AND
00001cd5: DUP2
00001cd6: MSTORE
00001cd7: PUSH1 0x20
00001cd9: ADD
00001cda: DUP7
00001cdb: DUP2
00001cdc: MSTORE
00001cdd: PUSH1 0x20
00001cdf: ADD
00001ce0: DUP3
00001ce1: PUSH1 0xff
00001ce3: AND
00001ce4: DUP2
00001ce5: MSTORE
00001ce6: PUSH1 0x20
00001ce8: ADD
00001ce9: DUP5
00001cea: PUSH1 0x03
00001cec: DUP2
00001ced: GT
00001cee: ISZERO
00001cef: PUSH2 0x1cfb
00001cf2: JUMPI
00001cf3: PUSH2 0x1cfa
00001cf6: PUSH2 0x39a3
00001cf9: JUMP
00001cfa: JUMPDEST
00001cfb: JUMPDEST
00001cfc: DUP2
00001cfd: MSTORE
00001cfe: PUSH1 0x20
00001d00: ADD
00001d01: PUSH1 0x01
00001d03: DUP1
00001d04: DUP2
00001d05: GT
00001d06: ISZERO
00001d07: PUSH2 0x1d13
00001d0a: JUMPI
00001d0b: PUSH2 0x1d12
00001d0e: PUSH2 0x39a3
00001d11: JUMP
00001d12: JUMPDEST
00001d13: JUMPDEST
00001d14: DUP2
00001d15: MSTORE
00001d16: POP
00001d17: PUSH1 0x05
00001d19: PUSH1 0x00
00001d1b: DUP7
00001d1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d31: AND
00001d32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d47: AND
00001d48: DUP2
00001d49: MSTORE
00001d4a: PUSH1 0x20
00001d4c: ADD
00001d4d: SWAP1
00001d4e: DUP2
00001d4f: MSTORE
00001d50: PUSH1 0x20
00001d52: ADD
00001d53: PUSH1 0x00
00001d55: KECCAK256
00001d56: PUSH1 0x00
00001d58: DUP3
00001d59: ADD
00001d5a: MLOAD
00001d5b: DUP2
00001d5c: PUSH1 0x00
00001d5e: ADD
00001d5f: PUSH1 0x00
00001d61: PUSH2 0x0100
00001d64: EXP
00001d65: DUP2
00001d66: SLOAD
00001d67: DUP2
00001d68: PUSH4 0xffffffff
00001d6d: MUL
00001d6e: NOT
00001d6f: AND
00001d70: SWAP1
00001d71: DUP4
00001d72: PUSH1 0xe0
00001d74: SHR
00001d75: MUL
00001d76: OR
00001d77: SWAP1
00001d78: SSTORE
00001d79: POP
00001d7a: PUSH1 0x20
00001d7c: DUP3
00001d7d: ADD
00001d7e: MLOAD
00001d7f: DUP2
00001d80: PUSH1 0x01
00001d82: ADD
00001d83: SSTORE
00001d84: PUSH1 0x40
00001d86: DUP3
00001d87: ADD
00001d88: MLOAD
00001d89: DUP2
00001d8a: PUSH1 0x02
00001d8c: ADD
00001d8d: PUSH1 0x00
00001d8f: PUSH2 0x0100
00001d92: EXP
00001d93: DUP2
00001d94: SLOAD
00001d95: DUP2
00001d96: PUSH1 0xff
00001d98: MUL
00001d99: NOT
00001d9a: AND
00001d9b: SWAP1
00001d9c: DUP4
00001d9d: PUSH1 0xff
00001d9f: AND
00001da0: MUL
00001da1: OR
00001da2: SWAP1
00001da3: SSTORE
00001da4: POP
00001da5: PUSH1 0x60
00001da7: DUP3
00001da8: ADD
00001da9: MLOAD
00001daa: DUP2
00001dab: PUSH1 0x02
00001dad: ADD
00001dae: PUSH1 0x01
00001db0: PUSH2 0x0100
00001db3: EXP
00001db4: DUP2
00001db5: SLOAD
00001db6: DUP2
00001db7: PUSH1 0xff
00001db9: MUL
00001dba: NOT
00001dbb: AND
00001dbc: SWAP1
00001dbd: DUP4
00001dbe: PUSH1 0x03
00001dc0: DUP2
00001dc1: GT
00001dc2: ISZERO
00001dc3: PUSH2 0x1dcf
00001dc6: JUMPI
00001dc7: PUSH2 0x1dce
00001dca: PUSH2 0x39a3
00001dcd: JUMP
00001dce: JUMPDEST
00001dcf: JUMPDEST
00001dd0: MUL
00001dd1: OR
00001dd2: SWAP1
00001dd3: SSTORE
00001dd4: POP
00001dd5: PUSH1 0x80
00001dd7: DUP3
00001dd8: ADD
00001dd9: MLOAD
00001dda: DUP2
00001ddb: PUSH1 0x02
00001ddd: ADD
00001dde: PUSH1 0x02
00001de0: PUSH2 0x0100
00001de3: EXP
00001de4: DUP2
00001de5: SLOAD
00001de6: DUP2
00001de7: PUSH1 0xff
00001de9: MUL
00001dea: NOT
00001deb: AND
00001dec: SWAP1
00001ded: DUP4
00001dee: PUSH1 0x01
00001df0: DUP2
00001df1: GT
00001df2: ISZERO
00001df3: PUSH2 0x1dff
00001df6: JUMPI
00001df7: PUSH2 0x1dfe
00001dfa: PUSH2 0x39a3
00001dfd: JUMP
00001dfe: JUMPDEST
00001dff: JUMPDEST
00001e00: MUL
00001e01: OR
00001e02: SWAP1
00001e03: SSTORE
00001e04: POP
00001e05: SWAP1
00001e06: POP
00001e07: POP
00001e08: POP
00001e09: POP
00001e0a: POP
00001e0b: POP
00001e0c: POP
00001e0d: POP
00001e0e: JUMP
00001e0f: JUMPDEST
00001e10: PUSH1 0x02
00001e12: PUSH1 0x00
00001e14: SWAP1
00001e15: SLOAD
00001e16: SWAP1
00001e17: PUSH2 0x0100
00001e1a: EXP
00001e1b: SWAP1
00001e1c: DIV
00001e1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e32: AND
00001e33: DUP2
00001e34: JUMP
00001e35: JUMPDEST
00001e36: PUSH32 0x77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d
00001e57: PUSH2 0x1e67
00001e5a: DUP2
00001e5b: PUSH2 0x1e62
00001e5e: PUSH2 0x264d
00001e61: JUMP
00001e62: JUMPDEST
00001e63: PUSH2 0x2655
00001e66: JUMP
00001e67: JUMPDEST
00001e68: DUP2
00001e69: PUSH1 0x04
00001e6b: PUSH1 0x00
00001e6d: PUSH2 0x0100
00001e70: EXP
00001e71: DUP2
00001e72: SLOAD
00001e73: DUP2
00001e74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e89: MUL
00001e8a: NOT
00001e8b: AND
00001e8c: SWAP1
00001e8d: DUP4
00001e8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ea3: AND
00001ea4: MUL
00001ea5: OR
00001ea6: SWAP1
00001ea7: SSTORE
00001ea8: POP
00001ea9: POP
00001eaa: POP
00001eab: JUMP
00001eac: JUMPDEST
00001ead: PUSH2 0x1eb5
00001eb0: DUP3
00001eb1: PUSH2 0x090b
00001eb4: JUMP
00001eb5: JUMPDEST
00001eb6: PUSH2 0x1ec6
00001eb9: DUP2
00001eba: PUSH2 0x1ec1
00001ebd: PUSH2 0x264d
00001ec0: JUMP
00001ec1: JUMPDEST
00001ec2: PUSH2 0x2655
00001ec5: JUMP
00001ec6: JUMPDEST
00001ec7: PUSH2 0x1ed0
00001eca: DUP4
00001ecb: DUP4
00001ecc: PUSH2 0x27d2
00001ecf: JUMP
00001ed0: JUMPDEST
00001ed1: POP
00001ed2: POP
00001ed3: POP
00001ed4: JUMP
00001ed5: JUMPDEST
00001ed6: PUSH32 0x593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0
00001ef7: DUP2
00001ef8: JUMP
00001ef9: JUMPDEST
00001efa: PUSH32 0x55ca0725c70a9ecebe86dd2b8b3a414983f6cb638e1a0fa17c64bbdd59b4d4c1
00001f1b: DUP2
00001f1c: JUMP
00001f1d: JUMPDEST
00001f1e: PUSH32 0x593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0
00001f3f: PUSH2 0x1f4f
00001f42: DUP2
00001f43: PUSH2 0x1f4a
00001f46: PUSH2 0x264d
00001f49: JUMP
00001f4a: JUMPDEST
00001f4b: PUSH2 0x2655
00001f4e: JUMP
00001f4f: JUMPDEST
00001f50: PUSH1 0x00
00001f52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f67: AND
00001f68: DUP3
00001f69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f7e: AND
00001f7f: SUB
00001f80: PUSH2 0x1fbe
00001f83: JUMPI
00001f84: PUSH1 0x40
00001f86: MLOAD
00001f87: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001fa8: DUP2
00001fa9: MSTORE
00001faa: PUSH1 0x04
00001fac: ADD
00001fad: PUSH2 0x1fb5
00001fb0: SWAP1
00001fb1: PUSH2 0x4175
00001fb4: JUMP
00001fb5: JUMPDEST
00001fb6: PUSH1 0x40
00001fb8: MLOAD
00001fb9: DUP1
00001fba: SWAP2
00001fbb: SUB
00001fbc: SWAP1
00001fbd: REVERT
00001fbe: JUMPDEST
00001fbf: PUSH1 0x00
00001fc1: PUSH1 0x06
00001fc3: PUSH1 0x00
00001fc5: DUP7
00001fc6: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001fe3: NOT
00001fe4: AND
00001fe5: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002002: NOT
00002003: AND
00002004: DUP2
00002005: MSTORE
00002006: PUSH1 0x20
00002008: ADD
00002009: SWAP1
0000200a: DUP2
0000200b: MSTORE
0000200c: PUSH1 0x20
0000200e: ADD
0000200f: PUSH1 0x00
00002011: KECCAK256
00002012: PUSH1 0x00
00002014: DUP6
00002015: DUP2
00002016: MSTORE
00002017: PUSH1 0x20
00002019: ADD
0000201a: SWAP1
0000201b: DUP2
0000201c: MSTORE
0000201d: PUSH1 0x20
0000201f: ADD
00002020: PUSH1 0x00
00002022: KECCAK256
00002023: PUSH1 0x00
00002025: SWAP1
00002026: SLOAD
00002027: SWAP1
00002028: PUSH2 0x0100
0000202b: EXP
0000202c: SWAP1
0000202d: DIV
0000202e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002043: AND
00002044: SWAP1
00002045: POP
00002046: PUSH1 0x00
00002048: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000205d: AND
0000205e: DUP2
0000205f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002074: AND
00002075: SUB
00002076: PUSH2 0x20b4
00002079: JUMPI
0000207a: PUSH1 0x40
0000207c: MLOAD
0000207d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000209e: DUP2
0000209f: MSTORE
000020a0: PUSH1 0x04
000020a2: ADD
000020a3: PUSH2 0x20ab
000020a6: SWAP1
000020a7: PUSH2 0x41e1
000020aa: JUMP
000020ab: JUMPDEST
000020ac: PUSH1 0x40
000020ae: MLOAD
000020af: DUP1
000020b0: SWAP2
000020b1: SUB
000020b2: SWAP1
000020b3: REVERT
000020b4: JUMPDEST
000020b5: PUSH1 0x00
000020b7: PUSH1 0x05
000020b9: PUSH1 0x00
000020bb: DUP4
000020bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020d1: AND
000020d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e7: AND
000020e8: DUP2
000020e9: MSTORE
000020ea: PUSH1 0x20
000020ec: ADD
000020ed: SWAP1
000020ee: DUP2
000020ef: MSTORE
000020f0: PUSH1 0x20
000020f2: ADD
000020f3: PUSH1 0x00
000020f5: KECCAK256
000020f6: PUSH1 0x40
000020f8: MLOAD
000020f9: DUP1
000020fa: PUSH1 0xa0
000020fc: ADD
000020fd: PUSH1 0x40
000020ff: MSTORE
00002100: SWAP1
00002101: DUP2
00002102: PUSH1 0x00
00002104: DUP3
00002105: ADD
00002106: PUSH1 0x00
00002108: SWAP1
00002109: SLOAD
0000210a: SWAP1
0000210b: PUSH2 0x0100
0000210e: EXP
0000210f: SWAP1
00002110: DIV
00002111: PUSH1 0xe0
00002113: SHL
00002114: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002131: NOT
00002132: AND
00002133: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002150: NOT
00002151: AND
00002152: DUP2
00002153: MSTORE
00002154: PUSH1 0x20
00002156: ADD
00002157: PUSH1 0x01
00002159: DUP3
0000215a: ADD
0000215b: SLOAD
0000215c: DUP2
0000215d: MSTORE
0000215e: PUSH1 0x20
00002160: ADD
00002161: PUSH1 0x02
00002163: DUP3
00002164: ADD
00002165: PUSH1 0x00
00002167: SWAP1
00002168: SLOAD
00002169: SWAP1
0000216a: PUSH2 0x0100
0000216d: EXP
0000216e: SWAP1
0000216f: DIV
00002170: PUSH1 0xff
00002172: AND
00002173: PUSH1 0xff
00002175: AND
00002176: PUSH1 0xff
00002178: AND
00002179: DUP2
0000217a: MSTORE
0000217b: PUSH1 0x20
0000217d: ADD
0000217e: PUSH1 0x02
00002180: DUP3
00002181: ADD
00002182: PUSH1 0x01
00002184: SWAP1
00002185: SLOAD
00002186: SWAP1
00002187: PUSH2 0x0100
0000218a: EXP
0000218b: SWAP1
0000218c: DIV
0000218d: PUSH1 0xff
0000218f: AND
00002190: PUSH1 0x03
00002192: DUP2
00002193: GT
00002194: ISZERO
00002195: PUSH2 0x21a1
00002198: JUMPI
00002199: PUSH2 0x21a0
0000219c: PUSH2 0x39a3
0000219f: JUMP
000021a0: JUMPDEST
000021a1: JUMPDEST
000021a2: PUSH1 0x03
000021a4: DUP2
000021a5: GT
000021a6: ISZERO
000021a7: PUSH2 0x21b3
000021aa: JUMPI
000021ab: PUSH2 0x21b2
000021ae: PUSH2 0x39a3
000021b1: JUMP
000021b2: JUMPDEST
000021b3: JUMPDEST
000021b4: DUP2
000021b5: MSTORE
000021b6: PUSH1 0x20
000021b8: ADD
000021b9: PUSH1 0x02
000021bb: DUP3
000021bc: ADD
000021bd: PUSH1 0x02
000021bf: SWAP1
000021c0: SLOAD
000021c1: SWAP1
000021c2: PUSH2 0x0100
000021c5: EXP
000021c6: SWAP1
000021c7: DIV
000021c8: PUSH1 0xff
000021ca: AND
000021cb: PUSH1 0x01
000021cd: DUP2
000021ce: GT
000021cf: ISZERO
000021d0: PUSH2 0x21dc
000021d3: JUMPI
000021d4: PUSH2 0x21db
000021d7: PUSH2 0x39a3
000021da: JUMP
000021db: JUMPDEST
000021dc: JUMPDEST
000021dd: PUSH1 0x01
000021df: DUP2
000021e0: GT
000021e1: ISZERO
000021e2: PUSH2 0x21ee
000021e5: JUMPI
000021e6: PUSH2 0x21ed
000021e9: PUSH2 0x39a3
000021ec: JUMP
000021ed: JUMPDEST
000021ee: JUMPDEST
000021ef: DUP2
000021f0: MSTORE
000021f1: POP
000021f2: POP
000021f3: SWAP1
000021f4: POP
000021f5: PUSH1 0x00
000021f7: PUSH1 0x03
000021f9: DUP2
000021fa: GT
000021fb: ISZERO
000021fc: PUSH2 0x2208
000021ff: JUMPI
00002200: PUSH2 0x2207
00002203: PUSH2 0x39a3
00002206: JUMP
00002207: JUMPDEST
00002208: JUMPDEST
00002209: DUP2
0000220a: PUSH1 0x60
0000220c: ADD
0000220d: MLOAD
0000220e: PUSH1 0x03
00002210: DUP2
00002211: GT
00002212: ISZERO
00002213: PUSH2 0x221f
00002216: JUMPI
00002217: PUSH2 0x221e
0000221a: PUSH2 0x39a3
0000221d: JUMP
0000221e: JUMPDEST
0000221f: JUMPDEST
00002220: EQ
00002221: DUP1
00002222: ISZERO
00002223: PUSH2 0x222c
00002226: JUMPI
00002227: POP
00002228: PUSH1 0x00
0000222a: SELFBALANCE
0000222b: GT
0000222c: JUMPDEST
0000222d: ISZERO
0000222e: PUSH2 0x2279
00002231: JUMPI
00002232: DUP4
00002233: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002248: AND
00002249: PUSH2 0x08fc
0000224c: SELFBALANCE
0000224d: SWAP1
0000224e: DUP2
0000224f: ISZERO
00002250: MUL
00002251: SWAP1
00002252: PUSH1 0x40
00002254: MLOAD
00002255: PUSH1 0x00
00002257: PUSH1 0x40
00002259: MLOAD
0000225a: DUP1
0000225b: DUP4
0000225c: SUB
0000225d: DUP2
0000225e: DUP6
0000225f: DUP9
00002260: DUP9
00002261: CALL
00002262: SWAP4
00002263: POP
00002264: POP
00002265: POP
00002266: POP
00002267: ISZERO
00002268: DUP1
00002269: ISZERO
0000226a: PUSH2 0x2277
0000226d: JUMPI
0000226e: RETURNDATASIZE
0000226f: PUSH1 0x00
00002271: DUP1
00002272: RETURNDATACOPY
00002273: RETURNDATASIZE
00002274: PUSH1 0x00
00002276: REVERT
00002277: JUMPDEST
00002278: POP
00002279: JUMPDEST
0000227a: PUSH1 0x00
0000227c: DUP3
0000227d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002292: AND
00002293: PUSH4 0x70a08231
00002298: ADDRESS
00002299: PUSH1 0x40
0000229b: MLOAD
0000229c: DUP3
0000229d: PUSH4 0xffffffff
000022a2: AND
000022a3: PUSH1 0xe0
000022a5: SHL
000022a6: DUP2
000022a7: MSTORE
000022a8: PUSH1 0x04
000022aa: ADD
000022ab: PUSH2 0x22b4
000022ae: SWAP2
000022af: SWAP1
000022b0: PUSH2 0x3411
000022b3: JUMP
000022b4: JUMPDEST
000022b5: PUSH1 0x20
000022b7: PUSH1 0x40
000022b9: MLOAD
000022ba: DUP1
000022bb: DUP4
000022bc: SUB
000022bd: DUP2
000022be: DUP7
000022bf: GAS
000022c0: STATICCALL
000022c1: ISZERO
000022c2: DUP1
000022c3: ISZERO
000022c4: PUSH2 0x22d1
000022c7: JUMPI
000022c8: RETURNDATASIZE
000022c9: PUSH1 0x00
000022cb: DUP1
000022cc: RETURNDATACOPY
000022cd: RETURNDATASIZE
000022ce: PUSH1 0x00
000022d0: REVERT
000022d1: JUMPDEST
000022d2: POP
000022d3: POP
000022d4: POP
000022d5: POP
000022d6: PUSH1 0x40
000022d8: MLOAD
000022d9: RETURNDATASIZE
000022da: PUSH1 0x1f
000022dc: NOT
000022dd: PUSH1 0x1f
000022df: DUP3
000022e0: ADD
000022e1: AND
000022e2: DUP3
000022e3: ADD
000022e4: DUP1
000022e5: PUSH1 0x40
000022e7: MSTORE
000022e8: POP
000022e9: DUP2
000022ea: ADD
000022eb: SWAP1
000022ec: PUSH2 0x22f5
000022ef: SWAP2
000022f0: SWAP1
000022f1: PUSH2 0x3f31
000022f4: JUMP
000022f5: JUMPDEST
000022f6: SWAP1
000022f7: POP
000022f8: PUSH1 0x00
000022fa: DUP2
000022fb: GT
000022fc: ISZERO
000022fd: PUSH2 0x232c
00002300: JUMPI
00002301: PUSH2 0x232b
00002304: DUP6
00002305: DUP3
00002306: DUP6
00002307: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000231c: AND
0000231d: PUSH2 0x2da9
00002320: SWAP1
00002321: SWAP3
00002322: SWAP2
00002323: SWAP1
00002324: PUSH4 0xffffffff
00002329: AND
0000232a: JUMP
0000232b: JUMPDEST
0000232c: JUMPDEST
0000232d: PUSH1 0x03
0000232f: DUP1
00002330: DUP2
00002331: GT
00002332: ISZERO
00002333: PUSH2 0x233f
00002336: JUMPI
00002337: PUSH2 0x233e
0000233a: PUSH2 0x39a3
0000233d: JUMP
0000233e: JUMPDEST
0000233f: JUMPDEST
00002340: DUP3
00002341: PUSH1 0x60
00002343: ADD
00002344: MLOAD
00002345: PUSH1 0x03
00002347: DUP2
00002348: GT
00002349: ISZERO
0000234a: PUSH2 0x2356
0000234d: JUMPI
0000234e: PUSH2 0x2355
00002351: PUSH2 0x39a3
00002354: JUMP
00002355: JUMPDEST
00002356: JUMPDEST
00002357: SUB
00002358: PUSH2 0x23cb
0000235b: JUMPI
0000235c: DUP3
0000235d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002372: AND
00002373: PUSH4 0xf2fde38b
00002378: DUP7
00002379: PUSH1 0x40
0000237b: MLOAD
0000237c: DUP3
0000237d: PUSH4 0xffffffff
00002382: AND
00002383: PUSH1 0xe0
00002385: SHL
00002386: DUP2
00002387: MSTORE
00002388: PUSH1 0x04
0000238a: ADD
0000238b: PUSH2 0x2394
0000238e: SWAP2
0000238f: SWAP1
00002390: PUSH2 0x3411
00002393: JUMP
00002394: JUMPDEST
00002395: PUSH1 0x00
00002397: PUSH1 0x40
00002399: MLOAD
0000239a: DUP1
0000239b: DUP4
0000239c: SUB
0000239d: DUP2
0000239e: PUSH1 0x00
000023a0: DUP8
000023a1: DUP1
000023a2: EXTCODESIZE
000023a3: ISZERO
000023a4: DUP1
000023a5: ISZERO
000023a6: PUSH2 0x23ae
000023a9: JUMPI
000023aa: PUSH1 0x00
000023ac: DUP1
000023ad: REVERT
000023ae: JUMPDEST
000023af: POP
000023b0: GAS
000023b1: CALL
000023b2: ISZERO
000023b3: DUP1
000023b4: ISZERO
000023b5: PUSH2 0x23c2
000023b8: JUMPI
000023b9: RETURNDATASIZE
000023ba: PUSH1 0x00
000023bc: DUP1
000023bd: RETURNDATACOPY
000023be: RETURNDATASIZE
000023bf: PUSH1 0x00
000023c1: REVERT
000023c2: JUMPDEST
000023c3: POP
000023c4: POP
000023c5: POP
000023c6: POP
000023c7: PUSH2 0x2468
000023ca: JUMP
000023cb: JUMPDEST
000023cc: PUSH1 0x02
000023ce: PUSH1 0x03
000023d0: DUP2
000023d1: GT
000023d2: ISZERO
000023d3: PUSH2 0x23df
000023d6: JUMPI
000023d7: PUSH2 0x23de
000023da: PUSH2 0x39a3
000023dd: JUMP
000023de: JUMPDEST
000023df: JUMPDEST
000023e0: DUP3
000023e1: PUSH1 0x60
000023e3: ADD
000023e4: MLOAD
000023e5: PUSH1 0x03
000023e7: DUP2
000023e8: GT
000023e9: ISZERO
000023ea: PUSH2 0x23f6
000023ed: JUMPI
000023ee: PUSH2 0x23f5
000023f1: PUSH2 0x39a3
000023f4: JUMP
000023f5: JUMPDEST
000023f6: JUMPDEST
000023f7: SUB
000023f8: PUSH2 0x2467
000023fb: JUMPI
000023fc: DUP3
000023fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002412: AND
00002413: PUSH4 0x116877cc
00002418: DUP7
00002419: PUSH1 0x40
0000241b: MLOAD
0000241c: DUP3
0000241d: PUSH4 0xffffffff
00002422: AND
00002423: PUSH1 0xe0
00002425: SHL
00002426: DUP2
00002427: MSTORE
00002428: PUSH1 0x04
0000242a: ADD
0000242b: PUSH2 0x2434
0000242e: SWAP2
0000242f: SWAP1
00002430: PUSH2 0x3411
00002433: JUMP
00002434: JUMPDEST
00002435: PUSH1 0x00
00002437: PUSH1 0x40
00002439: MLOAD
0000243a: DUP1
0000243b: DUP4
0000243c: SUB
0000243d: DUP2
0000243e: PUSH1 0x00
00002440: DUP8
00002441: DUP1
00002442: EXTCODESIZE
00002443: ISZERO
00002444: DUP1
00002445: ISZERO
00002446: PUSH2 0x244e
00002449: JUMPI
0000244a: PUSH1 0x00
0000244c: DUP1
0000244d: REVERT
0000244e: JUMPDEST
0000244f: POP
00002450: GAS
00002451: CALL
00002452: ISZERO
00002453: DUP1
00002454: ISZERO
00002455: PUSH2 0x2462
00002458: JUMPI
00002459: RETURNDATASIZE
0000245a: PUSH1 0x00
0000245c: DUP1
0000245d: RETURNDATACOPY
0000245e: RETURNDATASIZE
0000245f: PUSH1 0x00
00002461: REVERT
00002462: JUMPDEST
00002463: POP
00002464: POP
00002465: POP
00002466: POP
00002467: JUMPDEST
00002468: JUMPDEST
00002469: PUSH1 0x05
0000246b: PUSH1 0x00
0000246d: DUP5
0000246e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002483: AND
00002484: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002499: AND
0000249a: DUP2
0000249b: MSTORE
0000249c: PUSH1 0x20
0000249e: ADD
0000249f: SWAP1
000024a0: DUP2
000024a1: MSTORE
000024a2: PUSH1 0x20
000024a4: ADD
000024a5: PUSH1 0x00
000024a7: KECCAK256
000024a8: PUSH1 0x00
000024aa: DUP1
000024ab: DUP3
000024ac: ADD
000024ad: PUSH1 0x00
000024af: PUSH2 0x0100
000024b2: EXP
000024b3: DUP2
000024b4: SLOAD
000024b5: SWAP1
000024b6: PUSH4 0xffffffff
000024bb: MUL
000024bc: NOT
000024bd: AND
000024be: SWAP1
000024bf: SSTORE
000024c0: PUSH1 0x01
000024c2: DUP3
000024c3: ADD
000024c4: PUSH1 0x00
000024c6: SWAP1
000024c7: SSTORE
000024c8: PUSH1 0x02
000024ca: DUP3
000024cb: ADD
000024cc: PUSH1 0x00
000024ce: PUSH2 0x0100
000024d1: EXP
000024d2: DUP2
000024d3: SLOAD
000024d4: SWAP1
000024d5: PUSH1 0xff
000024d7: MUL
000024d8: NOT
000024d9: AND
000024da: SWAP1
000024db: SSTORE
000024dc: PUSH1 0x02
000024de: DUP3
000024df: ADD
000024e0: PUSH1 0x01
000024e2: PUSH2 0x0100
000024e5: EXP
000024e6: DUP2
000024e7: SLOAD
000024e8: SWAP1
000024e9: PUSH1 0xff
000024eb: MUL
000024ec: NOT
000024ed: AND
000024ee: SWAP1
000024ef: SSTORE
000024f0: PUSH1 0x02
000024f2: DUP3
000024f3: ADD
000024f4: PUSH1 0x02
000024f6: PUSH2 0x0100
000024f9: EXP
000024fa: DUP2
000024fb: SLOAD
000024fc: SWAP1
000024fd: PUSH1 0xff
000024ff: MUL
00002500: NOT
00002501: AND
00002502: SWAP1
00002503: SSTORE
00002504: POP
00002505: POP
00002506: PUSH1 0x06
00002508: PUSH1 0x00
0000250a: DUP9
0000250b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002528: NOT
00002529: AND
0000252a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002547: NOT
00002548: AND
00002549: DUP2
0000254a: MSTORE
0000254b: PUSH1 0x20
0000254d: ADD
0000254e: SWAP1
0000254f: DUP2
00002550: MSTORE
00002551: PUSH1 0x20
00002553: ADD
00002554: PUSH1 0x00
00002556: KECCAK256
00002557: PUSH1 0x00
00002559: DUP8
0000255a: DUP2
0000255b: MSTORE
0000255c: PUSH1 0x20
0000255e: ADD
0000255f: SWAP1
00002560: DUP2
00002561: MSTORE
00002562: PUSH1 0x20
00002564: ADD
00002565: PUSH1 0x00
00002567: KECCAK256
00002568: PUSH1 0x00
0000256a: PUSH2 0x0100
0000256d: EXP
0000256e: DUP2
0000256f: SLOAD
00002570: SWAP1
00002571: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002586: MUL
00002587: NOT
00002588: AND
00002589: SWAP1
0000258a: SSTORE
0000258b: POP
0000258c: POP
0000258d: POP
0000258e: POP
0000258f: POP
00002590: POP
00002591: POP
00002592: JUMP
00002593: JUMPDEST
00002594: PUSH32 0x55ca0725c70a9ecebe86dd2b8b3a414983f6cb638e1a0fa17c64bbdd59b4d4c1
000025b5: PUSH2 0x25c5
000025b8: DUP2
000025b9: PUSH2 0x25c0
000025bc: PUSH2 0x264d
000025bf: JUMP
000025c0: JUMPDEST
000025c1: PUSH2 0x2655
000025c4: JUMP
000025c5: JUMPDEST
000025c6: PUSH1 0x00
000025c8: PUSH1 0x01
000025ca: PUSH1 0x00
000025cc: PUSH2 0x0100
000025cf: EXP
000025d0: DUP2
000025d1: SLOAD
000025d2: DUP2
000025d3: PUSH1 0xff
000025d5: MUL
000025d6: NOT
000025d7: AND
000025d8: SWAP1
000025d9: DUP4
000025da: ISZERO
000025db: ISZERO
000025dc: MUL
000025dd: OR
000025de: SWAP1
000025df: SSTORE
000025e0: POP
000025e1: POP
000025e2: JUMP
000025e3: JUMPDEST
000025e4: PUSH1 0x00
000025e6: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00002607: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002624: NOT
00002625: AND
00002626: DUP3
00002627: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002644: NOT
00002645: AND
00002646: EQ
00002647: SWAP1
00002648: POP
00002649: SWAP2
0000264a: SWAP1
0000264b: POP
0000264c: JUMP
0000264d: JUMPDEST
0000264e: PUSH1 0x00
00002650: CALLER
00002651: SWAP1
00002652: POP
00002653: SWAP1
00002654: JUMP
00002655: JUMPDEST
00002656: PUSH2 0x265f
00002659: DUP3
0000265a: DUP3
0000265b: PUSH2 0x0f50
0000265e: JUMP
0000265f: JUMPDEST
00002660: PUSH2 0x26ee
00002663: JUMPI
00002664: PUSH2 0x2684
00002667: DUP2
00002668: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000267d: AND
0000267e: PUSH1 0x14
00002680: PUSH2 0x2e2f
00002683: JUMP
00002684: JUMPDEST
00002685: PUSH2 0x2692
00002688: DUP4
00002689: PUSH1 0x00
0000268b: SHR
0000268c: PUSH1 0x20
0000268e: PUSH2 0x2e2f
00002691: JUMP
00002692: JUMPDEST
00002693: PUSH1 0x40
00002695: MLOAD
00002696: PUSH1 0x20
00002698: ADD
00002699: PUSH2 0x26a3
0000269c: SWAP3
0000269d: SWAP2
0000269e: SWAP1
0000269f: PUSH2 0x430a
000026a2: JUMP
000026a3: JUMPDEST
000026a4: PUSH1 0x40
000026a6: MLOAD
000026a7: PUSH1 0x20
000026a9: DUP2
000026aa: DUP4
000026ab: SUB
000026ac: SUB
000026ad: DUP2
000026ae: MSTORE
000026af: SWAP1
000026b0: PUSH1 0x40
000026b2: MSTORE
000026b3: PUSH1 0x40
000026b5: MLOAD
000026b6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000026d7: DUP2
000026d8: MSTORE
000026d9: PUSH1 0x04
000026db: ADD
000026dc: PUSH2 0x26e5
000026df: SWAP2
000026e0: SWAP1
000026e1: PUSH2 0x437d
000026e4: JUMP
000026e5: JUMPDEST
000026e6: PUSH1 0x40
000026e8: MLOAD
000026e9: DUP1
000026ea: SWAP2
000026eb: SUB
000026ec: SWAP1
000026ed: REVERT
000026ee: JUMPDEST
000026ef: POP
000026f0: POP
000026f1: JUMP
000026f2: JUMPDEST
000026f3: PUSH2 0x26fc
000026f6: DUP3
000026f7: DUP3
000026f8: PUSH2 0x0f50
000026fb: JUMP
000026fc: JUMPDEST
000026fd: PUSH2 0x27ce
00002700: JUMPI
00002701: PUSH1 0x01
00002703: PUSH1 0x00
00002705: DUP1
00002706: DUP5
00002707: DUP2
00002708: MSTORE
00002709: PUSH1 0x20
0000270b: ADD
0000270c: SWAP1
0000270d: DUP2
0000270e: MSTORE
0000270f: PUSH1 0x20
00002711: ADD
00002712: PUSH1 0x00
00002714: KECCAK256
00002715: PUSH1 0x00
00002717: ADD
00002718: PUSH1 0x00
0000271a: DUP4
0000271b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002730: AND
00002731: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002746: AND
00002747: DUP2
00002748: MSTORE
00002749: PUSH1 0x20
0000274b: ADD
0000274c: SWAP1
0000274d: DUP2
0000274e: MSTORE
0000274f: PUSH1 0x20
00002751: ADD
00002752: PUSH1 0x00
00002754: KECCAK256
00002755: PUSH1 0x00
00002757: PUSH2 0x0100
0000275a: EXP
0000275b: DUP2
0000275c: SLOAD
0000275d: DUP2
0000275e: PUSH1 0xff
00002760: MUL
00002761: NOT
00002762: AND
00002763: SWAP1
00002764: DUP4
00002765: ISZERO
00002766: ISZERO
00002767: MUL
00002768: OR
00002769: SWAP1
0000276a: SSTORE
0000276b: POP
0000276c: PUSH2 0x2773
0000276f: PUSH2 0x264d
00002772: JUMP
00002773: JUMPDEST
00002774: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002789: AND
0000278a: DUP2
0000278b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027a0: AND
000027a1: DUP4
000027a2: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000027c3: PUSH1 0x40
000027c5: MLOAD
000027c6: PUSH1 0x40
000027c8: MLOAD
000027c9: DUP1
000027ca: SWAP2
000027cb: SUB
000027cc: SWAP1
000027cd: LOG4
000027ce: JUMPDEST
000027cf: POP
000027d0: POP
000027d1: JUMP
000027d2: JUMPDEST
000027d3: PUSH2 0x27dc
000027d6: DUP3
000027d7: DUP3
000027d8: PUSH2 0x0f50
000027db: JUMP
000027dc: JUMPDEST
000027dd: ISZERO
000027de: PUSH2 0x28af
000027e1: JUMPI
000027e2: PUSH1 0x00
000027e4: DUP1
000027e5: PUSH1 0x00
000027e7: DUP5
000027e8: DUP2
000027e9: MSTORE
000027ea: PUSH1 0x20
000027ec: ADD
000027ed: SWAP1
000027ee: DUP2
000027ef: MSTORE
000027f0: PUSH1 0x20
000027f2: ADD
000027f3: PUSH1 0x00
000027f5: KECCAK256
000027f6: PUSH1 0x00
000027f8: ADD
000027f9: PUSH1 0x00
000027fb: DUP4
000027fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002811: AND
00002812: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002827: AND
00002828: DUP2
00002829: MSTORE
0000282a: PUSH1 0x20
0000282c: ADD
0000282d: SWAP1
0000282e: DUP2
0000282f: MSTORE
00002830: PUSH1 0x20
00002832: ADD
00002833: PUSH1 0x00
00002835: KECCAK256
00002836: PUSH1 0x00
00002838: PUSH2 0x0100
0000283b: EXP
0000283c: DUP2
0000283d: SLOAD
0000283e: DUP2
0000283f: PUSH1 0xff
00002841: MUL
00002842: NOT
00002843: AND
00002844: SWAP1
00002845: DUP4
00002846: ISZERO
00002847: ISZERO
00002848: MUL
00002849: OR
0000284a: SWAP1
0000284b: SSTORE
0000284c: POP
0000284d: PUSH2 0x2854
00002850: PUSH2 0x264d
00002853: JUMP
00002854: JUMPDEST
00002855: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000286a: AND
0000286b: DUP2
0000286c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002881: AND
00002882: DUP4
00002883: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
000028a4: PUSH1 0x40
000028a6: MLOAD
000028a7: PUSH1 0x40
000028a9: MLOAD
000028aa: DUP1
000028ab: SWAP2
000028ac: SUB
000028ad: SWAP1
000028ae: LOG4
000028af: JUMPDEST
000028b0: POP
000028b1: POP
000028b2: JUMP
000028b3: JUMPDEST
000028b4: PUSH1 0x00
000028b6: DUP1
000028b7: PUSH2 0x28be
000028ba: PUSH2 0x3358
000028bd: JUMP
000028be: JUMPDEST
000028bf: PUSH1 0x00
000028c1: DUP7
000028c2: GT
000028c3: PUSH2 0x2901
000028c6: JUMPI
000028c7: PUSH1 0x40
000028c9: MLOAD
000028ca: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000028eb: DUP2
000028ec: MSTORE
000028ed: PUSH1 0x04
000028ef: ADD
000028f0: PUSH2 0x28f8
000028f3: SWAP1
000028f4: PUSH2 0x43eb
000028f7: JUMP
000028f8: JUMPDEST
000028f9: PUSH1 0x40
000028fb: MLOAD
000028fc: DUP1
000028fd: SWAP2
000028fe: SUB
000028ff: SWAP1
00002900: REVERT
00002901: JUMPDEST
00002902: PUSH1 0x00
00002904: PUSH1 0x05
00002906: PUSH1 0x00
00002908: DUP10
00002909: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000291e: AND
0000291f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002934: AND
00002935: DUP2
00002936: MSTORE
00002937: PUSH1 0x20
00002939: ADD
0000293a: SWAP1
0000293b: DUP2
0000293c: MSTORE
0000293d: PUSH1 0x20
0000293f: ADD
00002940: PUSH1 0x00
00002942: KECCAK256
00002943: PUSH1 0x40
00002945: MLOAD
00002946: DUP1
00002947: PUSH1 0xa0
00002949: ADD
0000294a: PUSH1 0x40
0000294c: MSTORE
0000294d: SWAP1
0000294e: DUP2
0000294f: PUSH1 0x00
00002951: DUP3
00002952: ADD
00002953: PUSH1 0x00
00002955: SWAP1
00002956: SLOAD
00002957: SWAP1
00002958: PUSH2 0x0100
0000295b: EXP
0000295c: SWAP1
0000295d: DIV
0000295e: PUSH1 0xe0
00002960: SHL
00002961: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000297e: NOT
0000297f: AND
00002980: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000299d: NOT
0000299e: AND
0000299f: DUP2
000029a0: MSTORE
000029a1: PUSH1 0x20
000029a3: ADD
000029a4: PUSH1 0x01
000029a6: DUP3
000029a7: ADD
000029a8: SLOAD
000029a9: DUP2
000029aa: MSTORE
000029ab: PUSH1 0x20
000029ad: ADD
000029ae: PUSH1 0x02
000029b0: DUP3
000029b1: ADD
000029b2: PUSH1 0x00
000029b4: SWAP1
000029b5: SLOAD
000029b6: SWAP1
000029b7: PUSH2 0x0100
000029ba: EXP
000029bb: SWAP1
000029bc: DIV
000029bd: PUSH1 0xff
000029bf: AND
000029c0: PUSH1 0xff
000029c2: AND
000029c3: PUSH1 0xff
000029c5: AND
000029c6: DUP2
000029c7: MSTORE
000029c8: PUSH1 0x20
000029ca: ADD
000029cb: PUSH1 0x02
000029cd: DUP3
000029ce: ADD
000029cf: PUSH1 0x01
000029d1: SWAP1
000029d2: SLOAD
000029d3: SWAP1
000029d4: PUSH2 0x0100
000029d7: EXP
000029d8: SWAP1
000029d9: DIV
000029da: PUSH1 0xff
000029dc: AND
000029dd: PUSH1 0x03
000029df: DUP2
000029e0: GT
000029e1: ISZERO
000029e2: PUSH2 0x29ee
000029e5: JUMPI
000029e6: PUSH2 0x29ed
000029e9: PUSH2 0x39a3
000029ec: JUMP
000029ed: JUMPDEST
000029ee: JUMPDEST
000029ef: PUSH1 0x03
000029f1: DUP2
000029f2: GT
000029f3: ISZERO
000029f4: PUSH2 0x2a00
000029f7: JUMPI
000029f8: PUSH2 0x29ff
000029fb: PUSH2 0x39a3
000029fe: JUMP
000029ff: JUMPDEST
00002a00: JUMPDEST
00002a01: DUP2
00002a02: MSTORE
00002a03: PUSH1 0x20
00002a05: ADD
00002a06: PUSH1 0x02
00002a08: DUP3
00002a09: ADD
00002a0a: PUSH1 0x02
00002a0c: SWAP1
00002a0d: SLOAD
00002a0e: SWAP1
00002a0f: PUSH2 0x0100
00002a12: EXP
00002a13: SWAP1
00002a14: DIV
00002a15: PUSH1 0xff
00002a17: AND
00002a18: PUSH1 0x01
00002a1a: DUP2
00002a1b: GT
00002a1c: ISZERO
00002a1d: PUSH2 0x2a29
00002a20: JUMPI
00002a21: PUSH2 0x2a28
00002a24: PUSH2 0x39a3
00002a27: JUMP
00002a28: JUMPDEST
00002a29: JUMPDEST
00002a2a: PUSH1 0x01
00002a2c: DUP2
00002a2d: GT
00002a2e: ISZERO
00002a2f: PUSH2 0x2a3b
00002a32: JUMPI
00002a33: PUSH2 0x2a3a
00002a36: PUSH2 0x39a3
00002a39: JUMP
00002a3a: JUMPDEST
00002a3b: JUMPDEST
00002a3c: DUP2
00002a3d: MSTORE
00002a3e: POP
00002a3f: POP
00002a40: SWAP1
00002a41: POP
00002a42: PUSH1 0x00
00002a44: DUP1
00002a45: SHL
00002a46: DUP2
00002a47: PUSH1 0x20
00002a49: ADD
00002a4a: MLOAD
00002a4b: SUB
00002a4c: PUSH2 0x2a8a
00002a4f: JUMPI
00002a50: PUSH1 0x40
00002a52: MLOAD
00002a53: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002a74: DUP2
00002a75: MSTORE
00002a76: PUSH1 0x04
00002a78: ADD
00002a79: PUSH2 0x2a81
00002a7c: SWAP1
00002a7d: PUSH2 0x3bf1
00002a80: JUMP
00002a81: JUMPDEST
00002a82: PUSH1 0x40
00002a84: MLOAD
00002a85: DUP1
00002a86: SWAP2
00002a87: SUB
00002a88: SWAP1
00002a89: REVERT
00002a8a: JUMPDEST
00002a8b: PUSH1 0x00
00002a8d: PUSH1 0x03
00002a8f: PUSH1 0x00
00002a91: SWAP1
00002a92: SLOAD
00002a93: SWAP1
00002a94: PUSH2 0x0100
00002a97: EXP
00002a98: SWAP1
00002a99: DIV
00002a9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002aaf: AND
00002ab0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ac5: AND
00002ac6: PUSH4 0x16b6ecb0
00002acb: DUP11
00002acc: CALLER
00002acd: DUP12
00002ace: DUP11
00002acf: PUSH1 0x40
00002ad1: MLOAD
00002ad2: DUP6
00002ad3: PUSH4 0xffffffff
00002ad8: AND
00002ad9: PUSH1 0xe0
00002adb: SHL
00002adc: DUP2
00002add: MSTORE
00002ade: PUSH1 0x04
00002ae0: ADD
00002ae1: PUSH2 0x2aed
00002ae4: SWAP5
00002ae5: SWAP4
00002ae6: SWAP3
00002ae7: SWAP2
00002ae8: SWAP1
00002ae9: PUSH2 0x440b
00002aec: JUMP
00002aed: JUMPDEST
00002aee: PUSH1 0x20
00002af0: PUSH1 0x40
00002af2: MLOAD
00002af3: DUP1
00002af4: DUP4
00002af5: SUB
00002af6: DUP2
00002af7: DUP7
00002af8: GAS
00002af9: STATICCALL
00002afa: ISZERO
00002afb: DUP1
00002afc: ISZERO
00002afd: PUSH2 0x2b0a
00002b00: JUMPI
00002b01: RETURNDATASIZE
00002b02: PUSH1 0x00
00002b04: DUP1
00002b05: RETURNDATACOPY
00002b06: RETURNDATASIZE
00002b07: PUSH1 0x00
00002b09: REVERT
00002b0a: JUMPDEST
00002b0b: POP
00002b0c: POP
00002b0d: POP
00002b0e: POP
00002b0f: PUSH1 0x40
00002b11: MLOAD
00002b12: RETURNDATASIZE
00002b13: PUSH1 0x1f
00002b15: NOT
00002b16: PUSH1 0x1f
00002b18: DUP3
00002b19: ADD
00002b1a: AND
00002b1b: DUP3
00002b1c: ADD
00002b1d: DUP1
00002b1e: PUSH1 0x40
00002b20: MSTORE
00002b21: POP
00002b22: DUP2
00002b23: ADD
00002b24: SWAP1
00002b25: PUSH2 0x2b2e
00002b28: SWAP2
00002b29: SWAP1
00002b2a: PUSH2 0x3f31
00002b2d: JUMP
00002b2e: JUMPDEST
00002b2f: SWAP1
00002b30: POP
00002b31: DUP1
00002b32: DUP9
00002b33: GT
00002b34: PUSH2 0x2b72
00002b37: JUMPI
00002b38: PUSH1 0x40
00002b3a: MLOAD
00002b3b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002b5c: DUP2
00002b5d: MSTORE
00002b5e: PUSH1 0x04
00002b60: ADD
00002b61: PUSH2 0x2b69
00002b64: SWAP1
00002b65: PUSH2 0x3faa
00002b68: JUMP
00002b69: JUMPDEST
00002b6a: PUSH1 0x40
00002b6c: MLOAD
00002b6d: DUP1
00002b6e: SWAP2
00002b6f: SUB
00002b70: SWAP1
00002b71: REVERT
00002b72: JUMPDEST
00002b73: PUSH1 0x00
00002b75: DUP2
00002b76: DUP10
00002b77: PUSH2 0x2b80
00002b7a: SWAP2
00002b7b: SWAP1
00002b7c: PUSH2 0x3ff9
00002b7f: JUMP
00002b80: JUMPDEST
00002b81: SWAP1
00002b82: POP
00002b83: PUSH1 0x01
00002b85: DUP1
00002b86: SLOAD
00002b87: SWAP1
00002b88: PUSH2 0x0100
00002b8b: EXP
00002b8c: SWAP1
00002b8d: DIV
00002b8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ba3: AND
00002ba4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bb9: AND
00002bba: PUSH4 0x7a6a5e3c
00002bbf: DUP13
00002bc0: CALLER
00002bc1: DUP12
00002bc2: PUSH2 0x2bcf
00002bc5: DUP7
00002bc6: DUP10
00002bc7: PUSH1 0x40
00002bc9: ADD
00002bca: MLOAD
00002bcb: PUSH2 0x306b
00002bce: JUMP
00002bcf: JUMPDEST
00002bd0: DUP13
00002bd1: DUP10
00002bd2: PUSH1 0x00
00002bd4: ADD
00002bd5: MLOAD
00002bd6: DUP11
00002bd7: PUSH1 0x20
00002bd9: ADD
00002bda: MLOAD
00002bdb: PUSH1 0x40
00002bdd: MLOAD
00002bde: DUP9
00002bdf: PUSH4 0xffffffff
00002be4: AND
00002be5: PUSH1 0xe0
00002be7: SHL
00002be8: DUP2
00002be9: MSTORE
00002bea: PUSH1 0x04
00002bec: ADD
00002bed: PUSH2 0x2bfc
00002bf0: SWAP8
00002bf1: SWAP7
00002bf2: SWAP6
00002bf3: SWAP5
00002bf4: SWAP4
00002bf5: SWAP3
00002bf6: SWAP2
00002bf7: SWAP1
00002bf8: PUSH2 0x4450
00002bfb: JUMP
00002bfc: JUMPDEST
00002bfd: PUSH1 0x00
00002bff: PUSH1 0x40
00002c01: MLOAD
00002c02: DUP1
00002c03: DUP4
00002c04: SUB
00002c05: DUP2
00002c06: PUSH1 0x00
00002c08: DUP8
00002c09: DUP1
00002c0a: EXTCODESIZE
00002c0b: ISZERO
00002c0c: DUP1
00002c0d: ISZERO
00002c0e: PUSH2 0x2c16
00002c11: JUMPI
00002c12: PUSH1 0x00
00002c14: DUP1
00002c15: REVERT
00002c16: JUMPDEST
00002c17: POP
00002c18: GAS
00002c19: CALL
00002c1a: ISZERO
00002c1b: DUP1
00002c1c: ISZERO
00002c1d: PUSH2 0x2c2a
00002c20: JUMPI
00002c21: RETURNDATASIZE
00002c22: PUSH1 0x00
00002c24: DUP1
00002c25: RETURNDATACOPY
00002c26: RETURNDATASIZE
00002c27: PUSH1 0x00
00002c29: REVERT
00002c2a: JUMPDEST
00002c2b: POP
00002c2c: POP
00002c2d: POP
00002c2e: POP
00002c2f: DUP11
00002c30: PUSH16 0xffffffffffffffffffffffffffffffff
00002c41: AND
00002c42: DUP9
00002c43: PUSH32 0x884a8def17f0d5bbb3fef53f3136b5320c9b39f75afb8985eeab9ea1153ee56d
00002c64: DUP6
00002c65: PUSH1 0x00
00002c67: ADD
00002c68: MLOAD
00002c69: DUP7
00002c6a: PUSH1 0x20
00002c6c: ADD
00002c6d: MLOAD
00002c6e: CALLER
00002c6f: DUP7
00002c70: DUP14
00002c71: PUSH1 0x40
00002c73: MLOAD
00002c74: PUSH2 0x2c81
00002c77: SWAP6
00002c78: SWAP5
00002c79: SWAP4
00002c7a: SWAP3
00002c7b: SWAP2
00002c7c: SWAP1
00002c7d: PUSH2 0x44bf
00002c80: JUMP
00002c81: JUMPDEST
00002c82: PUSH1 0x40
00002c84: MLOAD
00002c85: DUP1
00002c86: SWAP2
00002c87: SUB
00002c88: SWAP1
00002c89: LOG3
00002c8a: DUP1
00002c8b: DUP3
00002c8c: DUP5
00002c8d: SWAP6
00002c8e: POP
00002c8f: SWAP6
00002c90: POP
00002c91: SWAP6
00002c92: POP
00002c93: POP
00002c94: POP
00002c95: POP
00002c96: SWAP6
00002c97: POP
00002c98: SWAP6
00002c99: POP
00002c9a: SWAP6
00002c9b: SWAP3
00002c9c: POP
00002c9d: POP
00002c9e: POP
00002c9f: JUMP
00002ca0: JUMPDEST
00002ca1: PUSH2 0x2d23
00002ca4: DUP5
00002ca5: PUSH4 0x23b872dd
00002caa: PUSH1 0xe0
00002cac: SHL
00002cad: DUP6
00002cae: DUP6
00002caf: DUP6
00002cb0: PUSH1 0x40
00002cb2: MLOAD
00002cb3: PUSH1 0x24
00002cb5: ADD
00002cb6: PUSH2 0x2cc1
00002cb9: SWAP4
00002cba: SWAP3
00002cbb: SWAP2
00002cbc: SWAP1
00002cbd: PUSH2 0x4512
00002cc0: JUMP
00002cc1: JUMPDEST
00002cc2: PUSH1 0x40
00002cc4: MLOAD
00002cc5: PUSH1 0x20
00002cc7: DUP2
00002cc8: DUP4
00002cc9: SUB
00002cca: SUB
00002ccb: DUP2
00002ccc: MSTORE
00002ccd: SWAP1
00002cce: PUSH1 0x40
00002cd0: MSTORE
00002cd1: SWAP1
00002cd2: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002cef: NOT
00002cf0: AND
00002cf1: PUSH1 0x20
00002cf3: DUP3
00002cf4: ADD
00002cf5: DUP1
00002cf6: MLOAD
00002cf7: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002d14: DUP4
00002d15: DUP2
00002d16: DUP4
00002d17: AND
00002d18: OR
00002d19: DUP4
00002d1a: MSTORE
00002d1b: POP
00002d1c: POP
00002d1d: POP
00002d1e: POP
00002d1f: PUSH2 0x30eb
00002d22: JUMP
00002d23: JUMPDEST
00002d24: POP
00002d25: POP
00002d26: POP
00002d27: POP
00002d28: JUMP
00002d29: JUMPDEST
00002d2a: PUSH1 0x00
00002d2c: PUSH1 0x09
00002d2e: DUP3
00002d2f: PUSH1 0xff
00002d31: AND
00002d32: GT
00002d33: ISZERO
00002d34: PUSH2 0x2d65
00002d37: JUMPI
00002d38: PUSH1 0x09
00002d3a: DUP3
00002d3b: PUSH1 0xff
00002d3d: AND
00002d3e: PUSH2 0x2d47
00002d41: SWAP2
00002d42: SWAP1
00002d43: PUSH2 0x3ff9
00002d46: JUMP
00002d47: JUMPDEST
00002d48: PUSH1 0x0a
00002d4a: PUSH2 0x2d53
00002d4d: SWAP2
00002d4e: SWAP1
00002d4f: PUSH2 0x467c
00002d52: JUMP
00002d53: JUMPDEST
00002d54: DUP4
00002d55: PUSH2 0x2d5e
00002d58: SWAP2
00002d59: SWAP1
00002d5a: PUSH2 0x46c7
00002d5d: JUMP
00002d5e: JUMPDEST
00002d5f: SWAP1
00002d60: POP
00002d61: PUSH2 0x2da3
00002d64: JUMP
00002d65: JUMPDEST
00002d66: PUSH1 0x09
00002d68: DUP3
00002d69: PUSH1 0xff
00002d6b: AND
00002d6c: LT
00002d6d: ISZERO
00002d6e: PUSH2 0x2d9f
00002d71: JUMPI
00002d72: DUP2
00002d73: PUSH1 0xff
00002d75: AND
00002d76: PUSH1 0x09
00002d78: PUSH2 0x2d81
00002d7b: SWAP2
00002d7c: SWAP1
00002d7d: PUSH2 0x3ff9
00002d80: JUMP
00002d81: JUMPDEST
00002d82: PUSH1 0x0a
00002d84: PUSH2 0x2d8d
00002d87: SWAP2
00002d88: SWAP1
00002d89: PUSH2 0x467c
00002d8c: JUMP
00002d8d: JUMPDEST
00002d8e: DUP4
00002d8f: PUSH2 0x2d98
00002d92: SWAP2
00002d93: SWAP1
00002d94: PUSH2 0x4738
00002d97: JUMP
00002d98: JUMPDEST
00002d99: SWAP1
00002d9a: POP
00002d9b: PUSH2 0x2da3
00002d9e: JUMP
00002d9f: JUMPDEST
00002da0: DUP3
00002da1: SWAP1
00002da2: POP
00002da3: JUMPDEST
00002da4: SWAP3
00002da5: SWAP2
00002da6: POP
00002da7: POP
00002da8: JUMP
00002da9: JUMPDEST
00002daa: PUSH2 0x2e2a
00002dad: DUP4
00002dae: PUSH4 0xa9059cbb
00002db3: PUSH1 0xe0
00002db5: SHL
00002db6: DUP5
00002db7: DUP5
00002db8: PUSH1 0x40
00002dba: MLOAD
00002dbb: PUSH1 0x24
00002dbd: ADD
00002dbe: PUSH2 0x2dc8
00002dc1: SWAP3
00002dc2: SWAP2
00002dc3: SWAP1
00002dc4: PUSH2 0x3df6
00002dc7: JUMP
00002dc8: JUMPDEST
00002dc9: PUSH1 0x40
00002dcb: MLOAD
00002dcc: PUSH1 0x20
00002dce: DUP2
00002dcf: DUP4
00002dd0: SUB
00002dd1: SUB
00002dd2: DUP2
00002dd3: MSTORE
00002dd4: SWAP1
00002dd5: PUSH1 0x40
00002dd7: MSTORE
00002dd8: SWAP1
00002dd9: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002df6: NOT
00002df7: AND
00002df8: PUSH1 0x20
00002dfa: DUP3
00002dfb: ADD
00002dfc: DUP1
00002dfd: MLOAD
00002dfe: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002e1b: DUP4
00002e1c: DUP2
00002e1d: DUP4
00002e1e: AND
00002e1f: OR
00002e20: DUP4
00002e21: MSTORE
00002e22: POP
00002e23: POP
00002e24: POP
00002e25: POP
00002e26: PUSH2 0x30eb
00002e29: JUMP
00002e2a: JUMPDEST
00002e2b: POP
00002e2c: POP
00002e2d: POP
00002e2e: JUMP
00002e2f: JUMPDEST
00002e30: PUSH1 0x60
00002e32: PUSH1 0x00
00002e34: PUSH1 0x02
00002e36: DUP4
00002e37: PUSH1 0x02
00002e39: PUSH2 0x2e42
00002e3c: SWAP2
00002e3d: SWAP1
00002e3e: PUSH2 0x46c7
00002e41: JUMP
00002e42: JUMPDEST
00002e43: PUSH2 0x2e4c
00002e46: SWAP2
00002e47: SWAP1
00002e48: PUSH2 0x4769
00002e4b: JUMP
00002e4c: JUMPDEST
00002e4d: PUSH8 0xffffffffffffffff
00002e56: DUP2
00002e57: GT
00002e58: ISZERO
00002e59: PUSH2 0x2e65
00002e5c: JUMPI
00002e5d: PUSH2 0x2e64
00002e60: PUSH2 0x479d
00002e63: JUMP
00002e64: JUMPDEST
00002e65: JUMPDEST
00002e66: PUSH1 0x40
00002e68: MLOAD
00002e69: SWAP1
00002e6a: DUP1
00002e6b: DUP3
00002e6c: MSTORE
00002e6d: DUP1
00002e6e: PUSH1 0x1f
00002e70: ADD
00002e71: PUSH1 0x1f
00002e73: NOT
00002e74: AND
00002e75: PUSH1 0x20
00002e77: ADD
00002e78: DUP3
00002e79: ADD
00002e7a: PUSH1 0x40
00002e7c: MSTORE
00002e7d: DUP1
00002e7e: ISZERO
00002e7f: PUSH2 0x2e97
00002e82: JUMPI
00002e83: DUP2
00002e84: PUSH1 0x20
00002e86: ADD
00002e87: PUSH1 0x01
00002e89: DUP3
00002e8a: MUL
00002e8b: DUP1
00002e8c: CALLDATASIZE
00002e8d: DUP4
00002e8e: CALLDATACOPY
00002e8f: DUP1
00002e90: DUP3
00002e91: ADD
00002e92: SWAP2
00002e93: POP
00002e94: POP
00002e95: SWAP1
00002e96: POP
00002e97: JUMPDEST
00002e98: POP
00002e99: SWAP1
00002e9a: POP
00002e9b: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000
00002ebc: DUP2
00002ebd: PUSH1 0x00
00002ebf: DUP2
00002ec0: MLOAD
00002ec1: DUP2
00002ec2: LT
00002ec3: PUSH2 0x2ecf
00002ec6: JUMPI
00002ec7: PUSH2 0x2ece
00002eca: PUSH2 0x47cc
00002ecd: JUMP
00002ece: JUMPDEST
00002ecf: JUMPDEST
00002ed0: PUSH1 0x20
00002ed2: ADD
00002ed3: ADD
00002ed4: SWAP1
00002ed5: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002ef5: NOT
00002ef6: AND
00002ef7: SWAP1
00002ef8: DUP2
00002ef9: PUSH1 0x00
00002efb: BYTE
00002efc: SWAP1
00002efd: MSTORE8
00002efe: POP
00002eff: PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000
00002f20: DUP2
00002f21: PUSH1 0x01
00002f23: DUP2
00002f24: MLOAD
00002f25: DUP2
00002f26: LT
00002f27: PUSH2 0x2f33
00002f2a: JUMPI
00002f2b: PUSH2 0x2f32
00002f2e: PUSH2 0x47cc
00002f31: JUMP
00002f32: JUMPDEST
00002f33: JUMPDEST
00002f34: PUSH1 0x20
00002f36: ADD
00002f37: ADD
00002f38: SWAP1
00002f39: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002f59: NOT
00002f5a: AND
00002f5b: SWAP1
00002f5c: DUP2
00002f5d: PUSH1 0x00
00002f5f: BYTE
00002f60: SWAP1
00002f61: MSTORE8
00002f62: POP
00002f63: PUSH1 0x00
00002f65: PUSH1 0x01
00002f67: DUP5
00002f68: PUSH1 0x02
00002f6a: PUSH2 0x2f73
00002f6d: SWAP2
00002f6e: SWAP1
00002f6f: PUSH2 0x46c7
00002f72: JUMP
00002f73: JUMPDEST
00002f74: PUSH2 0x2f7d
00002f77: SWAP2
00002f78: SWAP1
00002f79: PUSH2 0x4769
00002f7c: JUMP
00002f7d: JUMPDEST
00002f7e: SWAP1
00002f7f: POP
00002f80: JUMPDEST
00002f81: PUSH1 0x01
00002f83: DUP2
00002f84: GT
00002f85: ISZERO
00002f86: PUSH2 0x301d
00002f89: JUMPI
00002f8a: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000
00002fab: PUSH1 0x0f
00002fad: DUP7
00002fae: AND
00002faf: PUSH1 0x10
00002fb1: DUP2
00002fb2: LT
00002fb3: PUSH2 0x2fbf
00002fb6: JUMPI
00002fb7: PUSH2 0x2fbe
00002fba: PUSH2 0x47cc
00002fbd: JUMP
00002fbe: JUMPDEST
00002fbf: JUMPDEST
00002fc0: BYTE
00002fc1: PUSH1 0xf8
00002fc3: SHL
00002fc4: DUP3
00002fc5: DUP3
00002fc6: DUP2
00002fc7: MLOAD
00002fc8: DUP2
00002fc9: LT
00002fca: PUSH2 0x2fd6
00002fcd: JUMPI
00002fce: PUSH2 0x2fd5
00002fd1: PUSH2 0x47cc
00002fd4: JUMP
00002fd5: JUMPDEST
00002fd6: JUMPDEST
00002fd7: PUSH1 0x20
00002fd9: ADD
00002fda: ADD
00002fdb: SWAP1
00002fdc: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002ffc: NOT
00002ffd: AND
00002ffe: SWAP1
00002fff: DUP2
00003000: PUSH1 0x00
00003002: BYTE
00003003: SWAP1
00003004: MSTORE8
00003005: POP
00003006: PUSH1 0x04
00003008: DUP6
00003009: SWAP1
0000300a: SHR
0000300b: SWAP5
0000300c: POP
0000300d: DUP1
0000300e: PUSH2 0x3016
00003011: SWAP1
00003012: PUSH2 0x47fb
00003015: JUMP
00003016: JUMPDEST
00003017: SWAP1
00003018: POP
00003019: PUSH2 0x2f80
0000301c: JUMP
0000301d: JUMPDEST
0000301e: POP
0000301f: PUSH1 0x00
00003021: DUP5
00003022: EQ
00003023: PUSH2 0x3061
00003026: JUMPI
00003027: PUSH1 0x40
00003029: MLOAD
0000302a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000304b: DUP2
0000304c: MSTORE
0000304d: PUSH1 0x04
0000304f: ADD
00003050: PUSH2 0x3058
00003053: SWAP1
00003054: PUSH2 0x4870
00003057: JUMP
00003058: JUMPDEST
00003059: PUSH1 0x40
0000305b: MLOAD
0000305c: DUP1
0000305d: SWAP2
0000305e: SUB
0000305f: SWAP1
00003060: REVERT
00003061: JUMPDEST
00003062: DUP1
00003063: SWAP2
00003064: POP
00003065: POP
00003066: SWAP3
00003067: SWAP2
00003068: POP
00003069: POP
0000306a: JUMP
0000306b: JUMPDEST
0000306c: PUSH1 0x00
0000306e: PUSH1 0x09
00003070: DUP3
00003071: PUSH1 0xff
00003073: AND
00003074: GT
00003075: ISZERO
00003076: PUSH2 0x30a7
00003079: JUMPI
0000307a: PUSH1 0x09
0000307c: DUP3
0000307d: PUSH1 0xff
0000307f: AND
00003080: PUSH2 0x3089
00003083: SWAP2
00003084: SWAP1
00003085: PUSH2 0x3ff9
00003088: JUMP
00003089: JUMPDEST
0000308a: PUSH1 0x0a
0000308c: PUSH2 0x3095
0000308f: SWAP2
00003090: SWAP1
00003091: PUSH2 0x467c
00003094: JUMP
00003095: JUMPDEST
00003096: DUP4
00003097: PUSH2 0x30a0
0000309a: SWAP2
0000309b: SWAP1
0000309c: PUSH2 0x4738
0000309f: JUMP
000030a0: JUMPDEST
000030a1: SWAP1
000030a2: POP
000030a3: PUSH2 0x30e5
000030a6: JUMP
000030a7: JUMPDEST
000030a8: PUSH1 0x09
000030aa: DUP3
000030ab: PUSH1 0xff
000030ad: AND
000030ae: LT
000030af: ISZERO
000030b0: PUSH2 0x30e1
000030b3: JUMPI
000030b4: DUP2
000030b5: PUSH1 0xff
000030b7: AND
000030b8: PUSH1 0x09
000030ba: PUSH2 0x30c3
000030bd: SWAP2
000030be: SWAP1
000030bf: PUSH2 0x3ff9
000030c2: JUMP
000030c3: JUMPDEST
000030c4: PUSH1 0x0a
000030c6: PUSH2 0x30cf
000030c9: SWAP2
000030ca: SWAP1
000030cb: PUSH2 0x467c
000030ce: JUMP
000030cf: JUMPDEST
000030d0: DUP4
000030d1: PUSH2 0x30da
000030d4: SWAP2
000030d5: SWAP1
000030d6: PUSH2 0x46c7
000030d9: JUMP
000030da: JUMPDEST
000030db: SWAP1
000030dc: POP
000030dd: PUSH2 0x30e5
000030e0: JUMP
000030e1: JUMPDEST
000030e2: DUP3
000030e3: SWAP1
000030e4: POP
000030e5: JUMPDEST
000030e6: SWAP3
000030e7: SWAP2
000030e8: POP
000030e9: POP
000030ea: JUMP
000030eb: JUMPDEST
000030ec: PUSH1 0x00
000030ee: PUSH2 0x314d
000030f1: DUP3
000030f2: PUSH1 0x40
000030f4: MLOAD
000030f5: DUP1
000030f6: PUSH1 0x40
000030f8: ADD
000030f9: PUSH1 0x40
000030fb: MSTORE
000030fc: DUP1
000030fd: PUSH1 0x20
000030ff: DUP2
00003100: MSTORE
00003101: PUSH1 0x20
00003103: ADD
00003104: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003125: DUP2
00003126: MSTORE
00003127: POP
00003128: DUP6
00003129: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000313e: AND
0000313f: PUSH2 0x31b2
00003142: SWAP1
00003143: SWAP3
00003144: SWAP2
00003145: SWAP1
00003146: PUSH4 0xffffffff
0000314b: AND
0000314c: JUMP
0000314d: JUMPDEST
0000314e: SWAP1
0000314f: POP
00003150: PUSH1 0x00
00003152: DUP2
00003153: MLOAD
00003154: GT
00003155: ISZERO
00003156: PUSH2 0x31ad
00003159: JUMPI
0000315a: DUP1
0000315b: DUP1
0000315c: PUSH1 0x20
0000315e: ADD
0000315f: SWAP1
00003160: MLOAD
00003161: DUP2
00003162: ADD
00003163: SWAP1
00003164: PUSH2 0x316d
00003167: SWAP2
00003168: SWAP1
00003169: PUSH2 0x48bc
0000316c: JUMP
0000316d: JUMPDEST
0000316e: PUSH2 0x31ac
00003171: JUMPI
00003172: PUSH1 0x40
00003174: MLOAD
00003175: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003196: DUP2
00003197: MSTORE
00003198: PUSH1 0x04
0000319a: ADD
0000319b: PUSH2 0x31a3
0000319e: SWAP1
0000319f: PUSH2 0x495b
000031a2: JUMP
000031a3: JUMPDEST
000031a4: PUSH1 0x40
000031a6: MLOAD
000031a7: DUP1
000031a8: SWAP2
000031a9: SUB
000031aa: SWAP1
000031ab: REVERT
000031ac: JUMPDEST
000031ad: JUMPDEST
000031ae: POP
000031af: POP
000031b0: POP
000031b1: JUMP
000031b2: JUMPDEST
000031b3: PUSH1 0x60
000031b5: PUSH2 0x31c1
000031b8: DUP5
000031b9: DUP5
000031ba: PUSH1 0x00
000031bc: DUP6
000031bd: PUSH2 0x31ca
000031c0: JUMP
000031c1: JUMPDEST
000031c2: SWAP1
000031c3: POP
000031c4: SWAP4
000031c5: SWAP3
000031c6: POP
000031c7: POP
000031c8: POP
000031c9: JUMP
000031ca: JUMPDEST
000031cb: PUSH1 0x60
000031cd: DUP3
000031ce: SELFBALANCE
000031cf: LT
000031d0: ISZERO
000031d1: PUSH2 0x320f
000031d4: JUMPI
000031d5: PUSH1 0x40
000031d7: MLOAD
000031d8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000031f9: DUP2
000031fa: MSTORE
000031fb: PUSH1 0x04
000031fd: ADD
000031fe: PUSH2 0x3206
00003201: SWAP1
00003202: PUSH2 0x49ed
00003205: JUMP
00003206: JUMPDEST
00003207: PUSH1 0x40
00003209: MLOAD
0000320a: DUP1
0000320b: SWAP2
0000320c: SUB
0000320d: SWAP1
0000320e: REVERT
0000320f: JUMPDEST
00003210: PUSH2 0x3218
00003213: DUP6
00003214: PUSH2 0x32de
00003217: JUMP
00003218: JUMPDEST
00003219: PUSH2 0x3257
0000321c: JUMPI
0000321d: PUSH1 0x40
0000321f: MLOAD
00003220: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003241: DUP2
00003242: MSTORE
00003243: PUSH1 0x04
00003245: ADD
00003246: PUSH2 0x324e
00003249: SWAP1
0000324a: PUSH2 0x4a59
0000324d: JUMP
0000324e: JUMPDEST
0000324f: PUSH1 0x40
00003251: MLOAD
00003252: DUP1
00003253: SWAP2
00003254: SUB
00003255: SWAP1
00003256: REVERT
00003257: JUMPDEST
00003258: PUSH1 0x00
0000325a: DUP1
0000325b: DUP7
0000325c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003271: AND
00003272: DUP6
00003273: DUP8
00003274: PUSH1 0x40
00003276: MLOAD
00003277: PUSH2 0x3280
0000327a: SWAP2
0000327b: SWAP1
0000327c: PUSH2 0x4ac0
0000327f: JUMP
00003280: JUMPDEST
00003281: PUSH1 0x00
00003283: PUSH1 0x40
00003285: MLOAD
00003286: DUP1
00003287: DUP4
00003288: SUB
00003289: DUP2
0000328a: DUP6
0000328b: DUP8
0000328c: GAS
0000328d: CALL
0000328e: SWAP3
0000328f: POP
00003290: POP
00003291: POP
00003292: RETURNDATASIZE
00003293: DUP1
00003294: PUSH1 0x00
00003296: DUP2
00003297: EQ
00003298: PUSH2 0x32bd
0000329b: JUMPI
0000329c: PUSH1 0x40
0000329e: MLOAD
0000329f: SWAP2
000032a0: POP
000032a1: PUSH1 0x1f
000032a3: NOT
000032a4: PUSH1 0x3f
000032a6: RETURNDATASIZE
000032a7: ADD
000032a8: AND
000032a9: DUP3
000032aa: ADD
000032ab: PUSH1 0x40
000032ad: MSTORE
000032ae: RETURNDATASIZE
000032af: DUP3
000032b0: MSTORE
000032b1: RETURNDATASIZE
000032b2: PUSH1 0x00
000032b4: PUSH1 0x20
000032b6: DUP5
000032b7: ADD
000032b8: RETURNDATACOPY
000032b9: PUSH2 0x32c2
000032bc: JUMP
000032bd: JUMPDEST
000032be: PUSH1 0x60
000032c0: SWAP2
000032c1: POP
000032c2: JUMPDEST
000032c3: POP
000032c4: SWAP2
000032c5: POP
000032c6: SWAP2
000032c7: POP
000032c8: PUSH2 0x32d2
000032cb: DUP3
000032cc: DUP3
000032cd: DUP7
000032ce: PUSH2 0x32f1
000032d1: JUMP
000032d2: JUMPDEST
000032d3: SWAP3
000032d4: POP
000032d5: POP
000032d6: POP
000032d7: SWAP5
000032d8: SWAP4
000032d9: POP
000032da: POP
000032db: POP
000032dc: POP
000032dd: JUMP
000032de: JUMPDEST
000032df: PUSH1 0x00
000032e1: DUP1
000032e2: DUP3
000032e3: EXTCODESIZE
000032e4: SWAP1
000032e5: POP
000032e6: PUSH1 0x00
000032e8: DUP2
000032e9: GT
000032ea: SWAP2
000032eb: POP
000032ec: POP
000032ed: SWAP2
000032ee: SWAP1
000032ef: POP
000032f0: JUMP
000032f1: JUMPDEST
000032f2: PUSH1 0x60
000032f4: DUP4
000032f5: ISZERO
000032f6: PUSH2 0x3301
000032f9: JUMPI
000032fa: DUP3
000032fb: SWAP1
000032fc: POP
000032fd: PUSH2 0x3351
00003300: JUMP
00003301: JUMPDEST
00003302: PUSH1 0x00
00003304: DUP4
00003305: MLOAD
00003306: GT
00003307: ISZERO
00003308: PUSH2 0x3314
0000330b: JUMPI
0000330c: DUP3
0000330d: MLOAD
0000330e: DUP1
0000330f: DUP5
00003310: PUSH1 0x20
00003312: ADD
00003313: REVERT
00003314: JUMPDEST
00003315: DUP2
00003316: PUSH1 0x40
00003318: MLOAD
00003319: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000333a: DUP2
0000333b: MSTORE
0000333c: PUSH1 0x04
0000333e: ADD
0000333f: PUSH2 0x3348
00003342: SWAP2
00003343: SWAP1
00003344: PUSH2 0x437d
00003347: JUMP
00003348: JUMPDEST
00003349: PUSH1 0x40
0000334b: MLOAD
0000334c: DUP1
0000334d: SWAP2
0000334e: SUB
0000334f: SWAP1
00003350: REVERT
00003351: JUMPDEST
00003352: SWAP4
00003353: SWAP3
00003354: POP
00003355: POP
00003356: POP
00003357: JUMP
00003358: JUMPDEST
00003359: PUSH1 0x40
0000335b: MLOAD
0000335c: DUP1
0000335d: PUSH1 0xa0
0000335f: ADD
00003360: PUSH1 0x40
00003362: MSTORE
00003363: DUP1
00003364: PUSH1 0x00
00003366: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003383: NOT
00003384: AND
00003385: DUP2
00003386: MSTORE
00003387: PUSH1 0x20
00003389: ADD
0000338a: PUSH1 0x00
0000338c: DUP1
0000338d: NOT
0000338e: AND
0000338f: DUP2
00003390: MSTORE
00003391: PUSH1 0x20
00003393: ADD
00003394: PUSH1 0x00
00003396: PUSH1 0xff
00003398: AND
00003399: DUP2
0000339a: MSTORE
0000339b: PUSH1 0x20
0000339d: ADD
0000339e: PUSH1 0x00
000033a0: PUSH1 0x03
000033a2: DUP2
000033a3: GT
000033a4: ISZERO
000033a5: PUSH2 0x33b1
000033a8: JUMPI
000033a9: PUSH2 0x33b0
000033ac: PUSH2 0x39a3
000033af: JUMP
000033b0: JUMPDEST
000033b1: JUMPDEST
000033b2: DUP2
000033b3: MSTORE
000033b4: PUSH1 0x20
000033b6: ADD
000033b7: PUSH1 0x00
000033b9: PUSH1 0x01
000033bb: DUP2
000033bc: GT
000033bd: ISZERO
000033be: PUSH2 0x33ca
000033c1: JUMPI
000033c2: PUSH2 0x33c9
000033c5: PUSH2 0x39a3
000033c8: JUMP
000033c9: JUMPDEST
000033ca: JUMPDEST
000033cb: DUP2
000033cc: MSTORE
000033cd: POP
000033ce: SWAP1
000033cf: JUMP
000033d0: JUMPDEST
000033d1: PUSH1 0x00
000033d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033e8: DUP3
000033e9: AND
000033ea: SWAP1
000033eb: POP
000033ec: SWAP2
000033ed: SWAP1
000033ee: POP
000033ef: JUMP
000033f0: JUMPDEST
000033f1: PUSH1 0x00
000033f3: PUSH2 0x33fb
000033f6: DUP3
000033f7: PUSH2 0x33d0
000033fa: JUMP
000033fb: JUMPDEST
000033fc: SWAP1
000033fd: POP
000033fe: SWAP2
000033ff: SWAP1
00003400: POP
00003401: JUMP
00003402: JUMPDEST
00003403: PUSH2 0x340b
00003406: DUP2
00003407: PUSH2 0x33f0
0000340a: JUMP
0000340b: JUMPDEST
0000340c: DUP3
0000340d: MSTORE
0000340e: POP
0000340f: POP
00003410: JUMP
00003411: JUMPDEST
00003412: PUSH1 0x00
00003414: PUSH1 0x20
00003416: DUP3
00003417: ADD
00003418: SWAP1
00003419: POP
0000341a: PUSH2 0x3426
0000341d: PUSH1 0x00
0000341f: DUP4
00003420: ADD
00003421: DUP5
00003422: PUSH2 0x3402
00003425: JUMP
00003426: JUMPDEST
00003427: SWAP3
00003428: SWAP2
00003429: POP
0000342a: POP
0000342b: JUMP
0000342c: JUMPDEST
0000342d: PUSH1 0x00
0000342f: DUP1
00003430: REVERT
00003431: JUMPDEST
00003432: PUSH1 0x00
00003434: DUP1
00003435: REVERT
00003436: JUMPDEST
00003437: PUSH1 0x00
00003439: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000345a: DUP3
0000345b: AND
0000345c: SWAP1
0000345d: POP
0000345e: SWAP2
0000345f: SWAP1
00003460: POP
00003461: JUMP
00003462: JUMPDEST
00003463: PUSH2 0x346b
00003466: DUP2
00003467: PUSH2 0x3436
0000346a: JUMP
0000346b: JUMPDEST
0000346c: DUP2
0000346d: EQ
0000346e: PUSH2 0x3476
00003471: JUMPI
00003472: PUSH1 0x00
00003474: DUP1
00003475: REVERT
00003476: JUMPDEST
00003477: POP
00003478: JUMP
00003479: JUMPDEST
0000347a: PUSH1 0x00
0000347c: DUP2
0000347d: CALLDATALOAD
0000347e: SWAP1
0000347f: POP
00003480: PUSH2 0x3488
00003483: DUP2
00003484: PUSH2 0x3462
00003487: JUMP
00003488: JUMPDEST
00003489: SWAP3
0000348a: SWAP2
0000348b: POP
0000348c: POP
0000348d: JUMP
0000348e: JUMPDEST
0000348f: PUSH1 0x00
00003491: PUSH1 0x20
00003493: DUP3
00003494: DUP5
00003495: SUB
00003496: SLT
00003497: ISZERO
00003498: PUSH2 0x34a4
0000349b: JUMPI
0000349c: PUSH2 0x34a3
0000349f: PUSH2 0x342c
000034a2: JUMP
000034a3: JUMPDEST
000034a4: JUMPDEST
000034a5: PUSH1 0x00
000034a7: PUSH2 0x34b2
000034aa: DUP5
000034ab: DUP3
000034ac: DUP6
000034ad: ADD
000034ae: PUSH2 0x3479
000034b1: JUMP
000034b2: JUMPDEST
000034b3: SWAP2
000034b4: POP
000034b5: POP
000034b6: SWAP3
000034b7: SWAP2
000034b8: POP
000034b9: POP
000034ba: JUMP
000034bb: JUMPDEST
000034bc: PUSH1 0x00
000034be: DUP2
000034bf: ISZERO
000034c0: ISZERO
000034c1: SWAP1
000034c2: POP
000034c3: SWAP2
000034c4: SWAP1
000034c5: POP
000034c6: JUMP
000034c7: JUMPDEST
000034c8: PUSH2 0x34d0
000034cb: DUP2
000034cc: PUSH2 0x34bb
000034cf: JUMP
000034d0: JUMPDEST
000034d1: DUP3
000034d2: MSTORE
000034d3: POP
000034d4: POP
000034d5: JUMP
000034d6: JUMPDEST
000034d7: PUSH1 0x00
000034d9: PUSH1 0x20
000034db: DUP3
000034dc: ADD
000034dd: SWAP1
000034de: POP
000034df: PUSH2 0x34eb
000034e2: PUSH1 0x00
000034e4: DUP4
000034e5: ADD
000034e6: DUP5
000034e7: PUSH2 0x34c7
000034ea: JUMP
000034eb: JUMPDEST
000034ec: SWAP3
000034ed: SWAP2
000034ee: POP
000034ef: POP
000034f0: JUMP
000034f1: JUMPDEST
000034f2: PUSH2 0x34fa
000034f5: DUP2
000034f6: PUSH2 0x33f0
000034f9: JUMP
000034fa: JUMPDEST
000034fb: DUP2
000034fc: EQ
000034fd: PUSH2 0x3505
00003500: JUMPI
00003501: PUSH1 0x00
00003503: DUP1
00003504: REVERT
00003505: JUMPDEST
00003506: POP
00003507: JUMP
00003508: JUMPDEST
00003509: PUSH1 0x00
0000350b: DUP2
0000350c: CALLDATALOAD
0000350d: SWAP1
0000350e: POP
0000350f: PUSH2 0x3517
00003512: DUP2
00003513: PUSH2 0x34f1
00003516: JUMP
00003517: JUMPDEST
00003518: SWAP3
00003519: SWAP2
0000351a: POP
0000351b: POP
0000351c: JUMP
0000351d: JUMPDEST
0000351e: PUSH1 0x00
00003520: PUSH1 0x20
00003522: DUP3
00003523: DUP5
00003524: SUB
00003525: SLT
00003526: ISZERO
00003527: PUSH2 0x3533
0000352a: JUMPI
0000352b: PUSH2 0x3532
0000352e: PUSH2 0x342c
00003531: JUMP
00003532: JUMPDEST
00003533: JUMPDEST
00003534: PUSH1 0x00
00003536: PUSH2 0x3541
00003539: DUP5
0000353a: DUP3
0000353b: DUP6
0000353c: ADD
0000353d: PUSH2 0x3508
00003540: JUMP
00003541: JUMPDEST
00003542: SWAP2
00003543: POP
00003544: POP
00003545: SWAP3
00003546: SWAP2
00003547: POP
00003548: POP
00003549: JUMP
0000354a: JUMPDEST
0000354b: PUSH1 0x02
0000354d: DUP2
0000354e: LT
0000354f: PUSH2 0x3557
00003552: JUMPI
00003553: PUSH1 0x00
00003555: DUP1
00003556: REVERT
00003557: JUMPDEST
00003558: POP
00003559: JUMP
0000355a: JUMPDEST
0000355b: PUSH1 0x00
0000355d: DUP2
0000355e: CALLDATALOAD
0000355f: SWAP1
00003560: POP
00003561: PUSH2 0x3569
00003564: DUP2
00003565: PUSH2 0x354a
00003568: JUMP
00003569: JUMPDEST
0000356a: SWAP3
0000356b: SWAP2
0000356c: POP
0000356d: POP
0000356e: JUMP
0000356f: JUMPDEST
00003570: PUSH1 0x00
00003572: DUP1
00003573: PUSH1 0x40
00003575: DUP4
00003576: DUP6
00003577: SUB
00003578: SLT
00003579: ISZERO
0000357a: PUSH2 0x3586
0000357d: JUMPI
0000357e: PUSH2 0x3585
00003581: PUSH2 0x342c
00003584: JUMP
00003585: JUMPDEST
00003586: JUMPDEST
00003587: PUSH1 0x00
00003589: PUSH2 0x3594
0000358c: DUP6
0000358d: DUP3
0000358e: DUP7
0000358f: ADD
00003590: PUSH2 0x3508
00003593: JUMP
00003594: JUMPDEST
00003595: SWAP3
00003596: POP
00003597: POP
00003598: PUSH1 0x20
0000359a: PUSH2 0x35a5
0000359d: DUP6
0000359e: DUP3
0000359f: DUP7
000035a0: ADD
000035a1: PUSH2 0x355a
000035a4: JUMP
000035a5: JUMPDEST
000035a6: SWAP2
000035a7: POP
000035a8: POP
000035a9: SWAP3
000035aa: POP
000035ab: SWAP3
000035ac: SWAP1
000035ad: POP
000035ae: JUMP
000035af: JUMPDEST
000035b0: PUSH1 0x00
000035b2: DUP2
000035b3: SWAP1
000035b4: POP
000035b5: SWAP2
000035b6: SWAP1
000035b7: POP
000035b8: JUMP
000035b9: JUMPDEST
000035ba: PUSH2 0x35c2
000035bd: DUP2
000035be: PUSH2 0x35af
000035c1: JUMP
000035c2: JUMPDEST
000035c3: DUP2
000035c4: EQ
000035c5: PUSH2 0x35cd
000035c8: JUMPI
000035c9: PUSH1 0x00
000035cb: DUP1
000035cc: REVERT
000035cd: JUMPDEST
000035ce: POP
000035cf: JUMP
000035d0: JUMPDEST
000035d1: PUSH1 0x00
000035d3: DUP2
000035d4: CALLDATALOAD
000035d5: SWAP1
000035d6: POP
000035d7: PUSH2 0x35df
000035da: DUP2
000035db: PUSH2 0x35b9
000035de: JUMP
000035df: JUMPDEST
000035e0: SWAP3
000035e1: SWAP2
000035e2: POP
000035e3: POP
000035e4: JUMP
000035e5: JUMPDEST
000035e6: PUSH1 0x00
000035e8: PUSH1 0x20
000035ea: DUP3
000035eb: DUP5
000035ec: SUB
000035ed: SLT
000035ee: ISZERO
000035ef: PUSH2 0x35fb
000035f2: JUMPI
000035f3: PUSH2 0x35fa
000035f6: PUSH2 0x342c
000035f9: JUMP
000035fa: JUMPDEST
000035fb: JUMPDEST
000035fc: PUSH1 0x00
000035fe: PUSH2 0x3609
00003601: DUP5
00003602: DUP3
00003603: DUP6
00003604: ADD
00003605: PUSH2 0x35d0
00003608: JUMP
00003609: JUMPDEST
0000360a: SWAP2
0000360b: POP
0000360c: POP
0000360d: SWAP3
0000360e: SWAP2
0000360f: POP
00003610: POP
00003611: JUMP
00003612: JUMPDEST
00003613: PUSH2 0x361b
00003616: DUP2
00003617: PUSH2 0x35af
0000361a: JUMP
0000361b: JUMPDEST
0000361c: DUP3
0000361d: MSTORE
0000361e: POP
0000361f: POP
00003620: JUMP
00003621: JUMPDEST
00003622: PUSH1 0x00
00003624: PUSH1 0x20
00003626: DUP3
00003627: ADD
00003628: SWAP1
00003629: POP
0000362a: PUSH2 0x3636
0000362d: PUSH1 0x00
0000362f: DUP4
00003630: ADD
00003631: DUP5
00003632: PUSH2 0x3612
00003635: JUMP
00003636: JUMPDEST
00003637: SWAP3
00003638: SWAP2
00003639: POP
0000363a: POP
0000363b: JUMP
0000363c: JUMPDEST
0000363d: PUSH1 0x00
0000363f: DUP1
00003640: PUSH1 0x40
00003642: DUP4
00003643: DUP6
00003644: SUB
00003645: SLT
00003646: ISZERO
00003647: PUSH2 0x3653
0000364a: JUMPI
0000364b: PUSH2 0x3652
0000364e: PUSH2 0x342c
00003651: JUMP
00003652: JUMPDEST
00003653: JUMPDEST
00003654: PUSH1 0x00
00003656: PUSH2 0x3661
00003659: DUP6
0000365a: DUP3
0000365b: DUP7
0000365c: ADD
0000365d: PUSH2 0x35d0
00003660: JUMP
00003661: JUMPDEST
00003662: SWAP3
00003663: POP
00003664: POP
00003665: PUSH1 0x20
00003667: PUSH2 0x3672
0000366a: DUP6
0000366b: DUP3
0000366c: DUP7
0000366d: ADD
0000366e: PUSH2 0x3508
00003671: JUMP
00003672: JUMPDEST
00003673: SWAP2
00003674: POP
00003675: POP
00003676: SWAP3
00003677: POP
00003678: SWAP3
00003679: SWAP1
0000367a: POP
0000367b: JUMP
0000367c: JUMPDEST
0000367d: PUSH1 0x00
0000367f: PUSH16 0xffffffffffffffffffffffffffffffff
00003690: DUP3
00003691: AND
00003692: SWAP1
00003693: POP
00003694: SWAP2
00003695: SWAP1
00003696: POP
00003697: JUMP
00003698: JUMPDEST
00003699: PUSH2 0x36a1
0000369c: DUP2
0000369d: PUSH2 0x367c
000036a0: JUMP
000036a1: JUMPDEST
000036a2: DUP2
000036a3: EQ
000036a4: PUSH2 0x36ac
000036a7: JUMPI
000036a8: PUSH1 0x00
000036aa: DUP1
000036ab: REVERT
000036ac: JUMPDEST
000036ad: POP
000036ae: JUMP
000036af: JUMPDEST
000036b0: PUSH1 0x00
000036b2: DUP2
000036b3: CALLDATALOAD
000036b4: SWAP1
000036b5: POP
000036b6: PUSH2 0x36be
000036b9: DUP2
000036ba: PUSH2 0x3698
000036bd: JUMP
000036be: JUMPDEST
000036bf: SWAP3
000036c0: SWAP2
000036c1: POP
000036c2: POP
000036c3: JUMP
000036c4: JUMPDEST
000036c5: PUSH1 0x00
000036c7: DUP1
000036c8: PUSH1 0x00
000036ca: DUP1
000036cb: PUSH1 0x80
000036cd: DUP6
000036ce: DUP8
000036cf: SUB
000036d0: SLT
000036d1: ISZERO
000036d2: PUSH2 0x36de
000036d5: JUMPI
000036d6: PUSH2 0x36dd
000036d9: PUSH2 0x342c
000036dc: JUMP
000036dd: JUMPDEST
000036de: JUMPDEST
000036df: PUSH1 0x00
000036e1: PUSH2 0x36ec
000036e4: DUP8
000036e5: DUP3
000036e6: DUP9
000036e7: ADD
000036e8: PUSH2 0x36af
000036eb: JUMP
000036ec: JUMPDEST
000036ed: SWAP5
000036ee: POP
000036ef: POP
000036f0: PUSH1 0x20
000036f2: PUSH2 0x36fd
000036f5: DUP8
000036f6: DUP3
000036f7: DUP9
000036f8: ADD
000036f9: PUSH2 0x3508
000036fc: JUMP
000036fd: JUMPDEST
000036fe: SWAP4
000036ff: POP
00003700: POP
00003701: PUSH1 0x40
00003703: PUSH2 0x370e
00003706: DUP8
00003707: DUP3
00003708: DUP9
00003709: ADD
0000370a: PUSH2 0x35d0
0000370d: JUMP
0000370e: JUMPDEST
0000370f: SWAP3
00003710: POP
00003711: POP
00003712: PUSH1 0x60
00003714: PUSH2 0x371f
00003717: DUP8
00003718: DUP3
00003719: DUP9
0000371a: ADD
0000371b: PUSH2 0x3479
0000371e: JUMP
0000371f: JUMPDEST
00003720: SWAP2
00003721: POP
00003722: POP
00003723: SWAP3
00003724: SWAP6
00003725: SWAP2
00003726: SWAP5
00003727: POP
00003728: SWAP3
00003729: POP
0000372a: JUMP
0000372b: JUMPDEST
0000372c: PUSH1 0x00
0000372e: DUP1
0000372f: PUSH1 0x40
00003731: DUP4
00003732: DUP6
00003733: SUB
00003734: SLT
00003735: ISZERO
00003736: PUSH2 0x3742
00003739: JUMPI
0000373a: PUSH2 0x3741
0000373d: PUSH2 0x342c
00003740: JUMP
00003741: JUMPDEST
00003742: JUMPDEST
00003743: PUSH1 0x00
00003745: PUSH2 0x3750
00003748: DUP6
00003749: DUP3
0000374a: DUP7
0000374b: ADD
0000374c: PUSH2 0x3479
0000374f: JUMP
00003750: JUMPDEST
00003751: SWAP3
00003752: POP
00003753: POP
00003754: PUSH1 0x20
00003756: PUSH2 0x3761
00003759: DUP6
0000375a: DUP3
0000375b: DUP7
0000375c: ADD
0000375d: PUSH2 0x35d0
00003760: JUMP
00003761: JUMPDEST
00003762: SWAP2
00003763: POP
00003764: POP
00003765: SWAP3
00003766: POP
00003767: SWAP3
00003768: SWAP1
00003769: POP
0000376a: JUMP
0000376b: JUMPDEST
0000376c: PUSH1 0x00
0000376e: DUP2
0000376f: SWAP1
00003770: POP
00003771: SWAP2
00003772: SWAP1
00003773: POP
00003774: JUMP
00003775: JUMPDEST
00003776: PUSH2 0x377e
00003779: DUP2
0000377a: PUSH2 0x376b
0000377d: JUMP
0000377e: JUMPDEST
0000377f: DUP2
00003780: EQ
00003781: PUSH2 0x3789
00003784: JUMPI
00003785: PUSH1 0x00
00003787: DUP1
00003788: REVERT
00003789: JUMPDEST
0000378a: POP
0000378b: JUMP
0000378c: JUMPDEST
0000378d: PUSH1 0x00
0000378f: DUP2
00003790: CALLDATALOAD
00003791: SWAP1
00003792: POP
00003793: PUSH2 0x379b
00003796: DUP2
00003797: PUSH2 0x3775
0000379a: JUMP
0000379b: JUMPDEST
0000379c: SWAP3
0000379d: SWAP2
0000379e: POP
0000379f: POP
000037a0: JUMP
000037a1: JUMPDEST
000037a2: PUSH1 0x00
000037a4: DUP1
000037a5: PUSH1 0x00
000037a7: DUP1
000037a8: PUSH1 0x00
000037aa: PUSH1 0xa0
000037ac: DUP7
000037ad: DUP9
000037ae: SUB
000037af: SLT
000037b0: ISZERO
000037b1: PUSH2 0x37bd
000037b4: JUMPI
000037b5: PUSH2 0x37bc
000037b8: PUSH2 0x342c
000037bb: JUMP
000037bc: JUMPDEST
000037bd: JUMPDEST
000037be: PUSH1 0x00
000037c0: PUSH2 0x37cb
000037c3: DUP9
000037c4: DUP3
000037c5: DUP10
000037c6: ADD
000037c7: PUSH2 0x36af
000037ca: JUMP
000037cb: JUMPDEST
000037cc: SWAP6
000037cd: POP
000037ce: POP
000037cf: PUSH1 0x20
000037d1: PUSH2 0x37dc
000037d4: DUP9
000037d5: DUP3
000037d6: DUP10
000037d7: ADD
000037d8: PUSH2 0x3508
000037db: JUMP
000037dc: JUMPDEST
000037dd: SWAP5
000037de: POP
000037df: POP
000037e0: PUSH1 0x40
000037e2: PUSH2 0x37ed
000037e5: DUP9
000037e6: DUP3
000037e7: DUP10
000037e8: ADD
000037e9: PUSH2 0x35d0
000037ec: JUMP
000037ed: JUMPDEST
000037ee: SWAP4
000037ef: POP
000037f0: POP
000037f1: PUSH1 0x60
000037f3: PUSH2 0x37fe
000037f6: DUP9
000037f7: DUP3
000037f8: DUP10
000037f9: ADD
000037fa: PUSH2 0x3479
000037fd: JUMP
000037fe: JUMPDEST
000037ff: SWAP3
00003800: POP
00003801: POP
00003802: PUSH1 0x80
00003804: PUSH2 0x380f
00003807: DUP9
00003808: DUP3
00003809: DUP10
0000380a: ADD
0000380b: PUSH2 0x378c
0000380e: JUMP
0000380f: JUMPDEST
00003810: SWAP2
00003811: POP
00003812: POP
00003813: SWAP3
00003814: SWAP6
00003815: POP
00003816: SWAP3
00003817: SWAP6
00003818: SWAP1
00003819: SWAP4
0000381a: POP
0000381b: JUMP
0000381c: JUMPDEST
0000381d: PUSH1 0x00
0000381f: DUP1
00003820: REVERT
00003821: JUMPDEST
00003822: PUSH1 0x00
00003824: DUP1
00003825: REVERT
00003826: JUMPDEST
00003827: PUSH1 0x00
00003829: DUP1
0000382a: REVERT
0000382b: JUMPDEST
0000382c: PUSH1 0x00
0000382e: DUP1
0000382f: DUP4
00003830: PUSH1 0x1f
00003832: DUP5
00003833: ADD
00003834: SLT
00003835: PUSH2 0x3841
00003838: JUMPI
00003839: PUSH2 0x3840
0000383c: PUSH2 0x381c
0000383f: JUMP
00003840: JUMPDEST
00003841: JUMPDEST
00003842: DUP3
00003843: CALLDATALOAD
00003844: SWAP1
00003845: POP
00003846: PUSH8 0xffffffffffffffff
0000384f: DUP2
00003850: GT
00003851: ISZERO
00003852: PUSH2 0x385e
00003855: JUMPI
00003856: PUSH2 0x385d
00003859: PUSH2 0x3821
0000385c: JUMP
0000385d: JUMPDEST
0000385e: JUMPDEST
0000385f: PUSH1 0x20
00003861: DUP4
00003862: ADD
00003863: SWAP2
00003864: POP
00003865: DUP4
00003866: PUSH1 0x01
00003868: DUP3
00003869: MUL
0000386a: DUP4
0000386b: ADD
0000386c: GT
0000386d: ISZERO
0000386e: PUSH2 0x387a
00003871: JUMPI
00003872: PUSH2 0x3879
00003875: PUSH2 0x3826
00003878: JUMP
00003879: JUMPDEST
0000387a: JUMPDEST
0000387b: SWAP3
0000387c: POP
0000387d: SWAP3
0000387e: SWAP1
0000387f: POP
00003880: JUMP
00003881: JUMPDEST
00003882: PUSH1 0x00
00003884: DUP1
00003885: PUSH1 0x00
00003887: DUP1
00003888: PUSH1 0x00
0000388a: DUP1
0000388b: PUSH1 0x00
0000388d: DUP1
0000388e: PUSH1 0x00
00003890: DUP1
00003891: PUSH2 0x0100
00003894: DUP12
00003895: DUP14
00003896: SUB
00003897: SLT
00003898: ISZERO
00003899: PUSH2 0x38a5
0000389c: JUMPI
0000389d: PUSH2 0x38a4
000038a0: PUSH2 0x342c
000038a3: JUMP
000038a4: JUMPDEST
000038a5: JUMPDEST
000038a6: PUSH1 0x00
000038a8: PUSH2 0x38b3
000038ab: DUP14
000038ac: DUP3
000038ad: DUP15
000038ae: ADD
000038af: PUSH2 0x36af
000038b2: JUMP
000038b3: JUMPDEST
000038b4: SWAP11
000038b5: POP
000038b6: POP
000038b7: PUSH1 0x20
000038b9: PUSH2 0x38c4
000038bc: DUP14
000038bd: DUP3
000038be: DUP15
000038bf: ADD
000038c0: PUSH2 0x3508
000038c3: JUMP
000038c4: JUMPDEST
000038c5: SWAP10
000038c6: POP
000038c7: POP
000038c8: PUSH1 0x40
000038ca: PUSH2 0x38d5
000038cd: DUP14
000038ce: DUP3
000038cf: DUP15
000038d0: ADD
000038d1: PUSH2 0x378c
000038d4: JUMP
000038d5: JUMPDEST
000038d6: SWAP9
000038d7: POP
000038d8: POP
000038d9: PUSH1 0x60
000038db: PUSH2 0x38e6
000038de: DUP14
000038df: DUP3
000038e0: DUP15
000038e1: ADD
000038e2: PUSH2 0x3479
000038e5: JUMP
000038e6: JUMPDEST
000038e7: SWAP8
000038e8: POP
000038e9: POP
000038ea: PUSH1 0x80
000038ec: PUSH2 0x38f7
000038ef: DUP14
000038f0: DUP3
000038f1: DUP15
000038f2: ADD
000038f3: PUSH2 0x3479
000038f6: JUMP
000038f7: JUMPDEST
000038f8: SWAP7
000038f9: POP
000038fa: POP
000038fb: PUSH1 0xa0
000038fd: PUSH2 0x3908
00003900: DUP14
00003901: DUP3
00003902: DUP15
00003903: ADD
00003904: PUSH2 0x35d0
00003907: JUMP
00003908: JUMPDEST
00003909: SWAP6
0000390a: POP
0000390b: POP
0000390c: PUSH1 0xc0
0000390e: DUP12
0000390f: ADD
00003910: CALLDATALOAD
00003911: PUSH8 0xffffffffffffffff
0000391a: DUP2
0000391b: GT
0000391c: ISZERO
0000391d: PUSH2 0x3929
00003920: JUMPI
00003921: PUSH2 0x3928
00003924: PUSH2 0x3431
00003927: JUMP
00003928: JUMPDEST
00003929: JUMPDEST
0000392a: PUSH2 0x3935
0000392d: DUP14
0000392e: DUP3
0000392f: DUP15
00003930: ADD
00003931: PUSH2 0x382b
00003934: JUMP
00003935: JUMPDEST
00003936: SWAP5
00003937: POP
00003938: SWAP5
00003939: POP
0000393a: POP
0000393b: PUSH1 0xe0
0000393d: DUP12
0000393e: ADD
0000393f: CALLDATALOAD
00003940: PUSH8 0xffffffffffffffff
00003949: DUP2
0000394a: GT
0000394b: ISZERO
0000394c: PUSH2 0x3958
0000394f: JUMPI
00003950: PUSH2 0x3957
00003953: PUSH2 0x3431
00003956: JUMP
00003957: JUMPDEST
00003958: JUMPDEST
00003959: PUSH2 0x3964
0000395c: DUP14
0000395d: DUP3
0000395e: DUP15
0000395f: ADD
00003960: PUSH2 0x382b
00003963: JUMP
00003964: JUMPDEST
00003965: SWAP3
00003966: POP
00003967: SWAP3
00003968: POP
00003969: POP
0000396a: SWAP3
0000396b: SWAP6
0000396c: SWAP9
0000396d: SWAP12
0000396e: SWAP2
0000396f: SWAP5
00003970: SWAP8
00003971: SWAP11
00003972: POP
00003973: SWAP3
00003974: SWAP6
00003975: SWAP9
00003976: POP
00003977: JUMP
00003978: JUMPDEST
00003979: PUSH2 0x3981
0000397c: DUP2
0000397d: PUSH2 0x3436
00003980: JUMP
00003981: JUMPDEST
00003982: DUP3
00003983: MSTORE
00003984: POP
00003985: POP
00003986: JUMP
00003987: JUMPDEST
00003988: PUSH1 0x00
0000398a: PUSH1 0xff
0000398c: DUP3
0000398d: AND
0000398e: SWAP1
0000398f: POP
00003990: SWAP2
00003991: SWAP1
00003992: POP
00003993: JUMP
00003994: JUMPDEST
00003995: PUSH2 0x399d
00003998: DUP2
00003999: PUSH2 0x3987
0000399c: JUMP
0000399d: JUMPDEST
0000399e: DUP3
0000399f: MSTORE
000039a0: POP
000039a1: POP
000039a2: JUMP
000039a3: JUMPDEST
000039a4: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000039c5: PUSH1 0x00
000039c7: MSTORE
000039c8: PUSH1 0x21
000039ca: PUSH1 0x04
000039cc: MSTORE
000039cd: PUSH1 0x24
000039cf: PUSH1 0x00
000039d1: REVERT
000039d2: JUMPDEST
000039d3: PUSH1 0x04
000039d5: DUP2
000039d6: LT
000039d7: PUSH2 0x39e3
000039da: JUMPI
000039db: PUSH2 0x39e2
000039de: PUSH2 0x39a3
000039e1: JUMP
000039e2: JUMPDEST
000039e3: JUMPDEST
000039e4: POP
000039e5: JUMP
000039e6: JUMPDEST
000039e7: PUSH1 0x00
000039e9: DUP2
000039ea: SWAP1
000039eb: POP
000039ec: PUSH2 0x39f4
000039ef: DUP3
000039f0: PUSH2 0x39d2
000039f3: JUMP
000039f4: JUMPDEST
000039f5: SWAP2
000039f6: SWAP1
000039f7: POP
000039f8: JUMP
000039f9: JUMPDEST
000039fa: PUSH1 0x00
000039fc: PUSH2 0x3a04
000039ff: DUP3
00003a00: PUSH2 0x39e6
00003a03: JUMP
00003a04: JUMPDEST
00003a05: SWAP1
00003a06: POP
00003a07: SWAP2
00003a08: SWAP1
00003a09: POP
00003a0a: JUMP
00003a0b: JUMPDEST
00003a0c: PUSH2 0x3a14
00003a0f: DUP2
00003a10: PUSH2 0x39f9
00003a13: JUMP
00003a14: JUMPDEST
00003a15: DUP3
00003a16: MSTORE
00003a17: POP
00003a18: POP
00003a19: JUMP
00003a1a: JUMPDEST
00003a1b: PUSH1 0x02
00003a1d: DUP2
00003a1e: LT
00003a1f: PUSH2 0x3a2b
00003a22: JUMPI
00003a23: PUSH2 0x3a2a
00003a26: PUSH2 0x39a3
00003a29: JUMP
00003a2a: JUMPDEST
00003a2b: JUMPDEST
00003a2c: POP
00003a2d: JUMP
00003a2e: JUMPDEST
00003a2f: PUSH1 0x00
00003a31: DUP2
00003a32: SWAP1
00003a33: POP
00003a34: PUSH2 0x3a3c
00003a37: DUP3
00003a38: PUSH2 0x3a1a
00003a3b: JUMP
00003a3c: JUMPDEST
00003a3d: SWAP2
00003a3e: SWAP1
00003a3f: POP
00003a40: JUMP
00003a41: JUMPDEST
00003a42: PUSH1 0x00
00003a44: PUSH2 0x3a4c
00003a47: DUP3
00003a48: PUSH2 0x3a2e
00003a4b: JUMP
00003a4c: JUMPDEST
00003a4d: SWAP1
00003a4e: POP
00003a4f: SWAP2
00003a50: SWAP1
00003a51: POP
00003a52: JUMP
00003a53: JUMPDEST
00003a54: PUSH2 0x3a5c
00003a57: DUP2
00003a58: PUSH2 0x3a41
00003a5b: JUMP
00003a5c: JUMPDEST
00003a5d: DUP3
00003a5e: MSTORE
00003a5f: POP
00003a60: POP
00003a61: JUMP
00003a62: JUMPDEST
00003a63: PUSH1 0x00
00003a65: PUSH1 0xa0
00003a67: DUP3
00003a68: ADD
00003a69: SWAP1
00003a6a: POP
00003a6b: PUSH2 0x3a77
00003a6e: PUSH1 0x00
00003a70: DUP4
00003a71: ADD
00003a72: DUP9
00003a73: PUSH2 0x3978
00003a76: JUMP
00003a77: JUMPDEST
00003a78: PUSH2 0x3a84
00003a7b: PUSH1 0x20
00003a7d: DUP4
00003a7e: ADD
00003a7f: DUP8
00003a80: PUSH2 0x3612
00003a83: JUMP
00003a84: JUMPDEST
00003a85: PUSH2 0x3a91
00003a88: PUSH1 0x40
00003a8a: DUP4
00003a8b: ADD
00003a8c: DUP7
00003a8d: PUSH2 0x3994
00003a90: JUMP
00003a91: JUMPDEST
00003a92: PUSH2 0x3a9e
00003a95: PUSH1 0x60
00003a97: DUP4
00003a98: ADD
00003a99: DUP6
00003a9a: PUSH2 0x3a0b
00003a9d: JUMP
00003a9e: JUMPDEST
00003a9f: PUSH2 0x3aab
00003aa2: PUSH1 0x80
00003aa4: DUP4
00003aa5: ADD
00003aa6: DUP5
00003aa7: PUSH2 0x3a53
00003aaa: JUMP
00003aab: JUMPDEST
00003aac: SWAP7
00003aad: SWAP6
00003aae: POP
00003aaf: POP
00003ab0: POP
00003ab1: POP
00003ab2: POP
00003ab3: POP
00003ab4: JUMP
00003ab5: JUMPDEST
00003ab6: PUSH1 0x04
00003ab8: DUP2
00003ab9: LT
00003aba: PUSH2 0x3ac2
00003abd: JUMPI
00003abe: PUSH1 0x00
00003ac0: DUP1
00003ac1: REVERT
00003ac2: JUMPDEST
00003ac3: POP
00003ac4: JUMP
00003ac5: JUMPDEST
00003ac6: PUSH1 0x00
00003ac8: DUP2
00003ac9: CALLDATALOAD
00003aca: SWAP1
00003acb: POP
00003acc: PUSH2 0x3ad4
00003acf: DUP2
00003ad0: PUSH2 0x3ab5
00003ad3: JUMP
00003ad4: JUMPDEST
00003ad5: SWAP3
00003ad6: SWAP2
00003ad7: POP
00003ad8: POP
00003ad9: JUMP
00003ada: JUMPDEST
00003adb: PUSH1 0x00
00003add: DUP1
00003ade: PUSH1 0x00
00003ae0: DUP1
00003ae1: PUSH1 0x80
00003ae3: DUP6
00003ae4: DUP8
00003ae5: SUB
00003ae6: SLT
00003ae7: ISZERO
00003ae8: PUSH2 0x3af4
00003aeb: JUMPI
00003aec: PUSH2 0x3af3
00003aef: PUSH2 0x342c
00003af2: JUMP
00003af3: JUMPDEST
00003af4: JUMPDEST
00003af5: PUSH1 0x00
00003af7: PUSH2 0x3b02
00003afa: DUP8
00003afb: DUP3
00003afc: DUP9
00003afd: ADD
00003afe: PUSH2 0x3479
00003b01: JUMP
00003b02: JUMPDEST
00003b03: SWAP5
00003b04: POP
00003b05: POP
00003b06: PUSH1 0x20
00003b08: PUSH2 0x3b13
00003b0b: DUP8
00003b0c: DUP3
00003b0d: DUP9
00003b0e: ADD
00003b0f: PUSH2 0x35d0
00003b12: JUMP
00003b13: JUMPDEST
00003b14: SWAP4
00003b15: POP
00003b16: POP
00003b17: PUSH1 0x40
00003b19: PUSH2 0x3b24
00003b1c: DUP8
00003b1d: DUP3
00003b1e: DUP9
00003b1f: ADD
00003b20: PUSH2 0x3508
00003b23: JUMP
00003b24: JUMPDEST
00003b25: SWAP3
00003b26: POP
00003b27: POP
00003b28: PUSH1 0x60
00003b2a: PUSH2 0x3b35
00003b2d: DUP8
00003b2e: DUP3
00003b2f: DUP9
00003b30: ADD
00003b31: PUSH2 0x3ac5
00003b34: JUMP
00003b35: JUMPDEST
00003b36: SWAP2
00003b37: POP
00003b38: POP
00003b39: SWAP3
00003b3a: SWAP6
00003b3b: SWAP2
00003b3c: SWAP5
00003b3d: POP
00003b3e: SWAP3
00003b3f: POP
00003b40: JUMP
00003b41: JUMPDEST
00003b42: PUSH1 0x00
00003b44: DUP1
00003b45: PUSH1 0x00
00003b47: PUSH1 0x60
00003b49: DUP5
00003b4a: DUP7
00003b4b: SUB
00003b4c: SLT
00003b4d: ISZERO
00003b4e: PUSH2 0x3b5a
00003b51: JUMPI
00003b52: PUSH2 0x3b59
00003b55: PUSH2 0x342c
00003b58: JUMP
00003b59: JUMPDEST
00003b5a: JUMPDEST
00003b5b: PUSH1 0x00
00003b5d: PUSH2 0x3b68
00003b60: DUP7
00003b61: DUP3
00003b62: DUP8
00003b63: ADD
00003b64: PUSH2 0x3479
00003b67: JUMP
00003b68: JUMPDEST
00003b69: SWAP4
00003b6a: POP
00003b6b: POP
00003b6c: PUSH1 0x20
00003b6e: PUSH2 0x3b79
00003b71: DUP7
00003b72: DUP3
00003b73: DUP8
00003b74: ADD
00003b75: PUSH2 0x35d0
00003b78: JUMP
00003b79: JUMPDEST
00003b7a: SWAP3
00003b7b: POP
00003b7c: POP
00003b7d: PUSH1 0x40
00003b7f: PUSH2 0x3b8a
00003b82: DUP7
00003b83: DUP3
00003b84: DUP8
00003b85: ADD
00003b86: PUSH2 0x3508
00003b89: JUMP
00003b8a: JUMPDEST
00003b8b: SWAP2
00003b8c: POP
00003b8d: POP
00003b8e: SWAP3
00003b8f: POP
00003b90: SWAP3
00003b91: POP
00003b92: SWAP3
00003b93: JUMP
00003b94: JUMPDEST
00003b95: PUSH1 0x00
00003b97: DUP3
00003b98: DUP3
00003b99: MSTORE
00003b9a: PUSH1 0x20
00003b9c: DUP3
00003b9d: ADD
00003b9e: SWAP1
00003b9f: POP
00003ba0: SWAP3
00003ba1: SWAP2
00003ba2: POP
00003ba3: POP
00003ba4: JUMP
00003ba5: JUMPDEST
00003ba6: PUSH32 0x4272696467653a20756e737570706f7274656420746f6b656e00000000000000
00003bc7: PUSH1 0x00
00003bc9: DUP3
00003bca: ADD
00003bcb: MSTORE
00003bcc: POP
00003bcd: JUMP
00003bce: JUMPDEST
00003bcf: PUSH1 0x00
00003bd1: PUSH2 0x3bdb
00003bd4: PUSH1 0x19
00003bd6: DUP4
00003bd7: PUSH2 0x3b94
00003bda: JUMP
00003bdb: JUMPDEST
00003bdc: SWAP2
00003bdd: POP
00003bde: PUSH2 0x3be6
00003be1: DUP3
00003be2: PUSH2 0x3ba5
00003be5: JUMP
00003be6: JUMPDEST
00003be7: PUSH1 0x20
00003be9: DUP3
00003bea: ADD
00003beb: SWAP1
00003bec: POP
00003bed: SWAP2
00003bee: SWAP1
00003bef: POP
00003bf0: JUMP
00003bf1: JUMPDEST
00003bf2: PUSH1 0x00
00003bf4: PUSH1 0x20
00003bf6: DUP3
00003bf7: ADD
00003bf8: SWAP1
00003bf9: POP
00003bfa: DUP2
00003bfb: DUP2
00003bfc: SUB
00003bfd: PUSH1 0x00
00003bff: DUP4
00003c00: ADD
00003c01: MSTORE
00003c02: PUSH2 0x3c0a
00003c05: DUP2
00003c06: PUSH2 0x3bce
00003c09: JUMP
00003c0a: JUMPDEST
00003c0b: SWAP1
00003c0c: POP
00003c0d: SWAP2
00003c0e: SWAP1
00003c0f: POP
00003c10: JUMP
00003c11: JUMPDEST
00003c12: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
00003c33: PUSH1 0x00
00003c35: DUP3
00003c36: ADD
00003c37: MSTORE
00003c38: PUSH32 0x20726f6c657320666f722073656c660000000000000000000000000000000000
00003c59: PUSH1 0x20
00003c5b: DUP3
00003c5c: ADD
00003c5d: MSTORE
00003c5e: POP
00003c5f: JUMP
00003c60: JUMPDEST
00003c61: PUSH1 0x00
00003c63: PUSH2 0x3c6d
00003c66: PUSH1 0x2f
00003c68: DUP4
00003c69: PUSH2 0x3b94
00003c6c: JUMP
00003c6d: JUMPDEST
00003c6e: SWAP2
00003c6f: POP
00003c70: PUSH2 0x3c78
00003c73: DUP3
00003c74: PUSH2 0x3c11
00003c77: JUMP
00003c78: JUMPDEST
00003c79: PUSH1 0x40
00003c7b: DUP3
00003c7c: ADD
00003c7d: SWAP1
00003c7e: POP
00003c7f: SWAP2
00003c80: SWAP1
00003c81: POP
00003c82: JUMP
00003c83: JUMPDEST
00003c84: PUSH1 0x00
00003c86: PUSH1 0x20
00003c88: DUP3
00003c89: ADD
00003c8a: SWAP1
00003c8b: POP
00003c8c: DUP2
00003c8d: DUP2
00003c8e: SUB
00003c8f: PUSH1 0x00
00003c91: DUP4
00003c92: ADD
00003c93: MSTORE
00003c94: PUSH2 0x3c9c
00003c97: DUP2
00003c98: PUSH2 0x3c60
00003c9b: JUMP
00003c9c: JUMPDEST
00003c9d: SWAP1
00003c9e: POP
00003c9f: SWAP2
00003ca0: SWAP1
00003ca1: POP
00003ca2: JUMP
00003ca3: JUMPDEST
00003ca4: PUSH32 0x4272696467653a206973206e6f74206163746976650000000000000000000000
00003cc5: PUSH1 0x00
00003cc7: DUP3
00003cc8: ADD
00003cc9: MSTORE
00003cca: POP
00003ccb: JUMP
00003ccc: JUMPDEST
00003ccd: PUSH1 0x00
00003ccf: PUSH2 0x3cd9
00003cd2: PUSH1 0x15
00003cd4: DUP4
00003cd5: PUSH2 0x3b94
00003cd8: JUMP
00003cd9: JUMPDEST
00003cda: SWAP2
00003cdb: POP
00003cdc: PUSH2 0x3ce4
00003cdf: DUP3
00003ce0: PUSH2 0x3ca3
00003ce3: JUMP
00003ce4: JUMPDEST
00003ce5: PUSH1 0x20
00003ce7: DUP3
00003ce8: ADD
00003ce9: SWAP1
00003cea: POP
00003ceb: SWAP2
00003cec: SWAP1
00003ced: POP
00003cee: JUMP
00003cef: JUMPDEST
00003cf0: PUSH1 0x00
00003cf2: PUSH1 0x20
00003cf4: DUP3
00003cf5: ADD
00003cf6: SWAP1
00003cf7: POP
00003cf8: DUP2
00003cf9: DUP2
00003cfa: SUB
00003cfb: PUSH1 0x00
00003cfd: DUP4
00003cfe: ADD
00003cff: MSTORE
00003d00: PUSH2 0x3d08
00003d03: DUP2
00003d04: PUSH2 0x3ccc
00003d07: JUMP
00003d08: JUMPDEST
00003d09: SWAP1
00003d0a: POP
00003d0b: SWAP2
00003d0c: SWAP1
00003d0d: POP
00003d0e: JUMP
00003d0f: JUMPDEST
00003d10: PUSH32 0x4272696467653a2064697361626c656420746f6b656e00000000000000000000
00003d31: PUSH1 0x00
00003d33: DUP3
00003d34: ADD
00003d35: MSTORE
00003d36: POP
00003d37: JUMP
00003d38: JUMPDEST
00003d39: PUSH1 0x00
00003d3b: PUSH2 0x3d45
00003d3e: PUSH1 0x16
00003d40: DUP4
00003d41: PUSH2 0x3b94
00003d44: JUMP
00003d45: JUMPDEST
00003d46: SWAP2
00003d47: POP
00003d48: PUSH2 0x3d50
00003d4b: DUP3
00003d4c: PUSH2 0x3d0f
00003d4f: JUMP
00003d50: JUMPDEST
00003d51: PUSH1 0x20
00003d53: DUP3
00003d54: ADD
00003d55: SWAP1
00003d56: POP
00003d57: SWAP2
00003d58: SWAP1
00003d59: POP
00003d5a: JUMP
00003d5b: JUMPDEST
00003d5c: PUSH1 0x00
00003d5e: PUSH1 0x20
00003d60: DUP3
00003d61: ADD
00003d62: SWAP1
00003d63: POP
00003d64: DUP2
00003d65: DUP2
00003d66: SUB
00003d67: PUSH1 0x00
00003d69: DUP4
00003d6a: ADD
00003d6b: MSTORE
00003d6c: PUSH2 0x3d74
00003d6f: DUP2
00003d70: PUSH2 0x3d38
00003d73: JUMP
00003d74: JUMPDEST
00003d75: SWAP1
00003d76: POP
00003d77: SWAP2
00003d78: SWAP1
00003d79: POP
00003d7a: JUMP
00003d7b: JUMPDEST
00003d7c: PUSH32 0x4272696467653a20696e76616c696420746f6b656e2074797065000000000000
00003d9d: PUSH1 0x00
00003d9f: DUP3
00003da0: ADD
00003da1: MSTORE
00003da2: POP
00003da3: JUMP
00003da4: JUMPDEST
00003da5: PUSH1 0x00
00003da7: PUSH2 0x3db1
00003daa: PUSH1 0x1a
00003dac: DUP4
00003dad: PUSH2 0x3b94
00003db0: JUMP
00003db1: JUMPDEST
00003db2: SWAP2
00003db3: POP
00003db4: PUSH2 0x3dbc
00003db7: DUP3
00003db8: PUSH2 0x3d7b
00003dbb: JUMP
00003dbc: JUMPDEST
00003dbd: PUSH1 0x20
00003dbf: DUP3
00003dc0: ADD
00003dc1: SWAP1
00003dc2: POP
00003dc3: SWAP2
00003dc4: SWAP1
00003dc5: POP
00003dc6: JUMP
00003dc7: JUMPDEST
00003dc8: PUSH1 0x00
00003dca: PUSH1 0x20
00003dcc: DUP3
00003dcd: ADD
00003dce: SWAP1
00003dcf: POP
00003dd0: DUP2
00003dd1: DUP2
00003dd2: SUB
00003dd3: PUSH1 0x00
00003dd5: DUP4
00003dd6: ADD
00003dd7: MSTORE
00003dd8: PUSH2 0x3de0
00003ddb: DUP2
00003ddc: PUSH2 0x3da4
00003ddf: JUMP
00003de0: JUMPDEST
00003de1: SWAP1
00003de2: POP
00003de3: SWAP2
00003de4: SWAP1
00003de5: POP
00003de6: JUMP
00003de7: JUMPDEST
00003de8: PUSH2 0x3df0
00003deb: DUP2
00003dec: PUSH2 0x376b
00003def: JUMP
00003df0: JUMPDEST
00003df1: DUP3
00003df2: MSTORE
00003df3: POP
00003df4: POP
00003df5: JUMP
00003df6: JUMPDEST
00003df7: PUSH1 0x00
00003df9: PUSH1 0x40
00003dfb: DUP3
00003dfc: ADD
00003dfd: SWAP1
00003dfe: POP
00003dff: PUSH2 0x3e0b
00003e02: PUSH1 0x00
00003e04: DUP4
00003e05: ADD
00003e06: DUP6
00003e07: PUSH2 0x3402
00003e0a: JUMP
00003e0b: JUMPDEST
00003e0c: PUSH2 0x3e18
00003e0f: PUSH1 0x20
00003e11: DUP4
00003e12: ADD
00003e13: DUP5
00003e14: PUSH2 0x3de7
00003e17: JUMP
00003e18: JUMPDEST
00003e19: SWAP4
00003e1a: SWAP3
00003e1b: POP
00003e1c: POP
00003e1d: POP
00003e1e: JUMP
00003e1f: JUMPDEST
00003e20: PUSH2 0x3e28
00003e23: DUP2
00003e24: PUSH2 0x367c
00003e27: JUMP
00003e28: JUMPDEST
00003e29: DUP3
00003e2a: MSTORE
00003e2b: POP
00003e2c: POP
00003e2d: JUMP
00003e2e: JUMPDEST
00003e2f: PUSH1 0x00
00003e31: DUP3
00003e32: DUP3
00003e33: MSTORE
00003e34: PUSH1 0x20
00003e36: DUP3
00003e37: ADD
00003e38: SWAP1
00003e39: POP
00003e3a: SWAP3
00003e3b: SWAP2
00003e3c: POP
00003e3d: POP
00003e3e: JUMP
00003e3f: JUMPDEST
00003e40: DUP3
00003e41: DUP2
00003e42: DUP4
00003e43: CALLDATACOPY
00003e44: PUSH1 0x00
00003e46: DUP4
00003e47: DUP4
00003e48: ADD
00003e49: MSTORE
00003e4a: POP
00003e4b: POP
00003e4c: POP
00003e4d: JUMP
00003e4e: JUMPDEST
00003e4f: PUSH1 0x00
00003e51: PUSH1 0x1f
00003e53: NOT
00003e54: PUSH1 0x1f
00003e56: DUP4
00003e57: ADD
00003e58: AND
00003e59: SWAP1
00003e5a: POP
00003e5b: SWAP2
00003e5c: SWAP1
00003e5d: POP
00003e5e: JUMP
00003e5f: JUMPDEST
00003e60: PUSH1 0x00
00003e62: PUSH2 0x3e6b
00003e65: DUP4
00003e66: DUP6
00003e67: PUSH2 0x3e2e
00003e6a: JUMP
00003e6b: JUMPDEST
00003e6c: SWAP4
00003e6d: POP
00003e6e: PUSH2 0x3e78
00003e71: DUP4
00003e72: DUP6
00003e73: DUP5
00003e74: PUSH2 0x3e3f
00003e77: JUMP
00003e78: JUMPDEST
00003e79: PUSH2 0x3e81
00003e7c: DUP4
00003e7d: PUSH2 0x3e4e
00003e80: JUMP
00003e81: JUMPDEST
00003e82: DUP5
00003e83: ADD
00003e84: SWAP1
00003e85: POP
00003e86: SWAP4
00003e87: SWAP3
00003e88: POP
00003e89: POP
00003e8a: POP
00003e8b: JUMP
00003e8c: JUMPDEST
00003e8d: PUSH1 0x00
00003e8f: PUSH2 0x0100
00003e92: DUP3
00003e93: ADD
00003e94: SWAP1
00003e95: POP
00003e96: PUSH2 0x3ea2
00003e99: PUSH1 0x00
00003e9b: DUP4
00003e9c: ADD
00003e9d: DUP14
00003e9e: PUSH2 0x3e1f
00003ea1: JUMP
00003ea2: JUMPDEST
00003ea3: PUSH2 0x3eaf
00003ea6: PUSH1 0x20
00003ea8: DUP4
00003ea9: ADD
00003eaa: DUP13
00003eab: PUSH2 0x3402
00003eae: JUMP
00003eaf: JUMPDEST
00003eb0: PUSH2 0x3ebc
00003eb3: PUSH1 0x40
00003eb5: DUP4
00003eb6: ADD
00003eb7: DUP12
00003eb8: PUSH2 0x3de7
00003ebb: JUMP
00003ebc: JUMPDEST
00003ebd: PUSH2 0x3ec9
00003ec0: PUSH1 0x60
00003ec2: DUP4
00003ec3: ADD
00003ec4: DUP11
00003ec5: PUSH2 0x3978
00003ec8: JUMP
00003ec9: JUMPDEST
00003eca: PUSH2 0x3ed6
00003ecd: PUSH1 0x80
00003ecf: DUP4
00003ed0: ADD
00003ed1: DUP10
00003ed2: PUSH2 0x3978
00003ed5: JUMP
00003ed6: JUMPDEST
00003ed7: PUSH2 0x3ee3
00003eda: PUSH1 0xa0
00003edc: DUP4
00003edd: ADD
00003ede: DUP9
00003edf: PUSH2 0x3612
00003ee2: JUMP
00003ee3: JUMPDEST
00003ee4: DUP2
00003ee5: DUP2
00003ee6: SUB
00003ee7: PUSH1 0xc0
00003ee9: DUP4
00003eea: ADD
00003eeb: MSTORE
00003eec: PUSH2 0x3ef6
00003eef: DUP2
00003ef0: DUP7
00003ef1: DUP9
00003ef2: PUSH2 0x3e5f
00003ef5: JUMP
00003ef6: JUMPDEST
00003ef7: SWAP1
00003ef8: POP
00003ef9: DUP2
00003efa: DUP2
00003efb: SUB
00003efc: PUSH1 0xe0
00003efe: DUP4
00003eff: ADD
00003f00: MSTORE
00003f01: PUSH2 0x3f0b
00003f04: DUP2
00003f05: DUP5
00003f06: DUP7
00003f07: PUSH2 0x3e5f
00003f0a: JUMP
00003f0b: JUMPDEST
00003f0c: SWAP1
00003f0d: POP
00003f0e: SWAP12
00003f0f: SWAP11
00003f10: POP
00003f11: POP
00003f12: POP
00003f13: POP
00003f14: POP
00003f15: POP
00003f16: POP
00003f17: POP
00003f18: POP
00003f19: POP
00003f1a: POP
00003f1b: JUMP
00003f1c: JUMPDEST
00003f1d: PUSH1 0x00
00003f1f: DUP2
00003f20: MLOAD
00003f21: SWAP1
00003f22: POP
00003f23: PUSH2 0x3f2b
00003f26: DUP2
00003f27: PUSH2 0x3775
00003f2a: JUMP
00003f2b: JUMPDEST
00003f2c: SWAP3
00003f2d: SWAP2
00003f2e: POP
00003f2f: POP
00003f30: JUMP
00003f31: JUMPDEST
00003f32: PUSH1 0x00
00003f34: PUSH1 0x20
00003f36: DUP3
00003f37: DUP5
00003f38: SUB
00003f39: SLT
00003f3a: ISZERO
00003f3b: PUSH2 0x3f47
00003f3e: JUMPI
00003f3f: PUSH2 0x3f46
00003f42: PUSH2 0x342c
00003f45: JUMP
00003f46: JUMPDEST
00003f47: JUMPDEST
00003f48: PUSH1 0x00
00003f4a: PUSH2 0x3f55
00003f4d: DUP5
00003f4e: DUP3
00003f4f: DUP6
00003f50: ADD
00003f51: PUSH2 0x3f1c
00003f54: JUMP
00003f55: JUMPDEST
00003f56: SWAP2
00003f57: POP
00003f58: POP
00003f59: SWAP3
00003f5a: SWAP2
00003f5b: POP
00003f5c: POP
00003f5d: JUMP
00003f5e: JUMPDEST
00003f5f: PUSH32 0x4272696467653a20616d6f756e7420746f6f20736d616c6c0000000000000000
00003f80: PUSH1 0x00
00003f82: DUP3
00003f83: ADD
00003f84: MSTORE
00003f85: POP
00003f86: JUMP
00003f87: JUMPDEST
00003f88: PUSH1 0x00
00003f8a: PUSH2 0x3f94
00003f8d: PUSH1 0x18
00003f8f: DUP4
00003f90: PUSH2 0x3b94
00003f93: JUMP
00003f94: JUMPDEST
00003f95: SWAP2
00003f96: POP
00003f97: PUSH2 0x3f9f
00003f9a: DUP3
00003f9b: PUSH2 0x3f5e
00003f9e: JUMP
00003f9f: JUMPDEST
00003fa0: PUSH1 0x20
00003fa2: DUP3
00003fa3: ADD
00003fa4: SWAP1
00003fa5: POP
00003fa6: SWAP2
00003fa7: SWAP1
00003fa8: POP
00003fa9: JUMP
00003faa: JUMPDEST
00003fab: PUSH1 0x00
00003fad: PUSH1 0x20
00003faf: DUP3
00003fb0: ADD
00003fb1: SWAP1
00003fb2: POP
00003fb3: DUP2
00003fb4: DUP2
00003fb5: SUB
00003fb6: PUSH1 0x00
00003fb8: DUP4
00003fb9: ADD
00003fba: MSTORE
00003fbb: PUSH2 0x3fc3
00003fbe: DUP2
00003fbf: PUSH2 0x3f87
00003fc2: JUMP
00003fc3: JUMPDEST
00003fc4: SWAP1
00003fc5: POP
00003fc6: SWAP2
00003fc7: SWAP1
00003fc8: POP
00003fc9: JUMP
00003fca: JUMPDEST
00003fcb: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003fec: PUSH1 0x00
00003fee: MSTORE
00003fef: PUSH1 0x11
00003ff1: PUSH1 0x04
00003ff3: MSTORE
00003ff4: PUSH1 0x24
00003ff6: PUSH1 0x00
00003ff8: REVERT
00003ff9: JUMPDEST
00003ffa: PUSH1 0x00
00003ffc: PUSH2 0x4004
00003fff: DUP3
00004000: PUSH2 0x376b
00004003: JUMP
00004004: JUMPDEST
00004005: SWAP2
00004006: POP
00004007: PUSH2 0x400f
0000400a: DUP4
0000400b: PUSH2 0x376b
0000400e: JUMP
0000400f: JUMPDEST
00004010: SWAP3
00004011: POP
00004012: DUP3
00004013: DUP3
00004014: SUB
00004015: SWAP1
00004016: POP
00004017: DUP2
00004018: DUP2
00004019: GT
0000401a: ISZERO
0000401b: PUSH2 0x4027
0000401e: JUMPI
0000401f: PUSH2 0x4026
00004022: PUSH2 0x3fca
00004025: JUMP
00004026: JUMPDEST
00004027: JUMPDEST
00004028: SWAP3
00004029: SWAP2
0000402a: POP
0000402b: POP
0000402c: JUMP
0000402d: JUMPDEST
0000402e: PUSH1 0x00
00004030: PUSH1 0x60
00004032: DUP3
00004033: ADD
00004034: SWAP1
00004035: POP
00004036: PUSH2 0x4042
00004039: PUSH1 0x00
0000403b: DUP4
0000403c: ADD
0000403d: DUP7
0000403e: PUSH2 0x3402
00004041: JUMP
00004042: JUMPDEST
00004043: PUSH2 0x404f
00004046: PUSH1 0x20
00004048: DUP4
00004049: ADD
0000404a: DUP6
0000404b: PUSH2 0x3de7
0000404e: JUMP
0000404f: JUMPDEST
00004050: PUSH2 0x405c
00004053: PUSH1 0x40
00004055: DUP4
00004056: ADD
00004057: DUP5
00004058: PUSH2 0x3978
0000405b: JUMP
0000405c: JUMPDEST
0000405d: SWAP5
0000405e: SWAP4
0000405f: POP
00004060: POP
00004061: POP
00004062: POP
00004063: JUMP
00004064: JUMPDEST
00004065: PUSH32 0x4272696467653a20657869737473000000000000000000000000000000000000
00004086: PUSH1 0x00
00004088: DUP3
00004089: ADD
0000408a: MSTORE
0000408b: POP
0000408c: JUMP
0000408d: JUMPDEST
0000408e: PUSH1 0x00
00004090: PUSH2 0x409a
00004093: PUSH1 0x0e
00004095: DUP4
00004096: PUSH2 0x3b94
00004099: JUMP
0000409a: JUMPDEST
0000409b: SWAP2
0000409c: POP
0000409d: PUSH2 0x40a5
000040a0: DUP3
000040a1: PUSH2 0x4064
000040a4: JUMP
000040a5: JUMPDEST
000040a6: PUSH1 0x20
000040a8: DUP3
000040a9: ADD
000040aa: SWAP1
000040ab: POP
000040ac: SWAP2
000040ad: SWAP1
000040ae: POP
000040af: JUMP
000040b0: JUMPDEST
000040b1: PUSH1 0x00
000040b3: PUSH1 0x20
000040b5: DUP3
000040b6: ADD
000040b7: SWAP1
000040b8: POP
000040b9: DUP2
000040ba: DUP2
000040bb: SUB
000040bc: PUSH1 0x00
000040be: DUP4
000040bf: ADD
000040c0: MSTORE
000040c1: PUSH2 0x40c9
000040c4: DUP2
000040c5: PUSH2 0x408d
000040c8: JUMP
000040c9: JUMPDEST
000040ca: SWAP1
000040cb: POP
000040cc: SWAP2
000040cd: SWAP1
000040ce: POP
000040cf: JUMP
000040d0: JUMPDEST
000040d1: PUSH2 0x40d9
000040d4: DUP2
000040d5: PUSH2 0x3987
000040d8: JUMP
000040d9: JUMPDEST
000040da: DUP2
000040db: EQ
000040dc: PUSH2 0x40e4
000040df: JUMPI
000040e0: PUSH1 0x00
000040e2: DUP1
000040e3: REVERT
000040e4: JUMPDEST
000040e5: POP
000040e6: JUMP
000040e7: JUMPDEST
000040e8: PUSH1 0x00
000040ea: DUP2
000040eb: MLOAD
000040ec: SWAP1
000040ed: POP
000040ee: PUSH2 0x40f6
000040f1: DUP2
000040f2: PUSH2 0x40d0
000040f5: JUMP
000040f6: JUMPDEST
000040f7: SWAP3
000040f8: SWAP2
000040f9: POP
000040fa: POP
000040fb: JUMP
000040fc: JUMPDEST
000040fd: PUSH1 0x00
000040ff: PUSH1 0x20
00004101: DUP3
00004102: DUP5
00004103: SUB
00004104: SLT
00004105: ISZERO
00004106: PUSH2 0x4112
00004109: JUMPI
0000410a: PUSH2 0x4111
0000410d: PUSH2 0x342c
00004110: JUMP
00004111: JUMPDEST
00004112: JUMPDEST
00004113: PUSH1 0x00
00004115: PUSH2 0x4120
00004118: DUP5
00004119: DUP3
0000411a: DUP6
0000411b: ADD
0000411c: PUSH2 0x40e7
0000411f: JUMP
00004120: JUMPDEST
00004121: SWAP2
00004122: POP
00004123: POP
00004124: SWAP3
00004125: SWAP2
00004126: POP
00004127: POP
00004128: JUMP
00004129: JUMPDEST
0000412a: PUSH32 0x4272696467653a207a65726f206164647265737320617574686f726974790000
0000414b: PUSH1 0x00
0000414d: DUP3
0000414e: ADD
0000414f: MSTORE
00004150: POP
00004151: JUMP
00004152: JUMPDEST
00004153: PUSH1 0x00
00004155: PUSH2 0x415f
00004158: PUSH1 0x1e
0000415a: DUP4
0000415b: PUSH2 0x3b94
0000415e: JUMP
0000415f: JUMPDEST
00004160: SWAP2
00004161: POP
00004162: PUSH2 0x416a
00004165: DUP3
00004166: PUSH2 0x4129
00004169: JUMP
0000416a: JUMPDEST
0000416b: PUSH1 0x20
0000416d: DUP3
0000416e: ADD
0000416f: SWAP1
00004170: POP
00004171: SWAP2
00004172: SWAP1
00004173: POP
00004174: JUMP
00004175: JUMPDEST
00004176: PUSH1 0x00
00004178: PUSH1 0x20
0000417a: DUP3
0000417b: ADD
0000417c: SWAP1
0000417d: POP
0000417e: DUP2
0000417f: DUP2
00004180: SUB
00004181: PUSH1 0x00
00004183: DUP4
00004184: ADD
00004185: MSTORE
00004186: PUSH2 0x418e
00004189: DUP2
0000418a: PUSH2 0x4152
0000418d: JUMP
0000418e: JUMPDEST
0000418f: SWAP1
00004190: POP
00004191: SWAP2
00004192: SWAP1
00004193: POP
00004194: JUMP
00004195: JUMPDEST
00004196: PUSH32 0x4272696467653a20746f6b656e206e6f7420666f756e64000000000000000000
000041b7: PUSH1 0x00
000041b9: DUP3
000041ba: ADD
000041bb: MSTORE
000041bc: POP
000041bd: JUMP
000041be: JUMPDEST
000041bf: PUSH1 0x00
000041c1: PUSH2 0x41cb
000041c4: PUSH1 0x17
000041c6: DUP4
000041c7: PUSH2 0x3b94
000041ca: JUMP
000041cb: JUMPDEST
000041cc: SWAP2
000041cd: POP
000041ce: PUSH2 0x41d6
000041d1: DUP3
000041d2: PUSH2 0x4195
000041d5: JUMP
000041d6: JUMPDEST
000041d7: PUSH1 0x20
000041d9: DUP3
000041da: ADD
000041db: SWAP1
000041dc: POP
000041dd: SWAP2
000041de: SWAP1
000041df: POP
000041e0: JUMP
000041e1: JUMPDEST
000041e2: PUSH1 0x00
000041e4: PUSH1 0x20
000041e6: DUP3
000041e7: ADD
000041e8: SWAP1
000041e9: POP
000041ea: DUP2
000041eb: DUP2
000041ec: SUB
000041ed: PUSH1 0x00
000041ef: DUP4
000041f0: ADD
000041f1: MSTORE
000041f2: PUSH2 0x41fa
000041f5: DUP2
000041f6: PUSH2 0x41be
000041f9: JUMP
000041fa: JUMPDEST
000041fb: SWAP1
000041fc: POP
000041fd: SWAP2
000041fe: SWAP1
000041ff: POP
00004200: JUMP
00004201: JUMPDEST
00004202: PUSH1 0x00
00004204: DUP2
00004205: SWAP1
00004206: POP
00004207: SWAP3
00004208: SWAP2
00004209: POP
0000420a: POP
0000420b: JUMP
0000420c: JUMPDEST
0000420d: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000
0000422e: PUSH1 0x00
00004230: DUP3
00004231: ADD
00004232: MSTORE
00004233: POP
00004234: JUMP
00004235: JUMPDEST
00004236: PUSH1 0x00
00004238: PUSH2 0x4242
0000423b: PUSH1 0x17
0000423d: DUP4
0000423e: PUSH2 0x4201
00004241: JUMP
00004242: JUMPDEST
00004243: SWAP2
00004244: POP
00004245: PUSH2 0x424d
00004248: DUP3
00004249: PUSH2 0x420c
0000424c: JUMP
0000424d: JUMPDEST
0000424e: PUSH1 0x17
00004250: DUP3
00004251: ADD
00004252: SWAP1
00004253: POP
00004254: SWAP2
00004255: SWAP1
00004256: POP
00004257: JUMP
00004258: JUMPDEST
00004259: PUSH1 0x00
0000425b: DUP2
0000425c: MLOAD
0000425d: SWAP1
0000425e: POP
0000425f: SWAP2
00004260: SWAP1
00004261: POP
00004262: JUMP
00004263: JUMPDEST
00004264: PUSH1 0x00
00004266: JUMPDEST
00004267: DUP4
00004268: DUP2
00004269: LT
0000426a: ISZERO
0000426b: PUSH2 0x4281
0000426e: JUMPI
0000426f: DUP1
00004270: DUP3
00004271: ADD
00004272: MLOAD
00004273: DUP2
00004274: DUP5
00004275: ADD
00004276: MSTORE
00004277: PUSH1 0x20
00004279: DUP2
0000427a: ADD
0000427b: SWAP1
0000427c: POP
0000427d: PUSH2 0x4266
00004280: JUMP
00004281: JUMPDEST
00004282: PUSH1 0x00
00004284: DUP5
00004285: DUP5
00004286: ADD
00004287: MSTORE
00004288: POP
00004289: POP
0000428a: POP
0000428b: POP
0000428c: JUMP
0000428d: JUMPDEST
0000428e: PUSH1 0x00
00004290: PUSH2 0x4298
00004293: DUP3
00004294: PUSH2 0x4258
00004297: JUMP
00004298: JUMPDEST
00004299: PUSH2 0x42a2
0000429c: DUP2
0000429d: DUP6
0000429e: PUSH2 0x4201
000042a1: JUMP
000042a2: JUMPDEST
000042a3: SWAP4
000042a4: POP
000042a5: PUSH2 0x42b2
000042a8: DUP2
000042a9: DUP6
000042aa: PUSH1 0x20
000042ac: DUP7
000042ad: ADD
000042ae: PUSH2 0x4263
000042b1: JUMP
000042b2: JUMPDEST
000042b3: DUP1
000042b4: DUP5
000042b5: ADD
000042b6: SWAP2
000042b7: POP
000042b8: POP
000042b9: SWAP3
000042ba: SWAP2
000042bb: POP
000042bc: POP
000042bd: JUMP
000042be: JUMPDEST
000042bf: PUSH32 0x206973206d697373696e6720726f6c6520000000000000000000000000000000
000042e0: PUSH1 0x00
000042e2: DUP3
000042e3: ADD
000042e4: MSTORE
000042e5: POP
000042e6: JUMP
000042e7: JUMPDEST
000042e8: PUSH1 0x00
000042ea: PUSH2 0x42f4
000042ed: PUSH1 0x11
000042ef: DUP4
000042f0: PUSH2 0x4201
000042f3: JUMP
000042f4: JUMPDEST
000042f5: SWAP2
000042f6: POP
000042f7: PUSH2 0x42ff
000042fa: DUP3
000042fb: PUSH2 0x42be
000042fe: JUMP
000042ff: JUMPDEST
00004300: PUSH1 0x11
00004302: DUP3
00004303: ADD
00004304: SWAP1
00004305: POP
00004306: SWAP2
00004307: SWAP1
00004308: POP
00004309: JUMP
0000430a: JUMPDEST
0000430b: PUSH1 0x00
0000430d: PUSH2 0x4315
00004310: DUP3
00004311: PUSH2 0x4235
00004314: JUMP
00004315: JUMPDEST
00004316: SWAP2
00004317: POP
00004318: PUSH2 0x4321
0000431b: DUP3
0000431c: DUP6
0000431d: PUSH2 0x428d
00004320: JUMP
00004321: JUMPDEST
00004322: SWAP2
00004323: POP
00004324: PUSH2 0x432c
00004327: DUP3
00004328: PUSH2 0x42e7
0000432b: JUMP
0000432c: JUMPDEST
0000432d: SWAP2
0000432e: POP
0000432f: PUSH2 0x4338
00004332: DUP3
00004333: DUP5
00004334: PUSH2 0x428d
00004337: JUMP
00004338: JUMPDEST
00004339: SWAP2
0000433a: POP
0000433b: DUP2
0000433c: SWAP1
0000433d: POP
0000433e: SWAP4
0000433f: SWAP3
00004340: POP
00004341: POP
00004342: POP
00004343: JUMP
00004344: JUMPDEST
00004345: PUSH1 0x00
00004347: PUSH2 0x434f
0000434a: DUP3
0000434b: PUSH2 0x4258
0000434e: JUMP
0000434f: JUMPDEST
00004350: PUSH2 0x4359
00004353: DUP2
00004354: DUP6
00004355: PUSH2 0x3b94
00004358: JUMP
00004359: JUMPDEST
0000435a: SWAP4
0000435b: POP
0000435c: PUSH2 0x4369
0000435f: DUP2
00004360: DUP6
00004361: PUSH1 0x20
00004363: DUP7
00004364: ADD
00004365: PUSH2 0x4263
00004368: JUMP
00004369: JUMPDEST
0000436a: PUSH2 0x4372
0000436d: DUP2
0000436e: PUSH2 0x3e4e
00004371: JUMP
00004372: JUMPDEST
00004373: DUP5
00004374: ADD
00004375: SWAP2
00004376: POP
00004377: POP
00004378: SWAP3
00004379: SWAP2
0000437a: POP
0000437b: POP
0000437c: JUMP
0000437d: JUMPDEST
0000437e: PUSH1 0x00
00004380: PUSH1 0x20
00004382: DUP3
00004383: ADD
00004384: SWAP1
00004385: POP
00004386: DUP2
00004387: DUP2
00004388: SUB
00004389: PUSH1 0x00
0000438b: DUP4
0000438c: ADD
0000438d: MSTORE
0000438e: PUSH2 0x4397
00004391: DUP2
00004392: DUP5
00004393: PUSH2 0x4344
00004396: JUMP
00004397: JUMPDEST
00004398: SWAP1
00004399: POP
0000439a: SWAP3
0000439b: SWAP2
0000439c: POP
0000439d: POP
0000439e: JUMP
0000439f: JUMPDEST
000043a0: PUSH32 0x4272696467653a20616d6f756e74206973203000000000000000000000000000
000043c1: PUSH1 0x00
000043c3: DUP3
000043c4: ADD
000043c5: MSTORE
000043c6: POP
000043c7: JUMP
000043c8: JUMPDEST
000043c9: PUSH1 0x00
000043cb: PUSH2 0x43d5
000043ce: PUSH1 0x13
000043d0: DUP4
000043d1: PUSH2 0x3b94
000043d4: JUMP
000043d5: JUMPDEST
000043d6: SWAP2
000043d7: POP
000043d8: PUSH2 0x43e0
000043db: DUP3
000043dc: PUSH2 0x439f
000043df: JUMP
000043e0: JUMPDEST
000043e1: PUSH1 0x20
000043e3: DUP3
000043e4: ADD
000043e5: SWAP1
000043e6: POP
000043e7: SWAP2
000043e8: SWAP1
000043e9: POP
000043ea: JUMP
000043eb: JUMPDEST
000043ec: PUSH1 0x00
000043ee: PUSH1 0x20
000043f0: DUP3
000043f1: ADD
000043f2: SWAP1
000043f3: POP
000043f4: DUP2
000043f5: DUP2
000043f6: SUB
000043f7: PUSH1 0x00
000043f9: DUP4
000043fa: ADD
000043fb: MSTORE
000043fc: PUSH2 0x4404
000043ff: DUP2
00004400: PUSH2 0x43c8
00004403: JUMP
00004404: JUMPDEST
00004405: SWAP1
00004406: POP
00004407: SWAP2
00004408: SWAP1
00004409: POP
0000440a: JUMP
0000440b: JUMPDEST
0000440c: PUSH1 0x00
0000440e: PUSH1 0x80
00004410: DUP3
00004411: ADD
00004412: SWAP1
00004413: POP
00004414: PUSH2 0x4420
00004417: PUSH1 0x00
00004419: DUP4
0000441a: ADD
0000441b: DUP8
0000441c: PUSH2 0x3402
0000441f: JUMP
00004420: JUMPDEST
00004421: PUSH2 0x442d
00004424: PUSH1 0x20
00004426: DUP4
00004427: ADD
00004428: DUP7
00004429: PUSH2 0x3402
0000442c: JUMP
0000442d: JUMPDEST
0000442e: PUSH2 0x443a
00004431: PUSH1 0x40
00004433: DUP4
00004434: ADD
00004435: DUP6
00004436: PUSH2 0x3de7
00004439: JUMP
0000443a: JUMPDEST
0000443b: PUSH2 0x4447
0000443e: PUSH1 0x60
00004440: DUP4
00004441: ADD
00004442: DUP5
00004443: PUSH2 0x3978
00004446: JUMP
00004447: JUMPDEST
00004448: SWAP6
00004449: SWAP5
0000444a: POP
0000444b: POP
0000444c: POP
0000444d: POP
0000444e: POP
0000444f: JUMP
00004450: JUMPDEST
00004451: PUSH1 0x00
00004453: PUSH1 0xe0
00004455: DUP3
00004456: ADD
00004457: SWAP1
00004458: POP
00004459: PUSH2 0x4465
0000445c: PUSH1 0x00
0000445e: DUP4
0000445f: ADD
00004460: DUP11
00004461: PUSH2 0x3e1f
00004464: JUMP
00004465: JUMPDEST
00004466: PUSH2 0x4472
00004469: PUSH1 0x20
0000446b: DUP4
0000446c: ADD
0000446d: DUP10
0000446e: PUSH2 0x3402
00004471: JUMP
00004472: JUMPDEST
00004473: PUSH2 0x447f
00004476: PUSH1 0x40
00004478: DUP4
00004479: ADD
0000447a: DUP9
0000447b: PUSH2 0x3612
0000447e: JUMP
0000447f: JUMPDEST
00004480: PUSH2 0x448c
00004483: PUSH1 0x60
00004485: DUP4
00004486: ADD
00004487: DUP8
00004488: PUSH2 0x3de7
0000448b: JUMP
0000448c: JUMPDEST
0000448d: PUSH2 0x4499
00004490: PUSH1 0x80
00004492: DUP4
00004493: ADD
00004494: DUP7
00004495: PUSH2 0x3978
00004498: JUMP
00004499: JUMPDEST
0000449a: PUSH2 0x44a6
0000449d: PUSH1 0xa0
0000449f: DUP4
000044a0: ADD
000044a1: DUP6
000044a2: PUSH2 0x3978
000044a5: JUMP
000044a6: JUMPDEST
000044a7: PUSH2 0x44b3
000044aa: PUSH1 0xc0
000044ac: DUP4
000044ad: ADD
000044ae: DUP5
000044af: PUSH2 0x3612
000044b2: JUMP
000044b3: JUMPDEST
000044b4: SWAP9
000044b5: SWAP8
000044b6: POP
000044b7: POP
000044b8: POP
000044b9: POP
000044ba: POP
000044bb: POP
000044bc: POP
000044bd: POP
000044be: JUMP
000044bf: JUMPDEST
000044c0: PUSH1 0x00
000044c2: PUSH1 0xa0
000044c4: DUP3
000044c5: ADD
000044c6: SWAP1
000044c7: POP
000044c8: PUSH2 0x44d4
000044cb: PUSH1 0x00
000044cd: DUP4
000044ce: ADD
000044cf: DUP9
000044d0: PUSH2 0x3978
000044d3: JUMP
000044d4: JUMPDEST
000044d5: PUSH2 0x44e1
000044d8: PUSH1 0x20
000044da: DUP4
000044db: ADD
000044dc: DUP8
000044dd: PUSH2 0x3612
000044e0: JUMP
000044e1: JUMPDEST
000044e2: PUSH2 0x44ee
000044e5: PUSH1 0x40
000044e7: DUP4
000044e8: ADD
000044e9: DUP7
000044ea: PUSH2 0x3402
000044ed: JUMP
000044ee: JUMPDEST
000044ef: PUSH2 0x44fb
000044f2: PUSH1 0x60
000044f4: DUP4
000044f5: ADD
000044f6: DUP6
000044f7: PUSH2 0x3de7
000044fa: JUMP
000044fb: JUMPDEST
000044fc: PUSH2 0x4508
000044ff: PUSH1 0x80
00004501: DUP4
00004502: ADD
00004503: DUP5
00004504: PUSH2 0x3978
00004507: JUMP
00004508: JUMPDEST
00004509: SWAP7
0000450a: SWAP6
0000450b: POP
0000450c: POP
0000450d: POP
0000450e: POP
0000450f: POP
00004510: POP
00004511: JUMP
00004512: JUMPDEST
00004513: PUSH1 0x00
00004515: PUSH1 0x60
00004517: DUP3
00004518: ADD
00004519: SWAP1
0000451a: POP
0000451b: PUSH2 0x4527
0000451e: PUSH1 0x00
00004520: DUP4
00004521: ADD
00004522: DUP7
00004523: PUSH2 0x3402
00004526: JUMP
00004527: JUMPDEST
00004528: PUSH2 0x4534
0000452b: PUSH1 0x20
0000452d: DUP4
0000452e: ADD
0000452f: DUP6
00004530: PUSH2 0x3402
00004533: JUMP
00004534: JUMPDEST
00004535: PUSH2 0x4541
00004538: PUSH1 0x40
0000453a: DUP4
0000453b: ADD
0000453c: DUP5
0000453d: PUSH2 0x3de7
00004540: JUMP
00004541: JUMPDEST
00004542: SWAP5
00004543: SWAP4
00004544: POP
00004545: POP
00004546: POP
00004547: POP
00004548: JUMP
00004549: JUMPDEST
0000454a: PUSH1 0x00
0000454c: DUP2
0000454d: PUSH1 0x01
0000454f: SHR
00004550: SWAP1
00004551: POP
00004552: SWAP2
00004553: SWAP1
00004554: POP
00004555: JUMP
00004556: JUMPDEST
00004557: PUSH1 0x00
00004559: DUP1
0000455a: DUP3
0000455b: SWAP2
0000455c: POP
0000455d: DUP4
0000455e: SWAP1
0000455f: POP
00004560: JUMPDEST
00004561: PUSH1 0x01
00004563: DUP6
00004564: GT
00004565: ISZERO
00004566: PUSH2 0x45a0
00004569: JUMPI
0000456a: DUP1
0000456b: DUP7
0000456c: DIV
0000456d: DUP2
0000456e: GT
0000456f: ISZERO
00004570: PUSH2 0x457c
00004573: JUMPI
00004574: PUSH2 0x457b
00004577: PUSH2 0x3fca
0000457a: JUMP
0000457b: JUMPDEST
0000457c: JUMPDEST
0000457d: PUSH1 0x01
0000457f: DUP6
00004580: AND
00004581: ISZERO
00004582: PUSH2 0x458b
00004585: JUMPI
00004586: DUP1
00004587: DUP3
00004588: MUL
00004589: SWAP2
0000458a: POP
0000458b: JUMPDEST
0000458c: DUP1
0000458d: DUP2
0000458e: MUL
0000458f: SWAP1
00004590: POP
00004591: PUSH2 0x4599
00004594: DUP6
00004595: PUSH2 0x4549
00004598: JUMP
00004599: JUMPDEST
0000459a: SWAP5
0000459b: POP
0000459c: PUSH2 0x4560
0000459f: JUMP
000045a0: JUMPDEST
000045a1: SWAP5
000045a2: POP
000045a3: SWAP5
000045a4: SWAP3
000045a5: POP
000045a6: POP
000045a7: POP
000045a8: JUMP
000045a9: JUMPDEST
000045aa: PUSH1 0x00
000045ac: DUP3
000045ad: PUSH2 0x45b9
000045b0: JUMPI
000045b1: PUSH1 0x01
000045b3: SWAP1
000045b4: POP
000045b5: PUSH2 0x4675
000045b8: JUMP
000045b9: JUMPDEST
000045ba: DUP2
000045bb: PUSH2 0x45c7
000045be: JUMPI
000045bf: PUSH1 0x00
000045c1: SWAP1
000045c2: POP
000045c3: PUSH2 0x4675
000045c6: JUMP
000045c7: JUMPDEST
000045c8: DUP2
000045c9: PUSH1 0x01
000045cb: DUP2
000045cc: EQ
000045cd: PUSH2 0x45dd
000045d0: JUMPI
000045d1: PUSH1 0x02
000045d3: DUP2
000045d4: EQ
000045d5: PUSH2 0x45e7
000045d8: JUMPI
000045d9: PUSH2 0x4616
000045dc: JUMP
000045dd: JUMPDEST
000045de: PUSH1 0x01
000045e0: SWAP2
000045e1: POP
000045e2: POP
000045e3: PUSH2 0x4675
000045e6: JUMP
000045e7: JUMPDEST
000045e8: PUSH1 0xff
000045ea: DUP5
000045eb: GT
000045ec: ISZERO
000045ed: PUSH2 0x45f9
000045f0: JUMPI
000045f1: PUSH2 0x45f8
000045f4: PUSH2 0x3fca
000045f7: JUMP
000045f8: JUMPDEST
000045f9: JUMPDEST
000045fa: DUP4
000045fb: PUSH1 0x02
000045fd: EXP
000045fe: SWAP2
000045ff: POP
00004600: DUP5
00004601: DUP3
00004602: GT
00004603: ISZERO
00004604: PUSH2 0x4610
00004607: JUMPI
00004608: PUSH2 0x460f
0000460b: PUSH2 0x3fca
0000460e: JUMP
0000460f: JUMPDEST
00004610: JUMPDEST
00004611: POP
00004612: PUSH2 0x4675
00004615: JUMP
00004616: JUMPDEST
00004617: POP
00004618: PUSH1 0x20
0000461a: DUP4
0000461b: LT
0000461c: PUSH2 0x0133
0000461f: DUP4
00004620: LT
00004621: AND
00004622: PUSH1 0x4e
00004624: DUP5
00004625: LT
00004626: PUSH1 0x0b
00004628: DUP5
00004629: LT
0000462a: AND
0000462b: OR
0000462c: ISZERO
0000462d: PUSH2 0x464b
00004630: JUMPI
00004631: DUP3
00004632: DUP3
00004633: EXP
00004634: SWAP1
00004635: POP
00004636: DUP4
00004637: DUP2
00004638: GT
00004639: ISZERO
0000463a: PUSH2 0x4646
0000463d: JUMPI
0000463e: PUSH2 0x4645
00004641: PUSH2 0x3fca
00004644: JUMP
00004645: JUMPDEST
00004646: JUMPDEST
00004647: PUSH2 0x4675
0000464a: JUMP
0000464b: JUMPDEST
0000464c: PUSH2 0x4658
0000464f: DUP5
00004650: DUP5
00004651: DUP5
00004652: PUSH1 0x01
00004654: PUSH2 0x4556
00004657: JUMP
00004658: JUMPDEST
00004659: SWAP3
0000465a: POP
0000465b: SWAP1
0000465c: POP
0000465d: DUP2
0000465e: DUP5
0000465f: DIV
00004660: DUP2
00004661: GT
00004662: ISZERO
00004663: PUSH2 0x466f
00004666: JUMPI
00004667: PUSH2 0x466e
0000466a: PUSH2 0x3fca
0000466d: JUMP
0000466e: JUMPDEST
0000466f: JUMPDEST
00004670: DUP2
00004671: DUP2
00004672: MUL
00004673: SWAP1
00004674: POP
00004675: JUMPDEST
00004676: SWAP4
00004677: SWAP3
00004678: POP
00004679: POP
0000467a: POP
0000467b: JUMP
0000467c: JUMPDEST
0000467d: PUSH1 0x00
0000467f: PUSH2 0x4687
00004682: DUP3
00004683: PUSH2 0x376b
00004686: JUMP
00004687: JUMPDEST
00004688: SWAP2
00004689: POP
0000468a: PUSH2 0x4692
0000468d: DUP4
0000468e: PUSH2 0x376b
00004691: JUMP
00004692: JUMPDEST
00004693: SWAP3
00004694: POP
00004695: PUSH2 0x46bf
00004698: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000046b9: DUP5
000046ba: DUP5
000046bb: PUSH2 0x45a9
000046be: JUMP
000046bf: JUMPDEST
000046c0: SWAP1
000046c1: POP
000046c2: SWAP3
000046c3: SWAP2
000046c4: POP
000046c5: POP
000046c6: JUMP
000046c7: JUMPDEST
000046c8: PUSH1 0x00
000046ca: PUSH2 0x46d2
000046cd: DUP3
000046ce: PUSH2 0x376b
000046d1: JUMP
000046d2: JUMPDEST
000046d3: SWAP2
000046d4: POP
000046d5: PUSH2 0x46dd
000046d8: DUP4
000046d9: PUSH2 0x376b
000046dc: JUMP
000046dd: JUMPDEST
000046de: SWAP3
000046df: POP
000046e0: DUP3
000046e1: DUP3
000046e2: MUL
000046e3: PUSH2 0x46eb
000046e6: DUP2
000046e7: PUSH2 0x376b
000046ea: JUMP
000046eb: JUMPDEST
000046ec: SWAP2
000046ed: POP
000046ee: DUP3
000046ef: DUP3
000046f0: DIV
000046f1: DUP5
000046f2: EQ
000046f3: DUP4
000046f4: ISZERO
000046f5: OR
000046f6: PUSH2 0x4702
000046f9: JUMPI
000046fa: PUSH2 0x4701
000046fd: PUSH2 0x3fca
00004700: JUMP
00004701: JUMPDEST
00004702: JUMPDEST
00004703: POP
00004704: SWAP3
00004705: SWAP2
00004706: POP
00004707: POP
00004708: JUMP
00004709: JUMPDEST
0000470a: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000472b: PUSH1 0x00
0000472d: MSTORE
0000472e: PUSH1 0x12
00004730: PUSH1 0x04
00004732: MSTORE
00004733: PUSH1 0x24
00004735: PUSH1 0x00
00004737: REVERT
00004738: JUMPDEST
00004739: PUSH1 0x00
0000473b: PUSH2 0x4743
0000473e: DUP3
0000473f: PUSH2 0x376b
00004742: JUMP
00004743: JUMPDEST
00004744: SWAP2
00004745: POP
00004746: PUSH2 0x474e
00004749: DUP4
0000474a: PUSH2 0x376b
0000474d: JUMP
0000474e: JUMPDEST
0000474f: SWAP3
00004750: POP
00004751: DUP3
00004752: PUSH2 0x475e
00004755: JUMPI
00004756: PUSH2 0x475d
00004759: PUSH2 0x4709
0000475c: JUMP
0000475d: JUMPDEST
0000475e: JUMPDEST
0000475f: DUP3
00004760: DUP3
00004761: DIV
00004762: SWAP1
00004763: POP
00004764: SWAP3
00004765: SWAP2
00004766: POP
00004767: POP
00004768: JUMP
00004769: JUMPDEST
0000476a: PUSH1 0x00
0000476c: PUSH2 0x4774
0000476f: DUP3
00004770: PUSH2 0x376b
00004773: JUMP
00004774: JUMPDEST
00004775: SWAP2
00004776: POP
00004777: PUSH2 0x477f
0000477a: DUP4
0000477b: PUSH2 0x376b
0000477e: JUMP
0000477f: JUMPDEST
00004780: SWAP3
00004781: POP
00004782: DUP3
00004783: DUP3
00004784: ADD
00004785: SWAP1
00004786: POP
00004787: DUP1
00004788: DUP3
00004789: GT
0000478a: ISZERO
0000478b: PUSH2 0x4797
0000478e: JUMPI
0000478f: PUSH2 0x4796
00004792: PUSH2 0x3fca
00004795: JUMP
00004796: JUMPDEST
00004797: JUMPDEST
00004798: SWAP3
00004799: SWAP2
0000479a: POP
0000479b: POP
0000479c: JUMP
0000479d: JUMPDEST
0000479e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000047bf: PUSH1 0x00
000047c1: MSTORE
000047c2: PUSH1 0x41
000047c4: PUSH1 0x04
000047c6: MSTORE
000047c7: PUSH1 0x24
000047c9: PUSH1 0x00
000047cb: REVERT
000047cc: JUMPDEST
000047cd: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000047ee: PUSH1 0x00
000047f0: MSTORE
000047f1: PUSH1 0x32
000047f3: PUSH1 0x04
000047f5: MSTORE
000047f6: PUSH1 0x24
000047f8: PUSH1 0x00
000047fa: REVERT
000047fb: JUMPDEST
000047fc: PUSH1 0x00
000047fe: PUSH2 0x4806
00004801: DUP3
00004802: PUSH2 0x376b
00004805: JUMP
00004806: JUMPDEST
00004807: SWAP2
00004808: POP
00004809: PUSH1 0x00
0000480b: DUP3
0000480c: SUB
0000480d: PUSH2 0x4819
00004810: JUMPI
00004811: PUSH2 0x4818
00004814: PUSH2 0x3fca
00004817: JUMP
00004818: JUMPDEST
00004819: JUMPDEST
0000481a: PUSH1 0x01
0000481c: DUP3
0000481d: SUB
0000481e: SWAP1
0000481f: POP
00004820: SWAP2
00004821: SWAP1
00004822: POP
00004823: JUMP
00004824: JUMPDEST
00004825: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00004846: PUSH1 0x00
00004848: DUP3
00004849: ADD
0000484a: MSTORE
0000484b: POP
0000484c: JUMP
0000484d: JUMPDEST
0000484e: PUSH1 0x00
00004850: PUSH2 0x485a
00004853: PUSH1 0x20
00004855: DUP4
00004856: PUSH2 0x3b94
00004859: JUMP
0000485a: JUMPDEST
0000485b: SWAP2
0000485c: POP
0000485d: PUSH2 0x4865
00004860: DUP3
00004861: PUSH2 0x4824
00004864: JUMP
00004865: JUMPDEST
00004866: PUSH1 0x20
00004868: DUP3
00004869: ADD
0000486a: SWAP1
0000486b: POP
0000486c: SWAP2
0000486d: SWAP1
0000486e: POP
0000486f: JUMP
00004870: JUMPDEST
00004871: PUSH1 0x00
00004873: PUSH1 0x20
00004875: DUP3
00004876: ADD
00004877: SWAP1
00004878: POP
00004879: DUP2
0000487a: DUP2
0000487b: SUB
0000487c: PUSH1 0x00
0000487e: DUP4
0000487f: ADD
00004880: MSTORE
00004881: PUSH2 0x4889
00004884: DUP2
00004885: PUSH2 0x484d
00004888: JUMP
00004889: JUMPDEST
0000488a: SWAP1
0000488b: POP
0000488c: SWAP2
0000488d: SWAP1
0000488e: POP
0000488f: JUMP
00004890: JUMPDEST
00004891: PUSH2 0x4899
00004894: DUP2
00004895: PUSH2 0x34bb
00004898: JUMP
00004899: JUMPDEST
0000489a: DUP2
0000489b: EQ
0000489c: PUSH2 0x48a4
0000489f: JUMPI
000048a0: PUSH1 0x00
000048a2: DUP1
000048a3: REVERT
000048a4: JUMPDEST
000048a5: POP
000048a6: JUMP
000048a7: JUMPDEST
000048a8: PUSH1 0x00
000048aa: DUP2
000048ab: MLOAD
000048ac: SWAP1
000048ad: POP
000048ae: PUSH2 0x48b6
000048b1: DUP2
000048b2: PUSH2 0x4890
000048b5: JUMP
000048b6: JUMPDEST
000048b7: SWAP3
000048b8: SWAP2
000048b9: POP
000048ba: POP
000048bb: JUMP
000048bc: JUMPDEST
000048bd: PUSH1 0x00
000048bf: PUSH1 0x20
000048c1: DUP3
000048c2: DUP5
000048c3: SUB
000048c4: SLT
000048c5: ISZERO
000048c6: PUSH2 0x48d2
000048c9: JUMPI
000048ca: PUSH2 0x48d1
000048cd: PUSH2 0x342c
000048d0: JUMP
000048d1: JUMPDEST
000048d2: JUMPDEST
000048d3: PUSH1 0x00
000048d5: PUSH2 0x48e0
000048d8: DUP5
000048d9: DUP3
000048da: DUP6
000048db: ADD
000048dc: PUSH2 0x48a7
000048df: JUMP
000048e0: JUMPDEST
000048e1: SWAP2
000048e2: POP
000048e3: POP
000048e4: SWAP3
000048e5: SWAP2
000048e6: POP
000048e7: POP
000048e8: JUMP
000048e9: JUMPDEST
000048ea: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
0000490b: PUSH1 0x00
0000490d: DUP3
0000490e: ADD
0000490f: MSTORE
00004910: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00004931: PUSH1 0x20
00004933: DUP3
00004934: ADD
00004935: MSTORE
00004936: POP
00004937: JUMP
00004938: JUMPDEST
00004939: PUSH1 0x00
0000493b: PUSH2 0x4945
0000493e: PUSH1 0x2a
00004940: DUP4
00004941: PUSH2 0x3b94
00004944: JUMP
00004945: JUMPDEST
00004946: SWAP2
00004947: POP
00004948: PUSH2 0x4950
0000494b: DUP3
0000494c: PUSH2 0x48e9
0000494f: JUMP
00004950: JUMPDEST
00004951: PUSH1 0x40
00004953: DUP3
00004954: ADD
00004955: SWAP1
00004956: POP
00004957: SWAP2
00004958: SWAP1
00004959: POP
0000495a: JUMP
0000495b: JUMPDEST
0000495c: PUSH1 0x00
0000495e: PUSH1 0x20
00004960: DUP3
00004961: ADD
00004962: SWAP1
00004963: POP
00004964: DUP2
00004965: DUP2
00004966: SUB
00004967: PUSH1 0x00
00004969: DUP4
0000496a: ADD
0000496b: MSTORE
0000496c: PUSH2 0x4974
0000496f: DUP2
00004970: PUSH2 0x4938
00004973: JUMP
00004974: JUMPDEST
00004975: SWAP1
00004976: POP
00004977: SWAP2
00004978: SWAP1
00004979: POP
0000497a: JUMP
0000497b: JUMPDEST
0000497c: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
0000499d: PUSH1 0x00
0000499f: DUP3
000049a0: ADD
000049a1: MSTORE
000049a2: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
000049c3: PUSH1 0x20
000049c5: DUP3
000049c6: ADD
000049c7: MSTORE
000049c8: POP
000049c9: JUMP
000049ca: JUMPDEST
000049cb: PUSH1 0x00
000049cd: PUSH2 0x49d7
000049d0: PUSH1 0x26
000049d2: DUP4
000049d3: PUSH2 0x3b94
000049d6: JUMP
000049d7: JUMPDEST
000049d8: SWAP2
000049d9: POP
000049da: PUSH2 0x49e2
000049dd: DUP3
000049de: PUSH2 0x497b
000049e1: JUMP
000049e2: JUMPDEST
000049e3: PUSH1 0x40
000049e5: DUP3
000049e6: ADD
000049e7: SWAP1
000049e8: POP
000049e9: SWAP2
000049ea: SWAP1
000049eb: POP
000049ec: JUMP
000049ed: JUMPDEST
000049ee: PUSH1 0x00
000049f0: PUSH1 0x20
000049f2: DUP3
000049f3: ADD
000049f4: SWAP1
000049f5: POP
000049f6: DUP2
000049f7: DUP2
000049f8: SUB
000049f9: PUSH1 0x00
000049fb: DUP4
000049fc: ADD
000049fd: MSTORE
000049fe: PUSH2 0x4a06
00004a01: DUP2
00004a02: PUSH2 0x49ca
00004a05: JUMP
00004a06: JUMPDEST
00004a07: SWAP1
00004a08: POP
00004a09: SWAP2
00004a0a: SWAP1
00004a0b: POP
00004a0c: JUMP
00004a0d: JUMPDEST
00004a0e: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00004a2f: PUSH1 0x00
00004a31: DUP3
00004a32: ADD
00004a33: MSTORE
00004a34: POP
00004a35: JUMP
00004a36: JUMPDEST
00004a37: PUSH1 0x00
00004a39: PUSH2 0x4a43
00004a3c: PUSH1 0x1d
00004a3e: DUP4
00004a3f: PUSH2 0x3b94
00004a42: JUMP
00004a43: JUMPDEST
00004a44: SWAP2
00004a45: POP
00004a46: PUSH2 0x4a4e
00004a49: DUP3
00004a4a: PUSH2 0x4a0d
00004a4d: JUMP
00004a4e: JUMPDEST
00004a4f: PUSH1 0x20
00004a51: DUP3
00004a52: ADD
00004a53: SWAP1
00004a54: POP
00004a55: SWAP2
00004a56: SWAP1
00004a57: POP
00004a58: JUMP
00004a59: JUMPDEST
00004a5a: PUSH1 0x00
00004a5c: PUSH1 0x20
00004a5e: DUP3
00004a5f: ADD
00004a60: SWAP1
00004a61: POP
00004a62: DUP2
00004a63: DUP2
00004a64: SUB
00004a65: PUSH1 0x00
00004a67: DUP4
00004a68: ADD
00004a69: MSTORE
00004a6a: PUSH2 0x4a72
00004a6d: DUP2
00004a6e: PUSH2 0x4a36
00004a71: JUMP
00004a72: JUMPDEST
00004a73: SWAP1
00004a74: POP
00004a75: SWAP2
00004a76: SWAP1
00004a77: POP
00004a78: JUMP
00004a79: JUMPDEST
00004a7a: PUSH1 0x00
00004a7c: DUP2
00004a7d: MLOAD
00004a7e: SWAP1
00004a7f: POP
00004a80: SWAP2
00004a81: SWAP1
00004a82: POP
00004a83: JUMP
00004a84: JUMPDEST
00004a85: PUSH1 0x00
00004a87: DUP2
00004a88: SWAP1
00004a89: POP
00004a8a: SWAP3
00004a8b: SWAP2
00004a8c: POP
00004a8d: POP
00004a8e: JUMP
00004a8f: JUMPDEST
00004a90: PUSH1 0x00
00004a92: PUSH2 0x4a9a
00004a95: DUP3
00004a96: PUSH2 0x4a79
00004a99: JUMP
00004a9a: JUMPDEST
00004a9b: PUSH2 0x4aa4
00004a9e: DUP2
00004a9f: DUP6
00004aa0: PUSH2 0x4a84
00004aa3: JUMP
00004aa4: JUMPDEST
00004aa5: SWAP4
00004aa6: POP
00004aa7: PUSH2 0x4ab4
00004aaa: DUP2
00004aab: DUP6
00004aac: PUSH1 0x20
00004aae: DUP7
00004aaf: ADD
00004ab0: PUSH2 0x4263
00004ab3: JUMP
00004ab4: JUMPDEST
00004ab5: DUP1
00004ab6: DUP5
00004ab7: ADD
00004ab8: SWAP2
00004ab9: POP
00004aba: POP
00004abb: SWAP3
00004abc: SWAP2
00004abd: POP
00004abe: POP
00004abf: JUMP
00004ac0: JUMPDEST
00004ac1: PUSH1 0x00
00004ac3: PUSH2 0x4acc
00004ac6: DUP3
00004ac7: DUP5
00004ac8: PUSH2 0x4a8f
00004acb: JUMP
00004acc: JUMPDEST
00004acd: SWAP2
00004ace: POP
00004acf: DUP2
00004ad0: SWAP1
00004ad1: POP
00004ad2: SWAP3
00004ad3: SWAP2
00004ad4: POP
00004ad5: POP
00004ad6: JUMP
00004ad7: INVALID
00004ad8: LOG2
00004ad9: PUSH5 0x6970667358
00004adf: UNKNOWN(0x22)
00004ae0: SLT
00004ae1: KECCAK256
00004ae2: UNKNOWN(0xDF)
00004ae3: SWAP12
00004ae4: SAR
00004ae5: CREATE2
00004ae6: UNKNOWN(0xFC)
00004ae7: UNKNOWN(0x2E)
00004ae8: GT
00004ae9: UNKNOWN(0xCF)
00004aea: PUSH30 0xe02b42755cb19a3895ac4ee05c3cfcb53ff53afba89ea164736f6c634300
00004b09: ADDMOD
00004b0a: GT
00004b0b: STOP
00004b0c: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other slither Staking.withdraw(uint256) (contracts/Contract.sol#1300-1310) ignores return value by ABR.transfer(msg.sender,what) (contracts/Contract.sol#1309-1310) 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "unchecked-transfer",
    "elements": [
        {
            "name": "withdraw",
            "type": "function",
            "source_mapping": {
                "lines": [
                    1300,
                    1301,
                    1302,
                    1303,
                    1304,
                    1305,
                    1306,
                    1307,
                    1308,
                    1309,
                    1310
                ],
                "start": 45405,
                "length": 350,
                "ending_column": 24,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 68,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Staking",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            1262,
                            1263,
                            1264,
                            1265,
                            1266,
                            1267,
                            1268,
                            1269,
                            1270,
                            1271,
                            1272,
                            1273,
                            1274,
                            1275,
                            1276,
                            1277,
                            1278,
                            1279,
                            1280,
                            1281,
                            1282,
                            1283,
                            1284,
                            1285,
                            1286,
                            1287,
                            1288,
                            1289,
                            1290,
                            1291,
                            1292,
                            1293,
                            1294,
                            1295,
                            1296,
                            1297,
                            1298,
                            1299,
                            1300,
                            1301,
                            1302,
                            1303,
                            1304,
                            1305,
                            1306,
                            1307,
                            1308,
                            1309,
                            1310
                        ],
                        "start": 44319,
                        "length": 1438,
                        "ending_column": 26,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 31,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "withdraw(uint256)"
            }
        },
        {
            "name": "ABR.transfer(msg.sender,what)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1309,
                    1310
                ],
                "start": 45718,
                "length": 30,
                "ending_column": 17,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 25,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "withdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1300,
                            1301,
                            1302,
                            1303,
                            1304,
                            1305,
                            1306,
                            1307,
                            1308,
                            1309,
                            1310
                        ],
                        "start": 45405,
                        "length": 350,
                        "ending_column": 24,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 68,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Staking",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1262,
                                    1263,
                                    1264,
                                    1265,
                                    1266,
                                    1267,
                                    1268,
                                    1269,
                                    1270,
                                    1271,
                                    1272,
                                    1273,
                                    1274,
                                    1275,
                                    1276,
                                    1277,
                                    1278,
                                    1279,
                                    1280,
                                    1281,
                                    1282,
                                    1283,
                                    1284,
                                    1285,
                                    1286,
                                    1287,
                                    1288,
                                    1289,
                                    1290,
                                    1291,
                                    1292,
                                    1293,
                                    1294,
                                    1295,
                                    1296,
                                    1297,
                                    1298,
                                    1299,
                                    1300,
                                    1301,
                                    1302,
                                    1303,
                                    1304,
                                    1305,
                                    1306,
                                    1307,
                                    1308,
                                    1309,
                                    1310
                                ],
                                "start": 44319,
                                "length": 1438,
                                "ending_column": 26,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 31,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "withdraw(uint256)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "withdraw",
            "type": "function",
            "lines": [
                1300,
                1301,
                1302,
                1303,
                1304,
                1305,
                1306,
                1307,
                1308,
                1309,
                1310
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "ABR.transfer(msg.sender,what)",
            "type": "node",
            "lines": [
                1309,
                1310
            ]
        }
    ],
    "description": "Staking.withdraw(uint256) (contracts/Contract.sol#1300-1310) ignores return value by ABR.transfer(msg.sender,what) (contracts/Contract.sol#1309-1310)"
}
high auth slither Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "removeToken",
            "type": "function",
            "source_mapping": {
                "lines": [
                    1620,
                    1621,
                    1622,
                    1623,
                    1624,
                    1625,
                    1626,
                    1627,
                    1628,
                    1629,
                    1630,
                    1631,
                    1632,
                    1633,
                    1634,
                    1635,
                    1636,
                    1637,
                    1638,
                    1639,
                    1640,
                    1641,
                    1642,
                    1643,
                    1644,
                    1645,
                    1646
                ],
                "start": 55931,
                "length": 1191,
                "ending_column": 29,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 14,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Bridge",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            1377,
                            1378,
                            1379,
                            1380,
                            1381,
                            1382,
                            1383,
                            1384,
                            1385,
                            1386,
                            1387,
                            1388,
                            1389,
                            1390,
                            1391,
                            1392,
                            1393,
                            1394,
                            1395,
                            1396,
                            1397,
                            1398,
                            1399,
                            1400,
                            1401,
                            1402,
                            1403,
                            1404,
                            1405,
                            1406,
                            1407,
                            1408,
                            1409,
                            1410,
                            1411,
                            1412,
                            1413,
                            1414,
                            1415,
                            1416,
                            1417,
                            1418,
                            1419,
                            1420,
                            1421,
                            1422,
                            1423,
                            1424,
                            1425,
                            1426,
                            1427,
                            1428,
                            1429,
                            1430,
                            1431,
                            1432,
                            1433,
                            1434,
                            1435,
                            1436,
                            1437,
                            1438,
                            1439,
                            1440,
                            1441,
                            1442,
                            1443,
                            1444,
                            1445,
                            1446,
                            1447,
                            1448,
                            1449,
                            1450,
                            1451,
                            1452,
                            1453,
                            1454,
                            1455,
                            1456,
                            1457,
                            1458,
                            1459,
                            1460,
                            1461,
                            1462,
                            1463,
                            1464,
                            1465,
                            1466,
                            1467,
                            1468,
                            1469,
                            1470,
                            1471,
                            1472,
                            1473,
                            1474,
                            1475,
                            1476,
                            1477,
                            1478,
                            1479,
                            1480,
                            1481,
                            1482,
                            1483,
                            1484,
                            1485,
                            1486,
                            1487,
                            1488,
                            1489,
                            1490,
                            1491,
                            1492,
                            1493,
                            1494,
                            1495,
                            1496,
                            1497,
                            1498,
                            1499,
                            1500,
                            1501,
                            1502,
                            1503,
                            1504,
                            1505,
                            1506,
                            1507,
                            1508,
                            1509,
                            1510,
                            1511,
                            1512,
                            1513,
                            1514,
                            1515,
                            1516,
                            1517,
                            1518,
                            1519,
                            1520,
                            1521,
                            1522,
                            1523,
                            1524,
                            1525,
                            1526,
                            1527,
                            1528,
                            1529,
                            1530,
                            1531,
                            1532,
                            1533,
                            1534,
                            1535,
                            1536,
                            1537,
                            1538,
                            1539,
                            1540,
                            1541,
                            1542,
                            1543,
                            1544,
                            1545,
                            1546,
                            1547,
                            1548,
                            1549,
                            1550,
                            1551,
                            1552,
                            1553,
                            1554,
                            1555,
                            1556,
                            1557,
                            1558,
                            1559,
                            1560,
                            1561,
                            1562,
                            1563,
                            1564,
                            1565,
                            1566,
                            1567,
                            1568,
                            1569,
                            1570,
                            1571,
                            1572,
                            1573,
                            1574,
                            1575,
                            1576,
                            1577,
                            1578,
                            1579,
                            1580,
                            1581,
                            1582,
                            1583,
                            1584,
                            1585,
                            1586,
                            1587,
                            1588,
                            1589,
                            1590,
                            1591,
                            1592,
                            1593,
                            1594,
                            1595,
                            1596,
                            1597,
                            1598,
                            1599,
                            1600,
                            1601,
                            1602,
                            1603,
                            1604,
                            1605,
                            1606,
                            1607,
                            1608,
                            1609,
                            1610,
                            1611,
                            1612,
                            1613,
                            1614,
                            1615,
                            1616,
                            1617,
                            1618,
                            1619,
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646,
                            1647,
                            1648,
                            1649,
                            1650,
                            1651,
                            1652,
                            1653,
                            1654,
                            1655,
                            1656,
                            1657,
                            1658,
                            1659,
                            1660,
                            1661,
                            1662,
                            1663,
                            1664,
                            1665,
                            1666,
                            1667,
                            1668,
                            1669,
                            1670,
                            1671,
                            1672,
                            1673,
                            1674,
                            1675,
                            1676,
                            1677,
                            1678,
                            1679,
                            1680,
                            1681,
                            1682,
                            1683,
                            1684,
                            1685,
                            1686,
                            1687,
                            1688,
                            1689,
                            1690,
                            1691,
                            1692,
                            1693,
                            1694,
                            1695,
                            1696,
                            1697,
                            1698,
                            1699,
                            1700,
                            1701,
                            1702,
                            1703,
                            1704,
                            1705,
                            1706,
                            1707,
                            1708,
                            1709,
                            1710,
                            1711,
                            1712,
                            1713,
                            1714,
                            1715,
                            1716,
                            1717,
                            1718,
                            1719,
                            1720,
                            1721,
                            1722,
                            1723,
                            1724,
                            1725,
                            1726,
                            1727,
                            1728,
                            1729,
                            1730,
                            1731,
                            1732,
                            1733,
                            1734
                        ],
                        "start": 47976,
                        "length": 12543,
                        "ending_column": 1,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 6,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "removeToken(bytes4,bytes32,address)"
            }
        },
        {
            "name": "address(newAuthority).transfer(address(this).balance)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1630,
                    1631,
                    1632,
                    1633
                ],
                "start": 56473,
                "length": 53,
                "ending_column": 33,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 8,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "removeToken",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646
                        ],
                        "start": 55931,
                        "length": 1191,
                        "ending_column": 29,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 14,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Bridge",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1377,
                                    1378,
                                    1379,
                                    1380,
                                    1381,
                                    1382,
                                    1383,
                                    1384,
                                    1385,
                                    1386,
                                    1387,
                                    1388,
                                    1389,
                                    1390,
                                    1391,
                                    1392,
                                    1393,
                                    1394,
                                    1395,
                                    1396,
                                    1397,
                                    1398,
                                    1399,
                                    1400,
                                    1401,
                                    1402,
                                    1403,
                                    1404,
                                    1405,
                                    1406,
                                    1407,
                                    1408,
                                    1409,
                                    1410,
                                    1411,
                                    1412,
                                    1413,
                                    1414,
                                    1415,
                                    1416,
                                    1417,
                                    1418,
                                    1419,
                                    1420,
                                    1421,
                                    1422,
                                    1423,
                                    1424,
                                    1425,
                                    1426,
                                    1427,
                                    1428,
                                    1429,
                                    1430,
                                    1431,
                                    1432,
                                    1433,
                                    1434,
                                    1435,
                                    1436,
                                    1437,
                                    1438,
                                    1439,
                                    1440,
                                    1441,
                                    1442,
                                    1443,
                                    1444,
                                    1445,
                                    1446,
                                    1447,
                                    1448,
                                    1449,
                                    1450,
                                    1451,
                                    1452,
                                    1453,
                                    1454,
                                    1455,
                                    1456,
                                    1457,
                                    1458,
                                    1459,
                                    1460,
                                    1461,
                                    1462,
                                    1463,
                                    1464,
                                    1465,
                                    1466,
                                    1467,
                                    1468,
                                    1469,
                                    1470,
                                    1471,
                                    1472,
                                    1473,
                                    1474,
                                    1475,
                                    1476,
                                    1477,
                                    1478,
                                    1479,
                                    1480,
                                    1481,
                                    1482,
                                    1483,
                                    1484,
                                    1485,
                                    1486,
                                    1487,
                                    1488,
                                    1489,
                                    1490,
                                    1491,
                                    1492,
                                    1493,
                                    1494,
                                    1495,
                                    1496,
                                    1497,
                                    1498,
                                    1499,
                                    1500,
                                    1501,
                                    1502,
                                    1503,
                                    1504,
                                    1505,
                                    1506,
                                    1507,
                                    1508,
                                    1509,
                                    1510,
                                    1511,
                                    1512,
                                    1513,
                                    1514,
                                    1515,
                                    1516,
                                    1517,
                                    1518,
                                    1519,
                                    1520,
                                    1521,
                                    1522,
                                    1523,
                                    1524,
                                    1525,
                                    1526,
                                    1527,
                                    1528,
                                    1529,
                                    1530,
                                    1531,
                                    1532,
                                    1533,
                                    1534,
                                    1535,
                                    1536,
                                    1537,
                                    1538,
                                    1539,
                                    1540,
                                    1541,
                                    1542,
                                    1543,
                                    1544,
                                    1545,
                                    1546,
                                    1547,
                                    1548,
                                    1549,
                                    1550,
                                    1551,
                                    1552,
                                    1553,
                                    1554,
                                    1555,
                                    1556,
                                    1557,
                                    1558,
                                    1559,
                                    1560,
                                    1561,
                                    1562,
                                    1563,
                                    1564,
                                    1565,
                                    1566,
                                    1567,
                                    1568,
                                    1569,
                                    1570,
                                    1571,
                                    1572,
                                    1573,
                                    1574,
                                    1575,
                                    1576,
                                    1577,
                                    1578,
                                    1579,
                                    1580,
                                    1581,
                                    1582,
                                    1583,
                                    1584,
                                    1585,
                                    1586,
                                    1587,
                                    1588,
                                    1589,
                                    1590,
                                    1591,
                                    1592,
                                    1593,
                                    1594,
                                    1595,
                                    1596,
                                    1597,
                                    1598,
                                    1599,
                                    1600,
                                    1601,
                                    1602,
                                    1603,
                                    1604,
                                    1605,
                                    1606,
                                    1607,
                                    1608,
                                    1609,
                                    1610,
                                    1611,
                                    1612,
                                    1613,
                                    1614,
                                    1615,
                                    1616,
                                    1617,
                                    1618,
                                    1619,
                                    1620,
                                    1621,
                                    1622,
                                    1623,
                                    1624,
                                    1625,
                                    1626,
                                    1627,
                                    1628,
                                    1629,
                                    1630,
                                    1631,
                                    1632,
                                    1633,
                                    1634,
                                    1635,
                                    1636,
                                    1637,
                                    1638,
                                    1639,
                                    1640,
                                    1641,
                                    1642,
                                    1643,
                                    1644,
                                    1645,
                                    1646,
                                    1647,
                                    1648,
                                    1649,
                                    1650,
                                    1651,
                                    1652,
                                    1653,
                                    1654,
                                    1655,
                                    1656,
                                    1657,
                                    1658,
                                    1659,
                                    1660,
                                    1661,
                                    1662,
                                    1663,
                                    1664,
                                    1665,
                                    1666,
                                    1667,
                                    1668,
                                    1669,
                                    1670,
                                    1671,
                                    1672,
                                    1673,
                                    1674,
                                    1675,
                                    1676,
                                    1677,
                                    1678,
                                    1679,
                                    1680,
                                    1681,
                                    1682,
                                    1683,
                                    1684,
                                    1685,
                                    1686,
                                    1687,
                                    1688,
                                    1689,
                                    1690,
                                    1691,
                                    1692,
                                    1693,
                                    1694,
                                    1695,
                                    1696,
                                    1697,
                                    1698,
                                    1699,
                                    1700,
                                    1701,
                                    1702,
                                    1703,
                                    1704,
                                    1705,
                                    1706,
                                    1707,
                                    1708,
                                    1709,
                                    1710,
                                    1711,
                                    1712,
                                    1713,
                                    1714,
                                    1715,
                                    1716,
                                    1717,
                                    1718,
                                    1719,
                                    1720,
                                    1721,
                                    1722,
                                    1723,
                                    1724,
                                    1725,
                                    1726,
                                    1727,
                                    1728,
                                    1729,
                                    1730,
                                    1731,
                                    1732,
                                    1733,
                                    1734
                                ],
                                "start": 47976,
                                "length": 12543,
                                "ending_column": 1,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 6,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "removeToken(bytes4,bytes32,address)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "removeToken",
            "type": "function",
            "lines": [
                1620,
                1621,
                1622,
                1623,
                1624,
                1625,
                1626,
                1627,
                1628,
                1629,
                1630,
                1631,
                1632,
                1633,
                1634,
                1635,
                1636,
                1637,
                1638,
                1639,
                1640,
                1641,
                1642,
                1643,
                1644,
                1645,
                1646
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "address(newAuthority).transfer(address(this).balance)",
            "type": "node",
            "lines": [
                1630,
                1631,
                1632,
                1633
            ]
        }
    ],
    "description": "Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646) sends eth to arbitrary user\n\tDangerous calls:\n\t- address(newAuthority).transfer(address(this).balance) (contracts/Contract.sol#1630-1633)"
}
high reentrancy slither Reentrancy in Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646): 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "reentrancy-eth",
    "elements": [
        {
            "name": "removeToken",
            "type": "function",
            "source_mapping": {
                "lines": [
                    1620,
                    1621,
                    1622,
                    1623,
                    1624,
                    1625,
                    1626,
                    1627,
                    1628,
                    1629,
                    1630,
                    1631,
                    1632,
                    1633,
                    1634,
                    1635,
                    1636,
                    1637,
                    1638,
                    1639,
                    1640,
                    1641,
                    1642,
                    1643,
                    1644,
                    1645,
                    1646
                ],
                "start": 55931,
                "length": 1191,
                "ending_column": 29,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 14,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Bridge",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            1377,
                            1378,
                            1379,
                            1380,
                            1381,
                            1382,
                            1383,
                            1384,
                            1385,
                            1386,
                            1387,
                            1388,
                            1389,
                            1390,
                            1391,
                            1392,
                            1393,
                            1394,
                            1395,
                            1396,
                            1397,
                            1398,
                            1399,
                            1400,
                            1401,
                            1402,
                            1403,
                            1404,
                            1405,
                            1406,
                            1407,
                            1408,
                            1409,
                            1410,
                            1411,
                            1412,
                            1413,
                            1414,
                            1415,
                            1416,
                            1417,
                            1418,
                            1419,
                            1420,
                            1421,
                            1422,
                            1423,
                            1424,
                            1425,
                            1426,
                            1427,
                            1428,
                            1429,
                            1430,
                            1431,
                            1432,
                            1433,
                            1434,
                            1435,
                            1436,
                            1437,
                            1438,
                            1439,
                            1440,
                            1441,
                            1442,
                            1443,
                            1444,
                            1445,
                            1446,
                            1447,
                            1448,
                            1449,
                            1450,
                            1451,
                            1452,
                            1453,
                            1454,
                            1455,
                            1456,
                            1457,
                            1458,
                            1459,
                            1460,
                            1461,
                            1462,
                            1463,
                            1464,
                            1465,
                            1466,
                            1467,
                            1468,
                            1469,
                            1470,
                            1471,
                            1472,
                            1473,
                            1474,
                            1475,
                            1476,
                            1477,
                            1478,
                            1479,
                            1480,
                            1481,
                            1482,
                            1483,
                            1484,
                            1485,
                            1486,
                            1487,
                            1488,
                            1489,
                            1490,
                            1491,
                            1492,
                            1493,
                            1494,
                            1495,
                            1496,
                            1497,
                            1498,
                            1499,
                            1500,
                            1501,
                            1502,
                            1503,
                            1504,
                            1505,
                            1506,
                            1507,
                            1508,
                            1509,
                            1510,
                            1511,
                            1512,
                            1513,
                            1514,
                            1515,
                            1516,
                            1517,
                            1518,
                            1519,
                            1520,
                            1521,
                            1522,
                            1523,
                            1524,
                            1525,
                            1526,
                            1527,
                            1528,
                            1529,
                            1530,
                            1531,
                            1532,
                            1533,
                            1534,
                            1535,
                            1536,
                            1537,
                            1538,
                            1539,
                            1540,
                            1541,
                            1542,
                            1543,
                            1544,
                            1545,
                            1546,
                            1547,
                            1548,
                            1549,
                            1550,
                            1551,
                            1552,
                            1553,
                            1554,
                            1555,
                            1556,
                            1557,
                            1558,
                            1559,
                            1560,
                            1561,
                            1562,
                            1563,
                            1564,
                            1565,
                            1566,
                            1567,
                            1568,
                            1569,
                            1570,
                            1571,
                            1572,
                            1573,
                            1574,
                            1575,
                            1576,
                            1577,
                            1578,
                            1579,
                            1580,
                            1581,
                            1582,
                            1583,
                            1584,
                            1585,
                            1586,
                            1587,
                            1588,
                            1589,
                            1590,
                            1591,
                            1592,
                            1593,
                            1594,
                            1595,
                            1596,
                            1597,
                            1598,
                            1599,
                            1600,
                            1601,
                            1602,
                            1603,
                            1604,
                            1605,
                            1606,
                            1607,
                            1608,
                            1609,
                            1610,
                            1611,
                            1612,
                            1613,
                            1614,
                            1615,
                            1616,
                            1617,
                            1618,
                            1619,
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646,
                            1647,
                            1648,
                            1649,
                            1650,
                            1651,
                            1652,
                            1653,
                            1654,
                            1655,
                            1656,
                            1657,
                            1658,
                            1659,
                            1660,
                            1661,
                            1662,
                            1663,
                            1664,
                            1665,
                            1666,
                            1667,
                            1668,
                            1669,
                            1670,
                            1671,
                            1672,
                            1673,
                            1674,
                            1675,
                            1676,
                            1677,
                            1678,
                            1679,
                            1680,
                            1681,
                            1682,
                            1683,
                            1684,
                            1685,
                            1686,
                            1687,
                            1688,
                            1689,
                            1690,
                            1691,
                            1692,
                            1693,
                            1694,
                            1695,
                            1696,
                            1697,
                            1698,
                            1699,
                            1700,
                            1701,
                            1702,
                            1703,
                            1704,
                            1705,
                            1706,
                            1707,
                            1708,
                            1709,
                            1710,
                            1711,
                            1712,
                            1713,
                            1714,
                            1715,
                            1716,
                            1717,
                            1718,
                            1719,
                            1720,
                            1721,
                            1722,
                            1723,
                            1724,
                            1725,
                            1726,
                            1727,
                            1728,
                            1729,
                            1730,
                            1731,
                            1732,
                            1733,
                            1734
                        ],
                        "start": 47976,
                        "length": 12543,
                        "ending_column": 1,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 6,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "removeToken(bytes4,bytes32,address)"
            }
        },
        {
            "name": "IERC20(tokenAddress).safeTransfer(newAuthority,tokenBalance)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1636,
                    1637,
                    1638
                ],
                "start": 56661,
                "length": 61,
                "ending_column": 10,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 64,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "removeToken",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646
                        ],
                        "start": 55931,
                        "length": 1191,
                        "ending_column": 29,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 14,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Bridge",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1377,
                                    1378,
                                    1379,
                                    1380,
                                    1381,
                                    1382,
                                    1383,
                                    1384,
                                    1385,
                                    1386,
                                    1387,
                                    1388,
                                    1389,
                                    1390,
                                    1391,
                                    1392,
                                    1393,
                                    1394,
                                    1395,
                                    1396,
                                    1397,
                                    1398,
                                    1399,
                                    1400,
                                    1401,
                                    1402,
                                    1403,
                                    1404,
                                    1405,
                                    1406,
                                    1407,
                                    1408,
                                    1409,
                                    1410,
                                    1411,
                                    1412,
                                    1413,
                                    1414,
                                    1415,
                                    1416,
                                    1417,
                                    1418,
                                    1419,
                                    1420,
                                    1421,
                                    1422,
                                    1423,
                                    1424,
                                    1425,
                                    1426,
                                    1427,
                                    1428,
                                    1429,
                                    1430,
                                    1431,
                                    1432,
                                    1433,
                                    1434,
                                    1435,
                                    1436,
                                    1437,
                                    1438,
                                    1439,
                                    1440,
                                    1441,
                                    1442,
                                    1443,
                                    1444,
                                    1445,
                                    1446,
                                    1447,
                                    1448,
                                    1449,
                                    1450,
                                    1451,
                                    1452,
                                    1453,
                                    1454,
                                    1455,
                                    1456,
                                    1457,
                                    1458,
                                    1459,
                                    1460,
                                    1461,
                                    1462,
                                    1463,
                                    1464,
                                    1465,
                                    1466,
                                    1467,
                                    1468,
                                    1469,
                                    1470,
                                    1471,
                                    1472,
                                    1473,
                                    1474,
                                    1475,
                                    1476,
                                    1477,
                                    1478,
                                    1479,
                                    1480,
                                    1481,
                                    1482,
                                    1483,
                                    1484,
                                    1485,
                                    1486,
                                    1487,
                                    1488,
                                    1489,
                                    1490,
                                    1491,
                                    1492,
                                    1493,
                                    1494,
                                    1495,
                                    1496,
                                    1497,
                                    1498,
                                    1499,
                                    1500,
                                    1501,
                                    1502,
                                    1503,
                                    1504,
                                    1505,
                                    1506,
                                    1507,
                                    1508,
                                    1509,
                                    1510,
                                    1511,
                                    1512,
                                    1513,
                                    1514,
                                    1515,
                                    1516,
                                    1517,
                                    1518,
                                    1519,
                                    1520,
                                    1521,
                                    1522,
                                    1523,
                                    1524,
                                    1525,
                                    1526,
                                    1527,
                                    1528,
                                    1529,
                                    1530,
                                    1531,
                                    1532,
                                    1533,
                                    1534,
                                    1535,
                                    1536,
                                    1537,
                                    1538,
                                    1539,
                                    1540,
                                    1541,
                                    1542,
                                    1543,
                                    1544,
                                    1545,
                                    1546,
                                    1547,
                                    1548,
                                    1549,
                                    1550,
                                    1551,
                                    1552,
                                    1553,
                                    1554,
                                    1555,
                                    1556,
                                    1557,
                                    1558,
                                    1559,
                                    1560,
                                    1561,
                                    1562,
                                    1563,
                                    1564,
                                    1565,
                                    1566,
                                    1567,
                                    1568,
                                    1569,
                                    1570,
                                    1571,
                                    1572,
                                    1573,
                                    1574,
                                    1575,
                                    1576,
                                    1577,
                                    1578,
                                    1579,
                                    1580,
                                    1581,
                                    1582,
                                    1583,
                                    1584,
                                    1585,
                                    1586,
                                    1587,
                                    1588,
                                    1589,
                                    1590,
                                    1591,
                                    1592,
                                    1593,
                                    1594,
                                    1595,
                                    1596,
                                    1597,
                                    1598,
                                    1599,
                                    1600,
                                    1601,
                                    1602,
                                    1603,
                                    1604,
                                    1605,
                                    1606,
                                    1607,
                                    1608,
                                    1609,
                                    1610,
                                    1611,
                                    1612,
                                    1613,
                                    1614,
                                    1615,
                                    1616,
                                    1617,
                                    1618,
                                    1619,
                                    1620,
                                    1621,
                                    1622,
                                    1623,
                                    1624,
                                    1625,
                                    1626,
                                    1627,
                                    1628,
                                    1629,
                                    1630,
                                    1631,
                                    1632,
                                    1633,
                                    1634,
                                    1635,
                                    1636,
                                    1637,
                                    1638,
                                    1639,
                                    1640,
                                    1641,
                                    1642,
                                    1643,
                                    1644,
                                    1645,
                                    1646,
                                    1647,
                                    1648,
                                    1649,
                                    1650,
                                    1651,
                                    1652,
                                    1653,
                                    1654,
                                    1655,
                                    1656,
                                    1657,
                                    1658,
                                    1659,
                                    1660,
                                    1661,
                                    1662,
                                    1663,
                                    1664,
                                    1665,
                                    1666,
                                    1667,
                                    1668,
                                    1669,
                                    1670,
                                    1671,
                                    1672,
                                    1673,
                                    1674,
                                    1675,
                                    1676,
                                    1677,
                                    1678,
                                    1679,
                                    1680,
                                    1681,
                                    1682,
                                    1683,
                                    1684,
                                    1685,
                                    1686,
                                    1687,
                                    1688,
                                    1689,
                                    1690,
                                    1691,
                                    1692,
                                    1693,
                                    1694,
                                    1695,
                                    1696,
                                    1697,
                                    1698,
                                    1699,
                                    1700,
                                    1701,
                                    1702,
                                    1703,
                                    1704,
                                    1705,
                                    1706,
                                    1707,
                                    1708,
                                    1709,
                                    1710,
                                    1711,
                                    1712,
                                    1713,
                                    1714,
                                    1715,
                                    1716,
                                    1717,
                                    1718,
                                    1719,
                                    1720,
                                    1721,
                                    1722,
                                    1723,
                                    1724,
                                    1725,
                                    1726,
                                    1727,
                                    1728,
                                    1729,
                                    1730,
                                    1731,
                                    1732,
                                    1733,
                                    1734
                                ],
                                "start": 47976,
                                "length": 12543,
                                "ending_column": 1,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 6,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "removeToken(bytes4,bytes32,address)"
                    }
                }
            }
        },
        {
            "name": "WrappedToken(tokenAddress).transferOwnership(newAuthority)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1639,
                    1640,
                    1641
                ],
                "start": 56803,
                "length": 58,
                "ending_column": 7,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 3,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "removeToken",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646
                        ],
                        "start": 55931,
                        "length": 1191,
                        "ending_column": 29,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 14,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Bridge",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1377,
                                    1378,
                                    1379,
                                    1380,
                                    1381,
                                    1382,
                                    1383,
                                    1384,
                                    1385,
                                    1386,
                                    1387,
                                    1388,
                                    1389,
                                    1390,
                                    1391,
                                    1392,
                                    1393,
                                    1394,
                                    1395,
                                    1396,
                                    1397,
                                    1398,
                                    1399,
                                    1400,
                                    1401,
                                    1402,
                                    1403,
                                    1404,
                                    1405,
                                    1406,
                                    1407,
                                    1408,
                                    1409,
                                    1410,
                                    1411,
                                    1412,
                                    1413,
                                    1414,
                                    1415,
                                    1416,
                                    1417,
                                    1418,
                                    1419,
                                    1420,
                                    1421,
                                    1422,
                                    1423,
                                    1424,
                                    1425,
                                    1426,
                                    1427,
                                    1428,
                                    1429,
                                    1430,
                                    1431,
                                    1432,
                                    1433,
                                    1434,
                                    1435,
                                    1436,
                                    1437,
                                    1438,
                                    1439,
                                    1440,
                                    1441,
                                    1442,
                                    1443,
                                    1444,
                                    1445,
                                    1446,
                                    1447,
                                    1448,
                                    1449,
                                    1450,
                                    1451,
                                    1452,
                                    1453,
                                    1454,
                                    1455,
                                    1456,
                                    1457,
                                    1458,
                                    1459,
                                    1460,
                                    1461,
                                    1462,
                                    1463,
                                    1464,
                                    1465,
                                    1466,
                                    1467,
                                    1468,
                                    1469,
                                    1470,
                                    1471,
                                    1472,
                                    1473,
                                    1474,
                                    1475,
                                    1476,
                                    1477,
                                    1478,
                                    1479,
                                    1480,
                                    1481,
                                    1482,
                                    1483,
                                    1484,
                                    1485,
                                    1486,
                                    1487,
                                    1488,
                                    1489,
                                    1490,
                                    1491,
                                    1492,
                                    1493,
                                    1494,
                                    1495,
                                    1496,
                                    1497,
                                    1498,
                                    1499,
                                    1500,
                                    1501,
                                    1502,
                                    1503,
                                    1504,
                                    1505,
                                    1506,
                                    1507,
                                    1508,
                                    1509,
                                    1510,
                                    1511,
                                    1512,
                                    1513,
                                    1514,
                                    1515,
                                    1516,
                                    1517,
                                    1518,
                                    1519,
                                    1520,
                                    1521,
                                    1522,
                                    1523,
                                    1524,
                                    1525,
                                    1526,
                                    1527,
                                    1528,
                                    1529,
                                    1530,
                                    1531,
                                    1532,
                                    1533,
                                    1534,
                                    1535,
                                    1536,
                                    1537,
                                    1538,
                                    1539,
                                    1540,
                                    1541,
                                    1542,
                                    1543,
                                    1544,
                                    1545,
                                    1546,
                                    1547,
                                    1548,
                                    1549,
                                    1550,
                                    1551,
                                    1552,
                                    1553,
                                    1554,
                                    1555,
                                    1556,
                                    1557,
                                    1558,
                                    1559,
                                    1560,
                                    1561,
                                    1562,
                                    1563,
                                    1564,
                                    1565,
                                    1566,
                                    1567,
                                    1568,
                                    1569,
                                    1570,
                                    1571,
                                    1572,
                                    1573,
                                    1574,
                                    1575,
                                    1576,
                                    1577,
                                    1578,
                                    1579,
                                    1580,
                                    1581,
                                    1582,
                                    1583,
                                    1584,
                                    1585,
                                    1586,
                                    1587,
                                    1588,
                                    1589,
                                    1590,
                                    1591,
                                    1592,
                                    1593,
                                    1594,
                                    1595,
                                    1596,
                                    1597,
                                    1598,
                                    1599,
                                    1600,
                                    1601,
                                    1602,
                                    1603,
                                    1604,
                                    1605,
                                    1606,
                                    1607,
                                    1608,
                                    1609,
                                    1610,
                                    1611,
                                    1612,
                                    1613,
                                    1614,
                                    1615,
                                    1616,
                                    1617,
                                    1618,
                                    1619,
                                    1620,
                                    1621,
                                    1622,
                                    1623,
                                    1624,
                                    1625,
                                    1626,
                                    1627,
                                    1628,
                                    1629,
                                    1630,
                                    1631,
                                    1632,
                                    1633,
                                    1634,
                                    1635,
                                    1636,
                                    1637,
                                    1638,
                                    1639,
                                    1640,
                                    1641,
                                    1642,
                                    1643,
                                    1644,
                                    1645,
                                    1646,
                                    1647,
                                    1648,
                                    1649,
                                    1650,
                                    1651,
                                    1652,
                                    1653,
                                    1654,
                                    1655,
                                    1656,
                                    1657,
                                    1658,
                                    1659,
                                    1660,
                                    1661,
                                    1662,
                                    1663,
                                    1664,
                                    1665,
                                    1666,
                                    1667,
                                    1668,
                                    1669,
                                    1670,
                                    1671,
                                    1672,
                                    1673,
                                    1674,
                                    1675,
                                    1676,
                                    1677,
                                    1678,
                                    1679,
                                    1680,
                                    1681,
                                    1682,
                                    1683,
                                    1684,
                                    1685,
                                    1686,
                                    1687,
                                    1688,
                                    1689,
                                    1690,
                                    1691,
                                    1692,
                                    1693,
                                    1694,
                                    1695,
                                    1696,
                                    1697,
                                    1698,
                                    1699,
                                    1700,
                                    1701,
                                    1702,
                                    1703,
                                    1704,
                                    1705,
                                    1706,
                                    1707,
                                    1708,
                                    1709,
                                    1710,
                                    1711,
                                    1712,
                                    1713,
                                    1714,
                                    1715,
                                    1716,
                                    1717,
                                    1718,
                                    1719,
                                    1720,
                                    1721,
                                    1722,
                                    1723,
                                    1724,
                                    1725,
                                    1726,
                                    1727,
                                    1728,
                                    1729,
                                    1730,
                                    1731,
                                    1732,
                                    1733,
                                    1734
                                ],
                                "start": 47976,
                                "length": 12543,
                                "ending_column": 1,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 6,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "removeToken(bytes4,bytes32,address)"
                    }
                }
            }
        },
        {
            "name": "IWrappedTokenV0(tokenAddress).changeAuthority(newAuthority)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1643,
                    1644
                ],
                "start": 56940,
                "length": 59,
                "ending_column": 4,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 10,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "removeToken",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646
                        ],
                        "start": 55931,
                        "length": 1191,
                        "ending_column": 29,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 14,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Bridge",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1377,
                                    1378,
                                    1379,
                                    1380,
                                    1381,
                                    1382,
                                    1383,
                                    1384,
                                    1385,
                                    1386,
                                    1387,
                                    1388,
                                    1389,
                                    1390,
                                    1391,
                                    1392,
                                    1393,
                                    1394,
                                    1395,
                                    1396,
                                    1397,
                                    1398,
                                    1399,
                                    1400,
                                    1401,
                                    1402,
                                    1403,
                                    1404,
                                    1405,
                                    1406,
                                    1407,
                                    1408,
                                    1409,
                                    1410,
                                    1411,
                                    1412,
                                    1413,
                                    1414,
                                    1415,
                                    1416,
                                    1417,
                                    1418,
                                    1419,
                                    1420,
                                    1421,
                                    1422,
                                    1423,
                                    1424,
                                    1425,
                                    1426,
                                    1427,
                                    1428,
                                    1429,
                                    1430,
                                    1431,
                                    1432,
                                    1433,
                                    1434,
                                    1435,
                                    1436,
                                    1437,
                                    1438,
                                    1439,
                                    1440,
                                    1441,
                                    1442,
                                    1443,
                                    1444,
                                    1445,
                                    1446,
                                    1447,
                                    1448,
                                    1449,
                                    1450,
                                    1451,
                                    1452,
                                    1453,
                                    1454,
                                    1455,
                                    1456,
                                    1457,
                                    1458,
                                    1459,
                                    1460,
                                    1461,
                                    1462,
                                    1463,
                                    1464,
                                    1465,
                                    1466,
                                    1467,
                                    1468,
                                    1469,
                                    1470,
                                    1471,
                                    1472,
                                    1473,
                                    1474,
                                    1475,
                                    1476,
                                    1477,
                                    1478,
                                    1479,
                                    1480,
                                    1481,
                                    1482,
                                    1483,
                                    1484,
                                    1485,
                                    1486,
                                    1487,
                                    1488,
                                    1489,
                                    1490,
                                    1491,
                                    1492,
                                    1493,
                                    1494,
                                    1495,
                                    1496,
                                    1497,
                                    1498,
                                    1499,
                                    1500,
                                    1501,
                                    1502,
                                    1503,
                                    1504,
                                    1505,
                                    1506,
                                    1507,
                                    1508,
                                    1509,
                                    1510,
                                    1511,
                                    1512,
                                    1513,
                                    1514,
                                    1515,
                                    1516,
                                    1517,
                                    1518,
                                    1519,
                                    1520,
                                    1521,
                                    1522,
                                    1523,
                                    1524,
                                    1525,
                                    1526,
                                    1527,
                                    1528,
                                    1529,
                                    1530,
                                    1531,
                                    1532,
                                    1533,
                                    1534,
                                    1535,
                                    1536,
                                    1537,
                                    1538,
                                    1539,
                                    1540,
                                    1541,
                                    1542,
                                    1543,
                                    1544,
                                    1545,
                                    1546,
                                    1547,
                                    1548,
                                    1549,
                                    1550,
                                    1551,
                                    1552,
                                    1553,
                                    1554,
                                    1555,
                                    1556,
                                    1557,
                                    1558,
                                    1559,
                                    1560,
                                    1561,
                                    1562,
                                    1563,
                                    1564,
                                    1565,
                                    1566,
                                    1567,
                                    1568,
                                    1569,
                                    1570,
                                    1571,
                                    1572,
                                    1573,
                                    1574,
                                    1575,
                                    1576,
                                    1577,
                                    1578,
                                    1579,
                                    1580,
                                    1581,
                                    1582,
                                    1583,
                                    1584,
                                    1585,
                                    1586,
                                    1587,
                                    1588,
                                    1589,
                                    1590,
                                    1591,
                                    1592,
                                    1593,
                                    1594,
                                    1595,
                                    1596,
                                    1597,
                                    1598,
                                    1599,
                                    1600,
                                    1601,
                                    1602,
                                    1603,
                                    1604,
                                    1605,
                                    1606,
                                    1607,
                                    1608,
                                    1609,
                                    1610,
                                    1611,
                                    1612,
                                    1613,
                                    1614,
                                    1615,
                                    1616,
                                    1617,
                                    1618,
                                    1619,
                                    1620,
                                    1621,
                                    1622,
                                    1623,
                                    1624,
                                    1625,
                                    1626,
                                    1627,
                                    1628,
                                    1629,
                                    1630,
                                    1631,
                                    1632,
                                    1633,
                                    1634,
                                    1635,
                                    1636,
                                    1637,
                                    1638,
                                    1639,
                                    1640,
                                    1641,
                                    1642,
                                    1643,
                                    1644,
                                    1645,
                                    1646,
                                    1647,
                                    1648,
                                    1649,
                                    1650,
                                    1651,
                                    1652,
                                    1653,
                                    1654,
                                    1655,
                                    1656,
                                    1657,
                                    1658,
                                    1659,
                                    1660,
                                    1661,
                                    1662,
                                    1663,
                                    1664,
                                    1665,
                                    1666,
                                    1667,
                                    1668,
                                    1669,
                                    1670,
                                    1671,
                                    1672,
                                    1673,
                                    1674,
                                    1675,
                                    1676,
                                    1677,
                                    1678,
                                    1679,
                                    1680,
                                    1681,
                                    1682,
                                    1683,
                                    1684,
                                    1685,
                                    1686,
                                    1687,
                                    1688,
                                    1689,
                                    1690,
                                    1691,
                                    1692,
                                    1693,
                                    1694,
                                    1695,
                                    1696,
                                    1697,
                                    1698,
                                    1699,
                                    1700,
                                    1701,
                                    1702,
                                    1703,
                                    1704,
                                    1705,
                                    1706,
                                    1707,
                                    1708,
                                    1709,
                                    1710,
                                    1711,
                                    1712,
                                    1713,
                                    1714,
                                    1715,
                                    1716,
                                    1717,
                                    1718,
                                    1719,
                                    1720,
                                    1721,
                                    1722,
                                    1723,
                                    1724,
                                    1725,
                                    1726,
                                    1727,
                                    1728,
                                    1729,
                                    1730,
                                    1731,
                                    1732,
                                    1733,
                                    1734
                                ],
                                "start": 47976,
                                "length": 12543,
                                "ending_column": 1,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 6,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "removeToken(bytes4,bytes32,address)"
                    }
                }
            }
        },
        {
            "name": "address(newAuthority).transfer(address(this).balance)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1630,
                    1631,
                    1632,
                    1633
                ],
                "start": 56473,
                "length": 53,
                "ending_column": 33,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 8,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls_sending_eth"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "removeToken",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1620,
                            1621,
                            1622,
                            1623,
                            1624,
                            1625,
                            1626,
                            1627,
                            1628,
                            1629,
                            1630,
                            1631,
                            1632,
                            1633,
                            1634,
                            1635,
                            1636,
                            1637,
                            1638,
                            1639,
                            1640,
                            1641,
                            1642,
                            1643,
                            1644,
                            1645,
                            1646
                        ],
                        "start": 55931,
                        "length": 1191,
                        "ending_column": 29,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 14,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Bridge",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1377,
                                    1378,
                                    1379,
                                    1380,
                                    1381,
                                    1382,
                                    1383,
                                    1384,
                                    1385,
                                    1386,
                                    1387,
                                    1388,
                                    1389,
                                    1390,
                                    1391,
                                    1392,
                                    1393,
                                    1394,
                                    1395,
                                    1396,
                                    1397,
                                    1398,
                                    1399,
                                    1400,
                                    1401,
                                    1402,
                                    1403,
                                    1404,
                                    1405,
                                    1406,
                                    1407,
                                    1408,
                                    1409,
                                    1410,
                                    1411,
                                    1412,
                                    1413,
                                    1414,
                                    1415,
                                    1416,
                                    1417,
                                    1418,
                                    1419,
                                    1420,
                                    1421,
                                    1422,
                                    1423,
                                    1424,
                                    1425,
                                    1426,
                                    1427,
                                    1428,
                                    1429,
                                    1430,
                                    1431,
                                    1432,
                                    1433,
                                    1434,
                                    1435,
                                    1436,
                                    1437,
                                    1438,
                                    1439,
                                    1440,
                                    1441,
                                    1442,
                                    1443,
                                    1444,
                                    1445,
                                    1446,
                                    1447,
                                    1448,
                                    1449,
                                    1450,
                                    1451,
                                    1452,
                                    1453,
                                    1454,
                                    1455,
                                    1456,
                                    1457,
                                    1458,
                                    1459,
                                    1460,
                                    1461,
                                    1462,
                                    1463,
                                    1464,
                                    1465,
                                    1466,
                                    1467,
                                    1468,
                                    1469,
                                    1470,
                                    1471,
                                    1472,
                                    1473,
                                    1474,
                                    1475,
                                    1476,
                                    1477,
                                    1478,
                                    1479,
                                    1480,
                                    1481,
                                    1482,
                                    1483,
                                    1484,
                                    1485,
                                    1486,
                                    1487,
                                    1488,
                                    1489,
                                    1490,
                                    1491,
                                    1492,
                                    1493,
                                    1494,
                                    1495,
                                    1496,
                                    1497,
                                    1498,
                                    1499,
                                    1500,
                                    1501,
                                    1502,
                                    1503,
                                    1504,
                                    1505,
                                    1506,
                                    1507,
                                    1508,
                                    1509,
                                    1510,
                                    1511,
                                    1512,
                                    1513,
                                    1514,
                                    1515,
                                    1516,
                                    1517,
                                    1518,
                                    1519,
                                    1520,
                                    1521,
                                    1522,
                                    1523,
                                    1524,
                                    1525,
                                    1526,
                                    1527,
                                    1528,
                                    1529,
                                    1530,
                                    1531,
                                    1532,
                                    1533,
                                    1534,
                                    1535,
                                    1536,
                                    1537,
                                    1538,
                                    1539,
                                    1540,
                                    1541,
                                    1542,
                                    1543,
                                    1544,
                                    1545,
                                    1546,
                                    1547,
                                    1548,
                                    1549,
                                    1550,
                                    1551,
                                    1552,
                                    1553,
                                    1554,
                                    1555,
                                    1556,
                                    1557,
                                    1558,
                                    1559,
                                    1560,
                                    1561,
                                    1562,
                                    1563,
                                    1564,
                                    1565,
                                    1566,
                                    1567,
                                    1568,
                                    1569,
                                    1570,
                                    1571,
                                    1572,
                                    1573,
                                    1574,
                                    1575,
                                    1576,
                                    1577,
                                    1578,
                                    1579,
                                    1580,
                                    1581,
                                    1582,
                                    1583,
                                    1584,
                                    1585,
                                    1586,
                                    1587,
                                    1588,
                                    1589,
                                    1590,
                                    1591,
                                    1592,
                                    1593,
                                    1594,
                                    1595,
                                    1596,
                                    1597,
                                    1598,
                                    1599,
                                    1600,
                                    1601,
                                    1602,
                                    1603,
                                    1604,
                                    1605,
                                    1606,
                                    1607,
                                    1608,
                                    1609,
                                    1610,
                                    1611,
                                    1612,
                                    1613,
                                    1614,
                                    1615,
                                    1616,
                                    1617,
                                    1618,
                                    1619,
                                    1620,
                                    1621,
                                    1622,
                                    1623,
                                    1624,
                                    1625,
                                    1626,
                                    1627,
                                    1628,
                                    1629,
                                    1630,
                                    1631,
                                    1632,
                                    1633,
                                    1634,
                                    1635,
                                    1636,
                                    1637,
                                    1638,
                                    1639,
                                    1640,
                                    1641,
                                    1642,
                                    1643,
                                    1644,
                                    1645,
                                    1646,
                                    1647,
                                    1648,
                                    1649,
                                    1650,
                                    1651,
                                    1652,
                                    1653,
                                    1654,
                                    1655,
                                    1656,
                                    1657,
                                    1658,
                                    1659,
                                    1660,
                                    1661,
                                    1662,
                                    1663,
                                    1664,
                                    1665,
                                    1666,
                                    1667,
                                    1668,
                                    1669,
                                    1670,
                                    1671,
                                    1672,
                                    1673,
                                    1674,
                                    1675,
                                    1676,
                                    1677,
                                    1678,
                                    1679,
                                    1680,
                                    1681,
                                    1682,
                                    1683,
                                    1684,
                                    1685,
                                    1686,
                                    1687,
                                    1688,
                                    1689,
                                    1690,
                                    1691,
                                    1692,
                                    1693,
                                    1694,
                                    1695,
                                    1696,
                                    1697,
                                    1698,
                                    1699,
                                    1700,
                                    1701,
                                    1702,
                                    1703,
                                    1704,
                                    1705,
                                    1706,
                                    1707,
                                    1708,
                                    1709,
                                    1710,
                                    1711,
                                    1712,
                                    1713,
                                    1714,
                                    1715,
                                    1716,
                                    1717,
                                    1718,
                                    1719,
                                    1720,
                                    1721,
                                    1722,
                                    1723,
                                    1724,
                                    1725,
                                    1726,
                                    1727,
                                    1728,
                                    1729,
                                    1730,
                                    1731,
                                    1732,
                                    1733,
                                    1734
                                ],
                                "start": 47976,
                                "length": 12543,
                                "ending_column": 1,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 6,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "removeToken(bytes4,bytes32,address)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "removeToken",
            "type": "function",
            "lines": [
                1620,
                1621,
                1622,
                1623,
                1624,
                1625,
                1626,
                1627,
                1628,
                1629,
                1630,
                1631,
                1632,
                1633,
                1634,
                1635,
                1636,
                1637,
                1638,
                1639,
                1640,
                1641,
                1642,
                1643,
                1644,
                1645,
                1646
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "IERC20(tokenAddress).safeTransfer(newAuthority,tokenBalance)",
            "type": "node",
            "lines": [
                1636,
                1637,
                1638
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "WrappedToken(tokenAddress).transferOwnership(newAuthority)",
            "type": "node",
            "lines": [
                1639,
                1640,
                1641
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "IWrappedTokenV0(tokenAddress).changeAuthority(newAuthority)",
            "type": "node",
            "lines": [
                1643,
                1644
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "address(newAuthority).transfer(address(this).balance)",
            "type": "node",
            "lines": [
                1630,
                1631,
                1632,
                1633
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "delete tokenInfos[tokenAddress]",
            "type": "node",
            "lines": [
                1645
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "delete tokenSourceMap[tokenSource][tokenSourceAddress]",
            "type": "node",
            "lines": [
                1645,
                1646
            ]
        }
    ],
    "description": "Reentrancy in Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646):\n\tExternal calls:\n\t- IERC20(tokenAddress).safeTransfer(newAuthority,tokenBalance) (contracts/Contract.sol#1636-1638)\n\t- WrappedToken(tokenAddress).transferOwnership(newAuthority) (contracts/Contract.sol#1639-1641)\n\t- IWrappedTokenV0(tokenAddress).changeAuthority(newAuthority) (contracts/Contract.sol#1643-1644)\n\tExternal calls sending eth:\n\t- address(newAuthority).transfer(address(this).balance) (contracts/Contract.sol#1630-1633)\n\tState variables written after the call(s):\n\t- delete tokenInfos[tokenAddress] (contracts/Contract.sol#1645)\n\tBridge.tokenInfos (contracts/Contract.sol#1421) can be used in cross function reentrancies:\n\t- Bridge._createLock(uint128,address,uint256,bytes32,bytes4) (contracts/Contract.sol#1672-1705)\n\t- Bridge.addToken(bytes4,bytes32,address,Bridge.TokenType) (contracts/Contract.sol#1603-1619)\n\t- Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646)\n\t- Bridge.setTokenStatus(address,Bridge.TokenStatus) (contracts/Contract.sol#1660-1664)\n\t- Bridge.tokenInfos (contracts/Contract.sol#1421)\n\t- Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes) (contracts/Contract.sol#1528-1599)\n\t- delete tokenSourceMap[tokenSource][tokenSourceAddress] (contracts/Contract.sol#1645-1646)\n\tBridge.tokenSourceMap (contracts/Contract.sol#1427-1428) can be used in cross function reentrancies:\n\t- Bridge.addToken(bytes4,bytes32,address,Bridge.TokenType) (contracts/Contract.sol#1603-1619)\n\t- Bridge.removeToken(bytes4,bytes32,address) (contracts/Contract.sol#1620-1646)\n\t- Bridge.tokenSourceMap (contracts/Contract.sol#1427-1428)\n\t- Bridge.unlock(uint128,address,uint256,bytes4,bytes4,bytes32,bytes,bytes) (contracts/Contract.sol#1528-1599)"
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x8063e6c738abc170807c71e747359ac5c3a15f2fc7340ed96cf085dca2def5a8
call_targets: 0xd5d6b2f2d7a7506c49bb0cb6fb39a67f065d6fc4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8063e6c738abc170807c71e747359ac5c3a15f2fc7340ed96cf085dca2def5a8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd5d6b2f2d7a7506c49bb0cb6fb39a67f065d6fc4"
    ],
    "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": "0xe0956e0f",
            "selector": "0xe0956e0f",
            "calldata_variants": [
                "0xe0956e0f",
                "0xe0956e0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1e1935a",
            "selector": "0xe1e1935a",
            "calldata_variants": [
                "0xe1e1935a",
                "0xe1e1935a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec3794ff",
            "selector": "0xec3794ff",
            "calldata_variants": [
                "0xec3794ff",
                "0xec3794ff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4bd4829",
            "selector": "0xf4bd4829",
            "calldata_variants": [
                "0xf4bd4829",
                "0xf4bd48290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc415b95c",
            "selector": "0xc415b95c",
            "calldata_variants": [
                "0xc415b95c",
                "0xc415b95c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8594418",
            "selector": "0xc8594418",
            "calldata_variants": [
                "0xc8594418",
                "0xc85944180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a98962",
            "selector": "0xa8a98962",
            "calldata_variants": [
                "0xa8a98962",
                "0xa8a989620000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2996,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3536,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3698,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 15,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x8063e6c738abc170807c71e747359ac5c3a15f2fc7340ed96cf085dca2def5a8
call_targets: 0xd5d6b2f2d7a7506c49bb0cb6fb39a67f065d6fc4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8063e6c738abc170807c71e747359ac5c3a15f2fc7340ed96cf085dca2def5a8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd5d6b2f2d7a7506c49bb0cb6fb39a67f065d6fc4"
    ],
    "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": "0xe0956e0f",
            "selector": "0xe0956e0f",
            "calldata_variants": [
                "0xe0956e0f",
                "0xe0956e0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1e1935a",
            "selector": "0xe1e1935a",
            "calldata_variants": [
                "0xe1e1935a",
                "0xe1e1935a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec3794ff",
            "selector": "0xec3794ff",
            "calldata_variants": [
                "0xec3794ff",
                "0xec3794ff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4bd4829",
            "selector": "0xf4bd4829",
            "calldata_variants": [
                "0xf4bd4829",
                "0xf4bd48290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc415b95c",
            "selector": "0xc415b95c",
            "calldata_variants": [
                "0xc415b95c",
                "0xc415b95c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8594418",
            "selector": "0xc8594418",
            "calldata_variants": [
                "0xc8594418",
                "0xc85944180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a98962",
            "selector": "0xa8a98962",
            "calldata_variants": [
                "0xa8a98962",
                "0xa8a989620000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2996,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3536,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3698,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 15,
    "guards_detected": [],
    "untrusted_call_count": 15
}
high other slither Staking.deposit(uint256) (contracts/Contract.sol#1272-1300) ignores return value by ABR.transferFrom(msg.sender,address(this),_amount) (contracts/Contract.sol#1297-1300) 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "unchecked-transfer",
    "elements": [
        {
            "name": "deposit",
            "type": "function",
            "source_mapping": {
                "lines": [
                    1272,
                    1273,
                    1274,
                    1275,
                    1276,
                    1277,
                    1278,
                    1279,
                    1280,
                    1281,
                    1282,
                    1283,
                    1284,
                    1285,
                    1286,
                    1287,
                    1288,
                    1289,
                    1290,
                    1291,
                    1292,
                    1293,
                    1294,
                    1295,
                    1296,
                    1297,
                    1298,
                    1299,
                    1300
                ],
                "start": 44517,
                "length": 828,
                "ending_column": 8,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 9,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Staking",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            1262,
                            1263,
                            1264,
                            1265,
                            1266,
                            1267,
                            1268,
                            1269,
                            1270,
                            1271,
                            1272,
                            1273,
                            1274,
                            1275,
                            1276,
                            1277,
                            1278,
                            1279,
                            1280,
                            1281,
                            1282,
                            1283,
                            1284,
                            1285,
                            1286,
                            1287,
                            1288,
                            1289,
                            1290,
                            1291,
                            1292,
                            1293,
                            1294,
                            1295,
                            1296,
                            1297,
                            1298,
                            1299,
                            1300,
                            1301,
                            1302,
                            1303,
                            1304,
                            1305,
                            1306,
                            1307,
                            1308,
                            1309,
                            1310
                        ],
                        "start": 44319,
                        "length": 1438,
                        "ending_column": 26,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 31,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "deposit(uint256)"
            }
        },
        {
            "name": "ABR.transferFrom(msg.sender,address(this),_amount)",
            "type": "node",
            "source_mapping": {
                "lines": [
                    1297,
                    1298,
                    1299,
                    1300
                ],
                "start": 45286,
                "length": 52,
                "ending_column": 1,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 66,
                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "deposit",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            1272,
                            1273,
                            1274,
                            1275,
                            1276,
                            1277,
                            1278,
                            1279,
                            1280,
                            1281,
                            1282,
                            1283,
                            1284,
                            1285,
                            1286,
                            1287,
                            1288,
                            1289,
                            1290,
                            1291,
                            1292,
                            1293,
                            1294,
                            1295,
                            1296,
                            1297,
                            1298,
                            1299,
                            1300
                        ],
                        "start": 44517,
                        "length": 828,
                        "ending_column": 8,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 9,
                        "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Staking",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    1262,
                                    1263,
                                    1264,
                                    1265,
                                    1266,
                                    1267,
                                    1268,
                                    1269,
                                    1270,
                                    1271,
                                    1272,
                                    1273,
                                    1274,
                                    1275,
                                    1276,
                                    1277,
                                    1278,
                                    1279,
                                    1280,
                                    1281,
                                    1282,
                                    1283,
                                    1284,
                                    1285,
                                    1286,
                                    1287,
                                    1288,
                                    1289,
                                    1290,
                                    1291,
                                    1292,
                                    1293,
                                    1294,
                                    1295,
                                    1296,
                                    1297,
                                    1298,
                                    1299,
                                    1300,
                                    1301,
                                    1302,
                                    1303,
                                    1304,
                                    1305,
                                    1306,
                                    1307,
                                    1308,
                                    1309,
                                    1310
                                ],
                                "start": 44319,
                                "length": 1438,
                                "ending_column": 26,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 31,
                                "filename_absolute": "/tmp/slither-3c45bxap/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "deposit(uint256)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "deposit",
            "type": "function",
            "lines": [
                1272,
                1273,
                1274,
                1275,
                1276,
                1277,
                1278,
                1279,
                1280,
                1281,
                1282,
                1283,
                1284,
                1285,
                1286,
                1287,
                1288,
                1289,
                1290,
                1291,
                1292,
                1293,
                1294,
                1295,
                1296,
                1297,
                1298,
                1299,
                1300
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "ABR.transferFrom(msg.sender,address(this),_amount)",
            "type": "node",
            "lines": [
                1297,
                1298,
                1299,
                1300
            ]
        }
    ],
    "description": "Staking.deposit(uint256) (contracts/Contract.sol#1272-1300) ignores return value by ABR.transferFrom(msg.sender,address(this),_amount) (contracts/Contract.sol#1297-1300)"
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xb21f66f41a83ebb6cb2d8aed17a2b79b0f696ff80ef07a8524487b803b2cefed
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xb21f66f41a83ebb6cb2d8aed17a2b79b0f696ff80ef07a8524487b803b2cefed",
    "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": "0xe0956e0f",
            "selector": "0xe0956e0f",
            "calldata_variants": [
                "0xe0956e0f",
                "0xe0956e0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1e1935a",
            "selector": "0xe1e1935a",
            "calldata_variants": [
                "0xe1e1935a",
                "0xe1e1935a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec3794ff",
            "selector": "0xec3794ff",
            "calldata_variants": [
                "0xec3794ff",
                "0xec3794ff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf4bd4829",
            "selector": "0xf4bd4829",
            "calldata_variants": [
                "0xf4bd4829",
                "0xf4bd48290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc415b95c",
            "selector": "0xc415b95c",
            "calldata_variants": [
                "0xc415b95c",
                "0xc415b95c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8594418",
            "selector": "0xc8594418",
            "calldata_variants": [
                "0xc8594418",
                "0xc85944180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8a98962",
            "selector": "0xa8a98962",
            "calldata_variants": [
                "0xa8a98962",
                "0xa8a989620000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium other codex Unchecked ERC20 return values can mint unbacked xABR 75 no
view
evidence_json
{
    "evidence": "Staking uses `ABR.transferFrom` and `ABR.transfer` without checking the returned boolean.",
    "locations": [
        "contracts/Contract.sol#L1330",
        "contracts/Contract.sol#L1341"
    ],
    "recommendation": "Use SafeERC20 (safeTransferFrom/safeTransfer) or explicitly require the return value to be true to ensure the transfer succeeded before minting/burning shares.",
    "exploit_scenario": "If the ABR token returns false instead of reverting (e.g., insufficient allowance or transfer restrictions), `deposit` mints xABR before the transfer succeeds. An attacker can mint xABR without actually transferring ABR, then `withdraw` to drain ABR from the pool."
}
medium other codex Bridge accounting breaks with fee-on-transfer or rebasing tokens 75 no
view
evidence_json
{
    "evidence": "`amountToLock` is computed from user input and passed to the validator, while `safeTransferFrom` does not verify the actual amount received.",
    "locations": [
        "contracts/Contract.sol#L1514",
        "contracts/Contract.sol#L1524",
        "contracts/Contract.sol#L1732",
        "contracts/Contract.sol#L1740"
    ],
    "recommendation": "Reject fee-on-transfer/rebasing tokens, or compute actual received amounts via balance-before/after and use that for lock records and fee calculations.",
    "exploit_scenario": "If a token with transfer fees/rebasing is added as `TokenType.Native`, `lock` records `amountToLock` but the contract receives less due to transfer mechanics. Users can unlock the full recorded amount on the destination chain, creating a deficit in the bridge reserves."
}
low other codex ETH transfers use `transfer`, enabling recipient DoS 65 no
view
evidence_json
{
    "evidence": "ETH payouts use `transfer` in `lockBase` and `unlock`.",
    "locations": [
        "contracts/Contract.sol#L1567",
        "contracts/Contract.sol#L1607"
    ],
    "recommendation": "Use `call` with success checks and reentrancy protection, or adopt a pull-payment pattern for ETH transfers.",
    "exploit_scenario": "If `recipient` or `feeCollector` is a contract that requires more than 2300 gas to receive ETH, `transfer` will revert, causing `lockBase` or `unlock` to fail and potentially locking funds for that recipient."
}
low oracle codex FeeOracle can be manipulated via temporary xABR balances 65 no
view
evidence_json
{
    "evidence": "Fee calculation relies on current `xABR.balanceOf(sender)` and `xABR.totalSupply()` with no time weighting.",
    "locations": [
        "contracts/Contract.sol#L1378",
        "contracts/Contract.sol#L1383"
    ],
    "recommendation": "Use time-weighted balance snapshots, enforce staking lockups, or base fees on longer-term holdings rather than instantaneous balances.",
    "exploit_scenario": "A user can temporarily inflate their xABR holdings (e.g., flashloan ABR, deposit to mint xABR, call `lock`, then withdraw) to reduce the computed fee for that transaction."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 19
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 11
}