019d5666-71e7-73ce-89eb-62e7b289a74d
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 42806 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 42807 | proxy.resolve | complete | 1 / 3 | 1 week ago |
| 42808 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 42809 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 42810 | capability.graph | complete | 1 / 3 | 1 week ago |
| 42811 | detector.run | complete | 1 / 3 | 1 week ago |
| 42812 | validation.fork | complete | 1 / 3 | 1 week ago |
| 42941 | report.consolidate | complete | 1 / 6 | 1 week ago |
| 42942 | tool.slither | complete | 1 / 2 | 1 week ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-cv6fhqgl) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-cv6fhqgl) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) has bitwise-xor operator ^ instead of the exponentiation operator **: - inv = (3 * denominator) ^ 2 (contracts/libraries/FullMath.sol#87) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv = (3 * denominator) ^ 2 (contracts/libraries/FullMath.sol#87) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv *= 2 - denominator * inv (contracts/libraries/FullMath.sol#91) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv *= 2 - denominator * inv (contracts/libraries/FullMath.sol#92) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv *= 2 - denominator * inv (contracts/libraries/FullMath.sol#93) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv *= 2 - denominator * inv (contracts/libraries/FullMath.sol#94) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv *= 2 - denominator * inv (contracts/libraries/FullMath.sol#95) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - denominator = denominator / twos (contracts/libraries/FullMath.sol#67) - inv *= 2 - denominator * inv (contracts/libraries/FullMath.sol#96) FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) performs a multiplication on the result of a division: - prod0 = prod0 / twos (contracts/libraries/FullMath.sol#72) - result = prod0 * inv (contracts/libraries/FullMath.sol#104) Oracle.observeSingle(Oracle.Observation[65535],uint32,uint32,int24,uint16,uint128,uint16) (contracts/libraries/Oracle.sol#245-287) performs a multiplication on the result of a division: - (beforeOrAt.tickCumulative + ((atOrAfter.tickCumulative - beforeOrAt.tickCumulative) / observationTimeDelta) * targetDelta,beforeOrAt.secondsPerLiquidityCumulativeX128 + uint160((uint256(atOrAfter.secondsPerLiquidityCumulativeX128 - beforeOrAt.secondsPerLiquidityCumulativeX128) * targetDelta) / observationTimeDelta)) (contracts/libraries/Oracle.sol#275-285) Tick.tickSpacingToMaxLiquidityPerTick(int24) (contracts/libraries/Tick.sol#44-49) performs a multiplication on the result of a division: - minTick = (TickMath.MIN_TICK / tickSpacing) * tickSpacing (contracts/libraries/Tick.sol#45) Tick.tickSpacingToMaxLiquidityPerTick(int24) (contracts/libraries/Tick.sol#44-49) performs a multiplication on the result of a division: - maxTick = (TickMath.MAX_TICK / tickSpacing) * tickSpacing (contracts/libraries/Tick.sol#46) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128 (contracts/libraries/TickMath.sol#46) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128 (contracts/libraries/TickMath.sol#45) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128 (contracts/libraries/TickMath.sol#44) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128 (contracts/libraries/TickMath.sol#43) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128 (contracts/libraries/TickMath.sol#42) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128 (contracts/libraries/TickMath.sol#41) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128 (contracts/libraries/TickMath.sol#40) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128 (contracts/libraries/TickMath.sol#39) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128 (contracts/libraries/TickMath.sol#38) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128 (contracts/libraries/TickMath.sol#37) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128 (contracts/libraries/TickMath.sol#36) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128 (contracts/libraries/TickMath.sol#35) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128 (contracts/libraries/TickMath.sol#34) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128 (contracts/libraries/TickMath.sol#33) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128 (contracts/libraries/TickMath.sol#32) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128 (contracts/libraries/TickMath.sol#31) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128 (contracts/libraries/TickMath.sol#30) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128 (contracts/libraries/TickMath.sol#29) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) performs a multiplication on the result of a division: - ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128 (contracts/libraries/TickMath.sol#28) - ratio = type()(uint256).max / ratio (contracts/libraries/TickMath.sol#48) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply UniswapV3Pool.initialize(uint160) (contracts/UniswapV3Pool.sol#271-289) uses a dangerous strict equality: - require(bool,string)(slot0.sqrtPriceX96 == 0,AI) (contracts/UniswapV3Pool.sol#272) UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788) uses a dangerous strict equality: - state.sqrtPriceX96 == step.sqrtPriceNextX96 (contracts/UniswapV3Pool.sol#693) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities Reentrancy in UniswapV3Pool.collectProtocol(address,uint128,uint128) (contracts/UniswapV3Pool.sol#848-868): External calls: - TransferHelper.safeTransfer(token0,recipient,amount0) (contracts/UniswapV3Pool.sol#859) State variables written after the call(s): - protocolFees.token1 -= amount1 (contracts/UniswapV3Pool.sol#863) UniswapV3Pool.protocolFees (contracts/UniswapV3Pool.sol#87) can be used in cross function reentrancies: - UniswapV3Pool.collectProtocol(address,uint128,uint128) (contracts/UniswapV3Pool.sol#848-868) - UniswapV3Pool.flash(address,uint256,uint256,bytes) (contracts/UniswapV3Pool.sol#791-834) - UniswapV3Pool.protocolFees (contracts/UniswapV3Pool.sol#87) - UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788) Reentrancy in UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788): External calls: - TransferHelper.safeTransfer(token1,recipient,uint256(- amount1)) (contracts/UniswapV3Pool.sol#773) - IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#776) - TransferHelper.safeTransfer(token0,recipient,uint256(- amount0)) (contracts/UniswapV3Pool.sol#779) - IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#782) State variables written after the call(s): - slot0.unlocked = true (contracts/UniswapV3Pool.sol#787) UniswapV3Pool.slot0 (contracts/UniswapV3Pool.sol#74) can be used in cross function reentrancies: - UniswapV3Pool._modifyPosition(UniswapV3Pool.ModifyPositionParams) (contracts/UniswapV3Pool.sol#306-372) - UniswapV3Pool._updatePosition(address,int24,int24,int128,int24) (contracts/UniswapV3Pool.sol#379-453) - UniswapV3Pool.flash(address,uint256,uint256,bytes) (contracts/UniswapV3Pool.sol#791-834) - UniswapV3Pool.increaseObservationCardinalityNext(uint16) (contracts/UniswapV3Pool.sol#255-267) - UniswapV3Pool.initialize(uint160) (contracts/UniswapV3Pool.sol#271-289) - UniswapV3Pool.lock() (contracts/UniswapV3Pool.sol#104-109) - UniswapV3Pool.observe(uint32[]) (contracts/UniswapV3Pool.sol#236-252) - UniswapV3Pool.setFeeProtocol(uint8,uint8) (contracts/UniswapV3Pool.sol#837-845) - UniswapV3Pool.slot0 (contracts/UniswapV3Pool.sol#74) - UniswapV3Pool.snapshotCumulativesInside(int24,int24) (contracts/UniswapV3Pool.sol#158-233) - UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1 SqrtPriceMath.getNextSqrtPriceFromAmount0RoundingUp(uint160,uint128,uint256,bool).product_scope_0 (contracts/libraries/SqrtPriceMath.sol#49) is a local variable never initialized SqrtPriceMath.getNextSqrtPriceFromAmount0RoundingUp(uint160,uint128,uint256,bool).product (contracts/libraries/SqrtPriceMath.sol#39) is a local variable never initialized UniswapV3Pool._updatePosition(address,int24,int24,int128,int24).flippedUpper (contracts/UniswapV3Pool.sol#393) is a local variable never initialized UniswapV3Pool._updatePosition(address,int24,int24,int128,int24).flippedLower (contracts/UniswapV3Pool.sol#392) is a local variable never initialized UniswapV3Pool.mint(address,int24,int24,uint128,bytes).balance1Before (contracts/UniswapV3Pool.sol#479) is a local variable never initialized UniswapV3Pool.mint(address,int24,int24,uint128,bytes).balance0Before (contracts/UniswapV3Pool.sol#478) is a local variable never initialized UniswapV3Pool.swap(address,bool,int256,uint160,bytes).step (contracts/UniswapV3Pool.sol#642) is a local variable never initialized Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables UniswapV3Pool.observe(uint32[]) (contracts/UniswapV3Pool.sol#236-252) ignores return value by observations.observe(_blockTimestamp(),secondsAgos,slot0.tick,slot0.observationIndex,liquidity,slot0.observationCardinality) (contracts/UniswapV3Pool.sol#243-251) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return Reentrancy in UniswapV3Pool.flash(address,uint256,uint256,bytes) (contracts/UniswapV3Pool.sol#791-834): External calls: - TransferHelper.safeTransfer(token0,recipient,amount0) (contracts/UniswapV3Pool.sol#805) - TransferHelper.safeTransfer(token1,recipient,amount1) (contracts/UniswapV3Pool.sol#806) - IUniswapV3FlashCallback(msg.sender).uniswapV3FlashCallback(fee0,fee1,data) (contracts/UniswapV3Pool.sol#808) State variables written after the call(s): - feeGrowthGlobal0X128 += FullMath.mulDiv(paid0 - fees0,FixedPoint128.Q128,_liquidity) (contracts/UniswapV3Pool.sol#824) - feeGrowthGlobal1X128 += FullMath.mulDiv(paid1 - fees1,FixedPoint128.Q128,_liquidity) (contracts/UniswapV3Pool.sol#830) - protocolFees.token0 += uint128(fees0) (contracts/UniswapV3Pool.sol#823) - protocolFees.token1 += uint128(fees1) (contracts/UniswapV3Pool.sol#829) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2 Reentrancy in UniswapV3Pool.collect(address,int24,int24,uint128,uint128) (contracts/UniswapV3Pool.sol#490-513): External calls: - TransferHelper.safeTransfer(token0,recipient,amount0) (contracts/UniswapV3Pool.sol#505) - TransferHelper.safeTransfer(token1,recipient,amount1) (contracts/UniswapV3Pool.sol#509) Event emitted after the call(s): - Collect(msg.sender,recipient,tickLower,tickUpper,amount0,amount1) (contracts/UniswapV3Pool.sol#512) Reentrancy in UniswapV3Pool.collectProtocol(address,uint128,uint128) (contracts/UniswapV3Pool.sol#848-868): External calls: - TransferHelper.safeTransfer(token0,recipient,amount0) (contracts/UniswapV3Pool.sol#859) - TransferHelper.safeTransfer(token1,recipient,amount1) (contracts/UniswapV3Pool.sol#864) Event emitted after the call(s): - CollectProtocol(msg.sender,recipient,amount0,amount1) (contracts/UniswapV3Pool.sol#867) Reentrancy in UniswapV3Pool.flash(address,uint256,uint256,bytes) (contracts/UniswapV3Pool.sol#791-834): External calls: - TransferHelper.safeTransfer(token0,recipient,amount0) (contracts/UniswapV3Pool.sol#805) - TransferHelper.safeTransfer(token1,recipient,amount1) (contracts/UniswapV3Pool.sol#806) - IUniswapV3FlashCallback(msg.sender).uniswapV3FlashCallback(fee0,fee1,data) (contracts/UniswapV3Pool.sol#808) Event emitted after the call(s): - Flash(msg.sender,recipient,amount0,amount1,paid0,paid1) (contracts/UniswapV3Pool.sol#833) Reentrancy in UniswapV3Pool.mint(address,int24,int24,uint128,bytes) (contracts/UniswapV3Pool.sol#457-487): External calls: - IUniswapV3MintCallback(msg.sender).uniswapV3MintCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#482) Event emitted after the call(s): - Mint(msg.sender,recipient,tickLower,tickUpper,amount,amount0,amount1) (contracts/UniswapV3Pool.sol#486) Reentrancy in UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788): External calls: - TransferHelper.safeTransfer(token1,recipient,uint256(- amount1)) (contracts/UniswapV3Pool.sol#773) - IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#776) - TransferHelper.safeTransfer(token0,recipient,uint256(- amount0)) (contracts/UniswapV3Pool.sol#779) - IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#782) Event emitted after the call(s): - Swap(msg.sender,recipient,amount0,amount1,state.sqrtPriceX96,state.liquidity,state.tick) (contracts/UniswapV3Pool.sol#786) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3 UniswapV3Pool.initialize(uint160) (contracts/UniswapV3Pool.sol#271-289) uses timestamp for comparisons Dangerous comparisons: - require(bool,string)(slot0.sqrtPriceX96 == 0,AI) (contracts/UniswapV3Pool.sol#272) UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788) uses timestamp for comparisons Dangerous comparisons: - state.amountSpecifiedRemaining != 0 && state.sqrtPriceX96 != sqrtPriceLimitX96 (contracts/UniswapV3Pool.sol#641) - step.tickNext < TickMath.MIN_TICK (contracts/UniswapV3Pool.sol#653) - step.tickNext > TickMath.MAX_TICK (contracts/UniswapV3Pool.sol#655) - cache.feeProtocol > 0 (contracts/UniswapV3Pool.sol#682) - state.liquidity > 0 (contracts/UniswapV3Pool.sol#689) - state.sqrtPriceX96 == step.sqrtPriceNextX96 (contracts/UniswapV3Pool.sol#693) - state.sqrtPriceX96 != step.sqrtPriceStartX96 (contracts/UniswapV3Pool.sol#726) - state.tick != slot0Start.tick (contracts/UniswapV3Pool.sol#733) - cache.liquidityStart != state.liquidity (contracts/UniswapV3Pool.sol#755) - state.protocolFee > 0 (contracts/UniswapV3Pool.sol#761) - state.protocolFee > 0 (contracts/UniswapV3Pool.sol#764) - amount1 < 0 (contracts/UniswapV3Pool.sol#773) - require(bool,string)(balance0Before.add(uint256(amount0)) <= balance0(),IIA) (contracts/UniswapV3Pool.sol#777) - amount0 < 0 (contracts/UniswapV3Pool.sol#779) - require(bool,string)(balance1Before.add(uint256(amount1)) <= balance1(),IIA) (contracts/UniswapV3Pool.sol#783) - (step.sqrtPriceNextX96 < sqrtPriceLimitX96) (contracts/UniswapV3Pool.sol#663-671) - (step.sqrtPriceNextX96 > sqrtPriceLimitX96) (contracts/UniswapV3Pool.sol#663-671) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp FullMath.mulDiv(uint256,uint256,uint256) (contracts/libraries/FullMath.sol#14-106) uses assembly - INLINE ASM (contracts/libraries/FullMath.sol#26-30) - INLINE ASM (contracts/libraries/FullMath.sol#35-37) - INLINE ASM (contracts/libraries/FullMath.sol#52-54) - INLINE ASM (contracts/libraries/FullMath.sol#56-59) - INLINE ASM (contracts/libraries/FullMath.sol#66-68) - INLINE ASM (contracts/libraries/FullMath.sol#71-73) - INLINE ASM (contracts/libraries/FullMath.sol#77-79) TickMath.getTickAtSqrtRatio(uint160) (contracts/libraries/TickMath.sol#61-204) uses assembly - INLINE ASM (contracts/libraries/TickMath.sol#69-73) - INLINE ASM (contracts/libraries/TickMath.sol#74-78) - INLINE ASM (contracts/libraries/TickMath.sol#79-83) - INLINE ASM (contracts/libraries/TickMath.sol#84-88) - INLINE ASM (contracts/libraries/TickMath.sol#89-93) - INLINE ASM (contracts/libraries/TickMath.sol#94-98) - INLINE ASM (contracts/libraries/TickMath.sol#99-103) - INLINE ASM (contracts/libraries/TickMath.sol#104-107) - INLINE ASM (contracts/libraries/TickMath.sol#114-119) - INLINE ASM (contracts/libraries/TickMath.sol#120-125) - INLINE ASM (contracts/libraries/TickMath.sol#126-131) - INLINE ASM (contracts/libraries/TickMath.sol#132-137) - INLINE ASM (contracts/libraries/TickMath.sol#138-143) - INLINE ASM (contracts/libraries/TickMath.sol#144-149) - INLINE ASM (contracts/libraries/TickMath.sol#150-155) - INLINE ASM (contracts/libraries/TickMath.sol#156-161) - INLINE ASM (contracts/libraries/TickMath.sol#162-167) - INLINE ASM (contracts/libraries/TickMath.sol#168-173) - INLINE ASM (contracts/libraries/TickMath.sol#174-179) - INLINE ASM (contracts/libraries/TickMath.sol#180-185) - INLINE ASM (contracts/libraries/TickMath.sol#186-191) - INLINE ASM (contracts/libraries/TickMath.sol#192-196) UnsafeMath.divRoundingUp(uint256,uint256) (contracts/libraries/UnsafeMath.sol#12-16) uses assembly - INLINE ASM (contracts/libraries/UnsafeMath.sol#13-15) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage 5 different versions of Solidity are used: - Version constraint =0.7.6 is used by: -=0.7.6 (contracts/NoDelegateCall.sol#2) -=0.7.6 (contracts/UniswapV3Pool.sol#2) - Version constraint >=0.5.0 is used by: ->=0.5.0 (contracts/interfaces/IERC20Minimal.sol#2) ->=0.5.0 (contracts/interfaces/IUniswapV3Factory.sol#2) ->=0.5.0 (contracts/interfaces/IUniswapV3Pool.sol#2) ->=0.5.0 (contracts/interfaces/IUniswapV3PoolDeployer.sol#2) ->=0.5.0 (contracts/interfaces/callback/IUniswapV3FlashCallback.sol#2) ->=0.5.0 (contracts/interfaces/callback/IUniswapV3MintCallback.sol#2) ->=0.5.0 (contracts/interfaces/callback/IUniswapV3SwapCallback.sol#2) ->=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolActions.sol#2) ->=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#2) ->=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolEvents.sol#2) ->=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#2) ->=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#2) ->=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolState.sol#2) ->=0.5.0 (contracts/libraries/BitMath.sol#2) ->=0.5.0 (contracts/libraries/LiquidityMath.sol#2) ->=0.5.0 (contracts/libraries/Oracle.sol#2) ->=0.5.0 (contracts/libraries/Position.sol#2) ->=0.5.0 (contracts/libraries/SafeCast.sol#2) ->=0.5.0 (contracts/libraries/SqrtPriceMath.sol#2) ->=0.5.0 (contracts/libraries/SwapMath.sol#2) ->=0.5.0 (contracts/libraries/Tick.sol#2) ->=0.5.0 (contracts/libraries/TickBitmap.sol#2) ->=0.5.0 (contracts/libraries/TickMath.sol#2) ->=0.5.0 (contracts/libraries/UnsafeMath.sol#2) - Version constraint >=0.4.0 is used by: ->=0.4.0 (contracts/libraries/FixedPoint128.sol#2) ->=0.4.0 (contracts/libraries/FixedPoint96.sol#2) ->=0.4.0 (contracts/libraries/FullMath.sol#2) - Version constraint >=0.7.0 is used by: ->=0.7.0 (contracts/libraries/LowGasSafeMath.sol#2) - Version constraint >=0.6.0 is used by: ->=0.6.0 (contracts/libraries/TransferHelper.sol#2) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788) has a high cyclomatic complexity (28). SwapMath.computeSwapStep(uint160,uint160,uint128,int256,uint24) (contracts/libraries/SwapMath.sol#21-97) has a high cyclomatic complexity (13). TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) has a high cyclomatic complexity (24). Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity Version constraint =0.7.6 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.7.6 (contracts/NoDelegateCall.sol#2) - =0.7.6 (contracts/UniswapV3Pool.sol#2) Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - SignedArrayStorageCopy - ABIEncoderV2StorageArrayWithMultiSlotElement - DynamicConstructorArgumentsClippedABIV2 - UninitializedFunctionPointerInConstructor - IncorrectEventSignatureInLibraries - ABIEncoderV2PackedStorage. It is used by: - >=0.5.0 (contracts/interfaces/IERC20Minimal.sol#2) - >=0.5.0 (contracts/interfaces/IUniswapV3Factory.sol#2) - >=0.5.0 (contracts/interfaces/IUniswapV3Pool.sol#2) - >=0.5.0 (contracts/interfaces/IUniswapV3PoolDeployer.sol#2) - >=0.5.0 (contracts/interfaces/callback/IUniswapV3FlashCallback.sol#2) - >=0.5.0 (contracts/interfaces/callback/IUniswapV3MintCallback.sol#2) - >=0.5.0 (contracts/interfaces/callback/IUniswapV3SwapCallback.sol#2) - >=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolActions.sol#2) - >=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#2) - >=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolEvents.sol#2) - >=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#2) - >=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#2) - >=0.5.0 (contracts/interfaces/pool/IUniswapV3PoolState.sol#2) - >=0.5.0 (contracts/libraries/BitMath.sol#2) - >=0.5.0 (contracts/libraries/LiquidityMath.sol#2) - >=0.5.0 (contracts/libraries/Oracle.sol#2) - >=0.5.0 (contracts/libraries/Position.sol#2) - >=0.5.0 (contracts/libraries/SafeCast.sol#2) - >=0.5.0 (contracts/libraries/SqrtPriceMath.sol#2) - >=0.5.0 (contracts/libraries/SwapMath.sol#2) - >=0.5.0 (contracts/libraries/Tick.sol#2) - >=0.5.0 (contracts/libraries/TickBitmap.sol#2) - >=0.5.0 (contracts/libraries/TickMath.sol#2) - >=0.5.0 (contracts/libraries/UnsafeMath.sol#2) Version constraint >=0.4.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - IncorrectEventSignatureInLibraries_0.4.x - ExpExponentCleanup - NestedArrayFunctionCallDecoder - ZeroFunctionSelector - DelegateCallReturnValue - ECRecoverMalformedInput - SkipEmptyStringLiteral - ConstantOptimizerSubtraction - IdentityPrecompileReturnIgnored - HighOrderByteCleanStorage - OptimizerStaleKnowledgeAboutSHA3 - LibrariesNotCallableFromPayableFunctions. It is used by: - >=0.4.0 (contracts/libraries/FixedPoint128.sol#2) - >=0.4.0 (contracts/libraries/FixedPoint96.sol#2) - >=0.4.0 (contracts/libraries/FullMath.sol#2) Version constraint >=0.7.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - FullInlinerNonExpressionSplitArgumentEvaluationOrder - MissingSideEffectsOnSelectorAccess - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - DataLocationChangeInInternalOverride - NestedCalldataArrayAbiReencodingSizeValidation - SignedImmutables - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup. It is used by: - >=0.7.0 (contracts/libraries/LowGasSafeMath.sol#2) Version constraint >=0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - NestedCalldataArrayAbiReencodingSizeValidation - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - MissingEscapingInFormatting - ArraySliceDynamicallyEncodedBaseType - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - YulOptimizerRedundantAssignmentBreakContinue. It is used by: - >=0.6.0 (contracts/libraries/TransferHelper.sol#2) solc-0.7.6 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Low level call in UniswapV3Pool.balance0() (contracts/UniswapV3Pool.sol#140-145): - (success,data) = token0.staticcall(abi.encodeWithSelector(IERC20Minimal.balanceOf.selector,address(this))) (contracts/UniswapV3Pool.sol#141-142) Low level call in UniswapV3Pool.balance1() (contracts/UniswapV3Pool.sol#150-155): - (success,data) = token1.staticcall(abi.encodeWithSelector(IERC20Minimal.balanceOf.selector,address(this))) (contracts/UniswapV3Pool.sol#151-152) Low level call in TransferHelper.safeTransfer(address,address,uint256) (contracts/libraries/TransferHelper.sol#14-22): - (success,data) = token.call(abi.encodeWithSelector(IERC20Minimal.transfer.selector,to,value)) (contracts/libraries/TransferHelper.sol#19-20) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls BitMath.mostSignificantBit(uint256) (contracts/libraries/BitMath.sol#13-45) uses literals with too many digits: - x >= 0x100000000000000000000000000000000 (contracts/libraries/BitMath.sol#16) BitMath.mostSignificantBit(uint256) (contracts/libraries/BitMath.sol#13-45) uses literals with too many digits: - x >= 0x10000000000000000 (contracts/libraries/BitMath.sol#20) BitMath.mostSignificantBit(uint256) (contracts/libraries/BitMath.sol#13-45) uses literals with too many digits: - x >= 0x100000000 (contracts/libraries/BitMath.sol#24) FixedPoint128.slitherConstructorConstantVariables() (contracts/libraries/FixedPoint128.sol#6-8) uses literals with too many digits: - Q128 = 0x100000000000000000000000000000000 (contracts/libraries/FixedPoint128.sol#7) FixedPoint96.slitherConstructorConstantVariables() (contracts/libraries/FixedPoint96.sol#7-10) uses literals with too many digits: - Q96 = 0x1000000000000000000000000 (contracts/libraries/FixedPoint96.sol#9) TickMath.getSqrtRatioAtTick(int24) (contracts/libraries/TickMath.sol#23-54) uses literals with too many digits: - ratio = 0x100000000000000000000000000000000 (contracts/libraries/TickMath.sol#27) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits . analyzed (31 contracts with 100 detectors), 73 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.7.6",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.7.6",
"install_stderr": null,
"install_stdout": "Version '0.7.6' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-cv6fhqgl --allow-paths /tmp/slither-cv6fhqgl,/tmp/slither-cv6fhqgl/lib,/tmp/slither-cv6fhqgl/src",
"remappings": [],
"source_files": [
"contracts/UniswapV3Pool.sol",
"contracts/interfaces/IUniswapV3Pool.sol",
"contracts/NoDelegateCall.sol",
"contracts/libraries/LowGasSafeMath.sol",
"contracts/libraries/SafeCast.sol",
"contracts/libraries/Tick.sol",
"contracts/libraries/TickBitmap.sol",
"contracts/libraries/Position.sol",
"contracts/libraries/Oracle.sol",
"contracts/libraries/FullMath.sol",
"contracts/libraries/FixedPoint128.sol",
"contracts/libraries/TransferHelper.sol",
"contracts/libraries/TickMath.sol",
"contracts/libraries/LiquidityMath.sol",
"contracts/libraries/SqrtPriceMath.sol",
"contracts/libraries/SwapMath.sol",
"contracts/interfaces/IUniswapV3PoolDeployer.sol",
"contracts/interfaces/IUniswapV3Factory.sol",
"contracts/interfaces/IERC20Minimal.sol",
"contracts/interfaces/callback/IUniswapV3MintCallback.sol",
"contracts/interfaces/callback/IUniswapV3SwapCallback.sol",
"contracts/interfaces/callback/IUniswapV3FlashCallback.sol",
"contracts/interfaces/pool/IUniswapV3PoolImmutables.sol",
"contracts/interfaces/pool/IUniswapV3PoolState.sol",
"contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol",
"contracts/interfaces/pool/IUniswapV3PoolActions.sol",
"contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol",
"contracts/interfaces/pool/IUniswapV3PoolEvents.sol",
"contracts/libraries/BitMath.sol",
"contracts/libraries/UnsafeMath.sol",
"contracts/libraries/FixedPoint96.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 73,
"workspace_hash": "9ccf3c9e49e1d242243dad0e7fd42c8e0d17e8a77af34472ca9881fe2d6ac186",
"duration_seconds": 2.8295531272888184,
"solc_version_requested": "0.7.6"
}
{
"codex": {
"ran_at": "2026-04-04T03:21:48.061138+00:00",
"returncode": 0
},
"project": {
"file_count": 31,
"import_count": 38,
"first_party_contracts_count": 31
},
"skipped": true,
"summary": "skipped: UniswapV3Pool contract (auto-skip rule)",
"raw_final": {
"skipped": true,
"summary": "skipped: UniswapV3Pool contract (auto-skip rule)",
"findings": [],
"no_findings": true,
"skip_reason": "uniswap_v3_pool",
"matched_file": "contracts/UniswapV3Pool.sol"
},
"no_findings": true,
"skip_reason": "uniswap_v3_pool",
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x01ae 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x70cf754a 00000026: GT 00000027: PUSH2 0x00ee 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xc45a0155 00000031: GT 00000032: PUSH2 0x0097 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xddca3f43 0000003c: GT 0000003d: PUSH2 0x0071 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xddca3f43 00000047: EQ 00000048: PUSH2 0x0800 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xf3058399 00000052: EQ 00000053: PUSH2 0x0820 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf30dba93 0000005d: EQ 0000005e: PUSH2 0x0828 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf637731d 00000068: EQ 00000069: PUSH2 0x08aa 0000006c: JUMPI 0000006d: PUSH2 0x01ae 00000070: JUMP 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0xc45a0155 00000078: EQ 00000079: PUSH2 0x07d1 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xd0c93a7c 00000083: EQ 00000084: PUSH2 0x07d9 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xd21220a7 0000008e: EQ 0000008f: PUSH2 0x07f8 00000092: JUMPI 00000093: PUSH2 0x01ae 00000096: JUMP 00000097: JUMPDEST 00000098: DUP1 00000099: PUSH4 0x883bdbfd 0000009e: GT 0000009f: PUSH2 0x00c8 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x883bdbfd 000000a9: EQ 000000aa: PUSH2 0x0633 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0xa34123a7 000000b4: EQ 000000b5: PUSH2 0x073c 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0xa38807f2 000000bf: EQ 000000c0: PUSH2 0x0776 000000c3: JUMPI 000000c4: PUSH2 0x01ae 000000c7: JUMP 000000c8: JUMPDEST 000000c9: DUP1 000000ca: PUSH4 0x70cf754a 000000cf: EQ 000000d0: PUSH2 0x05c6 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x8206a4d1 000000da: EQ 000000db: PUSH2 0x05ce 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x85b66729 000000e5: EQ 000000e6: PUSH2 0x05f6 000000e9: JUMPI 000000ea: PUSH2 0x01ae 000000ed: JUMP 000000ee: JUMPDEST 000000ef: DUP1 000000f0: PUSH4 0x3850c7bd 000000f5: GT 000000f6: PUSH2 0x015b 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x490e6cbc 00000100: GT 00000101: PUSH2 0x0135 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x490e6cbc 0000010b: EQ 0000010c: PUSH2 0x0470 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x4f1eb3d8 00000116: EQ 00000117: PUSH2 0x04fc 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x514ea4bf 00000121: EQ 00000122: PUSH2 0x054d 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x5339c296 0000012c: EQ 0000012d: PUSH2 0x05a6 00000130: JUMPI 00000131: PUSH2 0x01ae 00000134: JUMP 00000135: JUMPDEST 00000136: DUP1 00000137: PUSH4 0x3850c7bd 0000013c: EQ 0000013d: PUSH2 0x035b 00000140: JUMPI 00000141: DUP1 00000142: PUSH4 0x3c8a7d8d 00000147: EQ 00000148: PUSH2 0x03b4 0000014b: JUMPI 0000014c: DUP1 0000014d: PUSH4 0x46141319 00000152: EQ 00000153: PUSH2 0x0456 00000156: JUMPI 00000157: PUSH2 0x01ae 0000015a: JUMP 0000015b: JUMPDEST 0000015c: DUP1 0000015d: PUSH4 0x1ad8b03b 00000162: GT 00000163: PUSH2 0x018c 00000166: JUMPI 00000167: DUP1 00000168: PUSH4 0x1ad8b03b 0000016d: EQ 0000016e: PUSH2 0x02aa 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0x252c09d7 00000178: EQ 00000179: PUSH2 0x02e1 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0x32148f67 00000183: EQ 00000184: PUSH2 0x0338 00000187: JUMPI 00000188: PUSH2 0x01ae 0000018b: JUMP 0000018c: JUMPDEST 0000018d: DUP1 0000018e: PUSH4 0x0dfe1681 00000193: EQ 00000194: PUSH2 0x01b3 00000197: JUMPI 00000198: DUP1 00000199: PUSH4 0x128acb08 0000019e: EQ 0000019f: PUSH2 0x01d7 000001a2: JUMPI 000001a3: DUP1 000001a4: PUSH4 0x1a686502 000001a9: EQ 000001aa: PUSH2 0x0286 000001ad: JUMPI 000001ae: JUMPDEST 000001af: PUSH1 0x00 000001b1: DUP1 000001b2: REVERT 000001b3: JUMPDEST 000001b4: PUSH2 0x01bb 000001b7: PUSH2 0x08d0 000001ba: JUMP 000001bb: JUMPDEST 000001bc: PUSH1 0x40 000001be: DUP1 000001bf: MLOAD 000001c0: PUSH1 0x01 000001c2: PUSH1 0x01 000001c4: PUSH1 0xa0 000001c6: SHL 000001c7: SUB 000001c8: SWAP1 000001c9: SWAP3 000001ca: AND 000001cb: DUP3 000001cc: MSTORE 000001cd: MLOAD 000001ce: SWAP1 000001cf: DUP2 000001d0: SWAP1 000001d1: SUB 000001d2: PUSH1 0x20 000001d4: ADD 000001d5: SWAP1 000001d6: RETURN 000001d7: JUMPDEST 000001d8: PUSH2 0x026d 000001db: PUSH1 0x04 000001dd: DUP1 000001de: CALLDATASIZE 000001df: SUB 000001e0: PUSH1 0xa0 000001e2: DUP2 000001e3: LT 000001e4: ISZERO 000001e5: PUSH2 0x01ed 000001e8: JUMPI 000001e9: PUSH1 0x00 000001eb: DUP1 000001ec: REVERT 000001ed: JUMPDEST 000001ee: PUSH1 0x01 000001f0: PUSH1 0x01 000001f2: PUSH1 0xa0 000001f4: SHL 000001f5: SUB 000001f6: DUP3 000001f7: CALLDATALOAD 000001f8: DUP2 000001f9: AND 000001fa: SWAP3 000001fb: PUSH1 0x20 000001fd: DUP2 000001fe: ADD 000001ff: CALLDATALOAD 00000200: ISZERO 00000201: ISZERO 00000202: SWAP3 00000203: PUSH1 0x40 00000205: DUP3 00000206: ADD 00000207: CALLDATALOAD 00000208: SWAP3 00000209: PUSH1 0x60 0000020b: DUP4 0000020c: ADD 0000020d: CALLDATALOAD 0000020e: AND 0000020f: SWAP2 00000210: SWAP1 00000211: DUP2 00000212: ADD 00000213: SWAP1 00000214: PUSH1 0xa0 00000216: DUP2 00000217: ADD 00000218: PUSH1 0x80 0000021a: DUP3 0000021b: ADD 0000021c: CALLDATALOAD 0000021d: PUSH5 0x0100000000 00000223: DUP2 00000224: GT 00000225: ISZERO 00000226: PUSH2 0x022e 00000229: JUMPI 0000022a: PUSH1 0x00 0000022c: DUP1 0000022d: REVERT 0000022e: JUMPDEST 0000022f: DUP3 00000230: ADD 00000231: DUP4 00000232: PUSH1 0x20 00000234: DUP3 00000235: ADD 00000236: GT 00000237: ISZERO 00000238: PUSH2 0x0240 0000023b: JUMPI 0000023c: PUSH1 0x00 0000023e: DUP1 0000023f: REVERT 00000240: JUMPDEST 00000241: DUP1 00000242: CALLDATALOAD 00000243: SWAP1 00000244: PUSH1 0x20 00000246: ADD 00000247: SWAP2 00000248: DUP5 00000249: PUSH1 0x01 0000024b: DUP4 0000024c: MUL 0000024d: DUP5 0000024e: ADD 0000024f: GT 00000250: PUSH5 0x0100000000 00000256: DUP4 00000257: GT 00000258: OR 00000259: ISZERO 0000025a: PUSH2 0x0262 0000025d: JUMPI 0000025e: PUSH1 0x00 00000260: DUP1 00000261: REVERT 00000262: JUMPDEST 00000263: POP 00000264: SWAP1 00000265: SWAP3 00000266: POP 00000267: SWAP1 00000268: POP 00000269: PUSH2 0x08f4 0000026c: JUMP 0000026d: JUMPDEST 0000026e: PUSH1 0x40 00000270: DUP1 00000271: MLOAD 00000272: SWAP3 00000273: DUP4 00000274: MSTORE 00000275: PUSH1 0x20 00000277: DUP4 00000278: ADD 00000279: SWAP2 0000027a: SWAP1 0000027b: SWAP2 0000027c: MSTORE 0000027d: DUP1 0000027e: MLOAD 0000027f: SWAP2 00000280: DUP3 00000281: SWAP1 00000282: SUB 00000283: ADD 00000284: SWAP1 00000285: RETURN 00000286: JUMPDEST 00000287: PUSH2 0x028e 0000028a: PUSH2 0x14ad 0000028d: JUMP 0000028e: JUMPDEST 0000028f: PUSH1 0x40 00000291: DUP1 00000292: MLOAD 00000293: PUSH1 0x01 00000295: PUSH1 0x01 00000297: PUSH1 0x80 00000299: SHL 0000029a: SUB 0000029b: SWAP1 0000029c: SWAP3 0000029d: AND 0000029e: DUP3 0000029f: MSTORE 000002a0: MLOAD 000002a1: SWAP1 000002a2: DUP2 000002a3: SWAP1 000002a4: SUB 000002a5: PUSH1 0x20 000002a7: ADD 000002a8: SWAP1 000002a9: RETURN 000002aa: JUMPDEST 000002ab: PUSH2 0x02b2 000002ae: PUSH2 0x14bc 000002b1: JUMP 000002b2: JUMPDEST 000002b3: PUSH1 0x40 000002b5: MLOAD 000002b6: DUP1 000002b7: DUP4 000002b8: PUSH1 0x01 000002ba: PUSH1 0x01 000002bc: PUSH1 0x80 000002be: SHL 000002bf: SUB 000002c0: AND 000002c1: DUP2 000002c2: MSTORE 000002c3: PUSH1 0x20 000002c5: ADD 000002c6: DUP3 000002c7: PUSH1 0x01 000002c9: PUSH1 0x01 000002cb: PUSH1 0x80 000002cd: SHL 000002ce: SUB 000002cf: AND 000002d0: DUP2 000002d1: MSTORE 000002d2: PUSH1 0x20 000002d4: ADD 000002d5: SWAP3 000002d6: POP 000002d7: POP 000002d8: POP 000002d9: PUSH1 0x40 000002db: MLOAD 000002dc: DUP1 000002dd: SWAP2 000002de: SUB 000002df: SWAP1 000002e0: RETURN 000002e1: JUMPDEST 000002e2: PUSH2 0x02fe 000002e5: PUSH1 0x04 000002e7: DUP1 000002e8: CALLDATASIZE 000002e9: SUB 000002ea: PUSH1 0x20 000002ec: DUP2 000002ed: LT 000002ee: ISZERO 000002ef: PUSH2 0x02f7 000002f2: JUMPI 000002f3: PUSH1 0x00 000002f5: DUP1 000002f6: REVERT 000002f7: JUMPDEST 000002f8: POP 000002f9: CALLDATALOAD 000002fa: PUSH2 0x14d6 000002fd: JUMP 000002fe: JUMPDEST 000002ff: PUSH1 0x40 00000301: DUP1 00000302: MLOAD 00000303: PUSH4 0xffffffff 00000308: SWAP1 00000309: SWAP6 0000030a: AND 0000030b: DUP6 0000030c: MSTORE 0000030d: PUSH1 0x06 0000030f: SWAP4 00000310: SWAP1 00000311: SWAP4 00000312: SIGNEXTEND 00000313: PUSH1 0x20 00000315: DUP6 00000316: ADD 00000317: MSTORE 00000318: PUSH1 0x01 0000031a: PUSH1 0x01 0000031c: PUSH1 0xa0 0000031e: SHL 0000031f: SUB 00000320: SWAP1 00000321: SWAP2 00000322: AND 00000323: DUP4 00000324: DUP4 00000325: ADD 00000326: MSTORE 00000327: ISZERO 00000328: ISZERO 00000329: PUSH1 0x60 0000032b: DUP4 0000032c: ADD 0000032d: MSTORE 0000032e: MLOAD 0000032f: SWAP1 00000330: DUP2 00000331: SWAP1 00000332: SUB 00000333: PUSH1 0x80 00000335: ADD 00000336: SWAP1 00000337: RETURN 00000338: JUMPDEST 00000339: PUSH2 0x0359 0000033c: PUSH1 0x04 0000033e: DUP1 0000033f: CALLDATASIZE 00000340: SUB 00000341: PUSH1 0x20 00000343: DUP2 00000344: LT 00000345: ISZERO 00000346: PUSH2 0x034e 00000349: JUMPI 0000034a: PUSH1 0x00 0000034c: DUP1 0000034d: REVERT 0000034e: JUMPDEST 0000034f: POP 00000350: CALLDATALOAD 00000351: PUSH2 0xffff 00000354: AND 00000355: PUSH2 0x151c 00000358: JUMP 00000359: JUMPDEST 0000035a: STOP 0000035b: JUMPDEST 0000035c: PUSH2 0x0363 0000035f: PUSH2 0x1616 00000362: JUMP 00000363: JUMPDEST 00000364: PUSH1 0x40 00000366: DUP1 00000367: MLOAD 00000368: PUSH1 0x01 0000036a: PUSH1 0x01 0000036c: PUSH1 0xa0 0000036e: SHL 0000036f: SUB 00000370: SWAP1 00000371: SWAP9 00000372: AND 00000373: DUP9 00000374: MSTORE 00000375: PUSH1 0x02 00000377: SWAP7 00000378: SWAP1 00000379: SWAP7 0000037a: SIGNEXTEND 0000037b: PUSH1 0x20 0000037d: DUP9 0000037e: ADD 0000037f: MSTORE 00000380: PUSH2 0xffff 00000383: SWAP5 00000384: DUP6 00000385: AND 00000386: DUP8 00000387: DUP8 00000388: ADD 00000389: MSTORE 0000038a: SWAP3 0000038b: DUP5 0000038c: AND 0000038d: PUSH1 0x60 0000038f: DUP8 00000390: ADD 00000391: MSTORE 00000392: SWAP3 00000393: AND 00000394: PUSH1 0x80 00000396: DUP6 00000397: ADD 00000398: MSTORE 00000399: PUSH1 0xff 0000039b: SWAP1 0000039c: SWAP2 0000039d: AND 0000039e: PUSH1 0xa0 000003a0: DUP5 000003a1: ADD 000003a2: MSTORE 000003a3: ISZERO 000003a4: ISZERO 000003a5: PUSH1 0xc0 000003a7: DUP4 000003a8: ADD 000003a9: MSTORE 000003aa: MLOAD 000003ab: SWAP1 000003ac: DUP2 000003ad: SWAP1 000003ae: SUB 000003af: PUSH1 0xe0 000003b1: ADD 000003b2: SWAP1 000003b3: RETURN 000003b4: JUMPDEST 000003b5: PUSH2 0x026d 000003b8: PUSH1 0x04 000003ba: DUP1 000003bb: CALLDATASIZE 000003bc: SUB 000003bd: PUSH1 0xa0 000003bf: DUP2 000003c0: LT 000003c1: ISZERO 000003c2: PUSH2 0x03ca 000003c5: JUMPI 000003c6: PUSH1 0x00 000003c8: DUP1 000003c9: REVERT 000003ca: JUMPDEST 000003cb: PUSH1 0x01 000003cd: PUSH1 0x01 000003cf: PUSH1 0xa0 000003d1: SHL 000003d2: SUB 000003d3: DUP3 000003d4: CALLDATALOAD 000003d5: AND 000003d6: SWAP2 000003d7: PUSH1 0x20 000003d9: DUP2 000003da: ADD 000003db: CALLDATALOAD 000003dc: PUSH1 0x02 000003de: SWAP1 000003df: DUP2 000003e0: SIGNEXTEND 000003e1: SWAP3 000003e2: PUSH1 0x40 000003e4: DUP4 000003e5: ADD 000003e6: CALLDATALOAD 000003e7: SWAP1 000003e8: SWAP2 000003e9: SIGNEXTEND 000003ea: SWAP2 000003eb: PUSH1 0x01 000003ed: PUSH1 0x01 000003ef: PUSH1 0x80 000003f1: SHL 000003f2: SUB 000003f3: PUSH1 0x60 000003f5: DUP3 000003f6: ADD 000003f7: CALLDATALOAD 000003f8: AND 000003f9: SWAP2 000003fa: DUP2 000003fb: ADD 000003fc: SWAP1 000003fd: PUSH1 0xa0 000003ff: DUP2 00000400: ADD 00000401: PUSH1 0x80 00000403: DUP3 00000404: ADD 00000405: CALLDATALOAD 00000406: PUSH5 0x0100000000 0000040c: DUP2 0000040d: GT 0000040e: ISZERO 0000040f: PUSH2 0x0417 00000412: JUMPI 00000413: PUSH1 0x00 00000415: DUP1 00000416: REVERT 00000417: JUMPDEST 00000418: DUP3 00000419: ADD 0000041a: DUP4 0000041b: PUSH1 0x20 0000041d: DUP3 0000041e: ADD 0000041f: GT 00000420: ISZERO 00000421: PUSH2 0x0429 00000424: JUMPI 00000425: PUSH1 0x00 00000427: DUP1 00000428: REVERT 00000429: JUMPDEST 0000042a: DUP1 0000042b: CALLDATALOAD 0000042c: SWAP1 0000042d: PUSH1 0x20 0000042f: ADD 00000430: SWAP2 00000431: DUP5 00000432: PUSH1 0x01 00000434: DUP4 00000435: MUL 00000436: DUP5 00000437: ADD 00000438: GT 00000439: PUSH5 0x0100000000 0000043f: DUP4 00000440: GT 00000441: OR 00000442: ISZERO 00000443: PUSH2 0x044b 00000446: JUMPI 00000447: PUSH1 0x00 00000449: DUP1 0000044a: REVERT 0000044b: JUMPDEST 0000044c: POP 0000044d: SWAP1 0000044e: SWAP3 0000044f: POP 00000450: SWAP1 00000451: POP 00000452: PUSH2 0x1666 00000455: JUMP 00000456: JUMPDEST 00000457: PUSH2 0x045e 0000045a: PUSH2 0x1922 0000045d: JUMP 0000045e: JUMPDEST 0000045f: PUSH1 0x40 00000461: DUP1 00000462: MLOAD 00000463: SWAP2 00000464: DUP3 00000465: MSTORE 00000466: MLOAD 00000467: SWAP1 00000468: DUP2 00000469: SWAP1 0000046a: SUB 0000046b: PUSH1 0x20 0000046d: ADD 0000046e: SWAP1 0000046f: RETURN 00000470: JUMPDEST 00000471: PUSH2 0x0359 00000474: PUSH1 0x04 00000476: DUP1 00000477: CALLDATASIZE 00000478: SUB 00000479: PUSH1 0x80 0000047b: DUP2 0000047c: LT 0000047d: ISZERO 0000047e: PUSH2 0x0486 00000481: JUMPI 00000482: PUSH1 0x00 00000484: DUP1 00000485: REVERT 00000486: JUMPDEST 00000487: PUSH1 0x01 00000489: PUSH1 0x01 0000048b: PUSH1 0xa0 0000048d: SHL 0000048e: SUB 0000048f: DUP3 00000490: CALLDATALOAD 00000491: AND 00000492: SWAP2 00000493: PUSH1 0x20 00000495: DUP2 00000496: ADD 00000497: CALLDATALOAD 00000498: SWAP2 00000499: PUSH1 0x40 0000049b: DUP3 0000049c: ADD 0000049d: CALLDATALOAD 0000049e: SWAP2 0000049f: SWAP1 000004a0: DUP2 000004a1: ADD 000004a2: SWAP1 000004a3: PUSH1 0x80 000004a5: DUP2 000004a6: ADD 000004a7: PUSH1 0x60 000004a9: DUP3 000004aa: ADD 000004ab: CALLDATALOAD 000004ac: PUSH5 0x0100000000 000004b2: DUP2 000004b3: GT 000004b4: ISZERO 000004b5: PUSH2 0x04bd 000004b8: JUMPI 000004b9: PUSH1 0x00 000004bb: DUP1 000004bc: REVERT 000004bd: JUMPDEST 000004be: DUP3 000004bf: ADD 000004c0: DUP4 000004c1: PUSH1 0x20 000004c3: DUP3 000004c4: ADD 000004c5: GT 000004c6: ISZERO 000004c7: PUSH2 0x04cf 000004ca: JUMPI 000004cb: PUSH1 0x00 000004cd: DUP1 000004ce: REVERT 000004cf: JUMPDEST 000004d0: DUP1 000004d1: CALLDATALOAD 000004d2: SWAP1 000004d3: PUSH1 0x20 000004d5: ADD 000004d6: SWAP2 000004d7: DUP5 000004d8: PUSH1 0x01 000004da: DUP4 000004db: MUL 000004dc: DUP5 000004dd: ADD 000004de: GT 000004df: PUSH5 0x0100000000 000004e5: DUP4 000004e6: GT 000004e7: OR 000004e8: ISZERO 000004e9: PUSH2 0x04f1 000004ec: JUMPI 000004ed: PUSH1 0x00 000004ef: DUP1 000004f0: REVERT 000004f1: JUMPDEST 000004f2: POP 000004f3: SWAP1 000004f4: SWAP3 000004f5: POP 000004f6: SWAP1 000004f7: POP 000004f8: PUSH2 0x1928 000004fb: JUMP 000004fc: JUMPDEST 000004fd: PUSH2 0x02b2 00000500: PUSH1 0x04 00000502: DUP1 00000503: CALLDATASIZE 00000504: SUB 00000505: PUSH1 0xa0 00000507: DUP2 00000508: LT 00000509: ISZERO 0000050a: PUSH2 0x0512 0000050d: JUMPI 0000050e: PUSH1 0x00 00000510: DUP1 00000511: REVERT 00000512: JUMPDEST 00000513: POP 00000514: PUSH1 0x01 00000516: PUSH1 0x01 00000518: PUSH1 0xa0 0000051a: SHL 0000051b: SUB 0000051c: DUP2 0000051d: CALLDATALOAD 0000051e: AND 0000051f: SWAP1 00000520: PUSH1 0x20 00000522: DUP2 00000523: ADD 00000524: CALLDATALOAD 00000525: PUSH1 0x02 00000527: SWAP1 00000528: DUP2 00000529: SIGNEXTEND 0000052a: SWAP2 0000052b: PUSH1 0x40 0000052d: DUP2 0000052e: ADD 0000052f: CALLDATALOAD 00000530: SWAP1 00000531: SWAP2 00000532: SIGNEXTEND 00000533: SWAP1 00000534: PUSH1 0x01 00000536: PUSH1 0x01 00000538: PUSH1 0x80 0000053a: SHL 0000053b: SUB 0000053c: PUSH1 0x60 0000053e: DUP3 0000053f: ADD 00000540: CALLDATALOAD 00000541: DUP2 00000542: AND 00000543: SWAP2 00000544: PUSH1 0x80 00000546: ADD 00000547: CALLDATALOAD 00000548: AND 00000549: PUSH2 0x1d83 0000054c: JUMP 0000054d: JUMPDEST 0000054e: PUSH2 0x056a 00000551: PUSH1 0x04 00000553: DUP1 00000554: CALLDATASIZE 00000555: SUB 00000556: PUSH1 0x20 00000558: DUP2 00000559: LT 0000055a: ISZERO 0000055b: PUSH2 0x0563 0000055e: JUMPI 0000055f: PUSH1 0x00 00000561: DUP1 00000562: REVERT 00000563: JUMPDEST 00000564: POP 00000565: CALLDATALOAD 00000566: PUSH2 0x1f9d 00000569: JUMP 0000056a: JUMPDEST 0000056b: PUSH1 0x40 0000056d: DUP1 0000056e: MLOAD 0000056f: PUSH1 0x01 00000571: PUSH1 0x01 00000573: PUSH1 0x80 00000575: SHL 00000576: SUB 00000577: SWAP7 00000578: DUP8 00000579: AND 0000057a: DUP2 0000057b: MSTORE 0000057c: PUSH1 0x20 0000057e: DUP2 0000057f: ADD 00000580: SWAP6 00000581: SWAP1 00000582: SWAP6 00000583: MSTORE 00000584: DUP5 00000585: DUP2 00000586: ADD 00000587: SWAP4 00000588: SWAP1 00000589: SWAP4 0000058a: MSTORE 0000058b: SWAP1 0000058c: DUP5 0000058d: AND 0000058e: PUSH1 0x60 00000590: DUP5 00000591: ADD 00000592: MSTORE 00000593: SWAP1 00000594: SWAP3 00000595: AND 00000596: PUSH1 0x80 00000598: DUP3 00000599: ADD 0000059a: MSTORE 0000059b: SWAP1 0000059c: MLOAD 0000059d: SWAP1 0000059e: DUP2 0000059f: SWAP1 000005a0: SUB 000005a1: PUSH1 0xa0 000005a3: ADD 000005a4: SWAP1 000005a5: RETURN 000005a6: JUMPDEST 000005a7: PUSH2 0x045e 000005aa: PUSH1 0x04 000005ac: DUP1 000005ad: CALLDATASIZE 000005ae: SUB 000005af: PUSH1 0x20 000005b1: DUP2 000005b2: LT 000005b3: ISZERO 000005b4: PUSH2 0x05bc 000005b7: JUMPI 000005b8: PUSH1 0x00 000005ba: DUP1 000005bb: REVERT 000005bc: JUMPDEST 000005bd: POP 000005be: CALLDATALOAD 000005bf: PUSH1 0x01 000005c1: SIGNEXTEND 000005c2: PUSH2 0x1fda 000005c5: JUMP 000005c6: JUMPDEST 000005c7: PUSH2 0x028e 000005ca: PUSH2 0x1fec 000005cd: JUMP 000005ce: JUMPDEST 000005cf: PUSH2 0x0359 000005d2: PUSH1 0x04 000005d4: DUP1 000005d5: CALLDATASIZE 000005d6: SUB 000005d7: PUSH1 0x40 000005d9: DUP2 000005da: LT 000005db: ISZERO 000005dc: PUSH2 0x05e4 000005df: JUMPI 000005e0: PUSH1 0x00 000005e2: DUP1 000005e3: REVERT 000005e4: JUMPDEST 000005e5: POP 000005e6: PUSH1 0xff 000005e8: DUP2 000005e9: CALLDATALOAD 000005ea: DUP2 000005eb: AND 000005ec: SWAP2 000005ed: PUSH1 0x20 000005ef: ADD 000005f0: CALLDATALOAD 000005f1: AND 000005f2: PUSH2 0x2010 000005f5: JUMP 000005f6: JUMPDEST 000005f7: PUSH2 0x02b2 000005fa: PUSH1 0x04 000005fc: DUP1 000005fd: CALLDATASIZE 000005fe: SUB 000005ff: PUSH1 0x60 00000601: DUP2 00000602: LT 00000603: ISZERO 00000604: PUSH2 0x060c 00000607: JUMPI 00000608: PUSH1 0x00 0000060a: DUP1 0000060b: REVERT 0000060c: JUMPDEST 0000060d: POP 0000060e: PUSH1 0x01 00000610: PUSH1 0x01 00000612: PUSH1 0xa0 00000614: SHL 00000615: SUB 00000616: DUP2 00000617: CALLDATALOAD 00000618: AND 00000619: SWAP1 0000061a: PUSH1 0x01 0000061c: PUSH1 0x01 0000061e: PUSH1 0x80 00000620: SHL 00000621: SUB 00000622: PUSH1 0x20 00000624: DUP3 00000625: ADD 00000626: CALLDATALOAD 00000627: DUP2 00000628: AND 00000629: SWAP2 0000062a: PUSH1 0x40 0000062c: ADD 0000062d: CALLDATALOAD 0000062e: AND 0000062f: PUSH2 0x220f 00000632: JUMP 00000633: JUMPDEST 00000634: PUSH2 0x06a3 00000637: PUSH1 0x04 00000639: DUP1 0000063a: CALLDATASIZE 0000063b: SUB 0000063c: PUSH1 0x20 0000063e: DUP2 0000063f: LT 00000640: ISZERO 00000641: PUSH2 0x0649 00000644: JUMPI 00000645: PUSH1 0x00 00000647: DUP1 00000648: REVERT 00000649: JUMPDEST 0000064a: DUP2 0000064b: ADD 0000064c: SWAP1 0000064d: PUSH1 0x20 0000064f: DUP2 00000650: ADD 00000651: DUP2 00000652: CALLDATALOAD 00000653: PUSH5 0x0100000000 00000659: DUP2 0000065a: GT 0000065b: ISZERO 0000065c: PUSH2 0x0664 0000065f: JUMPI 00000660: PUSH1 0x00 00000662: DUP1 00000663: REVERT 00000664: JUMPDEST 00000665: DUP3 00000666: ADD 00000667: DUP4 00000668: PUSH1 0x20 0000066a: DUP3 0000066b: ADD 0000066c: GT 0000066d: ISZERO 0000066e: PUSH2 0x0676 00000671: JUMPI 00000672: PUSH1 0x00 00000674: DUP1 00000675: REVERT 00000676: JUMPDEST 00000677: DUP1 00000678: CALLDATALOAD 00000679: SWAP1 0000067a: PUSH1 0x20 0000067c: ADD 0000067d: SWAP2 0000067e: DUP5 0000067f: PUSH1 0x20 00000681: DUP4 00000682: MUL 00000683: DUP5 00000684: ADD 00000685: GT 00000686: PUSH5 0x0100000000 0000068c: DUP4 0000068d: GT 0000068e: OR 0000068f: ISZERO 00000690: PUSH2 0x0698 00000693: JUMPI 00000694: PUSH1 0x00 00000696: DUP1 00000697: REVERT 00000698: JUMPDEST 00000699: POP 0000069a: SWAP1 0000069b: SWAP3 0000069c: POP 0000069d: SWAP1 0000069e: POP 0000069f: PUSH2 0x24dc 000006a2: JUMP 000006a3: JUMPDEST 000006a4: PUSH1 0x40 000006a6: MLOAD 000006a7: DUP1 000006a8: DUP1 000006a9: PUSH1 0x20 000006ab: ADD 000006ac: DUP1 000006ad: PUSH1 0x20 000006af: ADD 000006b0: DUP4 000006b1: DUP2 000006b2: SUB 000006b3: DUP4 000006b4: MSTORE 000006b5: DUP6 000006b6: DUP2 000006b7: DUP2 000006b8: MLOAD 000006b9: DUP2 000006ba: MSTORE 000006bb: PUSH1 0x20 000006bd: ADD 000006be: SWAP2 000006bf: POP 000006c0: DUP1 000006c1: MLOAD 000006c2: SWAP1 000006c3: PUSH1 0x20 000006c5: ADD 000006c6: SWAP1 000006c7: PUSH1 0x20 000006c9: MUL 000006ca: DUP1 000006cb: DUP4 000006cc: DUP4 000006cd: PUSH1 0x00 000006cf: JUMPDEST 000006d0: DUP4 000006d1: DUP2 000006d2: LT 000006d3: ISZERO 000006d4: PUSH2 0x06e7 000006d7: JUMPI 000006d8: DUP2 000006d9: DUP2 000006da: ADD 000006db: MLOAD 000006dc: DUP4 000006dd: DUP3 000006de: ADD 000006df: MSTORE 000006e0: PUSH1 0x20 000006e2: ADD 000006e3: PUSH2 0x06cf 000006e6: JUMP 000006e7: JUMPDEST 000006e8: POP 000006e9: POP 000006ea: POP 000006eb: POP 000006ec: SWAP1 000006ed: POP 000006ee: ADD 000006ef: DUP4 000006f0: DUP2 000006f1: SUB 000006f2: DUP3 000006f3: MSTORE 000006f4: DUP5 000006f5: DUP2 000006f6: DUP2 000006f7: MLOAD 000006f8: DUP2 000006f9: MSTORE 000006fa: PUSH1 0x20 000006fc: ADD 000006fd: SWAP2 000006fe: POP 000006ff: DUP1 00000700: MLOAD 00000701: SWAP1 00000702: PUSH1 0x20 00000704: ADD 00000705: SWAP1 00000706: PUSH1 0x20 00000708: MUL 00000709: DUP1 0000070a: DUP4 0000070b: DUP4 0000070c: PUSH1 0x00 0000070e: JUMPDEST 0000070f: DUP4 00000710: DUP2 00000711: LT 00000712: ISZERO 00000713: PUSH2 0x0726 00000716: JUMPI 00000717: DUP2 00000718: DUP2 00000719: ADD 0000071a: MLOAD 0000071b: DUP4 0000071c: DUP3 0000071d: ADD 0000071e: MSTORE 0000071f: PUSH1 0x20 00000721: ADD 00000722: PUSH2 0x070e 00000725: JUMP 00000726: JUMPDEST 00000727: POP 00000728: POP 00000729: POP 0000072a: POP 0000072b: SWAP1 0000072c: POP 0000072d: ADD 0000072e: SWAP5 0000072f: POP 00000730: POP 00000731: POP 00000732: POP 00000733: POP 00000734: PUSH1 0x40 00000736: MLOAD 00000737: DUP1 00000738: SWAP2 00000739: SUB 0000073a: SWAP1 0000073b: RETURN 0000073c: JUMPDEST 0000073d: PUSH2 0x026d 00000740: PUSH1 0x04 00000742: DUP1 00000743: CALLDATASIZE 00000744: SUB 00000745: PUSH1 0x60 00000747: DUP2 00000748: LT 00000749: ISZERO 0000074a: PUSH2 0x0752 0000074d: JUMPI 0000074e: PUSH1 0x00 00000750: DUP1 00000751: REVERT 00000752: JUMPDEST 00000753: POP 00000754: DUP1 00000755: CALLDATALOAD 00000756: PUSH1 0x02 00000758: SWAP1 00000759: DUP2 0000075a: SIGNEXTEND 0000075b: SWAP2 0000075c: PUSH1 0x20 0000075e: DUP2 0000075f: ADD 00000760: CALLDATALOAD 00000761: SWAP1 00000762: SWAP2 00000763: SIGNEXTEND 00000764: SWAP1 00000765: PUSH1 0x40 00000767: ADD 00000768: CALLDATALOAD 00000769: PUSH1 0x01 0000076b: PUSH1 0x01 0000076d: PUSH1 0x80 0000076f: SHL 00000770: SUB 00000771: AND 00000772: PUSH2 0x2569 00000775: JUMP 00000776: JUMPDEST 00000777: PUSH2 0x07a0 0000077a: PUSH1 0x04 0000077c: DUP1 0000077d: CALLDATASIZE 0000077e: SUB 0000077f: PUSH1 0x40 00000781: DUP2 00000782: LT 00000783: ISZERO 00000784: PUSH2 0x078c 00000787: JUMPI 00000788: PUSH1 0x00 0000078a: DUP1 0000078b: REVERT 0000078c: JUMPDEST 0000078d: POP 0000078e: DUP1 0000078f: CALLDATALOAD 00000790: PUSH1 0x02 00000792: SWAP1 00000793: DUP2 00000794: SIGNEXTEND 00000795: SWAP2 00000796: PUSH1 0x20 00000798: ADD 00000799: CALLDATALOAD 0000079a: SWAP1 0000079b: SIGNEXTEND 0000079c: PUSH2 0x26e0 0000079f: JUMP 000007a0: JUMPDEST 000007a1: PUSH1 0x40 000007a3: DUP1 000007a4: MLOAD 000007a5: PUSH1 0x06 000007a7: SWAP5 000007a8: SWAP1 000007a9: SWAP5 000007aa: SIGNEXTEND 000007ab: DUP5 000007ac: MSTORE 000007ad: PUSH1 0x01 000007af: PUSH1 0x01 000007b1: PUSH1 0xa0 000007b3: SHL 000007b4: SUB 000007b5: SWAP1 000007b6: SWAP3 000007b7: AND 000007b8: PUSH1 0x20 000007ba: DUP5 000007bb: ADD 000007bc: MSTORE 000007bd: PUSH4 0xffffffff 000007c2: AND 000007c3: DUP3 000007c4: DUP3 000007c5: ADD 000007c6: MSTORE 000007c7: MLOAD 000007c8: SWAP1 000007c9: DUP2 000007ca: SWAP1 000007cb: SUB 000007cc: PUSH1 0x60 000007ce: ADD 000007cf: SWAP1 000007d0: RETURN 000007d1: JUMPDEST 000007d2: PUSH2 0x01bb 000007d5: PUSH2 0x28d7 000007d8: JUMP 000007d9: JUMPDEST 000007da: PUSH2 0x07e1 000007dd: PUSH2 0x28fb 000007e0: JUMP 000007e1: JUMPDEST 000007e2: PUSH1 0x40 000007e4: DUP1 000007e5: MLOAD 000007e6: PUSH1 0x02 000007e8: SWAP3 000007e9: SWAP1 000007ea: SWAP3 000007eb: SIGNEXTEND 000007ec: DUP3 000007ed: MSTORE 000007ee: MLOAD 000007ef: SWAP1 000007f0: DUP2 000007f1: SWAP1 000007f2: SUB 000007f3: PUSH1 0x20 000007f5: ADD 000007f6: SWAP1 000007f7: RETURN 000007f8: JUMPDEST 000007f9: PUSH2 0x01bb 000007fc: PUSH2 0x291f 000007ff: JUMP 00000800: JUMPDEST 00000801: PUSH2 0x0808 00000804: PUSH2 0x2943 00000807: JUMP 00000808: JUMPDEST 00000809: PUSH1 0x40 0000080b: DUP1 0000080c: MLOAD 0000080d: PUSH3 0xffffff 00000811: SWAP1 00000812: SWAP3 00000813: AND 00000814: DUP3 00000815: MSTORE 00000816: MLOAD 00000817: SWAP1 00000818: DUP2 00000819: SWAP1 0000081a: SUB 0000081b: PUSH1 0x20 0000081d: ADD 0000081e: SWAP1 0000081f: RETURN 00000820: JUMPDEST 00000821: PUSH2 0x045e 00000824: PUSH2 0x2967 00000827: JUMP 00000828: JUMPDEST 00000829: PUSH2 0x0848 0000082c: PUSH1 0x04 0000082e: DUP1 0000082f: CALLDATASIZE 00000830: SUB 00000831: PUSH1 0x20 00000833: DUP2 00000834: LT 00000835: ISZERO 00000836: PUSH2 0x083e 00000839: JUMPI 0000083a: PUSH1 0x00 0000083c: DUP1 0000083d: REVERT 0000083e: JUMPDEST 0000083f: POP 00000840: CALLDATALOAD 00000841: PUSH1 0x02 00000843: SIGNEXTEND 00000844: PUSH2 0x296d 00000847: JUMP 00000848: JUMPDEST 00000849: PUSH1 0x40 0000084b: DUP1 0000084c: MLOAD 0000084d: PUSH1 0x01 0000084f: PUSH1 0x01 00000851: PUSH1 0x80 00000853: SHL 00000854: SUB 00000855: SWAP1 00000856: SWAP10 00000857: AND 00000858: DUP10 00000859: MSTORE 0000085a: PUSH1 0x0f 0000085c: SWAP8 0000085d: SWAP1 0000085e: SWAP8 0000085f: SIGNEXTEND 00000860: PUSH1 0x20 00000862: DUP10 00000863: ADD 00000864: MSTORE 00000865: DUP8 00000866: DUP8 00000867: ADD 00000868: SWAP6 00000869: SWAP1 0000086a: SWAP6 0000086b: MSTORE 0000086c: PUSH1 0x60 0000086e: DUP8 0000086f: ADD 00000870: SWAP4 00000871: SWAP1 00000872: SWAP4 00000873: MSTORE 00000874: PUSH1 0x06 00000876: SWAP2 00000877: SWAP1 00000878: SWAP2 00000879: SIGNEXTEND 0000087a: PUSH1 0x80 0000087c: DUP7 0000087d: ADD 0000087e: MSTORE 0000087f: PUSH1 0x01 00000881: PUSH1 0x01 00000883: PUSH1 0xa0 00000885: SHL 00000886: SUB 00000887: AND 00000888: PUSH1 0xa0 0000088a: DUP6 0000088b: ADD 0000088c: MSTORE 0000088d: PUSH4 0xffffffff 00000892: AND 00000893: PUSH1 0xc0 00000895: DUP5 00000896: ADD 00000897: MSTORE 00000898: ISZERO 00000899: ISZERO 0000089a: PUSH1 0xe0 0000089c: DUP4 0000089d: ADD 0000089e: MSTORE 0000089f: MLOAD 000008a0: SWAP1 000008a1: DUP2 000008a2: SWAP1 000008a3: SUB 000008a4: PUSH2 0x0100 000008a7: ADD 000008a8: SWAP1 000008a9: RETURN 000008aa: JUMPDEST 000008ab: PUSH2 0x0359 000008ae: PUSH1 0x04 000008b0: DUP1 000008b1: CALLDATASIZE 000008b2: SUB 000008b3: PUSH1 0x20 000008b5: DUP2 000008b6: LT 000008b7: ISZERO 000008b8: PUSH2 0x08c0 000008bb: JUMPI 000008bc: PUSH1 0x00 000008be: DUP1 000008bf: REVERT 000008c0: JUMPDEST 000008c1: POP 000008c2: CALLDATALOAD 000008c3: PUSH1 0x01 000008c5: PUSH1 0x01 000008c7: PUSH1 0xa0 000008c9: SHL 000008ca: SUB 000008cb: AND 000008cc: PUSH2 0x29db 000008cf: JUMP 000008d0: JUMPDEST 000008d1: PUSH32 0x00000000000000000000000056072c95faa701256059aa122697b133aded9279 000008f2: DUP2 000008f3: JUMP 000008f4: JUMPDEST 000008f5: PUSH1 0x00 000008f7: DUP1 000008f8: PUSH2 0x08ff 000008fb: PUSH2 0x2bf0 000008fe: JUMP 000008ff: JUMPDEST 00000900: DUP6 00000901: PUSH2 0x0936 00000904: JUMPI 00000905: PUSH1 0x40 00000907: DUP1 00000908: MLOAD 00000909: PUSH3 0x461bcd 0000090d: PUSH1 0xe5 0000090f: SHL 00000910: DUP2 00000911: MSTORE 00000912: PUSH1 0x20 00000914: PUSH1 0x04 00000916: DUP3 00000917: ADD 00000918: MSTORE 00000919: PUSH1 0x02 0000091b: PUSH1 0x24 0000091d: DUP3 0000091e: ADD 0000091f: MSTORE 00000920: PUSH2 0x4153 00000923: PUSH1 0xf0 00000925: SHL 00000926: PUSH1 0x44 00000928: DUP3 00000929: ADD 0000092a: MSTORE 0000092b: SWAP1 0000092c: MLOAD 0000092d: SWAP1 0000092e: DUP2 0000092f: SWAP1 00000930: SUB 00000931: PUSH1 0x64 00000933: ADD 00000934: SWAP1 00000935: REVERT 00000936: JUMPDEST 00000937: PUSH1 0x40 00000939: DUP1 0000093a: MLOAD 0000093b: PUSH1 0xe0 0000093d: DUP2 0000093e: ADD 0000093f: DUP3 00000940: MSTORE 00000941: PUSH1 0x00 00000943: SLOAD 00000944: PUSH1 0x01 00000946: PUSH1 0x01 00000948: PUSH1 0xa0 0000094a: SHL 0000094b: SUB 0000094c: DUP2 0000094d: AND 0000094e: DUP3 0000094f: MSTORE 00000950: PUSH1 0x01 00000952: PUSH1 0xa0 00000954: SHL 00000955: DUP2 00000956: DIV 00000957: PUSH1 0x02 00000959: SWAP1 0000095a: DUP2 0000095b: SIGNEXTEND 0000095c: DUP2 0000095d: SIGNEXTEND 0000095e: SWAP1 0000095f: SIGNEXTEND 00000960: PUSH1 0x20 00000962: DUP4 00000963: ADD 00000964: MSTORE 00000965: PUSH2 0xffff 00000968: PUSH1 0x01 0000096a: PUSH1 0xb8 0000096c: SHL 0000096d: DUP3 0000096e: DIV 0000096f: DUP2 00000970: AND 00000971: SWAP4 00000972: DUP4 00000973: ADD 00000974: SWAP4 00000975: SWAP1 00000976: SWAP4 00000977: MSTORE 00000978: PUSH1 0x01 0000097a: PUSH1 0xc8 0000097c: SHL 0000097d: DUP2 0000097e: DIV 0000097f: DUP4 00000980: AND 00000981: PUSH1 0x60 00000983: DUP4 00000984: ADD 00000985: MSTORE 00000986: PUSH1 0x01 00000988: PUSH1 0xd8 0000098a: SHL 0000098b: DUP2 0000098c: DIV 0000098d: SWAP1 0000098e: SWAP3 0000098f: AND 00000990: PUSH1 0x80 00000992: DUP3 00000993: ADD 00000994: MSTORE 00000995: PUSH1 0xff 00000997: PUSH1 0x01 00000999: PUSH1 0xe8 0000099b: SHL 0000099c: DUP4 0000099d: DIV 0000099e: DUP2 0000099f: AND 000009a0: PUSH1 0xa0 000009a2: DUP4 000009a3: ADD 000009a4: MSTORE 000009a5: PUSH1 0x01 000009a7: PUSH1 0xf0 000009a9: SHL 000009aa: SWAP1 000009ab: SWAP3 000009ac: DIV 000009ad: SWAP1 000009ae: SWAP2 000009af: AND 000009b0: ISZERO 000009b1: ISZERO 000009b2: PUSH1 0xc0 000009b4: DUP3 000009b5: ADD 000009b6: DUP2 000009b7: SWAP1 000009b8: MSTORE 000009b9: PUSH2 0x09ef 000009bc: JUMPI 000009bd: PUSH1 0x40 000009bf: DUP1 000009c0: MLOAD 000009c1: PUSH3 0x461bcd 000009c5: PUSH1 0xe5 000009c7: SHL 000009c8: DUP2 000009c9: MSTORE 000009ca: PUSH1 0x20 000009cc: PUSH1 0x04 000009ce: DUP3 000009cf: ADD 000009d0: MSTORE 000009d1: PUSH1 0x03 000009d3: PUSH1 0x24 000009d5: DUP3 000009d6: ADD 000009d7: MSTORE 000009d8: PUSH3 0x4c4f4b 000009dc: PUSH1 0xe8 000009de: SHL 000009df: PUSH1 0x44 000009e1: DUP3 000009e2: ADD 000009e3: MSTORE 000009e4: SWAP1 000009e5: MLOAD 000009e6: SWAP1 000009e7: DUP2 000009e8: SWAP1 000009e9: SUB 000009ea: PUSH1 0x64 000009ec: ADD 000009ed: SWAP1 000009ee: REVERT 000009ef: JUMPDEST 000009f0: DUP8 000009f1: PUSH2 0x0a3a 000009f4: JUMPI 000009f5: DUP1 000009f6: PUSH1 0x00 000009f8: ADD 000009f9: MLOAD 000009fa: PUSH1 0x01 000009fc: PUSH1 0x01 000009fe: PUSH1 0xa0 00000a00: SHL 00000a01: SUB 00000a02: AND 00000a03: DUP7 00000a04: PUSH1 0x01 00000a06: PUSH1 0x01 00000a08: PUSH1 0xa0 00000a0a: SHL 00000a0b: SUB 00000a0c: AND 00000a0d: GT 00000a0e: DUP1 00000a0f: ISZERO 00000a10: PUSH2 0x0a35 00000a13: JUMPI 00000a14: POP 00000a15: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d26 00000a2a: PUSH1 0x01 00000a2c: PUSH1 0x01 00000a2e: PUSH1 0xa0 00000a30: SHL 00000a31: SUB 00000a32: DUP8 00000a33: AND 00000a34: LT 00000a35: JUMPDEST 00000a36: PUSH2 0x0a6c 00000a39: JUMP 00000a3a: JUMPDEST 00000a3b: DUP1 00000a3c: PUSH1 0x00 00000a3e: ADD 00000a3f: MLOAD 00000a40: PUSH1 0x01 00000a42: PUSH1 0x01 00000a44: PUSH1 0xa0 00000a46: SHL 00000a47: SUB 00000a48: AND 00000a49: DUP7 00000a4a: PUSH1 0x01 00000a4c: PUSH1 0x01 00000a4e: PUSH1 0xa0 00000a50: SHL 00000a51: SUB 00000a52: AND 00000a53: LT 00000a54: DUP1 00000a55: ISZERO 00000a56: PUSH2 0x0a6c 00000a59: JUMPI 00000a5a: POP 00000a5b: PUSH5 0x01000276a3 00000a61: PUSH1 0x01 00000a63: PUSH1 0x01 00000a65: PUSH1 0xa0 00000a67: SHL 00000a68: SUB 00000a69: DUP8 00000a6a: AND 00000a6b: GT 00000a6c: JUMPDEST 00000a6d: PUSH2 0x0aa3 00000a70: JUMPI 00000a71: PUSH1 0x40 00000a73: DUP1 00000a74: MLOAD 00000a75: PUSH3 0x461bcd 00000a79: PUSH1 0xe5 00000a7b: SHL 00000a7c: DUP2 00000a7d: MSTORE 00000a7e: PUSH1 0x20 00000a80: PUSH1 0x04 00000a82: DUP3 00000a83: ADD 00000a84: MSTORE 00000a85: PUSH1 0x03 00000a87: PUSH1 0x24 00000a89: DUP3 00000a8a: ADD 00000a8b: MSTORE 00000a8c: PUSH3 0x14d413 00000a90: PUSH1 0xea 00000a92: SHL 00000a93: PUSH1 0x44 00000a95: DUP3 00000a96: ADD 00000a97: MSTORE 00000a98: SWAP1 00000a99: MLOAD 00000a9a: SWAP1 00000a9b: DUP2 00000a9c: SWAP1 00000a9d: SUB 00000a9e: PUSH1 0x64 00000aa0: ADD 00000aa1: SWAP1 00000aa2: REVERT 00000aa3: JUMPDEST 00000aa4: PUSH1 0x00 00000aa6: DUP1 00000aa7: SLOAD 00000aa8: PUSH1 0xff 00000aaa: PUSH1 0xf0 00000aac: SHL 00000aad: NOT 00000aae: AND 00000aaf: DUP2 00000ab0: SSTORE 00000ab1: PUSH1 0x40 00000ab3: DUP1 00000ab4: MLOAD 00000ab5: PUSH1 0xc0 00000ab7: DUP2 00000ab8: ADD 00000ab9: SWAP1 00000aba: SWAP2 00000abb: MSTORE 00000abc: DUP1 00000abd: DUP11 00000abe: PUSH2 0x0ad2 00000ac1: JUMPI 00000ac2: PUSH1 0x04 00000ac4: DUP5 00000ac5: PUSH1 0xa0 00000ac7: ADD 00000ac8: MLOAD 00000ac9: PUSH1 0xff 00000acb: AND 00000acc: SWAP1 00000acd: SHR 00000ace: PUSH2 0x0ae5 00000ad1: JUMP 00000ad2: JUMPDEST 00000ad3: PUSH1 0x10 00000ad5: DUP5 00000ad6: PUSH1 0xa0 00000ad8: ADD 00000ad9: MLOAD 00000ada: PUSH1 0xff 00000adc: AND 00000add: DUP2 00000ade: PUSH2 0x0ae3 00000ae1: JUMPI 00000ae2: INVALID 00000ae3: JUMPDEST 00000ae4: MOD 00000ae5: JUMPDEST 00000ae6: PUSH1 0xff 00000ae8: AND 00000ae9: DUP2 00000aea: MSTORE 00000aeb: PUSH1 0x04 00000aed: SLOAD 00000aee: PUSH1 0x01 00000af0: PUSH1 0x01 00000af2: PUSH1 0x80 00000af4: SHL 00000af5: SUB 00000af6: AND 00000af7: PUSH1 0x20 00000af9: DUP3 00000afa: ADD 00000afb: MSTORE 00000afc: PUSH1 0x40 00000afe: ADD 00000aff: PUSH2 0x0b06 00000b02: PUSH2 0x2c27 00000b05: JUMP 00000b06: JUMPDEST 00000b07: PUSH4 0xffffffff 00000b0c: AND 00000b0d: DUP2 00000b0e: MSTORE 00000b0f: PUSH1 0x20 00000b11: ADD 00000b12: PUSH1 0x00 00000b14: PUSH1 0x06 00000b16: SIGNEXTEND 00000b17: DUP2 00000b18: MSTORE 00000b19: PUSH1 0x20 00000b1b: ADD 00000b1c: PUSH1 0x00 00000b1e: PUSH1 0x01 00000b20: PUSH1 0x01 00000b22: PUSH1 0xa0 00000b24: SHL 00000b25: SUB 00000b26: AND 00000b27: DUP2 00000b28: MSTORE 00000b29: PUSH1 0x20 00000b2b: ADD 00000b2c: PUSH1 0x00 00000b2e: ISZERO 00000b2f: ISZERO 00000b30: DUP2 00000b31: MSTORE 00000b32: POP 00000b33: SWAP1 00000b34: POP 00000b35: PUSH1 0x00 00000b37: DUP1 00000b38: DUP10 00000b39: SGT 00000b3a: SWAP1 00000b3b: POP 00000b3c: PUSH1 0x00 00000b3e: PUSH1 0x40 00000b40: MLOAD 00000b41: DUP1 00000b42: PUSH1 0xe0 00000b44: ADD 00000b45: PUSH1 0x40 00000b47: MSTORE 00000b48: DUP1 00000b49: DUP12 00000b4a: DUP2 00000b4b: MSTORE 00000b4c: PUSH1 0x20 00000b4e: ADD 00000b4f: PUSH1 0x00 00000b51: DUP2 00000b52: MSTORE 00000b53: PUSH1 0x20 00000b55: ADD 00000b56: DUP6 00000b57: PUSH1 0x00 00000b59: ADD 00000b5a: MLOAD 00000b5b: PUSH1 0x01 00000b5d: PUSH1 0x01 00000b5f: PUSH1 0xa0 00000b61: SHL 00000b62: SUB 00000b63: AND 00000b64: DUP2 00000b65: MSTORE 00000b66: PUSH1 0x20 00000b68: ADD 00000b69: DUP6 00000b6a: PUSH1 0x20 00000b6c: ADD 00000b6d: MLOAD 00000b6e: PUSH1 0x02 00000b70: SIGNEXTEND 00000b71: DUP2 00000b72: MSTORE 00000b73: PUSH1 0x20 00000b75: ADD 00000b76: DUP13 00000b77: PUSH2 0x0b82 00000b7a: JUMPI 00000b7b: PUSH1 0x02 00000b7d: SLOAD 00000b7e: PUSH2 0x0b86 00000b81: JUMP 00000b82: JUMPDEST 00000b83: PUSH1 0x01 00000b85: SLOAD 00000b86: JUMPDEST 00000b87: DUP2 00000b88: MSTORE 00000b89: PUSH1 0x20 00000b8b: ADD 00000b8c: PUSH1 0x00 00000b8e: PUSH1 0x01 00000b90: PUSH1 0x01 00000b92: PUSH1 0x80 00000b94: SHL 00000b95: SUB 00000b96: AND 00000b97: DUP2 00000b98: MSTORE 00000b99: PUSH1 0x20 00000b9b: ADD 00000b9c: DUP5 00000b9d: PUSH1 0x20 00000b9f: ADD 00000ba0: MLOAD 00000ba1: PUSH1 0x01 00000ba3: PUSH1 0x01 00000ba5: PUSH1 0x80 00000ba7: SHL 00000ba8: SUB 00000ba9: AND 00000baa: DUP2 00000bab: MSTORE 00000bac: POP 00000bad: SWAP1 00000bae: POP 00000baf: JUMPDEST 00000bb0: DUP1 00000bb1: MLOAD 00000bb2: ISZERO 00000bb3: DUP1 00000bb4: ISZERO 00000bb5: SWAP1 00000bb6: PUSH2 0x0bd5 00000bb9: JUMPI 00000bba: POP 00000bbb: DUP9 00000bbc: PUSH1 0x01 00000bbe: PUSH1 0x01 00000bc0: PUSH1 0xa0 00000bc2: SHL 00000bc3: SUB 00000bc4: AND 00000bc5: DUP2 00000bc6: PUSH1 0x40 00000bc8: ADD 00000bc9: MLOAD 00000bca: PUSH1 0x01 00000bcc: PUSH1 0x01 00000bce: PUSH1 0xa0 00000bd0: SHL 00000bd1: SUB 00000bd2: AND 00000bd3: EQ 00000bd4: ISZERO 00000bd5: JUMPDEST 00000bd6: ISZERO 00000bd7: PUSH2 0x0f9f 00000bda: JUMPI 00000bdb: PUSH2 0x0be2 00000bde: PUSH2 0x560e 00000be1: JUMP 00000be2: JUMPDEST 00000be3: PUSH1 0x40 00000be5: DUP3 00000be6: ADD 00000be7: MLOAD 00000be8: PUSH1 0x01 00000bea: PUSH1 0x01 00000bec: PUSH1 0xa0 00000bee: SHL 00000bef: SUB 00000bf0: AND 00000bf1: DUP2 00000bf2: MSTORE 00000bf3: PUSH1 0x60 00000bf5: DUP3 00000bf6: ADD 00000bf7: MLOAD 00000bf8: PUSH2 0x0c25 00000bfb: SWAP1 00000bfc: PUSH1 0x06 00000bfe: SWAP1 00000bff: PUSH32 0x00000000000000000000000000000000000000000000000000000000000000c8 00000c20: DUP16 00000c21: PUSH2 0x2c2b 00000c24: JUMP 00000c25: JUMPDEST 00000c26: ISZERO 00000c27: ISZERO 00000c28: PUSH1 0x40 00000c2a: DUP4 00000c2b: ADD 00000c2c: MSTORE 00000c2d: PUSH1 0x02 00000c2f: SWAP1 00000c30: DUP2 00000c31: SIGNEXTEND 00000c32: DUP2 00000c33: SIGNEXTEND 00000c34: PUSH1 0x20 00000c36: DUP4 00000c37: ADD 00000c38: DUP2 00000c39: SWAP1 00000c3a: MSTORE 00000c3b: PUSH3 0x0d89e7 00000c3f: NOT 00000c40: SWAP2 00000c41: SIGNEXTEND 00000c42: SLT 00000c43: ISZERO 00000c44: PUSH2 0x0c56 00000c47: JUMPI 00000c48: PUSH3 0x0d89e7 00000c4c: NOT 00000c4d: PUSH1 0x20 00000c4f: DUP3 00000c50: ADD 00000c51: MSTORE 00000c52: PUSH2 0x0c75 00000c55: JUMP 00000c56: JUMPDEST 00000c57: PUSH1 0x20 00000c59: DUP2 00000c5a: ADD 00000c5b: MLOAD 00000c5c: PUSH3 0x0d89e8 00000c60: PUSH1 0x02 00000c62: SWAP2 00000c63: SWAP1 00000c64: SWAP2 00000c65: SIGNEXTEND 00000c66: SGT 00000c67: ISZERO 00000c68: PUSH2 0x0c75 00000c6b: JUMPI 00000c6c: PUSH3 0x0d89e8 00000c70: PUSH1 0x20 00000c72: DUP3 00000c73: ADD 00000c74: MSTORE 00000c75: JUMPDEST 00000c76: PUSH2 0x0c82 00000c79: DUP2 00000c7a: PUSH1 0x20 00000c7c: ADD 00000c7d: MLOAD 00000c7e: PUSH2 0x2d6d 00000c81: JUMP 00000c82: JUMPDEST 00000c83: PUSH1 0x01 00000c85: PUSH1 0x01 00000c87: PUSH1 0xa0 00000c89: SHL 00000c8a: SUB 00000c8b: AND 00000c8c: PUSH1 0x60 00000c8e: DUP3 00000c8f: ADD 00000c90: MSTORE 00000c91: PUSH1 0x40 00000c93: DUP3 00000c94: ADD 00000c95: MLOAD 00000c96: PUSH2 0x0d13 00000c99: SWAP1 00000c9a: DUP14 00000c9b: PUSH2 0x0cbc 00000c9e: JUMPI 00000c9f: DUP12 00000ca0: PUSH1 0x01 00000ca2: PUSH1 0x01 00000ca4: PUSH1 0xa0 00000ca6: SHL 00000ca7: SUB 00000ca8: AND 00000ca9: DUP4 00000caa: PUSH1 0x60 00000cac: ADD 00000cad: MLOAD 00000cae: PUSH1 0x01 00000cb0: PUSH1 0x01 00000cb2: PUSH1 0xa0 00000cb4: SHL 00000cb5: SUB 00000cb6: AND 00000cb7: GT 00000cb8: PUSH2 0x0cd6 00000cbb: JUMP 00000cbc: JUMPDEST 00000cbd: DUP12 00000cbe: PUSH1 0x01 00000cc0: PUSH1 0x01 00000cc2: PUSH1 0xa0 00000cc4: SHL 00000cc5: SUB 00000cc6: AND 00000cc7: DUP4 00000cc8: PUSH1 0x60 00000cca: ADD 00000ccb: MLOAD 00000ccc: PUSH1 0x01 00000cce: PUSH1 0x01 00000cd0: PUSH1 0xa0 00000cd2: SHL 00000cd3: SUB 00000cd4: AND 00000cd5: LT 00000cd6: JUMPDEST 00000cd7: PUSH2 0x0ce4 00000cda: JUMPI 00000cdb: DUP3 00000cdc: PUSH1 0x60 00000cde: ADD 00000cdf: MLOAD 00000ce0: PUSH2 0x0ce6 00000ce3: JUMP 00000ce4: JUMPDEST 00000ce5: DUP12 00000ce6: JUMPDEST 00000ce7: PUSH1 0xc0 00000ce9: DUP6 00000cea: ADD 00000ceb: MLOAD 00000cec: DUP6 00000ced: MLOAD 00000cee: PUSH32 0x0000000000000000000000000000000000000000000000000000000000002710 00000d0f: PUSH2 0x309f 00000d12: JUMP 00000d13: JUMPDEST 00000d14: PUSH1 0xc0 00000d16: DUP6 00000d17: ADD 00000d18: MSTORE 00000d19: PUSH1 0xa0 00000d1b: DUP5 00000d1c: ADD 00000d1d: MSTORE 00000d1e: PUSH1 0x80 00000d20: DUP4 00000d21: ADD 00000d22: MSTORE 00000d23: PUSH1 0x01 00000d25: PUSH1 0x01 00000d27: PUSH1 0xa0 00000d29: SHL 00000d2a: SUB 00000d2b: AND 00000d2c: PUSH1 0x40 00000d2e: DUP4 00000d2f: ADD 00000d30: MSTORE 00000d31: DUP3 00000d32: ISZERO 00000d33: PUSH2 0x0d75 00000d36: JUMPI 00000d37: PUSH2 0x0d49 00000d3a: DUP2 00000d3b: PUSH1 0xc0 00000d3d: ADD 00000d3e: MLOAD 00000d3f: DUP3 00000d40: PUSH1 0x80 00000d42: ADD 00000d43: MLOAD 00000d44: ADD 00000d45: PUSH2 0x3291 00000d48: JUMP 00000d49: JUMPDEST 00000d4a: DUP3 00000d4b: MLOAD 00000d4c: SUB 00000d4d: DUP3 00000d4e: MSTORE 00000d4f: PUSH1 0xa0 00000d51: DUP2 00000d52: ADD 00000d53: MLOAD 00000d54: PUSH2 0x0d6b 00000d57: SWAP1 00000d58: PUSH2 0x0d60 00000d5b: SWAP1 00000d5c: PUSH2 0x3291 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: PUSH1 0x20 00000d63: DUP5 00000d64: ADD 00000d65: MLOAD 00000d66: SWAP1 00000d67: PUSH2 0x32a7 00000d6a: JUMP 00000d6b: JUMPDEST 00000d6c: PUSH1 0x20 00000d6e: DUP4 00000d6f: ADD 00000d70: MSTORE 00000d71: PUSH2 0x0db0 00000d74: JUMP 00000d75: JUMPDEST 00000d76: PUSH2 0x0d82 00000d79: DUP2 00000d7a: PUSH1 0xa0 00000d7c: ADD 00000d7d: MLOAD 00000d7e: PUSH2 0x3291 00000d81: JUMP 00000d82: JUMPDEST 00000d83: DUP3 00000d84: MLOAD 00000d85: ADD 00000d86: DUP3 00000d87: MSTORE 00000d88: PUSH1 0xc0 00000d8a: DUP2 00000d8b: ADD 00000d8c: MLOAD 00000d8d: PUSH1 0x80 00000d8f: DUP3 00000d90: ADD 00000d91: MLOAD 00000d92: PUSH2 0x0daa 00000d95: SWAP2 00000d96: PUSH2 0x0d9f 00000d99: SWAP2 00000d9a: ADD 00000d9b: PUSH2 0x3291 00000d9e: JUMP 00000d9f: JUMPDEST 00000da0: PUSH1 0x20 00000da2: DUP5 00000da3: ADD 00000da4: MLOAD 00000da5: SWAP1 00000da6: PUSH2 0x32c3 00000da9: JUMP 00000daa: JUMPDEST 00000dab: PUSH1 0x20 00000dad: DUP4 00000dae: ADD 00000daf: MSTORE 00000db0: JUMPDEST 00000db1: DUP4 00000db2: MLOAD 00000db3: PUSH1 0xff 00000db5: AND 00000db6: ISZERO 00000db7: PUSH2 0x0df6 00000dba: JUMPI 00000dbb: PUSH1 0x00 00000dbd: DUP5 00000dbe: PUSH1 0x00 00000dc0: ADD 00000dc1: MLOAD 00000dc2: PUSH1 0xff 00000dc4: AND 00000dc5: DUP3 00000dc6: PUSH1 0xc0 00000dc8: ADD 00000dc9: MLOAD 00000dca: DUP2 00000dcb: PUSH2 0x0dd0 00000dce: JUMPI 00000dcf: INVALID 00000dd0: JUMPDEST 00000dd1: PUSH1 0xc0 00000dd3: DUP5 00000dd4: ADD 00000dd5: DUP1 00000dd6: MLOAD 00000dd7: SWAP3 00000dd8: SWAP1 00000dd9: SWAP2 00000dda: DIV 00000ddb: SWAP2 00000ddc: DUP3 00000ddd: SWAP1 00000dde: SUB 00000ddf: SWAP1 00000de0: MSTORE 00000de1: PUSH1 0xa0 00000de3: DUP5 00000de4: ADD 00000de5: DUP1 00000de6: MLOAD 00000de7: SWAP1 00000de8: SWAP2 00000de9: ADD 00000dea: PUSH1 0x01 00000dec: PUSH1 0x01 00000dee: PUSH1 0x80 00000df0: SHL 00000df1: SUB 00000df2: AND 00000df3: SWAP1 00000df4: MSTORE 00000df5: POP 00000df6: JUMPDEST 00000df7: PUSH1 0xc0 00000df9: DUP3 00000dfa: ADD 00000dfb: MLOAD 00000dfc: PUSH1 0x01 00000dfe: PUSH1 0x01 00000e00: PUSH1 0x80 00000e02: SHL 00000e03: SUB 00000e04: AND 00000e05: ISZERO 00000e06: PUSH2 0x0e35 00000e09: JUMPI 00000e0a: PUSH2 0x0e29 00000e0d: DUP2 00000e0e: PUSH1 0xc0 00000e10: ADD 00000e11: MLOAD 00000e12: PUSH1 0x01 00000e14: PUSH1 0x80 00000e16: SHL 00000e17: DUP5 00000e18: PUSH1 0xc0 00000e1a: ADD 00000e1b: MLOAD 00000e1c: PUSH1 0x01 00000e1e: PUSH1 0x01 00000e20: PUSH1 0x80 00000e22: SHL 00000e23: SUB 00000e24: AND 00000e25: PUSH2 0x32d9 00000e28: JUMP 00000e29: JUMPDEST 00000e2a: PUSH1 0x80 00000e2c: DUP4 00000e2d: ADD 00000e2e: DUP1 00000e2f: MLOAD 00000e30: SWAP1 00000e31: SWAP2 00000e32: ADD 00000e33: SWAP1 00000e34: MSTORE 00000e35: JUMPDEST 00000e36: DUP1 00000e37: PUSH1 0x60 00000e39: ADD 00000e3a: MLOAD 00000e3b: PUSH1 0x01 00000e3d: PUSH1 0x01 00000e3f: PUSH1 0xa0 00000e41: SHL 00000e42: SUB 00000e43: AND 00000e44: DUP3 00000e45: PUSH1 0x40 00000e47: ADD 00000e48: MLOAD 00000e49: PUSH1 0x01 00000e4b: PUSH1 0x01 00000e4d: PUSH1 0xa0 00000e4f: SHL 00000e50: SUB 00000e51: AND 00000e52: EQ 00000e53: ISZERO 00000e54: PUSH2 0x0f5e 00000e57: JUMPI 00000e58: DUP1 00000e59: PUSH1 0x40 00000e5b: ADD 00000e5c: MLOAD 00000e5d: ISZERO 00000e5e: PUSH2 0x0f35 00000e61: JUMPI 00000e62: DUP4 00000e63: PUSH1 0xa0 00000e65: ADD 00000e66: MLOAD 00000e67: PUSH2 0x0ebf 00000e6a: JUMPI 00000e6b: PUSH2 0x0e9d 00000e6e: DUP5 00000e6f: PUSH1 0x40 00000e71: ADD 00000e72: MLOAD 00000e73: PUSH1 0x00 00000e75: DUP8 00000e76: PUSH1 0x20 00000e78: ADD 00000e79: MLOAD 00000e7a: DUP9 00000e7b: PUSH1 0x40 00000e7d: ADD 00000e7e: MLOAD 00000e7f: DUP9 00000e80: PUSH1 0x20 00000e82: ADD 00000e83: MLOAD 00000e84: DUP11 00000e85: PUSH1 0x60 00000e87: ADD 00000e88: MLOAD 00000e89: PUSH1 0x08 00000e8b: PUSH2 0x3389 00000e8e: SWAP1 00000e8f: SWAP7 00000e90: SWAP6 00000e91: SWAP5 00000e92: SWAP4 00000e93: SWAP3 00000e94: SWAP2 00000e95: SWAP1 00000e96: PUSH4 0xffffffff 00000e9b: AND 00000e9c: JUMP 00000e9d: JUMPDEST 00000e9e: PUSH1 0x01 00000ea0: PUSH1 0x01 00000ea2: PUSH1 0xa0 00000ea4: SHL 00000ea5: SUB 00000ea6: AND 00000ea7: PUSH1 0x80 00000ea9: DUP7 00000eaa: ADD 00000eab: MSTORE 00000eac: PUSH1 0x06 00000eae: SWAP1 00000eaf: DUP2 00000eb0: SIGNEXTEND 00000eb1: SWAP1 00000eb2: SIGNEXTEND 00000eb3: PUSH1 0x60 00000eb5: DUP6 00000eb6: ADD 00000eb7: MSTORE 00000eb8: PUSH1 0x01 00000eba: PUSH1 0xa0 00000ebc: DUP6 00000ebd: ADD 00000ebe: MSTORE 00000ebf: JUMPDEST 00000ec0: PUSH1 0x00 00000ec2: PUSH2 0x0f0b 00000ec5: DUP3 00000ec6: PUSH1 0x20 00000ec8: ADD 00000ec9: MLOAD 00000eca: DUP15 00000ecb: PUSH2 0x0ed6 00000ece: JUMPI 00000ecf: PUSH1 0x01 00000ed1: SLOAD 00000ed2: PUSH2 0x0edc 00000ed5: JUMP 00000ed6: JUMPDEST 00000ed7: DUP5 00000ed8: PUSH1 0x80 00000eda: ADD 00000edb: MLOAD 00000edc: JUMPDEST 00000edd: DUP16 00000ede: PUSH2 0x0eeb 00000ee1: JUMPI 00000ee2: DUP6 00000ee3: PUSH1 0x80 00000ee5: ADD 00000ee6: MLOAD 00000ee7: PUSH2 0x0eef 00000eea: JUMP 00000eeb: JUMPDEST 00000eec: PUSH1 0x02 00000eee: SLOAD 00000eef: JUMPDEST 00000ef0: PUSH1 0x80 00000ef2: DUP10 00000ef3: ADD 00000ef4: MLOAD 00000ef5: PUSH1 0x60 00000ef7: DUP11 00000ef8: ADD 00000ef9: MLOAD 00000efa: PUSH1 0x40 00000efc: DUP12 00000efd: ADD 00000efe: MLOAD 00000eff: PUSH1 0x05 00000f01: SWAP6 00000f02: SWAP5 00000f03: SWAP4 00000f04: SWAP3 00000f05: SWAP2 00000f06: SWAP1 00000f07: PUSH2 0x351c 00000f0a: JUMP 00000f0b: JUMPDEST 00000f0c: SWAP1 00000f0d: POP 00000f0e: DUP13 00000f0f: ISZERO 00000f10: PUSH2 0x0f17 00000f13: JUMPI 00000f14: PUSH1 0x00 00000f16: SUB 00000f17: JUMPDEST 00000f18: PUSH2 0x0f25 00000f1b: DUP4 00000f1c: PUSH1 0xc0 00000f1e: ADD 00000f1f: MLOAD 00000f20: DUP3 00000f21: PUSH2 0x35ef 00000f24: JUMP 00000f25: JUMPDEST 00000f26: PUSH1 0x01 00000f28: PUSH1 0x01 00000f2a: PUSH1 0x80 00000f2c: SHL 00000f2d: SUB 00000f2e: AND 00000f2f: PUSH1 0xc0 00000f31: DUP5 00000f32: ADD 00000f33: MSTORE 00000f34: POP 00000f35: JUMPDEST 00000f36: DUP12 00000f37: PUSH2 0x0f44 00000f3a: JUMPI 00000f3b: DUP1 00000f3c: PUSH1 0x20 00000f3e: ADD 00000f3f: MLOAD 00000f40: PUSH2 0x0f4d 00000f43: JUMP 00000f44: JUMPDEST 00000f45: PUSH1 0x01 00000f47: DUP2 00000f48: PUSH1 0x20 00000f4a: ADD 00000f4b: MLOAD 00000f4c: SUB 00000f4d: JUMPDEST 00000f4e: PUSH1 0x02 00000f50: SWAP1 00000f51: DUP2 00000f52: SIGNEXTEND 00000f53: SWAP1 00000f54: SIGNEXTEND 00000f55: PUSH1 0x60 00000f57: DUP4 00000f58: ADD 00000f59: MSTORE 00000f5a: PUSH2 0x0f99 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: DUP1 00000f60: PUSH1 0x00 00000f62: ADD 00000f63: MLOAD 00000f64: PUSH1 0x01 00000f66: PUSH1 0x01 00000f68: PUSH1 0xa0 00000f6a: SHL 00000f6b: SUB 00000f6c: AND 00000f6d: DUP3 00000f6e: PUSH1 0x40 00000f70: ADD 00000f71: MLOAD 00000f72: PUSH1 0x01 00000f74: PUSH1 0x01 00000f76: PUSH1 0xa0 00000f78: SHL 00000f79: SUB 00000f7a: AND 00000f7b: EQ 00000f7c: PUSH2 0x0f99 00000f7f: JUMPI 00000f80: PUSH2 0x0f8c 00000f83: DUP3 00000f84: PUSH1 0x40 00000f86: ADD 00000f87: MLOAD 00000f88: PUSH2 0x36a5 00000f8b: JUMP 00000f8c: JUMPDEST 00000f8d: PUSH1 0x02 00000f8f: SWAP1 00000f90: DUP2 00000f91: SIGNEXTEND 00000f92: SWAP1 00000f93: SIGNEXTEND 00000f94: PUSH1 0x60 00000f96: DUP4 00000f97: ADD 00000f98: MSTORE 00000f99: JUMPDEST 00000f9a: POP 00000f9b: PUSH2 0x0baf 00000f9e: JUMP 00000f9f: JUMPDEST 00000fa0: DUP4 00000fa1: PUSH1 0x20 00000fa3: ADD 00000fa4: MLOAD 00000fa5: PUSH1 0x02 00000fa7: SIGNEXTEND 00000fa8: DUP2 00000fa9: PUSH1 0x60 00000fab: ADD 00000fac: MLOAD 00000fad: PUSH1 0x02 00000faf: SIGNEXTEND 00000fb0: EQ 00000fb1: PUSH2 0x107a 00000fb4: JUMPI 00000fb5: PUSH1 0x00 00000fb7: DUP1 00000fb8: PUSH2 0x0fed 00000fbb: DUP7 00000fbc: PUSH1 0x40 00000fbe: ADD 00000fbf: MLOAD 00000fc0: DUP7 00000fc1: PUSH1 0x40 00000fc3: ADD 00000fc4: MLOAD 00000fc5: DUP9 00000fc6: PUSH1 0x20 00000fc8: ADD 00000fc9: MLOAD 00000fca: DUP9 00000fcb: PUSH1 0x20 00000fcd: ADD 00000fce: MLOAD 00000fcf: DUP11 00000fd0: PUSH1 0x60 00000fd2: ADD 00000fd3: MLOAD 00000fd4: DUP12 00000fd5: PUSH1 0x80 00000fd7: ADD 00000fd8: MLOAD 00000fd9: PUSH1 0x08 00000fdb: PUSH2 0x39d1 00000fde: SWAP1 00000fdf: SWAP7 00000fe0: SWAP6 00000fe1: SWAP5 00000fe2: SWAP4 00000fe3: SWAP3 00000fe4: SWAP2 00000fe5: SWAP1 00000fe6: PUSH4 0xffffffff 00000feb: AND 00000fec: JUMP 00000fed: JUMPDEST 00000fee: PUSH1 0x40 00000ff0: DUP6 00000ff1: ADD 00000ff2: MLOAD 00000ff3: PUSH1 0x60 00000ff5: DUP7 00000ff6: ADD 00000ff7: MLOAD 00000ff8: PUSH1 0x00 00000ffa: DUP1 00000ffb: SLOAD 00000ffc: PUSH2 0xffff 00000fff: PUSH1 0xc8 00001001: SHL 00001002: NOT 00001003: AND 00001004: PUSH1 0x01 00001006: PUSH1 0xc8 00001008: SHL 00001009: PUSH2 0xffff 0000100c: SWAP6 0000100d: DUP7 0000100e: AND 0000100f: MUL 00001010: OR 00001011: PUSH2 0xffff 00001014: PUSH1 0xb8 00001016: SHL 00001017: NOT 00001018: AND 00001019: PUSH1 0x01 0000101b: PUSH1 0xb8 0000101d: SHL 0000101e: SWAP6 0000101f: SWAP1 00001020: SWAP5 00001021: AND 00001022: SWAP5 00001023: SWAP1 00001024: SWAP5 00001025: MUL 00001026: SWAP3 00001027: SWAP1 00001028: SWAP3 00001029: OR 0000102a: PUSH3 0xffffff 0000102e: PUSH1 0xa0 00001030: SHL 00001031: NOT 00001032: AND 00001033: PUSH1 0x01 00001035: PUSH1 0xa0 00001037: SHL 00001038: PUSH3 0xffffff 0000103c: PUSH1 0x02 0000103e: SWAP5 0000103f: SWAP1 00001040: SWAP5 00001041: SIGNEXTEND 00001042: SWAP4 00001043: SWAP1 00001044: SWAP4 00001045: AND 00001046: SWAP3 00001047: SWAP1 00001048: SWAP3 00001049: MUL 0000104a: SWAP2 0000104b: SWAP1 0000104c: SWAP2 0000104d: OR 0000104e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001063: NOT 00001064: AND 00001065: PUSH1 0x01 00001067: PUSH1 0x01 00001069: PUSH1 0xa0 0000106b: SHL 0000106c: SUB 0000106d: SWAP1 0000106e: SWAP2 0000106f: AND 00001070: OR 00001071: SWAP1 00001072: SSTORE 00001073: POP 00001074: PUSH2 0x10ac 00001077: SWAP1 00001078: POP 00001079: JUMP 0000107a: JUMPDEST 0000107b: PUSH1 0x40 0000107d: DUP2 0000107e: ADD 0000107f: MLOAD 00001080: PUSH1 0x00 00001082: DUP1 00001083: SLOAD 00001084: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001099: NOT 0000109a: AND 0000109b: PUSH1 0x01 0000109d: PUSH1 0x01 0000109f: PUSH1 0xa0 000010a1: SHL 000010a2: SUB 000010a3: SWAP1 000010a4: SWAP3 000010a5: AND 000010a6: SWAP2 000010a7: SWAP1 000010a8: SWAP2 000010a9: OR 000010aa: SWAP1 000010ab: SSTORE 000010ac: JUMPDEST 000010ad: DUP1 000010ae: PUSH1 0xc0 000010b0: ADD 000010b1: MLOAD 000010b2: PUSH1 0x01 000010b4: PUSH1 0x01 000010b6: PUSH1 0x80 000010b8: SHL 000010b9: SUB 000010ba: AND 000010bb: DUP4 000010bc: PUSH1 0x20 000010be: ADD 000010bf: MLOAD 000010c0: PUSH1 0x01 000010c2: PUSH1 0x01 000010c4: PUSH1 0x80 000010c6: SHL 000010c7: SUB 000010c8: AND 000010c9: EQ 000010ca: PUSH2 0x10f2 000010cd: JUMPI 000010ce: PUSH1 0xc0 000010d0: DUP2 000010d1: ADD 000010d2: MLOAD 000010d3: PUSH1 0x04 000010d5: DUP1 000010d6: SLOAD 000010d7: PUSH1 0x01 000010d9: PUSH1 0x01 000010db: PUSH1 0x80 000010dd: SHL 000010de: SUB 000010df: NOT 000010e0: AND 000010e1: PUSH1 0x01 000010e3: PUSH1 0x01 000010e5: PUSH1 0x80 000010e7: SHL 000010e8: SUB 000010e9: SWAP1 000010ea: SWAP3 000010eb: AND 000010ec: SWAP2 000010ed: SWAP1 000010ee: SWAP2 000010ef: OR 000010f0: SWAP1 000010f1: SSTORE 000010f2: JUMPDEST 000010f3: DUP11 000010f4: ISZERO 000010f5: PUSH2 0x1142 000010f8: JUMPI 000010f9: PUSH1 0x80 000010fb: DUP2 000010fc: ADD 000010fd: MLOAD 000010fe: PUSH1 0x01 00001100: SSTORE 00001101: PUSH1 0xa0 00001103: DUP2 00001104: ADD 00001105: MLOAD 00001106: PUSH1 0x01 00001108: PUSH1 0x01 0000110a: PUSH1 0x80 0000110c: SHL 0000110d: SUB 0000110e: AND 0000110f: ISZERO 00001110: PUSH2 0x113d 00001113: JUMPI 00001114: PUSH1 0xa0 00001116: DUP2 00001117: ADD 00001118: MLOAD 00001119: PUSH1 0x03 0000111b: DUP1 0000111c: SLOAD 0000111d: PUSH1 0x01 0000111f: PUSH1 0x01 00001121: PUSH1 0x80 00001123: SHL 00001124: SUB 00001125: NOT 00001126: DUP2 00001127: AND 00001128: PUSH1 0x01 0000112a: PUSH1 0x01 0000112c: PUSH1 0x80 0000112e: SHL 0000112f: SUB 00001130: SWAP2 00001131: DUP3 00001132: AND 00001133: SWAP1 00001134: SWAP4 00001135: ADD 00001136: AND 00001137: SWAP2 00001138: SWAP1 00001139: SWAP2 0000113a: OR 0000113b: SWAP1 0000113c: SSTORE 0000113d: JUMPDEST 0000113e: PUSH2 0x1188 00001141: JUMP 00001142: JUMPDEST 00001143: PUSH1 0x80 00001145: DUP2 00001146: ADD 00001147: MLOAD 00001148: PUSH1 0x02 0000114a: SSTORE 0000114b: PUSH1 0xa0 0000114d: DUP2 0000114e: ADD 0000114f: MLOAD 00001150: PUSH1 0x01 00001152: PUSH1 0x01 00001154: PUSH1 0x80 00001156: SHL 00001157: SUB 00001158: AND 00001159: ISZERO 0000115a: PUSH2 0x1188 0000115d: JUMPI 0000115e: PUSH1 0xa0 00001160: DUP2 00001161: ADD 00001162: MLOAD 00001163: PUSH1 0x03 00001165: DUP1 00001166: SLOAD 00001167: PUSH1 0x01 00001169: PUSH1 0x01 0000116b: PUSH1 0x80 0000116d: SHL 0000116e: SUB 0000116f: DUP1 00001170: DUP3 00001171: AND 00001172: PUSH1 0x01 00001174: PUSH1 0x80 00001176: SHL 00001177: SWAP3 00001178: DUP4 00001179: SWAP1 0000117a: DIV 0000117b: DUP3 0000117c: AND 0000117d: SWAP1 0000117e: SWAP5 0000117f: ADD 00001180: AND 00001181: MUL 00001182: SWAP2 00001183: SWAP1 00001184: SWAP2 00001185: OR 00001186: SWAP1 00001187: SSTORE 00001188: JUMPDEST 00001189: DUP2 0000118a: ISZERO 0000118b: ISZERO 0000118c: DUP12 0000118d: ISZERO 0000118e: ISZERO 0000118f: EQ 00001190: PUSH2 0x11a1 00001193: JUMPI 00001194: PUSH1 0x20 00001196: DUP2 00001197: ADD 00001198: MLOAD 00001199: DUP2 0000119a: MLOAD 0000119b: DUP12 0000119c: SUB 0000119d: PUSH2 0x11ae 000011a0: JUMP 000011a1: JUMPDEST 000011a2: DUP1 000011a3: PUSH1 0x00 000011a5: ADD 000011a6: MLOAD 000011a7: DUP11 000011a8: SUB 000011a9: DUP2 000011aa: PUSH1 0x20 000011ac: ADD 000011ad: MLOAD 000011ae: JUMPDEST 000011af: SWAP1 000011b0: SWAP7 000011b1: POP 000011b2: SWAP5 000011b3: POP 000011b4: DUP11 000011b5: ISZERO 000011b6: PUSH2 0x12e7 000011b9: JUMPI 000011ba: PUSH1 0x00 000011bc: DUP6 000011bd: SLT 000011be: ISZERO 000011bf: PUSH2 0x11f0 000011c2: JUMPI 000011c3: PUSH2 0x11f0 000011c6: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000011e7: DUP14 000011e8: DUP8 000011e9: PUSH1 0x00 000011eb: SUB 000011ec: PUSH2 0x3b86 000011ef: JUMP 000011f0: JUMPDEST 000011f1: PUSH1 0x00 000011f3: PUSH2 0x11fa 000011f6: PUSH2 0x3cd4 000011f9: JUMP 000011fa: JUMPDEST 000011fb: SWAP1 000011fc: POP 000011fd: CALLER 000011fe: PUSH1 0x01 00001200: PUSH1 0x01 00001202: PUSH1 0xa0 00001204: SHL 00001205: SUB 00001206: AND 00001207: PUSH4 0xfa461e33 0000120c: DUP9 0000120d: DUP9 0000120e: DUP13 0000120f: DUP13 00001210: PUSH1 0x40 00001212: MLOAD 00001213: DUP6 00001214: PUSH4 0xffffffff 00001219: AND 0000121a: PUSH1 0xe0 0000121c: SHL 0000121d: DUP2 0000121e: MSTORE 0000121f: PUSH1 0x04 00001221: ADD 00001222: DUP1 00001223: DUP6 00001224: DUP2 00001225: MSTORE 00001226: PUSH1 0x20 00001228: ADD 00001229: DUP5 0000122a: DUP2 0000122b: MSTORE 0000122c: PUSH1 0x20 0000122e: ADD 0000122f: DUP1 00001230: PUSH1 0x20 00001232: ADD 00001233: DUP3 00001234: DUP2 00001235: SUB 00001236: DUP3 00001237: MSTORE 00001238: DUP5 00001239: DUP5 0000123a: DUP3 0000123b: DUP2 0000123c: DUP2 0000123d: MSTORE 0000123e: PUSH1 0x20 00001240: ADD 00001241: SWAP3 00001242: POP 00001243: DUP1 00001244: DUP3 00001245: DUP5 00001246: CALLDATACOPY 00001247: PUSH1 0x00 00001249: DUP2 0000124a: DUP5 0000124b: ADD 0000124c: MSTORE 0000124d: PUSH1 0x1f 0000124f: NOT 00001250: PUSH1 0x1f 00001252: DUP3 00001253: ADD 00001254: AND 00001255: SWAP1 00001256: POP 00001257: DUP1 00001258: DUP4 00001259: ADD 0000125a: SWAP3 0000125b: POP 0000125c: POP 0000125d: POP 0000125e: SWAP6 0000125f: POP 00001260: POP 00001261: POP 00001262: POP 00001263: POP 00001264: POP 00001265: PUSH1 0x00 00001267: PUSH1 0x40 00001269: MLOAD 0000126a: DUP1 0000126b: DUP4 0000126c: SUB 0000126d: DUP2 0000126e: PUSH1 0x00 00001270: DUP8 00001271: DUP1 00001272: EXTCODESIZE 00001273: ISZERO 00001274: DUP1 00001275: ISZERO 00001276: PUSH2 0x127e 00001279: JUMPI 0000127a: PUSH1 0x00 0000127c: DUP1 0000127d: REVERT 0000127e: JUMPDEST 0000127f: POP 00001280: GAS 00001281: CALL 00001282: ISZERO 00001283: DUP1 00001284: ISZERO 00001285: PUSH2 0x1292 00001288: JUMPI 00001289: RETURNDATASIZE 0000128a: PUSH1 0x00 0000128c: DUP1 0000128d: RETURNDATACOPY 0000128e: RETURNDATASIZE 0000128f: PUSH1 0x00 00001291: REVERT 00001292: JUMPDEST 00001293: POP 00001294: POP 00001295: POP 00001296: POP 00001297: PUSH2 0x129e 0000129a: PUSH2 0x3cd4 0000129d: JUMP 0000129e: JUMPDEST 0000129f: PUSH2 0x12a8 000012a2: DUP3 000012a3: DUP10 000012a4: PUSH2 0x3e0d 000012a7: JUMP 000012a8: JUMPDEST 000012a9: GT 000012aa: ISZERO 000012ab: PUSH2 0x12e1 000012ae: JUMPI 000012af: PUSH1 0x40 000012b1: DUP1 000012b2: MLOAD 000012b3: PUSH3 0x461bcd 000012b7: PUSH1 0xe5 000012b9: SHL 000012ba: DUP2 000012bb: MSTORE 000012bc: PUSH1 0x20 000012be: PUSH1 0x04 000012c0: DUP3 000012c1: ADD 000012c2: MSTORE 000012c3: PUSH1 0x03 000012c5: PUSH1 0x24 000012c7: DUP3 000012c8: ADD 000012c9: MSTORE 000012ca: PUSH3 0x494941 000012ce: PUSH1 0xe8 000012d0: SHL 000012d1: PUSH1 0x44 000012d3: DUP3 000012d4: ADD 000012d5: MSTORE 000012d6: SWAP1 000012d7: MLOAD 000012d8: SWAP1 000012d9: DUP2 000012da: SWAP1 000012db: SUB 000012dc: PUSH1 0x64 000012de: ADD 000012df: SWAP1 000012e0: REVERT 000012e1: JUMPDEST 000012e2: POP 000012e3: PUSH2 0x1411 000012e6: JUMP 000012e7: JUMPDEST 000012e8: PUSH1 0x00 000012ea: DUP7 000012eb: SLT 000012ec: ISZERO 000012ed: PUSH2 0x131e 000012f0: JUMPI 000012f1: PUSH2 0x131e 000012f4: PUSH32 0x00000000000000000000000056072c95faa701256059aa122697b133aded9279 00001315: DUP14 00001316: DUP9 00001317: PUSH1 0x00 00001319: SUB 0000131a: PUSH2 0x3b86 0000131d: JUMP 0000131e: JUMPDEST 0000131f: PUSH1 0x00 00001321: PUSH2 0x1328 00001324: PUSH2 0x3e1d 00001327: JUMP 00001328: JUMPDEST 00001329: SWAP1 0000132a: POP 0000132b: CALLER 0000132c: PUSH1 0x01 0000132e: PUSH1 0x01 00001330: PUSH1 0xa0 00001332: SHL 00001333: SUB 00001334: AND 00001335: PUSH4 0xfa461e33 0000133a: DUP9 0000133b: DUP9 0000133c: DUP13 0000133d: DUP13 0000133e: PUSH1 0x40 00001340: MLOAD 00001341: DUP6 00001342: PUSH4 0xffffffff 00001347: AND 00001348: PUSH1 0xe0 0000134a: SHL 0000134b: DUP2 0000134c: MSTORE 0000134d: PUSH1 0x04 0000134f: ADD 00001350: DUP1 00001351: DUP6 00001352: DUP2 00001353: MSTORE 00001354: PUSH1 0x20 00001356: ADD 00001357: DUP5 00001358: DUP2 00001359: MSTORE 0000135a: PUSH1 0x20 0000135c: ADD 0000135d: DUP1 0000135e: PUSH1 0x20 00001360: ADD 00001361: DUP3 00001362: DUP2 00001363: SUB 00001364: DUP3 00001365: MSTORE 00001366: DUP5 00001367: DUP5 00001368: DUP3 00001369: DUP2 0000136a: DUP2 0000136b: MSTORE 0000136c: PUSH1 0x20 0000136e: ADD 0000136f: SWAP3 00001370: POP 00001371: DUP1 00001372: DUP3 00001373: DUP5 00001374: CALLDATACOPY 00001375: PUSH1 0x00 00001377: DUP2 00001378: DUP5 00001379: ADD 0000137a: MSTORE 0000137b: PUSH1 0x1f 0000137d: NOT 0000137e: PUSH1 0x1f 00001380: DUP3 00001381: ADD 00001382: AND 00001383: SWAP1 00001384: POP 00001385: DUP1 00001386: DUP4 00001387: ADD 00001388: SWAP3 00001389: POP 0000138a: POP 0000138b: POP 0000138c: SWAP6 0000138d: POP 0000138e: POP 0000138f: POP 00001390: POP 00001391: POP 00001392: POP 00001393: PUSH1 0x00 00001395: PUSH1 0x40 00001397: MLOAD 00001398: DUP1 00001399: DUP4 0000139a: SUB 0000139b: DUP2 0000139c: PUSH1 0x00 0000139e: DUP8 0000139f: DUP1 000013a0: EXTCODESIZE 000013a1: ISZERO 000013a2: DUP1 000013a3: ISZERO 000013a4: PUSH2 0x13ac 000013a7: JUMPI 000013a8: PUSH1 0x00 000013aa: DUP1 000013ab: REVERT 000013ac: JUMPDEST 000013ad: POP 000013ae: GAS 000013af: CALL 000013b0: ISZERO 000013b1: DUP1 000013b2: ISZERO 000013b3: PUSH2 0x13c0 000013b6: JUMPI 000013b7: RETURNDATASIZE 000013b8: PUSH1 0x00 000013ba: DUP1 000013bb: RETURNDATACOPY 000013bc: RETURNDATASIZE 000013bd: PUSH1 0x00 000013bf: REVERT 000013c0: JUMPDEST 000013c1: POP 000013c2: POP 000013c3: POP 000013c4: POP 000013c5: PUSH2 0x13cc 000013c8: PUSH2 0x3e1d 000013cb: JUMP 000013cc: JUMPDEST 000013cd: PUSH2 0x13d6 000013d0: DUP3 000013d1: DUP9 000013d2: PUSH2 0x3e0d 000013d5: JUMP 000013d6: JUMPDEST 000013d7: GT 000013d8: ISZERO 000013d9: PUSH2 0x140f 000013dc: JUMPI 000013dd: PUSH1 0x40 000013df: DUP1 000013e0: MLOAD 000013e1: PUSH3 0x461bcd 000013e5: PUSH1 0xe5 000013e7: SHL 000013e8: DUP2 000013e9: MSTORE 000013ea: PUSH1 0x20 000013ec: PUSH1 0x04 000013ee: DUP3 000013ef: ADD 000013f0: MSTORE 000013f1: PUSH1 0x03 000013f3: PUSH1 0x24 000013f5: DUP3 000013f6: ADD 000013f7: MSTORE 000013f8: PUSH3 0x494941 000013fc: PUSH1 0xe8 000013fe: SHL 000013ff: PUSH1 0x44 00001401: DUP3 00001402: ADD 00001403: MSTORE 00001404: SWAP1 00001405: MLOAD 00001406: SWAP1 00001407: DUP2 00001408: SWAP1 00001409: SUB 0000140a: PUSH1 0x64 0000140c: ADD 0000140d: SWAP1 0000140e: REVERT 0000140f: JUMPDEST 00001410: POP 00001411: JUMPDEST 00001412: PUSH1 0x40 00001414: DUP1 00001415: DUP3 00001416: ADD 00001417: MLOAD 00001418: PUSH1 0xc0 0000141a: DUP4 0000141b: ADD 0000141c: MLOAD 0000141d: PUSH1 0x60 0000141f: DUP1 00001420: DUP6 00001421: ADD 00001422: MLOAD 00001423: DUP5 00001424: MLOAD 00001425: DUP12 00001426: DUP2 00001427: MSTORE 00001428: PUSH1 0x20 0000142a: DUP2 0000142b: ADD 0000142c: DUP12 0000142d: SWAP1 0000142e: MSTORE 0000142f: PUSH1 0x01 00001431: PUSH1 0x01 00001433: PUSH1 0xa0 00001435: SHL 00001436: SUB 00001437: SWAP5 00001438: DUP6 00001439: AND 0000143a: DUP2 0000143b: DUP8 0000143c: ADD 0000143d: MSTORE 0000143e: PUSH1 0x01 00001440: PUSH1 0x01 00001442: PUSH1 0x80 00001444: SHL 00001445: SUB 00001446: SWAP1 00001447: SWAP4 00001448: AND 00001449: SWAP2 0000144a: DUP4 0000144b: ADD 0000144c: SWAP2 0000144d: SWAP1 0000144e: SWAP2 0000144f: MSTORE 00001450: PUSH1 0x02 00001452: SIGNEXTEND 00001453: PUSH1 0x80 00001455: DUP3 00001456: ADD 00001457: MSTORE 00001458: SWAP2 00001459: MLOAD 0000145a: SWAP1 0000145b: DUP15 0000145c: AND 0000145d: SWAP2 0000145e: CALLER 0000145f: SWAP2 00001460: PUSH32 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67 00001481: SWAP2 00001482: DUP2 00001483: SWAP1 00001484: SUB 00001485: PUSH1 0xa0 00001487: ADD 00001488: SWAP1 00001489: LOG3 0000148a: POP 0000148b: POP 0000148c: PUSH1 0x00 0000148e: DUP1 0000148f: SLOAD 00001490: PUSH1 0xff 00001492: PUSH1 0xf0 00001494: SHL 00001495: NOT 00001496: AND 00001497: PUSH1 0x01 00001499: PUSH1 0xf0 0000149b: SHL 0000149c: OR 0000149d: SWAP1 0000149e: SSTORE 0000149f: POP 000014a0: SWAP2 000014a1: SWAP9 000014a2: SWAP1 000014a3: SWAP8 000014a4: POP 000014a5: SWAP6 000014a6: POP 000014a7: POP 000014a8: POP 000014a9: POP 000014aa: POP 000014ab: POP 000014ac: JUMP 000014ad: JUMPDEST 000014ae: PUSH1 0x04 000014b0: SLOAD 000014b1: PUSH1 0x01 000014b3: PUSH1 0x01 000014b5: PUSH1 0x80 000014b7: SHL 000014b8: SUB 000014b9: AND 000014ba: DUP2 000014bb: JUMP 000014bc: JUMPDEST 000014bd: PUSH1 0x03 000014bf: SLOAD 000014c0: PUSH1 0x01 000014c2: PUSH1 0x01 000014c4: PUSH1 0x80 000014c6: SHL 000014c7: SUB 000014c8: DUP1 000014c9: DUP3 000014ca: AND 000014cb: SWAP2 000014cc: PUSH1 0x01 000014ce: PUSH1 0x80 000014d0: SHL 000014d1: SWAP1 000014d2: DIV 000014d3: AND 000014d4: DUP3 000014d5: JUMP 000014d6: JUMPDEST 000014d7: PUSH1 0x08 000014d9: DUP2 000014da: PUSH2 0xffff 000014dd: DUP2 000014de: LT 000014df: PUSH2 0x14e7 000014e2: JUMPI 000014e3: PUSH1 0x00 000014e5: DUP1 000014e6: REVERT 000014e7: JUMPDEST 000014e8: ADD 000014e9: SLOAD 000014ea: PUSH4 0xffffffff 000014ef: DUP2 000014f0: AND 000014f1: SWAP2 000014f2: POP 000014f3: PUSH5 0x0100000000 000014f9: DUP2 000014fa: DIV 000014fb: PUSH1 0x06 000014fd: SIGNEXTEND 000014fe: SWAP1 000014ff: PUSH1 0x01 00001501: PUSH1 0x58 00001503: SHL 00001504: DUP2 00001505: DIV 00001506: PUSH1 0x01 00001508: PUSH1 0x01 0000150a: PUSH1 0xa0 0000150c: SHL 0000150d: SUB 0000150e: AND 0000150f: SWAP1 00001510: PUSH1 0x01 00001512: PUSH1 0xf8 00001514: SHL 00001515: SWAP1 00001516: DIV 00001517: PUSH1 0xff 00001519: AND 0000151a: DUP5 0000151b: JUMP 0000151c: JUMPDEST 0000151d: PUSH1 0x00 0000151f: SLOAD 00001520: PUSH1 0x01 00001522: PUSH1 0xf0 00001524: SHL 00001525: SWAP1 00001526: DIV 00001527: PUSH1 0xff 00001529: AND 0000152a: PUSH2 0x1560 0000152d: JUMPI 0000152e: PUSH1 0x40 00001530: DUP1 00001531: MLOAD 00001532: PUSH3 0x461bcd 00001536: PUSH1 0xe5 00001538: SHL 00001539: DUP2 0000153a: MSTORE 0000153b: PUSH1 0x20 0000153d: PUSH1 0x04 0000153f: DUP3 00001540: ADD 00001541: MSTORE 00001542: PUSH1 0x03 00001544: PUSH1 0x24 00001546: DUP3 00001547: ADD 00001548: MSTORE 00001549: PUSH3 0x4c4f4b 0000154d: PUSH1 0xe8 0000154f: SHL 00001550: PUSH1 0x44 00001552: DUP3 00001553: ADD 00001554: MSTORE 00001555: SWAP1 00001556: MLOAD 00001557: SWAP1 00001558: DUP2 00001559: SWAP1 0000155a: SUB 0000155b: PUSH1 0x64 0000155d: ADD 0000155e: SWAP1 0000155f: REVERT 00001560: JUMPDEST 00001561: PUSH1 0x00 00001563: DUP1 00001564: SLOAD 00001565: PUSH1 0xff 00001567: PUSH1 0xf0 00001569: SHL 0000156a: NOT 0000156b: AND 0000156c: SWAP1 0000156d: SSTORE 0000156e: PUSH2 0x1575 00001571: PUSH2 0x2bf0 00001574: JUMP 00001575: JUMPDEST 00001576: PUSH1 0x00 00001578: DUP1 00001579: SLOAD 0000157a: PUSH1 0x01 0000157c: PUSH1 0xd8 0000157e: SHL 0000157f: SWAP1 00001580: DIV 00001581: PUSH2 0xffff 00001584: AND 00001585: SWAP1 00001586: PUSH2 0x1591 00001589: PUSH1 0x08 0000158b: DUP4 0000158c: DUP6 0000158d: PUSH2 0x3eb5 00001590: JUMP 00001591: JUMPDEST 00001592: PUSH1 0x00 00001594: DUP1 00001595: SLOAD 00001596: PUSH2 0xffff 00001599: DUP1 0000159a: DUP5 0000159b: AND 0000159c: PUSH1 0x01 0000159e: PUSH1 0xd8 000015a0: SHL 000015a1: DUP2 000015a2: MUL 000015a3: PUSH2 0xffff 000015a6: PUSH1 0xd8 000015a8: SHL 000015a9: NOT 000015aa: SWAP1 000015ab: SWAP4 000015ac: AND 000015ad: SWAP3 000015ae: SWAP1 000015af: SWAP3 000015b0: OR 000015b1: SWAP1 000015b2: SWAP3 000015b3: SSTORE 000015b4: SWAP2 000015b5: SWAP3 000015b6: POP 000015b7: DUP4 000015b8: AND 000015b9: EQ 000015ba: PUSH2 0x15fe 000015bd: JUMPI 000015be: PUSH1 0x40 000015c0: DUP1 000015c1: MLOAD 000015c2: PUSH2 0xffff 000015c5: DUP1 000015c6: DUP6 000015c7: AND 000015c8: DUP3 000015c9: MSTORE 000015ca: DUP4 000015cb: AND 000015cc: PUSH1 0x20 000015ce: DUP3 000015cf: ADD 000015d0: MSTORE 000015d1: DUP2 000015d2: MLOAD 000015d3: PUSH32 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a 000015f4: SWAP3 000015f5: SWAP2 000015f6: DUP2 000015f7: SWAP1 000015f8: SUB 000015f9: SWAP1 000015fa: SWAP2 000015fb: ADD 000015fc: SWAP1 000015fd: LOG1 000015fe: JUMPDEST 000015ff: POP 00001600: POP 00001601: PUSH1 0x00 00001603: DUP1 00001604: SLOAD 00001605: PUSH1 0xff 00001607: PUSH1 0xf0 00001609: SHL 0000160a: NOT 0000160b: AND 0000160c: PUSH1 0x01 0000160e: PUSH1 0xf0 00001610: SHL 00001611: OR 00001612: SWAP1 00001613: SSTORE 00001614: POP 00001615: JUMP 00001616: JUMPDEST 00001617: PUSH1 0x00 00001619: SLOAD 0000161a: PUSH1 0x01 0000161c: PUSH1 0x01 0000161e: PUSH1 0xa0 00001620: SHL 00001621: SUB 00001622: DUP2 00001623: AND 00001624: SWAP1 00001625: PUSH1 0x01 00001627: PUSH1 0xa0 00001629: SHL 0000162a: DUP2 0000162b: DIV 0000162c: PUSH1 0x02 0000162e: SIGNEXTEND 0000162f: SWAP1 00001630: PUSH2 0xffff 00001633: PUSH1 0x01 00001635: PUSH1 0xb8 00001637: SHL 00001638: DUP3 00001639: DIV 0000163a: DUP2 0000163b: AND 0000163c: SWAP2 0000163d: PUSH1 0x01 0000163f: PUSH1 0xc8 00001641: SHL 00001642: DUP2 00001643: DIV 00001644: DUP3 00001645: AND 00001646: SWAP2 00001647: PUSH1 0x01 00001649: PUSH1 0xd8 0000164b: SHL 0000164c: DUP3 0000164d: DIV 0000164e: AND 0000164f: SWAP1 00001650: PUSH1 0xff 00001652: PUSH1 0x01 00001654: PUSH1 0xe8 00001656: SHL 00001657: DUP3 00001658: DIV 00001659: DUP2 0000165a: AND 0000165b: SWAP2 0000165c: PUSH1 0x01 0000165e: PUSH1 0xf0 00001660: SHL 00001661: SWAP1 00001662: DIV 00001663: AND 00001664: DUP8 00001665: JUMP 00001666: JUMPDEST 00001667: PUSH1 0x00 00001669: DUP1 0000166a: SLOAD 0000166b: DUP2 0000166c: SWAP1 0000166d: PUSH1 0x01 0000166f: PUSH1 0xf0 00001671: SHL 00001672: SWAP1 00001673: DIV 00001674: PUSH1 0xff 00001676: AND 00001677: PUSH2 0x16ad 0000167a: JUMPI 0000167b: PUSH1 0x40 0000167d: DUP1 0000167e: MLOAD 0000167f: PUSH3 0x461bcd 00001683: PUSH1 0xe5 00001685: SHL 00001686: DUP2 00001687: MSTORE 00001688: PUSH1 0x20 0000168a: PUSH1 0x04 0000168c: DUP3 0000168d: ADD 0000168e: MSTORE 0000168f: PUSH1 0x03 00001691: PUSH1 0x24 00001693: DUP3 00001694: ADD 00001695: MSTORE 00001696: PUSH3 0x4c4f4b 0000169a: PUSH1 0xe8 0000169c: SHL 0000169d: PUSH1 0x44 0000169f: DUP3 000016a0: ADD 000016a1: MSTORE 000016a2: SWAP1 000016a3: MLOAD 000016a4: SWAP1 000016a5: DUP2 000016a6: SWAP1 000016a7: SUB 000016a8: PUSH1 0x64 000016aa: ADD 000016ab: SWAP1 000016ac: REVERT 000016ad: JUMPDEST 000016ae: PUSH1 0x00 000016b0: DUP1 000016b1: SLOAD 000016b2: PUSH1 0xff 000016b4: PUSH1 0xf0 000016b6: SHL 000016b7: NOT 000016b8: AND 000016b9: SWAP1 000016ba: SSTORE 000016bb: PUSH1 0x01 000016bd: PUSH1 0x01 000016bf: PUSH1 0x80 000016c1: SHL 000016c2: SUB 000016c3: DUP6 000016c4: AND 000016c5: PUSH2 0x16cd 000016c8: JUMPI 000016c9: PUSH1 0x00 000016cb: DUP1 000016cc: REVERT 000016cd: JUMPDEST 000016ce: PUSH1 0x00 000016d0: DUP1 000016d1: PUSH2 0x171b 000016d4: PUSH1 0x40 000016d6: MLOAD 000016d7: DUP1 000016d8: PUSH1 0x80 000016da: ADD 000016db: PUSH1 0x40 000016dd: MSTORE 000016de: DUP1 000016df: DUP13 000016e0: PUSH1 0x01 000016e2: PUSH1 0x01 000016e4: PUSH1 0xa0 000016e6: SHL 000016e7: SUB 000016e8: AND 000016e9: DUP2 000016ea: MSTORE 000016eb: PUSH1 0x20 000016ed: ADD 000016ee: DUP12 000016ef: PUSH1 0x02 000016f1: SIGNEXTEND 000016f2: DUP2 000016f3: MSTORE 000016f4: PUSH1 0x20 000016f6: ADD 000016f7: DUP11 000016f8: PUSH1 0x02 000016fa: SIGNEXTEND 000016fb: DUP2 000016fc: MSTORE 000016fd: PUSH1 0x20 000016ff: ADD 00001700: PUSH2 0x1711 00001703: DUP11 00001704: PUSH1 0x01 00001706: PUSH1 0x01 00001708: PUSH1 0x80 0000170a: SHL 0000170b: SUB 0000170c: AND 0000170d: PUSH2 0x3f58 00001710: JUMP 00001711: JUMPDEST 00001712: PUSH1 0x0f 00001714: SIGNEXTEND 00001715: SWAP1 00001716: MSTORE 00001717: PUSH2 0x3f69 0000171a: JUMP 0000171b: JUMPDEST 0000171c: SWAP3 0000171d: POP 0000171e: SWAP3 0000171f: POP 00001720: POP 00001721: DUP2 00001722: SWAP4 00001723: POP 00001724: DUP1 00001725: SWAP3 00001726: POP 00001727: PUSH1 0x00 00001729: DUP1 0000172a: PUSH1 0x00 0000172c: DUP7 0000172d: GT 0000172e: ISZERO 0000172f: PUSH2 0x173d 00001732: JUMPI 00001733: PUSH2 0x173a 00001736: PUSH2 0x3cd4 00001739: JUMP 0000173a: JUMPDEST 0000173b: SWAP2 0000173c: POP 0000173d: JUMPDEST 0000173e: DUP5 0000173f: ISZERO 00001740: PUSH2 0x174e 00001743: JUMPI 00001744: PUSH2 0x174b 00001747: PUSH2 0x3e1d 0000174a: JUMP 0000174b: JUMPDEST 0000174c: SWAP1 0000174d: POP 0000174e: JUMPDEST 0000174f: CALLER 00001750: PUSH1 0x01 00001752: PUSH1 0x01 00001754: PUSH1 0xa0 00001756: SHL 00001757: SUB 00001758: AND 00001759: PUSH4 0xd3487997 0000175e: DUP8 0000175f: DUP8 00001760: DUP12 00001761: DUP12 00001762: PUSH1 0x40 00001764: MLOAD 00001765: DUP6 00001766: PUSH4 0xffffffff 0000176b: AND 0000176c: PUSH1 0xe0 0000176e: SHL 0000176f: DUP2 00001770: MSTORE 00001771: PUSH1 0x04 00001773: ADD 00001774: DUP1 00001775: DUP6 00001776: DUP2 00001777: MSTORE 00001778: PUSH1 0x20 0000177a: ADD 0000177b: DUP5 0000177c: DUP2 0000177d: MSTORE 0000177e: PUSH1 0x20 00001780: ADD 00001781: DUP1 00001782: PUSH1 0x20 00001784: ADD 00001785: DUP3 00001786: DUP2 00001787: SUB 00001788: DUP3 00001789: MSTORE 0000178a: DUP5 0000178b: DUP5 0000178c: DUP3 0000178d: DUP2 0000178e: DUP2 0000178f: MSTORE 00001790: PUSH1 0x20 00001792: ADD 00001793: SWAP3 00001794: POP 00001795: DUP1 00001796: DUP3 00001797: DUP5 00001798: CALLDATACOPY 00001799: PUSH1 0x00 0000179b: DUP2 0000179c: DUP5 0000179d: ADD 0000179e: MSTORE 0000179f: PUSH1 0x1f 000017a1: NOT 000017a2: PUSH1 0x1f 000017a4: DUP3 000017a5: ADD 000017a6: AND 000017a7: SWAP1 000017a8: POP 000017a9: DUP1 000017aa: DUP4 000017ab: ADD 000017ac: SWAP3 000017ad: POP 000017ae: POP 000017af: POP 000017b0: SWAP6 000017b1: POP 000017b2: POP 000017b3: POP 000017b4: POP 000017b5: POP 000017b6: POP 000017b7: PUSH1 0x00 000017b9: PUSH1 0x40 000017bb: MLOAD 000017bc: DUP1 000017bd: DUP4 000017be: SUB 000017bf: DUP2 000017c0: PUSH1 0x00 000017c2: DUP8 000017c3: DUP1 000017c4: EXTCODESIZE 000017c5: ISZERO 000017c6: DUP1 000017c7: ISZERO 000017c8: PUSH2 0x17d0 000017cb: JUMPI 000017cc: PUSH1 0x00 000017ce: DUP1 000017cf: REVERT 000017d0: JUMPDEST 000017d1: POP 000017d2: GAS 000017d3: CALL 000017d4: ISZERO 000017d5: DUP1 000017d6: ISZERO 000017d7: PUSH2 0x17e4 000017da: JUMPI 000017db: RETURNDATASIZE 000017dc: PUSH1 0x00 000017de: DUP1 000017df: RETURNDATACOPY 000017e0: RETURNDATASIZE 000017e1: PUSH1 0x00 000017e3: REVERT 000017e4: JUMPDEST 000017e5: POP 000017e6: POP 000017e7: POP 000017e8: POP 000017e9: PUSH1 0x00 000017eb: DUP7 000017ec: GT 000017ed: ISZERO 000017ee: PUSH2 0x183b 000017f1: JUMPI 000017f2: PUSH2 0x17f9 000017f5: PUSH2 0x3cd4 000017f8: JUMP 000017f9: JUMPDEST 000017fa: PUSH2 0x1803 000017fd: DUP4 000017fe: DUP9 000017ff: PUSH2 0x3e0d 00001802: JUMP 00001803: JUMPDEST 00001804: GT 00001805: ISZERO 00001806: PUSH2 0x183b 00001809: JUMPI 0000180a: PUSH1 0x40 0000180c: DUP1 0000180d: MLOAD 0000180e: PUSH3 0x461bcd 00001812: PUSH1 0xe5 00001814: SHL 00001815: DUP2 00001816: MSTORE 00001817: PUSH1 0x20 00001819: PUSH1 0x04 0000181b: DUP3 0000181c: ADD 0000181d: MSTORE 0000181e: PUSH1 0x02 00001820: PUSH1 0x24 00001822: DUP3 00001823: ADD 00001824: MSTORE 00001825: PUSH2 0x04d3 00001828: PUSH1 0xf4 0000182a: SHL 0000182b: PUSH1 0x44 0000182d: DUP3 0000182e: ADD 0000182f: MSTORE 00001830: SWAP1 00001831: MLOAD 00001832: SWAP1 00001833: DUP2 00001834: SWAP1 00001835: SUB 00001836: PUSH1 0x64 00001838: ADD 00001839: SWAP1 0000183a: REVERT 0000183b: JUMPDEST 0000183c: DUP5 0000183d: ISZERO 0000183e: PUSH2 0x188b 00001841: JUMPI 00001842: PUSH2 0x1849 00001845: PUSH2 0x3e1d 00001848: JUMP 00001849: JUMPDEST 0000184a: PUSH2 0x1853 0000184d: DUP3 0000184e: DUP8 0000184f: PUSH2 0x3e0d 00001852: JUMP 00001853: JUMPDEST 00001854: GT 00001855: ISZERO 00001856: PUSH2 0x188b 00001859: JUMPI 0000185a: PUSH1 0x40 0000185c: DUP1 0000185d: MLOAD 0000185e: PUSH3 0x461bcd 00001862: PUSH1 0xe5 00001864: SHL 00001865: DUP2 00001866: MSTORE 00001867: PUSH1 0x20 00001869: PUSH1 0x04 0000186b: DUP3 0000186c: ADD 0000186d: MSTORE 0000186e: PUSH1 0x02 00001870: PUSH1 0x24 00001872: DUP3 00001873: ADD 00001874: MSTORE 00001875: PUSH2 0x4d31 00001878: PUSH1 0xf0 0000187a: SHL 0000187b: PUSH1 0x44 0000187d: DUP3 0000187e: ADD 0000187f: MSTORE 00001880: SWAP1 00001881: MLOAD 00001882: SWAP1 00001883: DUP2 00001884: SWAP1 00001885: SUB 00001886: PUSH1 0x64 00001888: ADD 00001889: SWAP1 0000188a: REVERT 0000188b: JUMPDEST 0000188c: DUP10 0000188d: PUSH1 0x02 0000188f: SIGNEXTEND 00001890: DUP12 00001891: PUSH1 0x02 00001893: SIGNEXTEND 00001894: DUP14 00001895: PUSH1 0x01 00001897: PUSH1 0x01 00001899: PUSH1 0xa0 0000189b: SHL 0000189c: SUB 0000189d: AND 0000189e: PUSH32 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde 000018bf: CALLER 000018c0: DUP14 000018c1: DUP12 000018c2: DUP12 000018c3: PUSH1 0x40 000018c5: MLOAD 000018c6: DUP1 000018c7: DUP6 000018c8: PUSH1 0x01 000018ca: PUSH1 0x01 000018cc: PUSH1 0xa0 000018ce: SHL 000018cf: SUB 000018d0: AND 000018d1: DUP2 000018d2: MSTORE 000018d3: PUSH1 0x20 000018d5: ADD 000018d6: DUP5 000018d7: PUSH1 0x01 000018d9: PUSH1 0x01 000018db: PUSH1 0x80 000018dd: SHL 000018de: SUB 000018df: AND 000018e0: DUP2 000018e1: MSTORE 000018e2: PUSH1 0x20 000018e4: ADD 000018e5: DUP4 000018e6: DUP2 000018e7: MSTORE 000018e8: PUSH1 0x20 000018ea: ADD 000018eb: DUP3 000018ec: DUP2 000018ed: MSTORE 000018ee: PUSH1 0x20 000018f0: ADD 000018f1: SWAP5 000018f2: POP 000018f3: POP 000018f4: POP 000018f5: POP 000018f6: POP 000018f7: PUSH1 0x40 000018f9: MLOAD 000018fa: DUP1 000018fb: SWAP2 000018fc: SUB 000018fd: SWAP1 000018fe: LOG4 000018ff: POP 00001900: POP 00001901: PUSH1 0x00 00001903: DUP1 00001904: SLOAD 00001905: PUSH1 0xff 00001907: PUSH1 0xf0 00001909: SHL 0000190a: NOT 0000190b: AND 0000190c: PUSH1 0x01 0000190e: PUSH1 0xf0 00001910: SHL 00001911: OR 00001912: SWAP1 00001913: SSTORE 00001914: POP 00001915: SWAP2 00001916: SWAP9 00001917: SWAP1 00001918: SWAP8 00001919: POP 0000191a: SWAP6 0000191b: POP 0000191c: POP 0000191d: POP 0000191e: POP 0000191f: POP 00001920: POP 00001921: JUMP 00001922: JUMPDEST 00001923: PUSH1 0x02 00001925: SLOAD 00001926: DUP2 00001927: JUMP 00001928: JUMPDEST 00001929: PUSH1 0x00 0000192b: SLOAD 0000192c: PUSH1 0x01 0000192e: PUSH1 0xf0 00001930: SHL 00001931: SWAP1 00001932: DIV 00001933: PUSH1 0xff 00001935: AND 00001936: PUSH2 0x196c 00001939: JUMPI 0000193a: PUSH1 0x40 0000193c: DUP1 0000193d: MLOAD 0000193e: PUSH3 0x461bcd 00001942: PUSH1 0xe5 00001944: SHL 00001945: DUP2 00001946: MSTORE 00001947: PUSH1 0x20 00001949: PUSH1 0x04 0000194b: DUP3 0000194c: ADD 0000194d: MSTORE 0000194e: PUSH1 0x03 00001950: PUSH1 0x24 00001952: DUP3 00001953: ADD 00001954: MSTORE 00001955: PUSH3 0x4c4f4b 00001959: PUSH1 0xe8 0000195b: SHL 0000195c: PUSH1 0x44 0000195e: DUP3 0000195f: ADD 00001960: MSTORE 00001961: SWAP1 00001962: MLOAD 00001963: SWAP1 00001964: DUP2 00001965: SWAP1 00001966: SUB 00001967: PUSH1 0x64 00001969: ADD 0000196a: SWAP1 0000196b: REVERT 0000196c: JUMPDEST 0000196d: PUSH1 0x00 0000196f: DUP1 00001970: SLOAD 00001971: PUSH1 0xff 00001973: PUSH1 0xf0 00001975: SHL 00001976: NOT 00001977: AND 00001978: SWAP1 00001979: SSTORE 0000197a: PUSH2 0x1981 0000197d: PUSH2 0x2bf0 00001980: JUMP 00001981: JUMPDEST 00001982: PUSH1 0x04 00001984: SLOAD 00001985: PUSH1 0x01 00001987: PUSH1 0x01 00001989: PUSH1 0x80 0000198b: SHL 0000198c: SUB 0000198d: AND 0000198e: DUP1 0000198f: PUSH2 0x19c3 00001992: JUMPI 00001993: PUSH1 0x40 00001995: DUP1 00001996: MLOAD 00001997: PUSH3 0x461bcd 0000199b: PUSH1 0xe5 0000199d: SHL 0000199e: DUP2 0000199f: MSTORE 000019a0: PUSH1 0x20 000019a2: PUSH1 0x04 000019a4: DUP3 000019a5: ADD 000019a6: MSTORE 000019a7: PUSH1 0x01 000019a9: PUSH1 0x24 000019ab: DUP3 000019ac: ADD 000019ad: MSTORE 000019ae: PUSH1 0x13 000019b0: PUSH1 0xfa 000019b2: SHL 000019b3: PUSH1 0x44 000019b5: DUP3 000019b6: ADD 000019b7: MSTORE 000019b8: SWAP1 000019b9: MLOAD 000019ba: SWAP1 000019bb: DUP2 000019bc: SWAP1 000019bd: SUB 000019be: PUSH1 0x64 000019c0: ADD 000019c1: SWAP1 000019c2: REVERT 000019c3: JUMPDEST 000019c4: PUSH1 0x00 000019c6: PUSH2 0x19f8 000019c9: DUP7 000019ca: PUSH32 0x0000000000000000000000000000000000000000000000000000000000002710 000019eb: PUSH3 0xffffff 000019ef: AND 000019f0: PUSH3 0x0f4240 000019f4: PUSH2 0x41a9 000019f7: JUMP 000019f8: JUMPDEST 000019f9: SWAP1 000019fa: POP 000019fb: PUSH1 0x00 000019fd: PUSH2 0x1a2f 00001a00: DUP7 00001a01: PUSH32 0x0000000000000000000000000000000000000000000000000000000000002710 00001a22: PUSH3 0xffffff 00001a26: AND 00001a27: PUSH3 0x0f4240 00001a2b: PUSH2 0x41a9 00001a2e: JUMP 00001a2f: JUMPDEST 00001a30: SWAP1 00001a31: POP 00001a32: PUSH1 0x00 00001a34: PUSH2 0x1a3b 00001a37: PUSH2 0x3cd4 00001a3a: JUMP 00001a3b: JUMPDEST 00001a3c: SWAP1 00001a3d: POP 00001a3e: PUSH1 0x00 00001a40: PUSH2 0x1a47 00001a43: PUSH2 0x3e1d 00001a46: JUMP 00001a47: JUMPDEST 00001a48: SWAP1 00001a49: POP 00001a4a: DUP9 00001a4b: ISZERO 00001a4c: PUSH2 0x1a7a 00001a4f: JUMPI 00001a50: PUSH2 0x1a7a 00001a53: PUSH32 0x00000000000000000000000056072c95faa701256059aa122697b133aded9279 00001a74: DUP12 00001a75: DUP12 00001a76: PUSH2 0x3b86 00001a79: JUMP 00001a7a: JUMPDEST 00001a7b: DUP8 00001a7c: ISZERO 00001a7d: PUSH2 0x1aab 00001a80: JUMPI 00001a81: PUSH2 0x1aab 00001a84: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001aa5: DUP12 00001aa6: DUP11 00001aa7: PUSH2 0x3b86 00001aaa: JUMP 00001aab: JUMPDEST 00001aac: CALLER 00001aad: PUSH1 0x01 00001aaf: PUSH1 0x01 00001ab1: PUSH1 0xa0 00001ab3: SHL 00001ab4: SUB 00001ab5: AND 00001ab6: PUSH4 0xe9cbafb0 00001abb: DUP6 00001abc: DUP6 00001abd: DUP11 00001abe: DUP11 00001abf: PUSH1 0x40 00001ac1: MLOAD 00001ac2: DUP6 00001ac3: PUSH4 0xffffffff 00001ac8: AND 00001ac9: PUSH1 0xe0 00001acb: SHL 00001acc: DUP2 00001acd: MSTORE 00001ace: PUSH1 0x04 00001ad0: ADD 00001ad1: DUP1 00001ad2: DUP6 00001ad3: DUP2 00001ad4: MSTORE 00001ad5: PUSH1 0x20 00001ad7: ADD 00001ad8: DUP5 00001ad9: DUP2 00001ada: MSTORE 00001adb: PUSH1 0x20 00001add: ADD 00001ade: DUP1 00001adf: PUSH1 0x20 00001ae1: ADD 00001ae2: DUP3 00001ae3: DUP2 00001ae4: SUB 00001ae5: DUP3 00001ae6: MSTORE 00001ae7: DUP5 00001ae8: DUP5 00001ae9: DUP3 00001aea: DUP2 00001aeb: DUP2 00001aec: MSTORE 00001aed: PUSH1 0x20 00001aef: ADD 00001af0: SWAP3 00001af1: POP 00001af2: DUP1 00001af3: DUP3 00001af4: DUP5 00001af5: CALLDATACOPY 00001af6: PUSH1 0x00 00001af8: DUP2 00001af9: DUP5 00001afa: ADD 00001afb: MSTORE 00001afc: PUSH1 0x1f 00001afe: NOT 00001aff: PUSH1 0x1f 00001b01: DUP3 00001b02: ADD 00001b03: AND 00001b04: SWAP1 00001b05: POP 00001b06: DUP1 00001b07: DUP4 00001b08: ADD 00001b09: SWAP3 00001b0a: POP 00001b0b: POP 00001b0c: POP 00001b0d: SWAP6 00001b0e: POP 00001b0f: POP 00001b10: POP 00001b11: POP 00001b12: POP 00001b13: POP 00001b14: PUSH1 0x00 00001b16: PUSH1 0x40 00001b18: MLOAD 00001b19: DUP1 00001b1a: DUP4 00001b1b: SUB 00001b1c: DUP2 00001b1d: PUSH1 0x00 00001b1f: DUP8 00001b20: DUP1 00001b21: EXTCODESIZE 00001b22: ISZERO 00001b23: DUP1 00001b24: ISZERO 00001b25: PUSH2 0x1b2d 00001b28: JUMPI 00001b29: PUSH1 0x00 00001b2b: DUP1 00001b2c: REVERT 00001b2d: JUMPDEST 00001b2e: POP 00001b2f: GAS 00001b30: CALL 00001b31: ISZERO 00001b32: DUP1 00001b33: ISZERO 00001b34: PUSH2 0x1b41 00001b37: JUMPI 00001b38: RETURNDATASIZE 00001b39: PUSH1 0x00 00001b3b: DUP1 00001b3c: RETURNDATACOPY 00001b3d: RETURNDATASIZE 00001b3e: PUSH1 0x00 00001b40: REVERT 00001b41: JUMPDEST 00001b42: POP 00001b43: POP 00001b44: POP 00001b45: POP 00001b46: PUSH1 0x00 00001b48: PUSH2 0x1b4f 00001b4b: PUSH2 0x3cd4 00001b4e: JUMP 00001b4f: JUMPDEST 00001b50: SWAP1 00001b51: POP 00001b52: PUSH1 0x00 00001b54: PUSH2 0x1b5b 00001b57: PUSH2 0x3e1d 00001b5a: JUMP 00001b5b: JUMPDEST 00001b5c: SWAP1 00001b5d: POP 00001b5e: DUP2 00001b5f: PUSH2 0x1b68 00001b62: DUP6 00001b63: DUP9 00001b64: PUSH2 0x3e0d 00001b67: JUMP 00001b68: JUMPDEST 00001b69: GT 00001b6a: ISZERO 00001b6b: PUSH2 0x1ba0 00001b6e: JUMPI 00001b6f: PUSH1 0x40 00001b71: DUP1 00001b72: MLOAD 00001b73: PUSH3 0x461bcd 00001b77: PUSH1 0xe5 00001b79: SHL 00001b7a: DUP2 00001b7b: MSTORE 00001b7c: PUSH1 0x20 00001b7e: PUSH1 0x04 00001b80: DUP3 00001b81: ADD 00001b82: MSTORE 00001b83: PUSH1 0x02 00001b85: PUSH1 0x24 00001b87: DUP3 00001b88: ADD 00001b89: MSTORE 00001b8a: PUSH2 0x0463 00001b8d: PUSH1 0xf4 00001b8f: SHL 00001b90: PUSH1 0x44 00001b92: DUP3 00001b93: ADD 00001b94: MSTORE 00001b95: SWAP1 00001b96: MLOAD 00001b97: SWAP1 00001b98: DUP2 00001b99: SWAP1 00001b9a: SUB 00001b9b: PUSH1 0x64 00001b9d: ADD 00001b9e: SWAP1 00001b9f: REVERT 00001ba0: JUMPDEST 00001ba1: DUP1 00001ba2: PUSH2 0x1bab 00001ba5: DUP5 00001ba6: DUP8 00001ba7: PUSH2 0x3e0d 00001baa: JUMP 00001bab: JUMPDEST 00001bac: GT 00001bad: ISZERO 00001bae: PUSH2 0x1be3 00001bb1: JUMPI 00001bb2: PUSH1 0x40 00001bb4: DUP1 00001bb5: MLOAD 00001bb6: PUSH3 0x461bcd 00001bba: PUSH1 0xe5 00001bbc: SHL 00001bbd: DUP2 00001bbe: MSTORE 00001bbf: PUSH1 0x20 00001bc1: PUSH1 0x04 00001bc3: DUP3 00001bc4: ADD 00001bc5: MSTORE 00001bc6: PUSH1 0x02 00001bc8: PUSH1 0x24 00001bca: DUP3 00001bcb: ADD 00001bcc: MSTORE 00001bcd: PUSH2 0x4631 00001bd0: PUSH1 0xf0 00001bd2: SHL 00001bd3: PUSH1 0x44 00001bd5: DUP3 00001bd6: ADD 00001bd7: MSTORE 00001bd8: SWAP1 00001bd9: MLOAD 00001bda: SWAP1 00001bdb: DUP2 00001bdc: SWAP1 00001bdd: SUB 00001bde: PUSH1 0x64 00001be0: ADD 00001be1: SWAP1 00001be2: REVERT 00001be3: JUMPDEST 00001be4: DUP4 00001be5: DUP3 00001be6: SUB 00001be7: DUP4 00001be8: DUP3 00001be9: SUB 00001bea: DUP2 00001beb: ISZERO 00001bec: PUSH2 0x1c72 00001bef: JUMPI 00001bf0: PUSH1 0x00 00001bf2: DUP1 00001bf3: SLOAD 00001bf4: PUSH1 0x01 00001bf6: PUSH1 0xe8 00001bf8: SHL 00001bf9: SWAP1 00001bfa: DIV 00001bfb: PUSH1 0x0f 00001bfd: AND 00001bfe: SWAP1 00001bff: DUP2 00001c00: ISZERO 00001c01: PUSH2 0x1c16 00001c04: JUMPI 00001c05: DUP2 00001c06: PUSH1 0xff 00001c08: AND 00001c09: DUP5 00001c0a: DUP2 00001c0b: PUSH2 0x1c10 00001c0e: JUMPI 00001c0f: INVALID 00001c10: JUMPDEST 00001c11: DIV 00001c12: PUSH2 0x1c19 00001c15: JUMP 00001c16: JUMPDEST 00001c17: PUSH1 0x00 00001c19: JUMPDEST 00001c1a: SWAP1 00001c1b: POP 00001c1c: PUSH1 0x01 00001c1e: PUSH1 0x01 00001c20: PUSH1 0x80 00001c22: SHL 00001c23: SUB 00001c24: DUP2 00001c25: AND 00001c26: ISZERO 00001c27: PUSH2 0x1c4c 00001c2a: JUMPI 00001c2b: PUSH1 0x03 00001c2d: DUP1 00001c2e: SLOAD 00001c2f: PUSH1 0x01 00001c31: PUSH1 0x01 00001c33: PUSH1 0x80 00001c35: SHL 00001c36: SUB 00001c37: DUP1 00001c38: DUP3 00001c39: AND 00001c3a: DUP5 00001c3b: ADD 00001c3c: AND 00001c3d: PUSH1 0x01 00001c3f: PUSH1 0x01 00001c41: PUSH1 0x80 00001c43: SHL 00001c44: SUB 00001c45: NOT 00001c46: SWAP1 00001c47: SWAP2 00001c48: AND 00001c49: OR 00001c4a: SWAP1 00001c4b: SSTORE 00001c4c: JUMPDEST 00001c4d: PUSH2 0x1c66 00001c50: DUP2 00001c51: DUP6 00001c52: SUB 00001c53: PUSH1 0x01 00001c55: PUSH1 0x80 00001c57: SHL 00001c58: DUP14 00001c59: PUSH1 0x01 00001c5b: PUSH1 0x01 00001c5d: PUSH1 0x80 00001c5f: SHL 00001c60: SUB 00001c61: AND 00001c62: PUSH2 0x32d9 00001c65: JUMP 00001c66: JUMPDEST 00001c67: PUSH1 0x01 00001c69: DUP1 00001c6a: SLOAD 00001c6b: SWAP1 00001c6c: SWAP2 00001c6d: ADD 00001c6e: SWAP1 00001c6f: SSTORE 00001c70: POP 00001c71: POP 00001c72: JUMPDEST 00001c73: DUP1 00001c74: ISZERO 00001c75: PUSH2 0x1cfd 00001c78: JUMPI 00001c79: PUSH1 0x00 00001c7b: DUP1 00001c7c: SLOAD 00001c7d: PUSH1 0x01 00001c7f: PUSH1 0xe8 00001c81: SHL 00001c82: SWAP1 00001c83: DIV 00001c84: PUSH1 0x04 00001c86: SHR 00001c87: PUSH1 0x0f 00001c89: AND 00001c8a: SWAP1 00001c8b: DUP2 00001c8c: ISZERO 00001c8d: PUSH2 0x1ca2 00001c90: JUMPI 00001c91: DUP2 00001c92: PUSH1 0xff 00001c94: AND 00001c95: DUP4 00001c96: DUP2 00001c97: PUSH2 0x1c9c 00001c9a: JUMPI 00001c9b: INVALID 00001c9c: JUMPDEST 00001c9d: DIV 00001c9e: PUSH2 0x1ca5 00001ca1: JUMP 00001ca2: JUMPDEST 00001ca3: PUSH1 0x00 00001ca5: JUMPDEST 00001ca6: SWAP1 00001ca7: POP 00001ca8: PUSH1 0x01 00001caa: PUSH1 0x01 00001cac: PUSH1 0x80 00001cae: SHL 00001caf: SUB 00001cb0: DUP2 00001cb1: AND 00001cb2: ISZERO 00001cb3: PUSH2 0x1cd7 00001cb6: JUMPI 00001cb7: PUSH1 0x03 00001cb9: DUP1 00001cba: SLOAD 00001cbb: PUSH1 0x01 00001cbd: PUSH1 0x01 00001cbf: PUSH1 0x80 00001cc1: SHL 00001cc2: SUB 00001cc3: PUSH1 0x01 00001cc5: PUSH1 0x80 00001cc7: SHL 00001cc8: DUP1 00001cc9: DUP4 00001cca: DIV 00001ccb: DUP3 00001ccc: AND 00001ccd: DUP6 00001cce: ADD 00001ccf: DUP3 00001cd0: AND 00001cd1: MUL 00001cd2: SWAP2 00001cd3: AND 00001cd4: OR 00001cd5: SWAP1 00001cd6: SSTORE 00001cd7: JUMPDEST 00001cd8: PUSH2 0x1cf1 00001cdb: DUP2 00001cdc: DUP5 00001cdd: SUB 00001cde: PUSH1 0x01 00001ce0: PUSH1 0x80 00001ce2: SHL 00001ce3: DUP14 00001ce4: PUSH1 0x01 00001ce6: PUSH1 0x01 00001ce8: PUSH1 0x80 00001cea: SHL 00001ceb: SUB 00001cec: AND 00001ced: PUSH2 0x32d9 00001cf0: JUMP 00001cf1: JUMPDEST 00001cf2: PUSH1 0x02 00001cf4: DUP1 00001cf5: SLOAD 00001cf6: SWAP1 00001cf7: SWAP2 00001cf8: ADD 00001cf9: SWAP1 00001cfa: SSTORE 00001cfb: POP 00001cfc: POP 00001cfd: JUMPDEST 00001cfe: DUP14 00001cff: PUSH1 0x01 00001d01: PUSH1 0x01 00001d03: PUSH1 0xa0 00001d05: SHL 00001d06: SUB 00001d07: AND 00001d08: CALLER 00001d09: PUSH1 0x01 00001d0b: PUSH1 0x01 00001d0d: PUSH1 0xa0 00001d0f: SHL 00001d10: SUB 00001d11: AND 00001d12: PUSH32 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633 00001d33: DUP16 00001d34: DUP16 00001d35: DUP7 00001d36: DUP7 00001d37: PUSH1 0x40 00001d39: MLOAD 00001d3a: DUP1 00001d3b: DUP6 00001d3c: DUP2 00001d3d: MSTORE 00001d3e: PUSH1 0x20 00001d40: ADD 00001d41: DUP5 00001d42: DUP2 00001d43: MSTORE 00001d44: PUSH1 0x20 00001d46: ADD 00001d47: DUP4 00001d48: DUP2 00001d49: MSTORE 00001d4a: PUSH1 0x20 00001d4c: ADD 00001d4d: DUP3 00001d4e: DUP2 00001d4f: MSTORE 00001d50: PUSH1 0x20 00001d52: ADD 00001d53: SWAP5 00001d54: POP 00001d55: POP 00001d56: POP 00001d57: POP 00001d58: POP 00001d59: PUSH1 0x40 00001d5b: MLOAD 00001d5c: DUP1 00001d5d: SWAP2 00001d5e: SUB 00001d5f: SWAP1 00001d60: LOG3 00001d61: POP 00001d62: POP 00001d63: PUSH1 0x00 00001d65: DUP1 00001d66: SLOAD 00001d67: PUSH1 0xff 00001d69: PUSH1 0xf0 00001d6b: SHL 00001d6c: NOT 00001d6d: AND 00001d6e: PUSH1 0x01 00001d70: PUSH1 0xf0 00001d72: SHL 00001d73: OR 00001d74: SWAP1 00001d75: SSTORE 00001d76: POP 00001d77: POP 00001d78: POP 00001d79: POP 00001d7a: POP 00001d7b: POP 00001d7c: POP 00001d7d: POP 00001d7e: POP 00001d7f: POP 00001d80: POP 00001d81: POP 00001d82: JUMP 00001d83: JUMPDEST 00001d84: PUSH1 0x00 00001d86: DUP1 00001d87: SLOAD 00001d88: DUP2 00001d89: SWAP1 00001d8a: PUSH1 0x01 00001d8c: PUSH1 0xf0 00001d8e: SHL 00001d8f: SWAP1 00001d90: DIV 00001d91: PUSH1 0xff 00001d93: AND 00001d94: PUSH2 0x1dca 00001d97: JUMPI 00001d98: PUSH1 0x40 00001d9a: DUP1 00001d9b: MLOAD 00001d9c: PUSH3 0x461bcd 00001da0: PUSH1 0xe5 00001da2: SHL 00001da3: DUP2 00001da4: MSTORE 00001da5: PUSH1 0x20 00001da7: PUSH1 0x04 00001da9: DUP3 00001daa: ADD 00001dab: MSTORE 00001dac: PUSH1 0x03 00001dae: PUSH1 0x24 00001db0: DUP3 00001db1: ADD 00001db2: MSTORE 00001db3: PUSH3 0x4c4f4b 00001db7: PUSH1 0xe8 00001db9: SHL 00001dba: PUSH1 0x44 00001dbc: DUP3 00001dbd: ADD 00001dbe: MSTORE 00001dbf: SWAP1 00001dc0: MLOAD 00001dc1: SWAP1 00001dc2: DUP2 00001dc3: SWAP1 00001dc4: SUB 00001dc5: PUSH1 0x64 00001dc7: ADD 00001dc8: SWAP1 00001dc9: REVERT 00001dca: JUMPDEST 00001dcb: PUSH1 0x00 00001dcd: DUP1 00001dce: SLOAD 00001dcf: PUSH1 0xff 00001dd1: PUSH1 0xf0 00001dd3: SHL 00001dd4: NOT 00001dd5: AND 00001dd6: DUP2 00001dd7: SSTORE 00001dd8: PUSH2 0x1de4 00001ddb: PUSH1 0x07 00001ddd: CALLER 00001dde: DUP10 00001ddf: DUP10 00001de0: PUSH2 0x41e3 00001de3: JUMP 00001de4: JUMPDEST 00001de5: PUSH1 0x03 00001de7: DUP2 00001de8: ADD 00001de9: SLOAD 00001dea: SWAP1 00001deb: SWAP2 00001dec: POP 00001ded: PUSH1 0x01 00001def: PUSH1 0x01 00001df1: PUSH1 0x80 00001df3: SHL 00001df4: SUB 00001df5: SWAP1 00001df6: DUP2 00001df7: AND 00001df8: SWAP1 00001df9: DUP7 00001dfa: AND 00001dfb: GT 00001dfc: PUSH2 0x1e05 00001dff: JUMPI 00001e00: DUP5 00001e01: PUSH2 0x1e14 00001e04: JUMP 00001e05: JUMPDEST 00001e06: PUSH1 0x03 00001e08: DUP2 00001e09: ADD 00001e0a: SLOAD 00001e0b: PUSH1 0x01 00001e0d: PUSH1 0x01 00001e0f: PUSH1 0x80 00001e11: SHL 00001e12: SUB 00001e13: AND 00001e14: JUMPDEST 00001e15: PUSH1 0x03 00001e17: DUP3 00001e18: ADD 00001e19: SLOAD 00001e1a: SWAP1 00001e1b: SWAP4 00001e1c: POP 00001e1d: PUSH1 0x01 00001e1f: PUSH1 0x01 00001e21: PUSH1 0x80 00001e23: SHL 00001e24: SUB 00001e25: PUSH1 0x01 00001e27: PUSH1 0x80 00001e29: SHL 00001e2a: SWAP1 00001e2b: SWAP2 00001e2c: DIV 00001e2d: DUP2 00001e2e: AND 00001e2f: SWAP1 00001e30: DUP6 00001e31: AND 00001e32: GT 00001e33: PUSH2 0x1e3c 00001e36: JUMPI 00001e37: DUP4 00001e38: PUSH2 0x1e52 00001e3b: JUMP 00001e3c: JUMPDEST 00001e3d: PUSH1 0x03 00001e3f: DUP2 00001e40: ADD 00001e41: SLOAD 00001e42: PUSH1 0x01 00001e44: PUSH1 0x80 00001e46: SHL 00001e47: SWAP1 00001e48: DIV 00001e49: PUSH1 0x01 00001e4b: PUSH1 0x01 00001e4d: PUSH1 0x80 00001e4f: SHL 00001e50: SUB 00001e51: AND 00001e52: JUMPDEST 00001e53: SWAP2 00001e54: POP 00001e55: PUSH1 0x01 00001e57: PUSH1 0x01 00001e59: PUSH1 0x80 00001e5b: SHL 00001e5c: SUB 00001e5d: DUP4 00001e5e: AND 00001e5f: ISZERO 00001e60: PUSH2 0x1eb7 00001e63: JUMPI 00001e64: PUSH1 0x03 00001e66: DUP2 00001e67: ADD 00001e68: DUP1 00001e69: SLOAD 00001e6a: PUSH1 0x01 00001e6c: PUSH1 0x01 00001e6e: PUSH1 0x80 00001e70: SHL 00001e71: SUB 00001e72: NOT 00001e73: DUP2 00001e74: AND 00001e75: PUSH1 0x01 00001e77: PUSH1 0x01 00001e79: PUSH1 0x80 00001e7b: SHL 00001e7c: SUB 00001e7d: SWAP2 00001e7e: DUP3 00001e7f: AND 00001e80: DUP7 00001e81: SWAP1 00001e82: SUB 00001e83: DUP3 00001e84: AND 00001e85: OR 00001e86: SWAP1 00001e87: SWAP2 00001e88: SSTORE 00001e89: PUSH2 0x1eb7 00001e8c: SWAP1 00001e8d: PUSH32 0x00000000000000000000000056072c95faa701256059aa122697b133aded9279 00001eae: SWAP1 00001eaf: DUP11 00001eb0: SWAP1 00001eb1: DUP7 00001eb2: AND 00001eb3: PUSH2 0x3b86 00001eb6: JUMP 00001eb7: JUMPDEST 00001eb8: PUSH1 0x01 00001eba: PUSH1 0x01 00001ebc: PUSH1 0x80 00001ebe: SHL 00001ebf: SUB 00001ec0: DUP3 00001ec1: AND 00001ec2: ISZERO 00001ec3: PUSH2 0x1f1d 00001ec6: JUMPI 00001ec7: PUSH1 0x03 00001ec9: DUP2 00001eca: ADD 00001ecb: DUP1 00001ecc: SLOAD 00001ecd: PUSH1 0x01 00001ecf: PUSH1 0x01 00001ed1: PUSH1 0x80 00001ed3: SHL 00001ed4: SUB 00001ed5: PUSH1 0x01 00001ed7: PUSH1 0x80 00001ed9: SHL 00001eda: DUP1 00001edb: DUP4 00001edc: DIV 00001edd: DUP3 00001ede: AND 00001edf: DUP7 00001ee0: SWAP1 00001ee1: SUB 00001ee2: DUP3 00001ee3: AND 00001ee4: MUL 00001ee5: SWAP2 00001ee6: DUP2 00001ee7: AND 00001ee8: SWAP2 00001ee9: SWAP1 00001eea: SWAP2 00001eeb: OR 00001eec: SWAP1 00001eed: SWAP2 00001eee: SSTORE 00001eef: PUSH2 0x1f1d 00001ef2: SWAP1 00001ef3: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001f14: SWAP1 00001f15: DUP11 00001f16: SWAP1 00001f17: DUP6 00001f18: AND 00001f19: PUSH2 0x3b86 00001f1c: JUMP 00001f1d: JUMPDEST 00001f1e: PUSH1 0x40 00001f20: DUP1 00001f21: MLOAD 00001f22: PUSH1 0x01 00001f24: PUSH1 0x01 00001f26: PUSH1 0xa0 00001f28: SHL 00001f29: SUB 00001f2a: DUP11 00001f2b: AND 00001f2c: DUP2 00001f2d: MSTORE 00001f2e: PUSH1 0x01 00001f30: PUSH1 0x01 00001f32: PUSH1 0x80 00001f34: SHL 00001f35: SUB 00001f36: DUP1 00001f37: DUP7 00001f38: AND 00001f39: PUSH1 0x20 00001f3b: DUP4 00001f3c: ADD 00001f3d: MSTORE 00001f3e: DUP5 00001f3f: AND 00001f40: DUP2 00001f41: DUP4 00001f42: ADD 00001f43: MSTORE 00001f44: SWAP1 00001f45: MLOAD 00001f46: PUSH1 0x02 00001f48: DUP9 00001f49: DUP2 00001f4a: SIGNEXTEND 00001f4b: SWAP3 00001f4c: SWAP1 00001f4d: DUP11 00001f4e: SWAP1 00001f4f: SIGNEXTEND 00001f50: SWAP2 00001f51: CALLER 00001f52: SWAP2 00001f53: PUSH32 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0 00001f74: SWAP2 00001f75: SWAP1 00001f76: DUP2 00001f77: SWAP1 00001f78: SUB 00001f79: PUSH1 0x60 00001f7b: ADD 00001f7c: SWAP1 00001f7d: LOG4 00001f7e: POP 00001f7f: PUSH1 0x00 00001f81: DUP1 00001f82: SLOAD 00001f83: PUSH1 0xff 00001f85: PUSH1 0xf0 00001f87: SHL 00001f88: NOT 00001f89: AND 00001f8a: PUSH1 0x01 00001f8c: PUSH1 0xf0 00001f8e: SHL 00001f8f: OR 00001f90: SWAP1 00001f91: SSTORE 00001f92: SWAP1 00001f93: SWAP7 00001f94: SWAP1 00001f95: SWAP6 00001f96: POP 00001f97: SWAP4 00001f98: POP 00001f99: POP 00001f9a: POP 00001f9b: POP 00001f9c: JUMP 00001f9d: JUMPDEST 00001f9e: PUSH1 0x07 00001fa0: PUSH1 0x20 00001fa2: MSTORE 00001fa3: PUSH1 0x00 00001fa5: SWAP1 00001fa6: DUP2 00001fa7: MSTORE 00001fa8: PUSH1 0x40 00001faa: SWAP1 00001fab: KECCAK256 00001fac: DUP1 00001fad: SLOAD 00001fae: PUSH1 0x01 00001fb0: DUP3 00001fb1: ADD 00001fb2: SLOAD 00001fb3: PUSH1 0x02 00001fb5: DUP4 00001fb6: ADD 00001fb7: SLOAD 00001fb8: PUSH1 0x03 00001fba: SWAP1 00001fbb: SWAP4 00001fbc: ADD 00001fbd: SLOAD 00001fbe: PUSH1 0x01 00001fc0: PUSH1 0x01 00001fc2: PUSH1 0x80 00001fc4: SHL 00001fc5: SUB 00001fc6: SWAP3 00001fc7: DUP4 00001fc8: AND 00001fc9: SWAP4 00001fca: SWAP2 00001fcb: SWAP3 00001fcc: DUP2 00001fcd: DUP2 00001fce: AND 00001fcf: SWAP2 00001fd0: PUSH1 0x01 00001fd2: PUSH1 0x80 00001fd4: SHL 00001fd5: SWAP1 00001fd6: DIV 00001fd7: AND 00001fd8: DUP6 00001fd9: JUMP 00001fda: JUMPDEST 00001fdb: PUSH1 0x06 00001fdd: PUSH1 0x20 00001fdf: MSTORE 00001fe0: PUSH1 0x00 00001fe2: SWAP1 00001fe3: DUP2 00001fe4: MSTORE 00001fe5: PUSH1 0x40 00001fe7: SWAP1 00001fe8: KECCAK256 00001fe9: SLOAD 00001fea: DUP2 00001feb: JUMP 00001fec: JUMPDEST 00001fed: PUSH32 0x00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc 0000200e: DUP2 0000200f: JUMP 00002010: JUMPDEST 00002011: PUSH1 0x00 00002013: SLOAD 00002014: PUSH1 0x01 00002016: PUSH1 0xf0 00002018: SHL 00002019: SWAP1 0000201a: DIV 0000201b: PUSH1 0xff 0000201d: AND 0000201e: PUSH2 0x2054 00002021: JUMPI 00002022: PUSH1 0x40 00002024: DUP1 00002025: MLOAD 00002026: PUSH3 0x461bcd 0000202a: PUSH1 0xe5 0000202c: SHL 0000202d: DUP2 0000202e: MSTORE 0000202f: PUSH1 0x20 00002031: PUSH1 0x04 00002033: DUP3 00002034: ADD 00002035: MSTORE 00002036: PUSH1 0x03 00002038: PUSH1 0x24 0000203a: DUP3 0000203b: ADD 0000203c: MSTORE 0000203d: PUSH3 0x4c4f4b 00002041: PUSH1 0xe8 00002043: SHL 00002044: PUSH1 0x44 00002046: DUP3 00002047: ADD 00002048: MSTORE 00002049: SWAP1 0000204a: MLOAD 0000204b: SWAP1 0000204c: DUP2 0000204d: SWAP1 0000204e: SUB 0000204f: PUSH1 0x64 00002051: ADD 00002052: SWAP1 00002053: REVERT 00002054: JUMPDEST 00002055: PUSH1 0x00 00002057: DUP1 00002058: SLOAD 00002059: PUSH1 0xff 0000205b: PUSH1 0xf0 0000205d: SHL 0000205e: NOT 0000205f: AND 00002060: SWAP1 00002061: SSTORE 00002062: PUSH1 0x40 00002064: DUP1 00002065: MLOAD 00002066: PUSH4 0x8da5cb5b 0000206b: PUSH1 0xe0 0000206d: SHL 0000206e: DUP2 0000206f: MSTORE 00002070: SWAP1 00002071: MLOAD 00002072: PUSH1 0x01 00002074: PUSH1 0x01 00002076: PUSH1 0xa0 00002078: SHL 00002079: SUB 0000207a: PUSH32 0x0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984 0000209b: AND 0000209c: SWAP2 0000209d: PUSH4 0x8da5cb5b 000020a2: SWAP2 000020a3: PUSH1 0x04 000020a5: DUP1 000020a6: DUP4 000020a7: ADD 000020a8: SWAP3 000020a9: PUSH1 0x20 000020ab: SWAP3 000020ac: SWAP2 000020ad: SWAP1 000020ae: DUP3 000020af: SWAP1 000020b0: SUB 000020b1: ADD 000020b2: DUP2 000020b3: DUP7 000020b4: DUP1 000020b5: EXTCODESIZE 000020b6: ISZERO 000020b7: DUP1 000020b8: ISZERO 000020b9: PUSH2 0x20c1 000020bc: JUMPI 000020bd: PUSH1 0x00 000020bf: DUP1 000020c0: REVERT 000020c1: JUMPDEST 000020c2: POP 000020c3: GAS 000020c4: STATICCALL 000020c5: ISZERO 000020c6: DUP1 000020c7: ISZERO 000020c8: PUSH2 0x20d5 000020cb: JUMPI 000020cc: RETURNDATASIZE 000020cd: PUSH1 0x00 000020cf: DUP1 000020d0: RETURNDATACOPY 000020d1: RETURNDATASIZE 000020d2: PUSH1 0x00 000020d4: REVERT 000020d5: JUMPDEST 000020d6: POP 000020d7: POP 000020d8: POP 000020d9: POP 000020da: PUSH1 0x40 000020dc: MLOAD 000020dd: RETURNDATASIZE 000020de: PUSH1 0x20 000020e0: DUP2 000020e1: LT 000020e2: ISZERO 000020e3: PUSH2 0x20eb 000020e6: JUMPI 000020e7: PUSH1 0x00 000020e9: DUP1 000020ea: REVERT 000020eb: JUMPDEST 000020ec: POP 000020ed: MLOAD 000020ee: PUSH1 0x01 000020f0: PUSH1 0x01 000020f2: PUSH1 0xa0 000020f4: SHL 000020f5: SUB 000020f6: AND 000020f7: CALLER 000020f8: EQ 000020f9: PUSH2 0x2101 000020fc: JUMPI 000020fd: PUSH1 0x00 000020ff: DUP1 00002100: REVERT 00002101: JUMPDEST 00002102: PUSH1 0xff 00002104: DUP3 00002105: AND 00002106: ISZERO 00002107: DUP1 00002108: PUSH2 0x2124 0000210b: JUMPI 0000210c: POP 0000210d: PUSH1 0x04 0000210f: DUP3 00002110: PUSH1 0xff 00002112: AND 00002113: LT 00002114: ISZERO 00002115: DUP1 00002116: ISZERO 00002117: PUSH2 0x2124 0000211a: JUMPI 0000211b: POP 0000211c: PUSH1 0x0a 0000211e: DUP3 0000211f: PUSH1 0xff 00002121: AND 00002122: GT 00002123: ISZERO 00002124: JUMPDEST 00002125: DUP1 00002126: ISZERO 00002127: PUSH2 0x214e 0000212a: JUMPI 0000212b: POP 0000212c: PUSH1 0xff 0000212e: DUP2 0000212f: AND 00002130: ISZERO 00002131: DUP1 00002132: PUSH2 0x214e 00002135: JUMPI 00002136: POP 00002137: PUSH1 0x04 00002139: DUP2 0000213a: PUSH1 0xff 0000213c: AND 0000213d: LT 0000213e: ISZERO 0000213f: DUP1 00002140: ISZERO 00002141: PUSH2 0x214e 00002144: JUMPI 00002145: POP 00002146: PUSH1 0x0a 00002148: DUP2 00002149: PUSH1 0xff 0000214b: AND 0000214c: GT 0000214d: ISZERO 0000214e: JUMPDEST 0000214f: PUSH2 0x2157 00002152: JUMPI 00002153: PUSH1 0x00 00002155: DUP1 00002156: REVERT 00002157: JUMPDEST 00002158: PUSH1 0x00 0000215a: DUP1 0000215b: SLOAD 0000215c: PUSH2 0x0ff0 0000215f: PUSH1 0x04 00002161: DUP5 00002162: SWAP1 00002163: SHL 00002164: AND 00002165: DUP5 00002166: ADD 00002167: PUSH1 0xff 00002169: SWAP1 0000216a: DUP2 0000216b: AND 0000216c: PUSH1 0x01 0000216e: PUSH1 0xe8 00002170: SHL 00002171: SWAP1 00002172: DUP2 00002173: MUL 00002174: PUSH32 0xffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002195: DUP5 00002196: AND 00002197: OR 00002198: SWAP1 00002199: SWAP4 0000219a: SSTORE 0000219b: SWAP2 0000219c: SWAP1 0000219d: DIV 0000219e: AND 0000219f: PUSH32 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133 000021c0: PUSH1 0x10 000021c2: DUP3 000021c3: PUSH1 0x40 000021c5: DUP1 000021c6: MLOAD 000021c7: PUSH1 0xff 000021c9: SWAP4 000021ca: SWAP1 000021cb: SWAP3 000021cc: MOD 000021cd: DUP4 000021ce: AND 000021cf: DUP3 000021d0: MSTORE 000021d1: PUSH1 0x0f 000021d3: PUSH1 0x04 000021d5: DUP7 000021d6: SWAP1 000021d7: SHR 000021d8: AND 000021d9: PUSH1 0x20 000021db: DUP4 000021dc: ADD 000021dd: MSTORE 000021de: DUP7 000021df: DUP4 000021e0: AND 000021e1: DUP3 000021e2: DUP3 000021e3: ADD 000021e4: MSTORE 000021e5: SWAP2 000021e6: DUP6 000021e7: AND 000021e8: PUSH1 0x60 000021ea: DUP3 000021eb: ADD 000021ec: MSTORE 000021ed: SWAP1 000021ee: MLOAD 000021ef: SWAP1 000021f0: DUP2 000021f1: SWAP1 000021f2: SUB 000021f3: PUSH1 0x80 000021f5: ADD 000021f6: SWAP1 000021f7: LOG1 000021f8: POP 000021f9: POP 000021fa: PUSH1 0x00 000021fc: DUP1 000021fd: SLOAD 000021fe: PUSH1 0xff 00002200: PUSH1 0xf0 00002202: SHL 00002203: NOT 00002204: AND 00002205: PUSH1 0x01 00002207: PUSH1 0xf0 00002209: SHL 0000220a: OR 0000220b: SWAP1 0000220c: SSTORE 0000220d: POP 0000220e: JUMP 0000220f: JUMPDEST 00002210: PUSH1 0x00 00002212: DUP1 00002213: SLOAD 00002214: DUP2 00002215: SWAP1 00002216: PUSH1 0x01 00002218: PUSH1 0xf0 0000221a: SHL 0000221b: SWAP1 0000221c: DIV 0000221d: PUSH1 0xff 0000221f: AND 00002220: PUSH2 0x2256 00002223: JUMPI 00002224: PUSH1 0x40 00002226: DUP1 00002227: MLOAD 00002228: PUSH3 0x461bcd 0000222c: PUSH1 0xe5 0000222e: SHL 0000222f: DUP2 00002230: MSTORE 00002231: PUSH1 0x20 00002233: PUSH1 0x04 00002235: DUP3 00002236: ADD 00002237: MSTORE 00002238: PUSH1 0x03 0000223a: PUSH1 0x24 0000223c: DUP3 0000223d: ADD 0000223e: MSTORE 0000223f: PUSH3 0x4c4f4b 00002243: PUSH1 0xe8 00002245: SHL 00002246: PUSH1 0x44 00002248: DUP3 00002249: ADD 0000224a: MSTORE 0000224b: SWAP1 0000224c: MLOAD 0000224d: SWAP1 0000224e: DUP2 0000224f: SWAP1 00002250: SUB 00002251: PUSH1 0x64 00002253: ADD 00002254: SWAP1 00002255: REVERT 00002256: JUMPDEST 00002257: PUSH1 0x00 00002259: DUP1 0000225a: SLOAD 0000225b: PUSH1 0xff 0000225d: PUSH1 0xf0 0000225f: SHL 00002260: NOT 00002261: AND 00002262: SWAP1 00002263: SSTORE 00002264: PUSH1 0x40 00002266: DUP1 00002267: MLOAD 00002268: PUSH4 0x8da5cb5b 0000226d: PUSH1 0xe0 0000226f: SHL 00002270: DUP2 00002271: MSTORE 00002272: SWAP1 00002273: MLOAD 00002274: PUSH1 0x01 00002276: PUSH1 0x01 00002278: PUSH1 0xa0 0000227a: SHL 0000227b: SUB 0000227c: PUSH32 0x0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984 0000229d: AND 0000229e: SWAP2 0000229f: PUSH4 0x8da5cb5b 000022a4: SWAP2 000022a5: PUSH1 0x04 000022a7: DUP1 000022a8: DUP4 000022a9: ADD 000022aa: SWAP3 000022ab: PUSH1 0x20 000022ad: SWAP3 000022ae: SWAP2 000022af: SWAP1 000022b0: DUP3 000022b1: SWAP1 000022b2: SUB 000022b3: ADD 000022b4: DUP2 000022b5: DUP7 000022b6: DUP1 000022b7: EXTCODESIZE 000022b8: ISZERO 000022b9: DUP1 000022ba: ISZERO 000022bb: PUSH2 0x22c3 000022be: JUMPI 000022bf: PUSH1 0x00 000022c1: DUP1 000022c2: REVERT 000022c3: JUMPDEST 000022c4: POP 000022c5: GAS 000022c6: STATICCALL 000022c7: ISZERO 000022c8: DUP1 000022c9: ISZERO 000022ca: PUSH2 0x22d7 000022cd: JUMPI 000022ce: RETURNDATASIZE 000022cf: PUSH1 0x00 000022d1: DUP1 000022d2: RETURNDATACOPY 000022d3: RETURNDATASIZE 000022d4: PUSH1 0x00 000022d6: REVERT 000022d7: JUMPDEST 000022d8: POP 000022d9: POP 000022da: POP 000022db: POP 000022dc: PUSH1 0x40 000022de: MLOAD 000022df: RETURNDATASIZE 000022e0: PUSH1 0x20 000022e2: DUP2 000022e3: LT 000022e4: ISZERO 000022e5: PUSH2 0x22ed 000022e8: JUMPI 000022e9: PUSH1 0x00 000022eb: DUP1 000022ec: REVERT 000022ed: JUMPDEST 000022ee: POP 000022ef: MLOAD 000022f0: PUSH1 0x01 000022f2: PUSH1 0x01 000022f4: PUSH1 0xa0 000022f6: SHL 000022f7: SUB 000022f8: AND 000022f9: CALLER 000022fa: EQ 000022fb: PUSH2 0x2303 000022fe: JUMPI 000022ff: PUSH1 0x00 00002301: DUP1 00002302: REVERT 00002303: JUMPDEST 00002304: PUSH1 0x03 00002306: SLOAD 00002307: PUSH1 0x01 00002309: PUSH1 0x01 0000230b: PUSH1 0x80 0000230d: SHL 0000230e: SUB 0000230f: SWAP1 00002310: DUP2 00002311: AND 00002312: SWAP1 00002313: DUP6 00002314: AND 00002315: GT 00002316: PUSH2 0x231f 00002319: JUMPI 0000231a: DUP4 0000231b: PUSH2 0x232c 0000231e: JUMP 0000231f: JUMPDEST 00002320: PUSH1 0x03 00002322: SLOAD 00002323: PUSH1 0x01 00002325: PUSH1 0x01 00002327: PUSH1 0x80 00002329: SHL 0000232a: SUB 0000232b: AND 0000232c: JUMPDEST 0000232d: PUSH1 0x03 0000232f: SLOAD 00002330: SWAP1 00002331: SWAP3 00002332: POP 00002333: PUSH1 0x01 00002335: PUSH1 0x01 00002337: PUSH1 0x80 00002339: SHL 0000233a: SUB 0000233b: PUSH1 0x01 0000233d: PUSH1 0x80 0000233f: SHL 00002340: SWAP1 00002341: SWAP2 00002342: DIV 00002343: DUP2 00002344: AND 00002345: SWAP1 00002346: DUP5 00002347: AND 00002348: GT 00002349: PUSH2 0x2352 0000234c: JUMPI 0000234d: DUP3 0000234e: PUSH2 0x2366 00002351: JUMP 00002352: JUMPDEST 00002353: PUSH1 0x03 00002355: SLOAD 00002356: PUSH1 0x01 00002358: PUSH1 0x80 0000235a: SHL 0000235b: SWAP1 0000235c: DIV 0000235d: PUSH1 0x01 0000235f: PUSH1 0x01 00002361: PUSH1 0x80 00002363: SHL 00002364: SUB 00002365: AND 00002366: JUMPDEST 00002367: SWAP1 00002368: POP 00002369: PUSH1 0x01 0000236b: PUSH1 0x01 0000236d: PUSH1 0x80 0000236f: SHL 00002370: SUB 00002371: DUP3 00002372: AND 00002373: ISZERO 00002374: PUSH2 0x23e7 00002377: JUMPI 00002378: PUSH1 0x03 0000237a: SLOAD 0000237b: PUSH1 0x01 0000237d: PUSH1 0x01 0000237f: PUSH1 0x80 00002381: SHL 00002382: SUB 00002383: DUP4 00002384: DUP2 00002385: AND 00002386: SWAP2 00002387: AND 00002388: EQ 00002389: ISZERO 0000238a: PUSH2 0x2395 0000238d: JUMPI 0000238e: PUSH1 0x00 00002390: NOT 00002391: SWAP1 00002392: SWAP2 00002393: ADD 00002394: SWAP1 00002395: JUMPDEST 00002396: PUSH1 0x03 00002398: DUP1 00002399: SLOAD 0000239a: PUSH1 0x01 0000239c: PUSH1 0x01 0000239e: PUSH1 0x80 000023a0: SHL 000023a1: SUB 000023a2: NOT 000023a3: DUP2 000023a4: AND 000023a5: PUSH1 0x01 000023a7: PUSH1 0x01 000023a9: PUSH1 0x80 000023ab: SHL 000023ac: SUB 000023ad: SWAP2 000023ae: DUP3 000023af: AND 000023b0: DUP6 000023b1: SWAP1 000023b2: SUB 000023b3: DUP3 000023b4: AND 000023b5: OR 000023b6: SWAP1 000023b7: SWAP2 000023b8: SSTORE 000023b9: PUSH2 0x23e7 000023bc: SWAP1 000023bd: PUSH32 0x00000000000000000000000056072c95faa701256059aa122697b133aded9279 000023de: SWAP1 000023df: DUP8 000023e0: SWAP1 000023e1: DUP6 000023e2: AND 000023e3: PUSH2 0x3b86 000023e6: JUMP 000023e7: JUMPDEST 000023e8: PUSH1 0x01 000023ea: PUSH1 0x01 000023ec: PUSH1 0x80 000023ee: SHL 000023ef: SUB 000023f0: DUP2 000023f1: AND 000023f2: ISZERO 000023f3: PUSH2 0x246d 000023f6: JUMPI 000023f7: PUSH1 0x03 000023f9: SLOAD 000023fa: PUSH1 0x01 000023fc: PUSH1 0x01 000023fe: PUSH1 0x80 00002400: SHL 00002401: SUB 00002402: DUP3 00002403: DUP2 00002404: AND 00002405: PUSH1 0x01 00002407: PUSH1 0x80 00002409: SHL 0000240a: SWAP1 0000240b: SWAP3 0000240c: DIV 0000240d: AND 0000240e: EQ 0000240f: ISZERO 00002410: PUSH2 0x2418 00002413: JUMPI 00002414: PUSH1 0x00 00002416: NOT 00002417: ADD 00002418: JUMPDEST 00002419: PUSH1 0x03 0000241b: DUP1 0000241c: SLOAD 0000241d: PUSH1 0x01 0000241f: PUSH1 0x01 00002421: PUSH1 0x80 00002423: SHL 00002424: SUB 00002425: PUSH1 0x01 00002427: PUSH1 0x80 00002429: SHL 0000242a: DUP1 0000242b: DUP4 0000242c: DIV 0000242d: DUP3 0000242e: AND 0000242f: DUP6 00002430: SWAP1 00002431: SUB 00002432: DUP3 00002433: AND 00002434: MUL 00002435: SWAP2 00002436: DUP2 00002437: AND 00002438: SWAP2 00002439: SWAP1 0000243a: SWAP2 0000243b: OR 0000243c: SWAP1 0000243d: SWAP2 0000243e: SSTORE 0000243f: PUSH2 0x246d 00002442: SWAP1 00002443: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00002464: SWAP1 00002465: DUP8 00002466: SWAP1 00002467: DUP5 00002468: AND 00002469: PUSH2 0x3b86 0000246c: JUMP 0000246d: JUMPDEST 0000246e: PUSH1 0x40 00002470: DUP1 00002471: MLOAD 00002472: PUSH1 0x01 00002474: PUSH1 0x01 00002476: PUSH1 0x80 00002478: SHL 00002479: SUB 0000247a: DUP1 0000247b: DUP6 0000247c: AND 0000247d: DUP3 0000247e: MSTORE 0000247f: DUP4 00002480: AND 00002481: PUSH1 0x20 00002483: DUP3 00002484: ADD 00002485: MSTORE 00002486: DUP2 00002487: MLOAD 00002488: PUSH1 0x01 0000248a: PUSH1 0x01 0000248c: PUSH1 0xa0 0000248e: SHL 0000248f: SUB 00002490: DUP9 00002491: AND 00002492: SWAP3 00002493: CALLER 00002494: SWAP3 00002495: PUSH32 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151 000024b6: SWAP3 000024b7: SWAP1 000024b8: DUP2 000024b9: SWAP1 000024ba: SUB 000024bb: SWAP1 000024bc: SWAP2 000024bd: ADD 000024be: SWAP1 000024bf: LOG3 000024c0: PUSH1 0x00 000024c2: DUP1 000024c3: SLOAD 000024c4: PUSH1 0xff 000024c6: PUSH1 0xf0 000024c8: SHL 000024c9: NOT 000024ca: AND 000024cb: PUSH1 0x01 000024cd: PUSH1 0xf0 000024cf: SHL 000024d0: OR 000024d1: SWAP1 000024d2: SSTORE 000024d3: SWAP1 000024d4: SWAP5 000024d5: SWAP1 000024d6: SWAP4 000024d7: POP 000024d8: SWAP2 000024d9: POP 000024da: POP 000024db: JUMP 000024dc: JUMPDEST 000024dd: PUSH1 0x60 000024df: DUP1 000024e0: PUSH2 0x24e7 000024e3: PUSH2 0x2bf0 000024e6: JUMP 000024e7: JUMPDEST 000024e8: PUSH2 0x255e 000024eb: PUSH2 0x24f2 000024ee: PUSH2 0x2c27 000024f1: JUMP 000024f2: JUMPDEST 000024f3: DUP6 000024f4: DUP6 000024f5: DUP1 000024f6: DUP1 000024f7: PUSH1 0x20 000024f9: MUL 000024fa: PUSH1 0x20 000024fc: ADD 000024fd: PUSH1 0x40 000024ff: MLOAD 00002500: SWAP1 00002501: DUP2 00002502: ADD 00002503: PUSH1 0x40 00002505: MSTORE 00002506: DUP1 00002507: SWAP4 00002508: SWAP3 00002509: SWAP2 0000250a: SWAP1 0000250b: DUP2 0000250c: DUP2 0000250d: MSTORE 0000250e: PUSH1 0x20 00002510: ADD 00002511: DUP4 00002512: DUP4 00002513: PUSH1 0x20 00002515: MUL 00002516: DUP1 00002517: DUP3 00002518: DUP5 00002519: CALLDATACOPY 0000251a: PUSH1 0x00 0000251c: SWAP3 0000251d: ADD 0000251e: DUP3 0000251f: SWAP1 00002520: MSTORE 00002521: POP 00002522: SLOAD 00002523: PUSH1 0x04 00002525: SLOAD 00002526: PUSH1 0x08 00002528: SWAP7 00002529: SWAP6 0000252a: SWAP5 0000252b: POP 0000252c: PUSH1 0x01 0000252e: PUSH1 0xa0 00002530: SHL 00002531: DUP3 00002532: DIV 00002533: PUSH1 0x02 00002535: SIGNEXTEND 00002536: SWAP4 00002537: POP 00002538: PUSH2 0xffff 0000253b: PUSH1 0x01 0000253d: PUSH1 0xb8 0000253f: SHL 00002540: DUP4 00002541: DIV 00002542: DUP2 00002543: AND 00002544: SWAP4 00002545: POP 00002546: PUSH1 0x01 00002548: PUSH1 0x01 0000254a: PUSH1 0x80 0000254c: SHL 0000254d: SUB 0000254e: SWAP1 0000254f: SWAP2 00002550: AND 00002551: SWAP2 00002552: PUSH1 0x01 00002554: PUSH1 0xc8 00002556: SHL 00002557: SWAP1 00002558: DIV 00002559: AND 0000255a: PUSH2 0x4247 0000255d: JUMP 0000255e: JUMPDEST 0000255f: SWAP2 00002560: POP 00002561: SWAP2 00002562: POP 00002563: SWAP3 00002564: POP 00002565: SWAP3 00002566: SWAP1 00002567: POP 00002568: JUMP 00002569: JUMPDEST 0000256a: PUSH1 0x00 0000256c: DUP1 0000256d: SLOAD 0000256e: DUP2 0000256f: SWAP1 00002570: PUSH1 0x01 00002572: PUSH1 0xf0 00002574: SHL 00002575: SWAP1 00002576: DIV 00002577: PUSH1 0xff 00002579: AND 0000257a: PUSH2 0x25b0 0000257d: JUMPI 0000257e: PUSH1 0x40 00002580: DUP1 00002581: MLOAD 00002582: PUSH3 0x461bcd 00002586: PUSH1 0xe5 00002588: SHL 00002589: DUP2 0000258a: MSTORE 0000258b: PUSH1 0x20 0000258d: PUSH1 0x04 0000258f: DUP3 00002590: ADD 00002591: MSTORE 00002592: PUSH1 0x03 00002594: PUSH1 0x24 00002596: DUP3 00002597: ADD 00002598: MSTORE 00002599: PUSH3 0x4c4f4b 0000259d: PUSH1 0xe8 0000259f: SHL 000025a0: PUSH1 0x44 000025a2: DUP3 000025a3: ADD 000025a4: MSTORE 000025a5: SWAP1 000025a6: MLOAD 000025a7: SWAP1 000025a8: DUP2 000025a9: SWAP1 000025aa: SUB 000025ab: PUSH1 0x64 000025ad: ADD 000025ae: SWAP1 000025af: REVERT 000025b0: JUMPDEST 000025b1: PUSH1 0x00 000025b3: DUP1 000025b4: SLOAD 000025b5: PUSH1 0xff 000025b7: PUSH1 0xf0 000025b9: SHL 000025ba: NOT 000025bb: AND 000025bc: DUP2 000025bd: SSTORE 000025be: PUSH1 0x40 000025c0: DUP1 000025c1: MLOAD 000025c2: PUSH1 0x80 000025c4: DUP2 000025c5: ADD 000025c6: DUP3 000025c7: MSTORE 000025c8: CALLER 000025c9: DUP2 000025ca: MSTORE 000025cb: PUSH1 0x02 000025cd: DUP9 000025ce: DUP2 000025cf: SIGNEXTEND 000025d0: PUSH1 0x20 000025d2: DUP4 000025d3: ADD 000025d4: MSTORE 000025d5: DUP8 000025d6: SWAP1 000025d7: SIGNEXTEND 000025d8: SWAP2 000025d9: DUP2 000025da: ADD 000025db: SWAP2 000025dc: SWAP1 000025dd: SWAP2 000025de: MSTORE 000025df: DUP2 000025e0: SWAP1 000025e1: DUP2 000025e2: SWAP1 000025e3: PUSH2 0x2609 000025e6: SWAP1 000025e7: PUSH1 0x60 000025e9: DUP2 000025ea: ADD 000025eb: PUSH2 0x25fc 000025ee: PUSH1 0x01 000025f0: PUSH1 0x01 000025f2: PUSH1 0x80 000025f4: SHL 000025f5: SUB 000025f6: DUP11 000025f7: AND 000025f8: PUSH2 0x3f58 000025fb: JUMP 000025fc: JUMPDEST 000025fd: PUSH1 0x00 000025ff: SUB 00002600: PUSH1 0x0f 00002602: SIGNEXTEND 00002603: SWAP1 00002604: MSTORE 00002605: PUSH2 0x3f69 00002608: JUMP 00002609: JUMPDEST 0000260a: SWAP3 0000260b: POP 0000260c: SWAP3 0000260d: POP 0000260e: SWAP3 0000260f: POP 00002610: DUP2 00002611: PUSH1 0x00 00002613: SUB 00002614: SWAP5 00002615: POP 00002616: DUP1 00002617: PUSH1 0x00 00002619: SUB 0000261a: SWAP4 0000261b: POP 0000261c: PUSH1 0x00 0000261e: DUP6 0000261f: GT 00002620: DUP1 00002621: PUSH2 0x262a 00002624: JUMPI 00002625: POP 00002626: PUSH1 0x00 00002628: DUP5 00002629: GT 0000262a: JUMPDEST 0000262b: ISZERO 0000262c: PUSH2 0x2669 0000262f: JUMPI 00002630: PUSH1 0x03 00002632: DUP4 00002633: ADD 00002634: DUP1 00002635: SLOAD 00002636: PUSH1 0x01 00002638: PUSH1 0x01 0000263a: PUSH1 0x80 0000263c: SHL 0000263d: SUB 0000263e: DUP1 0000263f: DUP3 00002640: AND 00002641: DUP1 00002642: DUP10 00002643: ADD 00002644: DUP3 00002645: AND 00002646: PUSH1 0x01 00002648: PUSH1 0x80 0000264a: SHL 0000264b: SWAP4 0000264c: DUP5 0000264d: SWAP1 0000264e: DIV 0000264f: DUP4 00002650: AND 00002651: DUP10 00002652: ADD 00002653: SWAP1 00002654: SWAP3 00002655: AND 00002656: SWAP1 00002657: SWAP3 00002658: MUL 00002659: SWAP1 0000265a: SWAP2 0000265b: OR 0000265c: PUSH1 0x01 0000265e: PUSH1 0x01 00002660: PUSH1 0x80 00002662: SHL 00002663: SUB 00002664: NOT 00002665: AND 00002666: OR 00002667: SWAP1 00002668: SSTORE 00002669: JUMPDEST 0000266a: PUSH1 0x40 0000266c: DUP1 0000266d: MLOAD 0000266e: PUSH1 0x01 00002670: PUSH1 0x01 00002672: PUSH1 0x80 00002674: SHL 00002675: SUB 00002676: DUP9 00002677: AND 00002678: DUP2 00002679: MSTORE 0000267a: PUSH1 0x20 0000267c: DUP2 0000267d: ADD 0000267e: DUP8 0000267f: SWAP1 00002680: MSTORE 00002681: DUP1 00002682: DUP3 00002683: ADD 00002684: DUP7 00002685: SWAP1 00002686: MSTORE 00002687: SWAP1 00002688: MLOAD 00002689: PUSH1 0x02 0000268b: DUP10 0000268c: DUP2 0000268d: SIGNEXTEND 0000268e: SWAP3 0000268f: SWAP1 00002690: DUP12 00002691: SWAP1 00002692: SIGNEXTEND 00002693: SWAP2 00002694: CALLER 00002695: SWAP2 00002696: PUSH32 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c 000026b7: SWAP2 000026b8: SWAP1 000026b9: DUP2 000026ba: SWAP1 000026bb: SUB 000026bc: PUSH1 0x60 000026be: ADD 000026bf: SWAP1 000026c0: LOG4 000026c1: POP 000026c2: POP 000026c3: PUSH1 0x00 000026c5: DUP1 000026c6: SLOAD 000026c7: PUSH1 0xff 000026c9: PUSH1 0xf0 000026cb: SHL 000026cc: NOT 000026cd: AND 000026ce: PUSH1 0x01 000026d0: PUSH1 0xf0 000026d2: SHL 000026d3: OR 000026d4: SWAP1 000026d5: SSTORE 000026d6: POP 000026d7: SWAP1 000026d8: SWAP5 000026d9: SWAP1 000026da: SWAP4 000026db: POP 000026dc: SWAP2 000026dd: POP 000026de: POP 000026df: JUMP 000026e0: JUMPDEST 000026e1: PUSH1 0x00 000026e3: DUP1 000026e4: PUSH1 0x00 000026e6: PUSH2 0x26ed 000026e9: PUSH2 0x2bf0 000026ec: JUMP 000026ed: JUMPDEST 000026ee: PUSH2 0x26f7 000026f1: DUP6 000026f2: DUP6 000026f3: PUSH2 0x43a1 000026f6: JUMP 000026f7: JUMPDEST 000026f8: PUSH1 0x02 000026fa: DUP6 000026fb: DUP2 000026fc: SIGNEXTEND 000026fd: DUP2 000026fe: SIGNEXTEND 000026ff: PUSH1 0x00 00002701: SWAP1 00002702: DUP2 00002703: MSTORE 00002704: PUSH1 0x05 00002706: PUSH1 0x20 00002708: MSTORE 00002709: PUSH1 0x40 0000270b: DUP1 0000270c: DUP3 0000270d: KECCAK256 0000270e: DUP8 0000270f: DUP5 00002710: SIGNEXTEND 00002711: SWAP1 00002712: SWAP4 00002713: SIGNEXTEND 00002714: DUP3 00002715: MSTORE 00002716: DUP2 00002717: KECCAK256 00002718: PUSH1 0x03 0000271a: DUP4 0000271b: ADD 0000271c: SLOAD 0000271d: PUSH1 0x06 0000271f: DUP2 00002720: SWAP1 00002721: SIGNEXTEND 00002722: SWAP4 00002723: PUSH8 0x0100000000000000 0000272c: DUP3 0000272d: DIV 0000272e: PUSH1 0x01 00002730: PUSH1 0x01 00002732: PUSH1 0xa0 00002734: SHL 00002735: SUB 00002736: AND 00002737: SWAP3 00002738: DUP5 00002739: SWAP3 0000273a: PUSH1 0x01 0000273c: PUSH1 0xd8 0000273e: SHL 0000273f: DUP2 00002740: DIV 00002741: PUSH4 0xffffffff 00002746: AND 00002747: SWAP3 00002748: DUP5 00002749: SWAP3 0000274a: SWAP1 0000274b: SWAP2 0000274c: PUSH1 0x01 0000274e: PUSH1 0xf8 00002750: SHL 00002751: SWAP1 00002752: DIV 00002753: PUSH1 0xff 00002755: AND 00002756: DUP1 00002757: PUSH2 0x275f 0000275a: JUMPI 0000275b: PUSH1 0x00 0000275d: DUP1 0000275e: REVERT 0000275f: JUMPDEST 00002760: PUSH1 0x03 00002762: DUP3 00002763: ADD 00002764: SLOAD 00002765: PUSH1 0x06 00002767: DUP2 00002768: SWAP1 00002769: SIGNEXTEND 0000276a: SWAP9 0000276b: POP 0000276c: PUSH8 0x0100000000000000 00002775: DUP2 00002776: DIV 00002777: PUSH1 0x01 00002779: PUSH1 0x01 0000277b: PUSH1 0xa0 0000277d: SHL 0000277e: SUB 0000277f: AND 00002780: SWAP7 00002781: POP 00002782: PUSH1 0x01 00002784: PUSH1 0xd8 00002786: SHL 00002787: DUP2 00002788: DIV 00002789: PUSH4 0xffffffff 0000278e: AND 0000278f: SWAP5 00002790: POP 00002791: PUSH1 0x01 00002793: PUSH1 0xf8 00002795: SHL 00002796: SWAP1 00002797: DIV 00002798: PUSH1 0xff 0000279a: AND 0000279b: DUP1 0000279c: PUSH2 0x27a4 0000279f: JUMPI 000027a0: PUSH1 0x00 000027a2: DUP1 000027a3: REVERT 000027a4: JUMPDEST 000027a5: POP 000027a6: POP 000027a7: PUSH1 0x40 000027a9: DUP1 000027aa: MLOAD 000027ab: PUSH1 0xe0 000027ad: DUP2 000027ae: ADD 000027af: DUP3 000027b0: MSTORE 000027b1: PUSH1 0x00 000027b3: SLOAD 000027b4: PUSH1 0x01 000027b6: PUSH1 0x01 000027b8: PUSH1 0xa0 000027ba: SHL 000027bb: SUB 000027bc: DUP2 000027bd: AND 000027be: DUP3 000027bf: MSTORE 000027c0: PUSH1 0x01 000027c2: PUSH1 0xa0 000027c4: SHL 000027c5: DUP2 000027c6: DIV 000027c7: PUSH1 0x02 000027c9: SWAP1 000027ca: DUP2 000027cb: SIGNEXTEND 000027cc: DUP2 000027cd: SIGNEXTEND 000027ce: DUP2 000027cf: SIGNEXTEND 000027d0: PUSH1 0x20 000027d2: DUP5 000027d3: ADD 000027d4: DUP2 000027d5: SWAP1 000027d6: MSTORE 000027d7: PUSH2 0xffff 000027da: PUSH1 0x01 000027dc: PUSH1 0xb8 000027de: SHL 000027df: DUP5 000027e0: DIV 000027e1: DUP2 000027e2: AND 000027e3: SWAP6 000027e4: DUP6 000027e5: ADD 000027e6: SWAP6 000027e7: SWAP1 000027e8: SWAP6 000027e9: MSTORE 000027ea: PUSH1 0x01 000027ec: PUSH1 0xc8 000027ee: SHL 000027ef: DUP4 000027f0: DIV 000027f1: DUP6 000027f2: AND 000027f3: PUSH1 0x60 000027f5: DUP6 000027f6: ADD 000027f7: MSTORE 000027f8: PUSH1 0x01 000027fa: PUSH1 0xd8 000027fc: SHL 000027fd: DUP4 000027fe: DIV 000027ff: SWAP1 00002800: SWAP5 00002801: AND 00002802: PUSH1 0x80 00002804: DUP5 00002805: ADD 00002806: MSTORE 00002807: PUSH1 0xff 00002809: PUSH1 0x01 0000280b: PUSH1 0xe8 0000280d: SHL 0000280e: DUP4 0000280f: DIV 00002810: DUP2 00002811: AND 00002812: PUSH1 0xa0 00002814: DUP6 00002815: ADD 00002816: MSTORE 00002817: PUSH1 0x01 00002819: PUSH1 0xf0 0000281b: SHL 0000281c: SWAP1 0000281d: SWAP3 0000281e: DIV 0000281f: SWAP1 00002820: SWAP2 00002821: AND 00002822: ISZERO 00002823: ISZERO 00002824: PUSH1 0xc0 00002826: DUP4 00002827: ADD 00002828: MSTORE 00002829: SWAP1 0000282a: SWAP4 0000282b: POP 0000282c: DUP15 0000282d: DUP2 0000282e: SIGNEXTEND 0000282f: SWAP2 00002830: SWAP1 00002831: SIGNEXTEND 00002832: SLT 00002833: ISZERO 00002834: SWAP1 00002835: POP 00002836: PUSH2 0x284d 00002839: JUMPI 0000283a: POP 0000283b: SWAP4 0000283c: SWAP1 0000283d: SWAP5 0000283e: SUB 0000283f: SWAP7 00002840: POP 00002841: SWAP1 00002842: SUB 00002843: SWAP4 00002844: POP 00002845: SWAP1 00002846: SUB 00002847: SWAP1 00002848: POP 00002849: PUSH2 0x28d0 0000284c: JUMP 0000284d: JUMPDEST 0000284e: DUP11 0000284f: PUSH1 0x02 00002851: SIGNEXTEND 00002852: DUP2 00002853: PUSH1 0x20 00002855: ADD 00002856: MLOAD 00002857: PUSH1 0x02 00002859: SIGNEXTEND 0000285a: SLT 0000285b: ISZERO 0000285c: PUSH2 0x28c1 0000285f: JUMPI 00002860: PUSH1 0x00 00002862: PUSH2 0x2869 00002865: PUSH2 0x2c27 00002868: JUMP 00002869: JUMPDEST 0000286a: PUSH1 0x20 0000286c: DUP4 0000286d: ADD 0000286e: MLOAD 0000286f: PUSH1 0x40 00002871: DUP5 00002872: ADD 00002873: MLOAD 00002874: PUSH1 0x04 00002876: SLOAD 00002877: PUSH1 0x60 00002879: DUP7 0000287a: ADD 0000287b: MLOAD 0000287c: SWAP4 0000287d: SWAP5 0000287e: POP 0000287f: PUSH1 0x00 00002881: SWAP4 00002882: DUP5 00002883: SWAP4 00002884: PUSH2 0x289f 00002887: SWAP4 00002888: PUSH1 0x08 0000288a: SWAP4 0000288b: DUP9 0000288c: SWAP4 0000288d: DUP8 0000288e: SWAP4 0000288f: SWAP3 00002890: SWAP2 00002891: PUSH1 0x01 00002893: PUSH1 0x01 00002895: PUSH1 0x80 00002897: SHL 00002898: SUB 00002899: AND 0000289a: SWAP1 0000289b: PUSH2 0x3389 0000289e: JUMP 0000289f: JUMPDEST 000028a0: SWAP11 000028a1: SWAP1 000028a2: SUB 000028a3: SWAP9 000028a4: SWAP1 000028a5: SWAP9 000028a6: SUB 000028a7: SWAP12 000028a8: POP 000028a9: POP 000028aa: SWAP5 000028ab: SWAP1 000028ac: SWAP7 000028ad: SUB 000028ae: SWAP3 000028af: SWAP1 000028b0: SWAP3 000028b1: SUB 000028b2: SWAP7 000028b3: POP 000028b4: SWAP1 000028b5: SWAP2 000028b6: SUB 000028b7: SUB 000028b8: SWAP3 000028b9: POP 000028ba: PUSH2 0x28d0 000028bd: SWAP2 000028be: POP 000028bf: POP 000028c0: JUMP 000028c1: JUMPDEST 000028c2: POP 000028c3: SWAP5 000028c4: SWAP1 000028c5: SWAP4 000028c6: SUB 000028c7: SWAP7 000028c8: POP 000028c9: SUB 000028ca: SWAP4 000028cb: POP 000028cc: SWAP1 000028cd: SUB 000028ce: SWAP1 000028cf: POP 000028d0: JUMPDEST 000028d1: SWAP3 000028d2: POP 000028d3: SWAP3 000028d4: POP 000028d5: SWAP3 000028d6: JUMP 000028d7: JUMPDEST 000028d8: PUSH32 0x0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984 000028f9: DUP2 000028fa: JUMP 000028fb: JUMPDEST 000028fc: PUSH32 0x00000000000000000000000000000000000000000000000000000000000000c8 0000291d: DUP2 0000291e: JUMP 0000291f: JUMPDEST 00002920: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00002941: DUP2 00002942: JUMP 00002943: JUMPDEST 00002944: PUSH32 0x0000000000000000000000000000000000000000000000000000000000002710 00002965: DUP2 00002966: JUMP 00002967: JUMPDEST 00002968: PUSH1 0x01 0000296a: SLOAD 0000296b: DUP2 0000296c: JUMP 0000296d: JUMPDEST 0000296e: PUSH1 0x05 00002970: PUSH1 0x20 00002972: MSTORE 00002973: PUSH1 0x00 00002975: SWAP1 00002976: DUP2 00002977: MSTORE 00002978: PUSH1 0x40 0000297a: SWAP1 0000297b: KECCAK256 0000297c: DUP1 0000297d: SLOAD 0000297e: PUSH1 0x01 00002980: DUP3 00002981: ADD 00002982: SLOAD 00002983: PUSH1 0x02 00002985: DUP4 00002986: ADD 00002987: SLOAD 00002988: PUSH1 0x03 0000298a: SWAP1 0000298b: SWAP4 0000298c: ADD 0000298d: SLOAD 0000298e: PUSH1 0x01 00002990: PUSH1 0x01 00002992: PUSH1 0x80 00002994: SHL 00002995: SUB 00002996: DUP4 00002997: AND 00002998: SWAP4 00002999: PUSH1 0x01 0000299b: PUSH1 0x80 0000299d: SHL 0000299e: SWAP1 0000299f: SWAP4 000029a0: DIV 000029a1: PUSH1 0x0f 000029a3: SIGNEXTEND 000029a4: SWAP3 000029a5: SWAP1 000029a6: PUSH1 0x06 000029a8: DUP2 000029a9: SWAP1 000029aa: SIGNEXTEND 000029ab: SWAP1 000029ac: PUSH8 0x0100000000000000 000029b5: DUP2 000029b6: DIV 000029b7: PUSH1 0x01 000029b9: PUSH1 0x01 000029bb: PUSH1 0xa0 000029bd: SHL 000029be: SUB 000029bf: AND 000029c0: SWAP1 000029c1: PUSH1 0x01 000029c3: PUSH1 0xd8 000029c5: SHL 000029c6: DUP2 000029c7: DIV 000029c8: PUSH4 0xffffffff 000029cd: AND 000029ce: SWAP1 000029cf: PUSH1 0x01 000029d1: PUSH1 0xf8 000029d3: SHL 000029d4: SWAP1 000029d5: DIV 000029d6: PUSH1 0xff 000029d8: AND 000029d9: DUP9 000029da: JUMP 000029db: JUMPDEST 000029dc: PUSH1 0x00 000029de: SLOAD 000029df: PUSH1 0x01 000029e1: PUSH1 0x01 000029e3: PUSH1 0xa0 000029e5: SHL 000029e6: SUB 000029e7: AND 000029e8: ISZERO 000029e9: PUSH2 0x2a1e 000029ec: JUMPI 000029ed: PUSH1 0x40 000029ef: DUP1 000029f0: MLOAD 000029f1: PUSH3 0x461bcd 000029f5: PUSH1 0xe5 000029f7: SHL 000029f8: DUP2 000029f9: MSTORE 000029fa: PUSH1 0x20 000029fc: PUSH1 0x04 000029fe: DUP3 000029ff: ADD 00002a00: MSTORE 00002a01: PUSH1 0x02 00002a03: PUSH1 0x24 00002a05: DUP3 00002a06: ADD 00002a07: MSTORE 00002a08: PUSH2 0x4149 00002a0b: PUSH1 0xf0 00002a0d: SHL 00002a0e: PUSH1 0x44 00002a10: DUP3 00002a11: ADD 00002a12: MSTORE 00002a13: SWAP1 00002a14: MLOAD 00002a15: SWAP1 00002a16: DUP2 00002a17: SWAP1 00002a18: SUB 00002a19: PUSH1 0x64 00002a1b: ADD 00002a1c: SWAP1 00002a1d: REVERT 00002a1e: JUMPDEST 00002a1f: PUSH1 0x00 00002a21: PUSH2 0x2a29 00002a24: DUP3 00002a25: PUSH2 0x36a5 00002a28: JUMP 00002a29: JUMPDEST 00002a2a: SWAP1 00002a2b: POP 00002a2c: PUSH1 0x00 00002a2e: DUP1 00002a2f: PUSH2 0x2a41 00002a32: PUSH2 0x2a39 00002a35: PUSH2 0x2c27 00002a38: JUMP 00002a39: JUMPDEST 00002a3a: PUSH1 0x08 00002a3c: SWAP1 00002a3d: PUSH2 0x446a 00002a40: JUMP 00002a41: JUMPDEST 00002a42: PUSH1 0x40 00002a44: DUP1 00002a45: MLOAD 00002a46: PUSH1 0xe0 00002a48: DUP2 00002a49: ADD 00002a4a: DUP3 00002a4b: MSTORE 00002a4c: PUSH1 0x01 00002a4e: PUSH1 0x01 00002a50: PUSH1 0xa0 00002a52: SHL 00002a53: SUB 00002a54: DUP9 00002a55: AND 00002a56: DUP1 00002a57: DUP3 00002a58: MSTORE 00002a59: PUSH1 0x02 00002a5b: DUP9 00002a5c: DUP2 00002a5d: SIGNEXTEND 00002a5e: PUSH1 0x20 00002a60: DUP1 00002a61: DUP6 00002a62: ADD 00002a63: DUP3 00002a64: SWAP1 00002a65: MSTORE 00002a66: PUSH1 0x00 00002a68: DUP6 00002a69: DUP8 00002a6a: ADD 00002a6b: DUP2 00002a6c: SWAP1 00002a6d: MSTORE 00002a6e: PUSH2 0xffff 00002a71: DUP10 00002a72: DUP2 00002a73: AND 00002a74: PUSH1 0x60 00002a76: DUP9 00002a77: ADD 00002a78: DUP2 00002a79: SWAP1 00002a7a: MSTORE 00002a7b: SWAP1 00002a7c: DUP10 00002a7d: AND 00002a7e: PUSH1 0x80 00002a80: DUP9 00002a81: ADD 00002a82: DUP2 00002a83: SWAP1 00002a84: MSTORE 00002a85: PUSH1 0xa0 00002a87: DUP9 00002a88: ADD 00002a89: DUP4 00002a8a: SWAP1 00002a8b: MSTORE 00002a8c: PUSH1 0x01 00002a8e: PUSH1 0xc0 00002a90: SWAP1 00002a91: SWAP9 00002a92: ADD 00002a93: SWAP8 00002a94: SWAP1 00002a95: SWAP8 00002a96: MSTORE 00002a97: DUP2 00002a98: SLOAD 00002a99: PUSH1 0x01 00002a9b: PUSH1 0xf0 00002a9d: SHL 00002a9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ab3: NOT 00002ab4: SWAP1 00002ab5: SWAP2 00002ab6: AND 00002ab7: DUP8 00002ab8: OR 00002ab9: PUSH3 0xffffff 00002abd: PUSH1 0xa0 00002abf: SHL 00002ac0: NOT 00002ac1: AND 00002ac2: PUSH1 0x01 00002ac4: PUSH1 0xa0 00002ac6: SHL 00002ac7: PUSH3 0xffffff 00002acb: SWAP8 00002acc: DUP8 00002acd: SWAP1 00002ace: SIGNEXTEND 00002acf: SWAP8 00002ad0: SWAP1 00002ad1: SWAP8 00002ad2: AND 00002ad3: SWAP7 00002ad4: SWAP1 00002ad5: SWAP7 00002ad6: MUL 00002ad7: SWAP6 00002ad8: SWAP1 00002ad9: SWAP6 00002ada: OR 00002adb: PUSH32 0xffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff 00002afc: AND 00002afd: PUSH1 0x01 00002aff: PUSH1 0xc8 00002b01: SHL 00002b02: SWAP1 00002b03: SWAP2 00002b04: MUL 00002b05: OR 00002b06: PUSH2 0xffff 00002b09: PUSH1 0xd8 00002b0b: SHL 00002b0c: NOT 00002b0d: AND 00002b0e: PUSH1 0x01 00002b10: PUSH1 0xd8 00002b12: SHL 00002b13: SWAP1 00002b14: SWAP7 00002b15: MUL 00002b16: SWAP6 00002b17: SWAP1 00002b18: SWAP6 00002b19: OR 00002b1a: PUSH32 0xff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002b3b: AND 00002b3c: SWAP3 00002b3d: SWAP1 00002b3e: SWAP3 00002b3f: OR 00002b40: SWAP1 00002b41: SWAP4 00002b42: SSTORE 00002b43: DUP4 00002b44: MLOAD 00002b45: SWAP2 00002b46: DUP3 00002b47: MSTORE 00002b48: DUP2 00002b49: ADD 00002b4a: SWAP2 00002b4b: SWAP1 00002b4c: SWAP2 00002b4d: MSTORE 00002b4e: DUP2 00002b4f: MLOAD 00002b50: SWAP4 00002b51: SWAP6 00002b52: POP 00002b53: SWAP2 00002b54: SWAP4 00002b55: POP 00002b56: PUSH32 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95 00002b77: SWAP3 00002b78: SWAP2 00002b79: DUP3 00002b7a: SWAP1 00002b7b: SUB 00002b7c: ADD 00002b7d: SWAP1 00002b7e: LOG1 00002b7f: POP 00002b80: POP 00002b81: POP 00002b82: POP 00002b83: JUMP 00002b84: JUMPDEST 00002b85: PUSH1 0x00 00002b87: DUP1 00002b88: DUP3 00002b89: PUSH1 0x02 00002b8b: DUP2 00002b8c: SWAP1 00002b8d: SIGNEXTEND 00002b8e: PUSH3 0x0d89e7 00002b92: NOT 00002b93: DUP2 00002b94: PUSH2 0x2b99 00002b97: JUMPI 00002b98: INVALID 00002b99: JUMPDEST 00002b9a: SDIV 00002b9b: MUL 00002b9c: SWAP1 00002b9d: POP 00002b9e: PUSH1 0x00 00002ba0: DUP4 00002ba1: PUSH1 0x02 00002ba3: DUP2 00002ba4: SWAP1 00002ba5: SIGNEXTEND 00002ba6: PUSH3 0x0d89e8 00002baa: DUP2 00002bab: PUSH2 0x2bb0 00002bae: JUMPI 00002baf: INVALID 00002bb0: JUMPDEST 00002bb1: SDIV 00002bb2: MUL 00002bb3: SWAP1 00002bb4: POP 00002bb5: PUSH1 0x00 00002bb7: DUP5 00002bb8: PUSH1 0x02 00002bba: SIGNEXTEND 00002bbb: DUP4 00002bbc: DUP4 00002bbd: SUB 00002bbe: PUSH1 0x02 00002bc0: SIGNEXTEND 00002bc1: DUP2 00002bc2: PUSH2 0x2bc7 00002bc5: JUMPI 00002bc6: INVALID 00002bc7: JUMPDEST 00002bc8: SDIV 00002bc9: PUSH1 0x01 00002bcb: ADD 00002bcc: SWAP1 00002bcd: POP 00002bce: DUP1 00002bcf: PUSH3 0xffffff 00002bd3: AND 00002bd4: PUSH1 0x01 00002bd6: PUSH1 0x01 00002bd8: PUSH1 0x80 00002bda: SHL 00002bdb: SUB 00002bdc: DUP1 00002bdd: AND 00002bde: DUP2 00002bdf: PUSH2 0x2be4 00002be2: JUMPI 00002be3: INVALID 00002be4: JUMPDEST 00002be5: DIV 00002be6: SWAP4 00002be7: POP 00002be8: POP 00002be9: POP 00002bea: POP 00002beb: JUMPDEST 00002bec: SWAP2 00002bed: SWAP1 00002bee: POP 00002bef: JUMP 00002bf0: JUMPDEST 00002bf1: ADDRESS 00002bf2: PUSH1 0x01 00002bf4: PUSH1 0x01 00002bf6: PUSH1 0xa0 00002bf8: SHL 00002bf9: SUB 00002bfa: PUSH32 0x000000000000000000000000da99f4f2fe926b90f07f5f4eb0ce773f7173c6a0 00002c1b: AND 00002c1c: EQ 00002c1d: PUSH2 0x2c25 00002c20: JUMPI 00002c21: PUSH1 0x00 00002c23: DUP1 00002c24: REVERT 00002c25: JUMPDEST 00002c26: JUMP 00002c27: JUMPDEST 00002c28: TIMESTAMP 00002c29: SWAP1 00002c2a: JUMP 00002c2b: JUMPDEST 00002c2c: PUSH1 0x00 00002c2e: DUP1 00002c2f: PUSH1 0x00 00002c31: DUP5 00002c32: PUSH1 0x02 00002c34: SIGNEXTEND 00002c35: DUP7 00002c36: PUSH1 0x02 00002c38: SIGNEXTEND 00002c39: DUP2 00002c3a: PUSH2 0x2c3f 00002c3d: JUMPI 00002c3e: INVALID 00002c3f: JUMPDEST 00002c40: SDIV 00002c41: SWAP1 00002c42: POP 00002c43: PUSH1 0x00 00002c45: DUP7 00002c46: PUSH1 0x02 00002c48: SIGNEXTEND 00002c49: SLT 00002c4a: DUP1 00002c4b: ISZERO 00002c4c: PUSH2 0x2c66 00002c4f: JUMPI 00002c50: POP 00002c51: DUP5 00002c52: PUSH1 0x02 00002c54: SIGNEXTEND 00002c55: DUP7 00002c56: PUSH1 0x02 00002c58: SIGNEXTEND 00002c59: DUP2 00002c5a: PUSH2 0x2c5f 00002c5d: JUMPI 00002c5e: INVALID 00002c5f: JUMPDEST 00002c60: SMOD 00002c61: PUSH1 0x02 00002c63: SIGNEXTEND 00002c64: ISZERO 00002c65: ISZERO 00002c66: JUMPDEST 00002c67: ISZERO 00002c68: PUSH2 0x2c70 00002c6b: JUMPI 00002c6c: PUSH1 0x00 00002c6e: NOT 00002c6f: ADD 00002c70: JUMPDEST 00002c71: DUP4 00002c72: ISZERO 00002c73: PUSH2 0x2ce5 00002c76: JUMPI 00002c77: PUSH1 0x00 00002c79: DUP1 00002c7a: PUSH2 0x2c82 00002c7d: DUP4 00002c7e: PUSH2 0x44b6 00002c81: JUMP 00002c82: JUMPDEST 00002c83: PUSH1 0x01 00002c85: DUP3 00002c86: DUP2 00002c87: SIGNEXTEND 00002c88: DUP2 00002c89: SIGNEXTEND 00002c8a: PUSH1 0x00 00002c8c: SWAP1 00002c8d: DUP2 00002c8e: MSTORE 00002c8f: PUSH1 0x20 00002c91: DUP14 00002c92: SWAP1 00002c93: MSTORE 00002c94: PUSH1 0x40 00002c96: SWAP1 00002c97: KECCAK256 00002c98: SLOAD 00002c99: PUSH1 0xff 00002c9b: DUP4 00002c9c: AND 00002c9d: SWAP2 00002c9e: SWAP1 00002c9f: SWAP2 00002ca0: SHL 00002ca1: DUP1 00002ca2: ADD 00002ca3: PUSH1 0x00 00002ca5: NOT 00002ca6: ADD 00002ca7: SWAP1 00002ca8: DUP2 00002ca9: AND 00002caa: DUP1 00002cab: ISZERO 00002cac: ISZERO 00002cad: SWAP8 00002cae: POP 00002caf: SWAP3 00002cb0: SWAP5 00002cb1: POP 00002cb2: SWAP1 00002cb3: SWAP3 00002cb4: POP 00002cb5: SWAP1 00002cb6: DUP6 00002cb7: PUSH2 0x2cc7 00002cba: JUMPI 00002cbb: DUP9 00002cbc: DUP4 00002cbd: PUSH1 0xff 00002cbf: AND 00002cc0: DUP7 00002cc1: SUB 00002cc2: MUL 00002cc3: PUSH2 0x2cda 00002cc6: JUMP 00002cc7: JUMPDEST 00002cc8: DUP9 00002cc9: PUSH2 0x2cd1 00002ccc: DUP3 00002ccd: PUSH2 0x44c8 00002cd0: JUMP 00002cd1: JUMPDEST 00002cd2: DUP5 00002cd3: SUB 00002cd4: PUSH1 0xff 00002cd6: AND 00002cd7: DUP7 00002cd8: SUB 00002cd9: MUL 00002cda: JUMPDEST 00002cdb: SWAP7 00002cdc: POP 00002cdd: POP 00002cde: POP 00002cdf: POP 00002ce0: POP 00002ce1: PUSH2 0x2d63 00002ce4: JUMP 00002ce5: JUMPDEST 00002ce6: PUSH1 0x00 00002ce8: DUP1 00002ce9: PUSH2 0x2cf4 00002cec: DUP4 00002ced: PUSH1 0x01 00002cef: ADD 00002cf0: PUSH2 0x44b6 00002cf3: JUMP 00002cf4: JUMPDEST 00002cf5: SWAP2 00002cf6: POP 00002cf7: SWAP2 00002cf8: POP 00002cf9: PUSH1 0x00 00002cfb: PUSH1 0x01 00002cfd: DUP3 00002cfe: PUSH1 0xff 00002d00: AND 00002d01: PUSH1 0x01 00002d03: SWAP1 00002d04: SHL 00002d05: SUB 00002d06: NOT 00002d07: SWAP1 00002d08: POP 00002d09: PUSH1 0x00 00002d0b: DUP2 00002d0c: DUP12 00002d0d: PUSH1 0x00 00002d0f: DUP7 00002d10: PUSH1 0x01 00002d12: SIGNEXTEND 00002d13: PUSH1 0x01 00002d15: SIGNEXTEND 00002d16: DUP2 00002d17: MSTORE 00002d18: PUSH1 0x20 00002d1a: ADD 00002d1b: SWAP1 00002d1c: DUP2 00002d1d: MSTORE 00002d1e: PUSH1 0x20 00002d20: ADD 00002d21: PUSH1 0x00 00002d23: KECCAK256 00002d24: SLOAD 00002d25: AND 00002d26: SWAP1 00002d27: POP 00002d28: DUP1 00002d29: PUSH1 0x00 00002d2b: EQ 00002d2c: ISZERO 00002d2d: SWAP6 00002d2e: POP 00002d2f: DUP6 00002d30: PUSH2 0x2d46 00002d33: JUMPI 00002d34: DUP9 00002d35: DUP4 00002d36: PUSH1 0xff 00002d38: SUB 00002d39: PUSH1 0xff 00002d3b: AND 00002d3c: DUP7 00002d3d: PUSH1 0x01 00002d3f: ADD 00002d40: ADD 00002d41: MUL 00002d42: PUSH2 0x2d5c 00002d45: JUMP 00002d46: JUMPDEST 00002d47: DUP9 00002d48: DUP4 00002d49: PUSH2 0x2d51 00002d4c: DUP4 00002d4d: PUSH2 0x4568 00002d50: JUMP 00002d51: JUMPDEST 00002d52: SUB 00002d53: PUSH1 0xff 00002d55: AND 00002d56: DUP7 00002d57: PUSH1 0x01 00002d59: ADD 00002d5a: ADD 00002d5b: MUL 00002d5c: JUMPDEST 00002d5d: SWAP7 00002d5e: POP 00002d5f: POP 00002d60: POP 00002d61: POP 00002d62: POP 00002d63: JUMPDEST 00002d64: POP 00002d65: SWAP5 00002d66: POP 00002d67: SWAP5 00002d68: SWAP3 00002d69: POP 00002d6a: POP 00002d6b: POP 00002d6c: JUMP 00002d6d: JUMPDEST 00002d6e: PUSH1 0x00 00002d70: DUP1 00002d71: PUSH1 0x00 00002d73: DUP4 00002d74: PUSH1 0x02 00002d76: SIGNEXTEND 00002d77: SLT 00002d78: PUSH2 0x2d84 00002d7b: JUMPI 00002d7c: DUP3 00002d7d: PUSH1 0x02 00002d7f: SIGNEXTEND 00002d80: PUSH2 0x2d8c 00002d83: JUMP 00002d84: JUMPDEST 00002d85: DUP3 00002d86: PUSH1 0x02 00002d88: SIGNEXTEND 00002d89: PUSH1 0x00 00002d8b: SUB 00002d8c: JUMPDEST 00002d8d: SWAP1 00002d8e: POP 00002d8f: PUSH3 0x0d89e8 00002d93: DUP2 00002d94: GT 00002d95: ISZERO 00002d96: PUSH2 0x2dca 00002d99: JUMPI 00002d9a: PUSH1 0x40 00002d9c: DUP1 00002d9d: MLOAD 00002d9e: PUSH3 0x461bcd 00002da2: PUSH1 0xe5 00002da4: SHL 00002da5: DUP2 00002da6: MSTORE 00002da7: PUSH1 0x20 00002da9: PUSH1 0x04 00002dab: DUP3 00002dac: ADD 00002dad: MSTORE 00002dae: PUSH1 0x01 00002db0: PUSH1 0x24 00002db2: DUP3 00002db3: ADD 00002db4: MSTORE 00002db5: PUSH1 0x15 00002db7: PUSH1 0xfa 00002db9: SHL 00002dba: PUSH1 0x44 00002dbc: DUP3 00002dbd: ADD 00002dbe: MSTORE 00002dbf: SWAP1 00002dc0: MLOAD 00002dc1: SWAP1 00002dc2: DUP2 00002dc3: SWAP1 00002dc4: SUB 00002dc5: PUSH1 0x64 00002dc7: ADD 00002dc8: SWAP1 00002dc9: REVERT 00002dca: JUMPDEST 00002dcb: PUSH1 0x00 00002dcd: PUSH1 0x01 00002dcf: DUP3 00002dd0: AND 00002dd1: PUSH2 0x2dde 00002dd4: JUMPI 00002dd5: PUSH1 0x01 00002dd7: PUSH1 0x80 00002dd9: SHL 00002dda: PUSH2 0x2df0 00002ddd: JUMP 00002dde: JUMPDEST 00002ddf: PUSH16 0xfffcb933bd6fad37aa2d162d1a594001 00002df0: JUMPDEST 00002df1: PUSH17 0xffffffffffffffffffffffffffffffffff 00002e03: AND 00002e04: SWAP1 00002e05: POP 00002e06: PUSH1 0x02 00002e08: DUP3 00002e09: AND 00002e0a: ISZERO 00002e0b: PUSH2 0x2e24 00002e0e: JUMPI 00002e0f: PUSH16 0xfff97272373d413259a46990580e213a 00002e20: MUL 00002e21: PUSH1 0x80 00002e23: SHR 00002e24: JUMPDEST 00002e25: PUSH1 0x04 00002e27: DUP3 00002e28: AND 00002e29: ISZERO 00002e2a: PUSH2 0x2e43 00002e2d: JUMPI 00002e2e: PUSH16 0xfff2e50f5f656932ef12357cf3c7fdcc 00002e3f: MUL 00002e40: PUSH1 0x80 00002e42: SHR 00002e43: JUMPDEST 00002e44: PUSH1 0x08 00002e46: DUP3 00002e47: AND 00002e48: ISZERO 00002e49: PUSH2 0x2e62 00002e4c: JUMPI 00002e4d: PUSH16 0xffe5caca7e10e4e61c3624eaa0941cd0 00002e5e: MUL 00002e5f: PUSH1 0x80 00002e61: SHR 00002e62: JUMPDEST 00002e63: PUSH1 0x10 00002e65: DUP3 00002e66: AND 00002e67: ISZERO 00002e68: PUSH2 0x2e81 00002e6b: JUMPI 00002e6c: PUSH16 0xffcb9843d60f6159c9db58835c926644 00002e7d: MUL 00002e7e: PUSH1 0x80 00002e80: SHR 00002e81: JUMPDEST 00002e82: PUSH1 0x20 00002e84: DUP3 00002e85: AND 00002e86: ISZERO 00002e87: PUSH2 0x2ea0 00002e8a: JUMPI 00002e8b: PUSH16 0xff973b41fa98c081472e6896dfb254c0 00002e9c: MUL 00002e9d: PUSH1 0x80 00002e9f: SHR 00002ea0: JUMPDEST 00002ea1: PUSH1 0x40 00002ea3: DUP3 00002ea4: AND 00002ea5: ISZERO 00002ea6: PUSH2 0x2ebf 00002ea9: JUMPI 00002eaa: PUSH16 0xff2ea16466c96a3843ec78b326b52861 00002ebb: MUL 00002ebc: PUSH1 0x80 00002ebe: SHR 00002ebf: JUMPDEST 00002ec0: PUSH1 0x80 00002ec2: DUP3 00002ec3: AND 00002ec4: ISZERO 00002ec5: PUSH2 0x2ede 00002ec8: JUMPI 00002ec9: PUSH16 0xfe5dee046a99a2a811c461f1969c3053 00002eda: MUL 00002edb: PUSH1 0x80 00002edd: SHR 00002ede: JUMPDEST 00002edf: PUSH2 0x0100 00002ee2: DUP3 00002ee3: AND 00002ee4: ISZERO 00002ee5: PUSH2 0x2efe 00002ee8: JUMPI 00002ee9: PUSH16 0xfcbe86c7900a88aedcffc83b479aa3a4 00002efa: MUL 00002efb: PUSH1 0x80 00002efd: SHR 00002efe: JUMPDEST 00002eff: PUSH2 0x0200 00002f02: DUP3 00002f03: AND 00002f04: ISZERO 00002f05: PUSH2 0x2f1e 00002f08: JUMPI 00002f09: PUSH16 0xf987a7253ac413176f2b074cf7815e54 00002f1a: MUL 00002f1b: PUSH1 0x80 00002f1d: SHR 00002f1e: JUMPDEST 00002f1f: PUSH2 0x0400 00002f22: DUP3 00002f23: AND 00002f24: ISZERO 00002f25: PUSH2 0x2f3e 00002f28: JUMPI 00002f29: PUSH16 0xf3392b0822b70005940c7a398e4b70f3 00002f3a: MUL 00002f3b: PUSH1 0x80 00002f3d: SHR 00002f3e: JUMPDEST 00002f3f: PUSH2 0x0800 00002f42: DUP3 00002f43: AND 00002f44: ISZERO 00002f45: PUSH2 0x2f5e 00002f48: JUMPI 00002f49: PUSH16 0xe7159475a2c29b7443b29c7fa6e889d9 00002f5a: MUL 00002f5b: PUSH1 0x80 00002f5d: SHR 00002f5e: JUMPDEST 00002f5f: PUSH2 0x1000 00002f62: DUP3 00002f63: AND 00002f64: ISZERO 00002f65: PUSH2 0x2f7e 00002f68: JUMPI 00002f69: PUSH16 0xd097f3bdfd2022b8845ad8f792aa5825 00002f7a: MUL 00002f7b: PUSH1 0x80 00002f7d: SHR 00002f7e: JUMPDEST 00002f7f: PUSH2 0x2000 00002f82: DUP3 00002f83: AND 00002f84: ISZERO 00002f85: PUSH2 0x2f9e 00002f88: JUMPI 00002f89: PUSH16 0xa9f746462d870fdf8a65dc1f90e061e5 00002f9a: MUL 00002f9b: PUSH1 0x80 00002f9d: SHR 00002f9e: JUMPDEST 00002f9f: PUSH2 0x4000 00002fa2: DUP3 00002fa3: AND 00002fa4: ISZERO 00002fa5: PUSH2 0x2fbe 00002fa8: JUMPI 00002fa9: PUSH16 0x70d869a156d2a1b890bb3df62baf32f7 00002fba: MUL 00002fbb: PUSH1 0x80 00002fbd: SHR 00002fbe: JUMPDEST 00002fbf: PUSH2 0x8000 00002fc2: DUP3 00002fc3: AND 00002fc4: ISZERO 00002fc5: PUSH2 0x2fde 00002fc8: JUMPI 00002fc9: PUSH16 0x31be135f97d08fd981231505542fcfa6 00002fda: MUL 00002fdb: PUSH1 0x80 00002fdd: SHR 00002fde: JUMPDEST 00002fdf: PUSH3 0x010000 00002fe3: DUP3 00002fe4: AND 00002fe5: ISZERO 00002fe6: PUSH2 0x2fff 00002fe9: JUMPI 00002fea: PUSH16 0x09aa508b5b7a84e1c677de54f3e99bc9 00002ffb: MUL 00002ffc: PUSH1 0x80 00002ffe: SHR 00002fff: JUMPDEST 00003000: PUSH3 0x020000 00003004: DUP3 00003005: AND 00003006: ISZERO 00003007: PUSH2 0x301f 0000300a: JUMPI 0000300b: PUSH15 0x5d6af8dedb81196699c329225ee604 0000301b: MUL 0000301c: PUSH1 0x80 0000301e: SHR 0000301f: JUMPDEST 00003020: PUSH3 0x040000 00003024: DUP3 00003025: AND 00003026: ISZERO 00003027: PUSH2 0x303e 0000302a: JUMPI 0000302b: PUSH14 0x2216e584f5fa1ea926041bedfe98 0000303a: MUL 0000303b: PUSH1 0x80 0000303d: SHR 0000303e: JUMPDEST 0000303f: PUSH3 0x080000 00003043: DUP3 00003044: AND 00003045: ISZERO 00003046: PUSH2 0x305b 00003049: JUMPI 0000304a: PUSH12 0x048a170391f7dc42444e8fa2 00003057: MUL 00003058: PUSH1 0x80 0000305a: SHR 0000305b: JUMPDEST 0000305c: PUSH1 0x00 0000305e: DUP5 0000305f: PUSH1 0x02 00003061: SIGNEXTEND 00003062: SGT 00003063: ISZERO 00003064: PUSH2 0x3076 00003067: JUMPI 00003068: DUP1 00003069: PUSH1 0x00 0000306b: NOT 0000306c: DUP2 0000306d: PUSH2 0x3072 00003070: JUMPI 00003071: INVALID 00003072: JUMPDEST 00003073: DIV 00003074: SWAP1 00003075: POP 00003076: JUMPDEST 00003077: PUSH5 0x0100000000 0000307d: DUP2 0000307e: MOD 0000307f: ISZERO 00003080: PUSH2 0x308a 00003083: JUMPI 00003084: PUSH1 0x01 00003086: PUSH2 0x308d 00003089: JUMP 0000308a: JUMPDEST 0000308b: PUSH1 0x00 0000308d: JUMPDEST 0000308e: PUSH1 0xff 00003090: AND 00003091: PUSH1 0x20 00003093: DUP3 00003094: SWAP1 00003095: SHR 00003096: ADD 00003097: SWAP3 00003098: POP 00003099: POP 0000309a: POP 0000309b: SWAP2 0000309c: SWAP1 0000309d: POP 0000309e: JUMP 0000309f: JUMPDEST 000030a0: PUSH1 0x00 000030a2: DUP1 000030a3: DUP1 000030a4: DUP1 000030a5: PUSH1 0x01 000030a7: PUSH1 0x01 000030a9: PUSH1 0xa0 000030ab: SHL 000030ac: SUB 000030ad: DUP1 000030ae: DUP10 000030af: AND 000030b0: SWAP1 000030b1: DUP11 000030b2: AND 000030b3: LT 000030b4: ISZERO 000030b5: DUP2 000030b6: DUP8 000030b7: SLT 000030b8: DUP1 000030b9: ISZERO 000030ba: SWAP1 000030bb: PUSH2 0x3124 000030be: JUMPI 000030bf: PUSH1 0x00 000030c1: PUSH2 0x30d8 000030c4: DUP10 000030c5: DUP10 000030c6: PUSH3 0x0f4240 000030ca: SUB 000030cb: PUSH3 0xffffff 000030cf: AND 000030d0: PUSH3 0x0f4240 000030d4: PUSH2 0x32d9 000030d7: JUMP 000030d8: JUMPDEST 000030d9: SWAP1 000030da: POP 000030db: DUP3 000030dc: PUSH2 0x30f1 000030df: JUMPI 000030e0: PUSH2 0x30ec 000030e3: DUP13 000030e4: DUP13 000030e5: DUP13 000030e6: PUSH1 0x01 000030e8: PUSH2 0x4652 000030eb: JUMP 000030ec: JUMPDEST 000030ed: PUSH2 0x30fe 000030f0: JUMP 000030f1: JUMPDEST 000030f2: PUSH2 0x30fe 000030f5: DUP12 000030f6: DUP14 000030f7: DUP13 000030f8: PUSH1 0x01 000030fa: PUSH2 0x46cd 000030fd: JUMP 000030fe: JUMPDEST 000030ff: SWAP6 00003100: POP 00003101: DUP6 00003102: DUP2 00003103: LT 00003104: PUSH2 0x310f 00003107: JUMPI 00003108: DUP11 00003109: SWAP7 0000310a: POP 0000310b: PUSH2 0x311e 0000310e: JUMP 0000310f: JUMPDEST 00003110: PUSH2 0x311b 00003113: DUP13 00003114: DUP12 00003115: DUP4 00003116: DUP7 00003117: PUSH2 0x478a 0000311a: JUMP 0000311b: JUMPDEST 0000311c: SWAP7 0000311d: POP 0000311e: JUMPDEST 0000311f: POP 00003120: PUSH2 0x316e 00003123: JUMP 00003124: JUMPDEST 00003125: DUP2 00003126: PUSH2 0x313b 00003129: JUMPI 0000312a: PUSH2 0x3136 0000312d: DUP12 0000312e: DUP12 0000312f: DUP12 00003130: PUSH1 0x00 00003132: PUSH2 0x46cd 00003135: JUMP 00003136: JUMPDEST 00003137: PUSH2 0x3148 0000313a: JUMP 0000313b: JUMPDEST 0000313c: PUSH2 0x3148 0000313f: DUP11 00003140: DUP13 00003141: DUP12 00003142: PUSH1 0x00 00003144: PUSH2 0x4652 00003147: JUMP 00003148: JUMPDEST 00003149: SWAP4 0000314a: POP 0000314b: DUP4 0000314c: DUP9 0000314d: PUSH1 0x00 0000314f: SUB 00003150: LT 00003151: PUSH2 0x315c 00003154: JUMPI 00003155: DUP10 00003156: SWAP6 00003157: POP 00003158: PUSH2 0x316e 0000315b: JUMP 0000315c: JUMPDEST 0000315d: PUSH2 0x316b 00003160: DUP12 00003161: DUP11 00003162: DUP11 00003163: PUSH1 0x00 00003165: SUB 00003166: DUP6 00003167: PUSH2 0x47d6 0000316a: JUMP 0000316b: JUMPDEST 0000316c: SWAP6 0000316d: POP 0000316e: JUMPDEST 0000316f: PUSH1 0x01 00003171: PUSH1 0x01 00003173: PUSH1 0xa0 00003175: SHL 00003176: SUB 00003177: DUP11 00003178: DUP2 00003179: AND 0000317a: SWAP1 0000317b: DUP8 0000317c: AND 0000317d: EQ 0000317e: DUP3 0000317f: ISZERO 00003180: PUSH2 0x31d1 00003183: JUMPI 00003184: DUP1 00003185: DUP1 00003186: ISZERO 00003187: PUSH2 0x318d 0000318a: JUMPI 0000318b: POP 0000318c: DUP2 0000318d: JUMPDEST 0000318e: PUSH2 0x31a3 00003191: JUMPI 00003192: PUSH2 0x319e 00003195: DUP8 00003196: DUP14 00003197: DUP13 00003198: PUSH1 0x01 0000319a: PUSH2 0x46cd 0000319d: JUMP 0000319e: JUMPDEST 0000319f: PUSH2 0x31a5 000031a2: JUMP 000031a3: JUMPDEST 000031a4: DUP6 000031a5: JUMPDEST 000031a6: SWAP6 000031a7: POP 000031a8: DUP1 000031a9: DUP1 000031aa: ISZERO 000031ab: PUSH2 0x31b2 000031ae: JUMPI 000031af: POP 000031b0: DUP2 000031b1: ISZERO 000031b2: JUMPDEST 000031b3: PUSH2 0x31c8 000031b6: JUMPI 000031b7: PUSH2 0x31c3 000031ba: DUP8 000031bb: DUP14 000031bc: DUP13 000031bd: PUSH1 0x00 000031bf: PUSH2 0x4652 000031c2: JUMP 000031c3: JUMPDEST 000031c4: PUSH2 0x31ca 000031c7: JUMP 000031c8: JUMPDEST 000031c9: DUP5 000031ca: JUMPDEST 000031cb: SWAP5 000031cc: POP 000031cd: PUSH2 0x321b 000031d0: JUMP 000031d1: JUMPDEST 000031d2: DUP1 000031d3: DUP1 000031d4: ISZERO 000031d5: PUSH2 0x31db 000031d8: JUMPI 000031d9: POP 000031da: DUP2 000031db: JUMPDEST 000031dc: PUSH2 0x31f1 000031df: JUMPI 000031e0: PUSH2 0x31ec 000031e3: DUP13 000031e4: DUP9 000031e5: DUP13 000031e6: PUSH1 0x01 000031e8: PUSH2 0x4652 000031eb: JUMP 000031ec: JUMPDEST 000031ed: PUSH2 0x31f3 000031f0: JUMP 000031f1: JUMPDEST 000031f2: DUP6 000031f3: JUMPDEST 000031f4: SWAP6 000031f5: POP 000031f6: DUP1 000031f7: DUP1 000031f8: ISZERO 000031f9: PUSH2 0x3200 000031fc: JUMPI 000031fd: POP 000031fe: DUP2 000031ff: ISZERO 00003200: JUMPDEST 00003201: PUSH2 0x3216 00003204: JUMPI 00003205: PUSH2 0x3211 00003208: DUP13 00003209: DUP9 0000320a: DUP13 0000320b: PUSH1 0x00 0000320d: PUSH2 0x46cd 00003210: JUMP 00003211: JUMPDEST 00003212: PUSH2 0x3218 00003215: JUMP 00003216: JUMPDEST 00003217: DUP5 00003218: JUMPDEST 00003219: SWAP5 0000321a: POP 0000321b: JUMPDEST 0000321c: DUP2 0000321d: ISZERO 0000321e: DUP1 0000321f: ISZERO 00003220: PUSH2 0x322b 00003223: JUMPI 00003224: POP 00003225: DUP9 00003226: PUSH1 0x00 00003228: SUB 00003229: DUP6 0000322a: GT 0000322b: JUMPDEST 0000322c: ISZERO 0000322d: PUSH2 0x3237 00003230: JUMPI 00003231: DUP9 00003232: PUSH1 0x00 00003234: SUB 00003235: SWAP5 00003236: POP 00003237: JUMPDEST 00003238: DUP2 00003239: DUP1 0000323a: ISZERO 0000323b: PUSH2 0x3256 0000323e: JUMPI 0000323f: POP 00003240: DUP11 00003241: PUSH1 0x01 00003243: PUSH1 0x01 00003245: PUSH1 0xa0 00003247: SHL 00003248: SUB 00003249: AND 0000324a: DUP8 0000324b: PUSH1 0x01 0000324d: PUSH1 0x01 0000324f: PUSH1 0xa0 00003251: SHL 00003252: SUB 00003253: AND 00003254: EQ 00003255: ISZERO 00003256: JUMPDEST 00003257: ISZERO 00003258: PUSH2 0x3265 0000325b: JUMPI 0000325c: DUP6 0000325d: DUP10 0000325e: SUB 0000325f: SWAP4 00003260: POP 00003261: PUSH2 0x3282 00003264: JUMP 00003265: JUMPDEST 00003266: PUSH2 0x327f 00003269: DUP7 0000326a: DUP10 0000326b: PUSH3 0xffffff 0000326f: AND 00003270: DUP11 00003271: PUSH3 0x0f4240 00003275: SUB 00003276: PUSH3 0xffffff 0000327a: AND 0000327b: PUSH2 0x41a9 0000327e: JUMP 0000327f: JUMPDEST 00003280: SWAP4 00003281: POP 00003282: JUMPDEST 00003283: POP 00003284: POP 00003285: POP 00003286: SWAP6 00003287: POP 00003288: SWAP6 00003289: POP 0000328a: SWAP6 0000328b: POP 0000328c: SWAP6 0000328d: SWAP2 0000328e: POP 0000328f: POP 00003290: JUMP 00003291: JUMPDEST 00003292: PUSH1 0x00 00003294: PUSH1 0x01 00003296: PUSH1 0xff 00003298: SHL 00003299: DUP3 0000329a: LT 0000329b: PUSH2 0x32a3 0000329e: JUMPI 0000329f: PUSH1 0x00 000032a1: DUP1 000032a2: REVERT 000032a3: JUMPDEST 000032a4: POP 000032a5: SWAP1 000032a6: JUMP 000032a7: JUMPDEST 000032a8: DUP1 000032a9: DUP3 000032aa: SUB 000032ab: DUP3 000032ac: DUP2 000032ad: SGT 000032ae: ISZERO 000032af: PUSH1 0x00 000032b1: DUP4 000032b2: SLT 000032b3: ISZERO 000032b4: EQ 000032b5: PUSH2 0x32bd 000032b8: JUMPI 000032b9: PUSH1 0x00 000032bb: DUP1 000032bc: REVERT 000032bd: JUMPDEST 000032be: SWAP3 000032bf: SWAP2 000032c0: POP 000032c1: POP 000032c2: JUMP 000032c3: JUMPDEST 000032c4: DUP2 000032c5: DUP2 000032c6: ADD 000032c7: DUP3 000032c8: DUP2 000032c9: SLT 000032ca: ISZERO 000032cb: PUSH1 0x00 000032cd: DUP4 000032ce: SLT 000032cf: ISZERO 000032d0: EQ 000032d1: PUSH2 0x32bd 000032d4: JUMPI 000032d5: PUSH1 0x00 000032d7: DUP1 000032d8: REVERT 000032d9: JUMPDEST 000032da: PUSH1 0x00 000032dc: DUP1 000032dd: DUP1 000032de: PUSH1 0x00 000032e0: NOT 000032e1: DUP6 000032e2: DUP8 000032e3: MULMOD 000032e4: DUP7 000032e5: DUP7 000032e6: MUL 000032e7: SWAP3 000032e8: POP 000032e9: DUP3 000032ea: DUP2 000032eb: LT 000032ec: SWAP1 000032ed: DUP4 000032ee: SWAP1 000032ef: SUB 000032f0: SUB 000032f1: SWAP1 000032f2: POP 000032f3: DUP1 000032f4: PUSH2 0x330f 000032f7: JUMPI 000032f8: PUSH1 0x00 000032fa: DUP5 000032fb: GT 000032fc: PUSH2 0x3304 000032ff: JUMPI 00003300: PUSH1 0x00 00003302: DUP1 00003303: REVERT 00003304: JUMPDEST 00003305: POP 00003306: DUP3 00003307: SWAP1 00003308: DIV 00003309: SWAP1 0000330a: POP 0000330b: PUSH2 0x3382 0000330e: JUMP 0000330f: JUMPDEST 00003310: DUP1 00003311: DUP5 00003312: GT 00003313: PUSH2 0x331b 00003316: JUMPI 00003317: PUSH1 0x00 00003319: DUP1 0000331a: REVERT 0000331b: JUMPDEST 0000331c: PUSH1 0x00 0000331e: DUP5 0000331f: DUP7 00003320: DUP9 00003321: MULMOD 00003322: PUSH1 0x00 00003324: DUP7 00003325: DUP2 00003326: SUB 00003327: DUP8 00003328: AND 00003329: SWAP7 0000332a: DUP8 0000332b: SWAP1 0000332c: DIV 0000332d: SWAP7 0000332e: PUSH1 0x02 00003330: PUSH1 0x03 00003332: DUP10 00003333: MUL 00003334: DUP2 00003335: XOR 00003336: DUP1 00003337: DUP11 00003338: MUL 00003339: DUP3 0000333a: SUB 0000333b: MUL 0000333c: DUP1 0000333d: DUP11 0000333e: MUL 0000333f: DUP3 00003340: SUB 00003341: MUL 00003342: DUP1 00003343: DUP11 00003344: MUL 00003345: DUP3 00003346: SUB 00003347: MUL 00003348: DUP1 00003349: DUP11 0000334a: MUL 0000334b: DUP3 0000334c: SUB 0000334d: MUL 0000334e: DUP1 0000334f: DUP11 00003350: MUL 00003351: DUP3 00003352: SUB 00003353: MUL 00003354: DUP1 00003355: DUP11 00003356: MUL 00003357: SWAP1 00003358: SWAP2 00003359: SUB 0000335a: MUL 0000335b: SWAP2 0000335c: DUP2 0000335d: SWAP1 0000335e: SUB 0000335f: DUP2 00003360: SWAP1 00003361: DIV 00003362: PUSH1 0x01 00003364: ADD 00003365: DUP7 00003366: DUP5 00003367: GT 00003368: SWAP1 00003369: SWAP6 0000336a: SUB 0000336b: SWAP5 0000336c: SWAP1 0000336d: SWAP5 0000336e: MUL 0000336f: SWAP2 00003370: SWAP1 00003371: SWAP5 00003372: SUB 00003373: SWAP3 00003374: SWAP1 00003375: SWAP3 00003376: DIV 00003377: SWAP2 00003378: SWAP1 00003379: SWAP2 0000337a: OR 0000337b: SWAP2 0000337c: SWAP1 0000337d: SWAP2 0000337e: MUL 0000337f: SWAP2 00003380: POP 00003381: POP 00003382: JUMPDEST 00003383: SWAP4 00003384: SWAP3 00003385: POP 00003386: POP 00003387: POP 00003388: JUMP 00003389: JUMPDEST 0000338a: PUSH1 0x00 0000338c: DUP1 0000338d: PUSH4 0xffffffff 00003392: DUP8 00003393: AND 00003394: PUSH2 0x3430 00003397: JUMPI 00003398: PUSH1 0x00 0000339a: DUP10 0000339b: DUP7 0000339c: PUSH2 0xffff 0000339f: AND 000033a0: PUSH2 0xffff 000033a3: DUP2 000033a4: LT 000033a5: PUSH2 0x33aa 000033a8: JUMPI 000033a9: INVALID 000033aa: JUMPDEST 000033ab: PUSH1 0x40 000033ad: DUP1 000033ae: MLOAD 000033af: PUSH1 0x80 000033b1: DUP2 000033b2: ADD 000033b3: DUP3 000033b4: MSTORE 000033b5: SWAP2 000033b6: SWAP1 000033b7: SWAP3 000033b8: ADD 000033b9: SLOAD 000033ba: PUSH4 0xffffffff 000033bf: DUP1 000033c0: DUP3 000033c1: AND 000033c2: DUP1 000033c3: DUP5 000033c4: MSTORE 000033c5: PUSH5 0x0100000000 000033cb: DUP4 000033cc: DIV 000033cd: PUSH1 0x06 000033cf: SWAP1 000033d0: DUP2 000033d1: SIGNEXTEND 000033d2: DUP2 000033d3: SIGNEXTEND 000033d4: SWAP1 000033d5: SIGNEXTEND 000033d6: PUSH1 0x20 000033d8: DUP6 000033d9: ADD 000033da: MSTORE 000033db: PUSH1 0x01 000033dd: PUSH1 0x58 000033df: SHL 000033e0: DUP4 000033e1: DIV 000033e2: PUSH1 0x01 000033e4: PUSH1 0x01 000033e6: PUSH1 0xa0 000033e8: SHL 000033e9: SUB 000033ea: AND 000033eb: SWAP5 000033ec: DUP5 000033ed: ADD 000033ee: SWAP5 000033ef: SWAP1 000033f0: SWAP5 000033f1: MSTORE 000033f2: PUSH1 0x01 000033f4: PUSH1 0xf8 000033f6: SHL 000033f7: SWAP1 000033f8: SWAP2 000033f9: DIV 000033fa: PUSH1 0xff 000033fc: AND 000033fd: ISZERO 000033fe: ISZERO 000033ff: PUSH1 0x60 00003401: DUP4 00003402: ADD 00003403: MSTORE 00003404: SWAP1 00003405: SWAP3 00003406: POP 00003407: DUP11 00003408: AND 00003409: EQ 0000340a: PUSH2 0x341c 0000340d: JUMPI 0000340e: PUSH2 0x3419 00003411: DUP2 00003412: DUP11 00003413: DUP10 00003414: DUP9 00003415: PUSH2 0x4822 00003418: JUMP 00003419: JUMPDEST 0000341a: SWAP1 0000341b: POP 0000341c: JUMPDEST 0000341d: DUP1 0000341e: PUSH1 0x20 00003420: ADD 00003421: MLOAD 00003422: DUP2 00003423: PUSH1 0x40 00003425: ADD 00003426: MLOAD 00003427: SWAP3 00003428: POP 00003429: SWAP3 0000342a: POP 0000342b: POP 0000342c: PUSH2 0x3510 0000342f: JUMP 00003430: JUMPDEST 00003431: DUP7 00003432: DUP9 00003433: SUB 00003434: PUSH1 0x00 00003436: DUP1 00003437: PUSH2 0x3445 0000343a: DUP13 0000343b: DUP13 0000343c: DUP6 0000343d: DUP13 0000343e: DUP13 0000343f: DUP13 00003440: DUP13 00003441: PUSH2 0x48d2 00003444: JUMP 00003445: JUMPDEST 00003446: SWAP2 00003447: POP 00003448: SWAP2 00003449: POP 0000344a: DUP2 0000344b: PUSH1 0x00 0000344d: ADD 0000344e: MLOAD 0000344f: PUSH4 0xffffffff 00003454: AND 00003455: DUP4 00003456: PUSH4 0xffffffff 0000345b: AND 0000345c: EQ 0000345d: ISZERO 0000345e: PUSH2 0x3477 00003461: JUMPI 00003462: DUP2 00003463: PUSH1 0x20 00003465: ADD 00003466: MLOAD 00003467: DUP3 00003468: PUSH1 0x40 0000346a: ADD 0000346b: MLOAD 0000346c: SWAP5 0000346d: POP 0000346e: SWAP5 0000346f: POP 00003470: POP 00003471: POP 00003472: POP 00003473: PUSH2 0x3510 00003476: JUMP 00003477: JUMPDEST 00003478: DUP1 00003479: MLOAD 0000347a: PUSH4 0xffffffff 0000347f: DUP5 00003480: DUP2 00003481: AND 00003482: SWAP2 00003483: AND 00003484: EQ 00003485: ISZERO 00003486: PUSH2 0x349f 00003489: JUMPI 0000348a: DUP1 0000348b: PUSH1 0x20 0000348d: ADD 0000348e: MLOAD 0000348f: DUP2 00003490: PUSH1 0x40 00003492: ADD 00003493: MLOAD 00003494: SWAP5 00003495: POP 00003496: SWAP5 00003497: POP 00003498: POP 00003499: POP 0000349a: POP 0000349b: PUSH2 0x3510 0000349e: JUMP 0000349f: JUMPDEST 000034a0: DUP2 000034a1: MLOAD 000034a2: DUP2 000034a3: MLOAD 000034a4: PUSH1 0x20 000034a6: DUP1 000034a7: DUP6 000034a8: ADD 000034a9: MLOAD 000034aa: SWAP1 000034ab: DUP5 000034ac: ADD 000034ad: MLOAD 000034ae: SWAP2 000034af: DUP4 000034b0: SWAP1 000034b1: SUB 000034b2: SWAP3 000034b3: DUP7 000034b4: SUB 000034b5: SWAP2 000034b6: PUSH4 0xffffffff 000034bb: DUP1 000034bc: DUP5 000034bd: AND 000034be: SWAP3 000034bf: SWAP1 000034c0: DUP6 000034c1: AND 000034c2: SWAP2 000034c3: SUB 000034c4: PUSH1 0x06 000034c6: SIGNEXTEND 000034c7: DUP2 000034c8: PUSH2 0x34cd 000034cb: JUMPI 000034cc: INVALID 000034cd: JUMPDEST 000034ce: SDIV 000034cf: MUL 000034d0: DUP5 000034d1: PUSH1 0x20 000034d3: ADD 000034d4: MLOAD 000034d5: ADD 000034d6: DUP3 000034d7: PUSH4 0xffffffff 000034dc: AND 000034dd: DUP3 000034de: PUSH4 0xffffffff 000034e3: AND 000034e4: DUP7 000034e5: PUSH1 0x40 000034e7: ADD 000034e8: MLOAD 000034e9: DUP7 000034ea: PUSH1 0x40 000034ec: ADD 000034ed: MLOAD 000034ee: SUB 000034ef: PUSH1 0x01 000034f1: PUSH1 0x01 000034f3: PUSH1 0xa0 000034f5: SHL 000034f6: SUB 000034f7: AND 000034f8: MUL 000034f9: DUP2 000034fa: PUSH2 0x34ff 000034fd: JUMPI 000034fe: INVALID 000034ff: JUMPDEST 00003500: DIV 00003501: DUP6 00003502: PUSH1 0x40 00003504: ADD 00003505: MLOAD 00003506: ADD 00003507: SWAP7 00003508: POP 00003509: SWAP7 0000350a: POP 0000350b: POP 0000350c: POP 0000350d: POP 0000350e: POP 0000350f: POP 00003510: JUMPDEST 00003511: SWAP8 00003512: POP 00003513: SWAP8 00003514: SWAP6 00003515: POP 00003516: POP 00003517: POP 00003518: POP 00003519: POP 0000351a: POP 0000351b: JUMP 0000351c: JUMPDEST 0000351d: PUSH1 0x02 0000351f: SWAP6 00003520: DUP7 00003521: SIGNEXTEND 00003522: DUP7 00003523: SIGNEXTEND 00003524: PUSH1 0x00 00003526: SWAP1 00003527: DUP2 00003528: MSTORE 00003529: PUSH1 0x20 0000352b: SWAP8 0000352c: SWAP1 0000352d: SWAP8 0000352e: MSTORE 0000352f: PUSH1 0x40 00003531: SWAP1 00003532: SWAP7 00003533: KECCAK256 00003534: PUSH1 0x01 00003536: DUP2 00003537: ADD 00003538: DUP1 00003539: SLOAD 0000353a: SWAP1 0000353b: SWAP6 0000353c: SUB 0000353d: SWAP1 0000353e: SWAP5 0000353f: SSTORE 00003540: SWAP4 00003541: DUP4 00003542: ADD 00003543: DUP1 00003544: SLOAD 00003545: SWAP1 00003546: SWAP3 00003547: SUB 00003548: SWAP1 00003549: SWAP2 0000354a: SSTORE 0000354b: PUSH1 0x03 0000354d: DUP3 0000354e: ADD 0000354f: DUP1 00003550: SLOAD 00003551: PUSH4 0xffffffff 00003556: PUSH1 0x01 00003558: PUSH1 0xd8 0000355a: SHL 0000355b: PUSH1 0x01 0000355d: PUSH1 0x01 0000355f: PUSH1 0xa0 00003561: SHL 00003562: SUB 00003563: PUSH8 0x0100000000000000 0000356c: DUP1 0000356d: DUP6 0000356e: DIV 0000356f: DUP3 00003570: AND 00003571: SWAP1 00003572: SWAP7 00003573: SUB 00003574: AND 00003575: SWAP1 00003576: SWAP5 00003577: MUL 00003578: PUSH32 0xffffffffff0000000000000000000000000000000000000000ffffffffffffff 00003599: SWAP1 0000359a: SWAP3 0000359b: AND 0000359c: SWAP2 0000359d: SWAP1 0000359e: SWAP2 0000359f: OR 000035a0: PUSH1 0x06 000035a2: DUP2 000035a3: DUP2 000035a4: SIGNEXTEND 000035a5: SWAP1 000035a6: SWAP7 000035a7: SUB 000035a8: SWAP1 000035a9: SWAP6 000035aa: SIGNEXTEND 000035ab: PUSH7 0xffffffffffffff 000035b3: AND 000035b4: PUSH7 0xffffffffffffff 000035bc: NOT 000035bd: SWAP1 000035be: SWAP6 000035bf: AND 000035c0: SWAP5 000035c1: SWAP1 000035c2: SWAP5 000035c3: OR 000035c4: DUP3 000035c5: DUP2 000035c6: DIV 000035c7: DUP6 000035c8: AND 000035c9: SWAP1 000035ca: SWAP6 000035cb: SUB 000035cc: SWAP1 000035cd: SWAP4 000035ce: AND 000035cf: MUL 000035d0: PUSH4 0xffffffff 000035d5: PUSH1 0xd8 000035d7: SHL 000035d8: NOT 000035d9: SWAP1 000035da: SWAP4 000035db: AND 000035dc: SWAP3 000035dd: SWAP1 000035de: SWAP3 000035df: OR 000035e0: SWAP1 000035e1: SSTORE 000035e2: SLOAD 000035e3: PUSH1 0x01 000035e5: PUSH1 0x80 000035e7: SHL 000035e8: SWAP1 000035e9: DIV 000035ea: PUSH1 0x0f 000035ec: SIGNEXTEND 000035ed: SWAP1 000035ee: JUMP 000035ef: JUMPDEST 000035f0: PUSH1 0x00 000035f2: DUP1 000035f3: DUP3 000035f4: PUSH1 0x0f 000035f6: SIGNEXTEND 000035f7: SLT 000035f8: ISZERO 000035f9: PUSH2 0x3654 000035fc: JUMPI 000035fd: DUP3 000035fe: PUSH1 0x01 00003600: PUSH1 0x01 00003602: PUSH1 0x80 00003604: SHL 00003605: SUB 00003606: AND 00003607: DUP3 00003608: PUSH1 0x00 0000360a: SUB 0000360b: DUP5 0000360c: SUB 0000360d: SWAP2 0000360e: POP 0000360f: DUP2 00003610: PUSH1 0x01 00003612: PUSH1 0x01 00003614: PUSH1 0x80 00003616: SHL 00003617: SUB 00003618: AND 00003619: LT 0000361a: PUSH2 0x364f 0000361d: JUMPI 0000361e: PUSH1 0x40 00003620: DUP1 00003621: MLOAD 00003622: PUSH3 0x461bcd 00003626: PUSH1 0xe5 00003628: SHL 00003629: DUP2 0000362a: MSTORE 0000362b: PUSH1 0x20 0000362d: PUSH1 0x04 0000362f: DUP3 00003630: ADD 00003631: MSTORE 00003632: PUSH1 0x02 00003634: PUSH1 0x24 00003636: DUP3 00003637: ADD 00003638: MSTORE 00003639: PUSH2 0x4c53 0000363c: PUSH1 0xf0 0000363e: SHL 0000363f: PUSH1 0x44 00003641: DUP3 00003642: ADD 00003643: MSTORE 00003644: SWAP1 00003645: MLOAD 00003646: SWAP1 00003647: DUP2 00003648: SWAP1 00003649: SUB 0000364a: PUSH1 0x64 0000364c: ADD 0000364d: SWAP1 0000364e: REVERT 0000364f: JUMPDEST 00003650: PUSH2 0x32bd 00003653: JUMP 00003654: JUMPDEST 00003655: DUP3 00003656: PUSH1 0x01 00003658: PUSH1 0x01 0000365a: PUSH1 0x80 0000365c: SHL 0000365d: SUB 0000365e: AND 0000365f: DUP3 00003660: DUP5 00003661: ADD 00003662: SWAP2 00003663: POP 00003664: DUP2 00003665: PUSH1 0x01 00003667: PUSH1 0x01 00003669: PUSH1 0x80 0000366b: SHL 0000366c: SUB 0000366d: AND 0000366e: LT 0000366f: ISZERO 00003670: PUSH2 0x32bd 00003673: JUMPI 00003674: PUSH1 0x40 00003676: DUP1 00003677: MLOAD 00003678: PUSH3 0x461bcd 0000367c: PUSH1 0xe5 0000367e: SHL 0000367f: DUP2 00003680: MSTORE 00003681: PUSH1 0x20 00003683: PUSH1 0x04 00003685: DUP3 00003686: ADD 00003687: MSTORE 00003688: PUSH1 0x02 0000368a: PUSH1 0x24 0000368c: DUP3 0000368d: ADD 0000368e: MSTORE 0000368f: PUSH2 0x4c41 00003692: PUSH1 0xf0 00003694: SHL 00003695: PUSH1 0x44 00003697: DUP3 00003698: ADD 00003699: MSTORE 0000369a: SWAP1 0000369b: MLOAD 0000369c: SWAP1 0000369d: DUP2 0000369e: SWAP1 0000369f: SUB 000036a0: PUSH1 0x64 000036a2: ADD 000036a3: SWAP1 000036a4: REVERT 000036a5: JUMPDEST 000036a6: PUSH1 0x00 000036a8: PUSH5 0x01000276a3 000036ae: PUSH1 0x01 000036b0: PUSH1 0x01 000036b2: PUSH1 0xa0 000036b4: SHL 000036b5: SUB 000036b6: DUP4 000036b7: AND 000036b8: LT 000036b9: DUP1 000036ba: ISZERO 000036bb: SWAP1 000036bc: PUSH2 0x36e1 000036bf: JUMPI 000036c0: POP 000036c1: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d26 000036d6: PUSH1 0x01 000036d8: PUSH1 0x01 000036da: PUSH1 0xa0 000036dc: SHL 000036dd: SUB 000036de: DUP4 000036df: AND 000036e0: LT 000036e1: JUMPDEST 000036e2: PUSH2 0x3716 000036e5: JUMPI 000036e6: PUSH1 0x40 000036e8: DUP1 000036e9: MLOAD 000036ea: PUSH3 0x461bcd 000036ee: PUSH1 0xe5 000036f0: SHL 000036f1: DUP2 000036f2: MSTORE 000036f3: PUSH1 0x20 000036f5: PUSH1 0x04 000036f7: DUP3 000036f8: ADD 000036f9: MSTORE 000036fa: PUSH1 0x01 000036fc: PUSH1 0x24 000036fe: DUP3 000036ff: ADD 00003700: MSTORE 00003701: PUSH1 0x29 00003703: PUSH1 0xf9 00003705: SHL 00003706: PUSH1 0x44 00003708: DUP3 00003709: ADD 0000370a: MSTORE 0000370b: SWAP1 0000370c: MLOAD 0000370d: SWAP1 0000370e: DUP2 0000370f: SWAP1 00003710: SUB 00003711: PUSH1 0x64 00003713: ADD 00003714: SWAP1 00003715: REVERT 00003716: JUMPDEST 00003717: PUSH24 0xffffffffffffffffffffffffffffffffffffffff00000000 00003730: PUSH1 0x20 00003732: DUP4 00003733: SWAP1 00003734: SHL 00003735: AND 00003736: PUSH1 0x01 00003738: PUSH1 0x01 0000373a: PUSH1 0x80 0000373c: SHL 0000373d: SUB 0000373e: DUP2 0000373f: GT 00003740: PUSH1 0x07 00003742: SHL 00003743: DUP2 00003744: DUP2 00003745: SHR 00003746: PUSH8 0xffffffffffffffff 0000374f: DUP2 00003750: GT 00003751: PUSH1 0x06 00003753: SHL 00003754: SWAP1 00003755: DUP2 00003756: SHR 00003757: PUSH4 0xffffffff 0000375c: DUP2 0000375d: GT 0000375e: PUSH1 0x05 00003760: SHL 00003761: SWAP1 00003762: DUP2 00003763: SHR 00003764: PUSH2 0xffff 00003767: DUP2 00003768: GT 00003769: PUSH1 0x04 0000376b: SHL 0000376c: SWAP1 0000376d: DUP2 0000376e: SHR 0000376f: PUSH1 0xff 00003771: DUP2 00003772: GT 00003773: PUSH1 0x03 00003775: SWAP1 00003776: DUP2 00003777: SHL 00003778: SWAP2 00003779: DUP3 0000377a: SHR 0000377b: PUSH1 0x0f 0000377d: DUP2 0000377e: GT 0000377f: PUSH1 0x02 00003781: SHL 00003782: SWAP1 00003783: DUP2 00003784: SHR 00003785: SWAP2 00003786: DUP3 00003787: GT 00003788: PUSH1 0x01 0000378a: SWAP1 0000378b: DUP2 0000378c: SHL 0000378d: SWAP3 0000378e: DUP4 0000378f: SHR 00003790: SWAP8 00003791: SWAP1 00003792: DUP9 00003793: GT 00003794: SWAP7 00003795: OR 00003796: SWAP1 00003797: SWAP5 00003798: OR 00003799: SWAP1 0000379a: SWAP3 0000379b: OR 0000379c: OR 0000379d: SWAP1 0000379e: SWAP2 0000379f: OR 000037a0: OR 000037a1: OR 000037a2: PUSH1 0x80 000037a4: DUP2 000037a5: LT 000037a6: PUSH2 0x37b7 000037a9: JUMPI 000037aa: PUSH1 0x7f 000037ac: DUP2 000037ad: SUB 000037ae: DUP4 000037af: SWAP1 000037b0: SHR 000037b1: SWAP2 000037b2: POP 000037b3: PUSH2 0x37c1 000037b6: JUMP 000037b7: JUMPDEST 000037b8: DUP1 000037b9: PUSH1 0x7f 000037bb: SUB 000037bc: DUP4 000037bd: SWAP1 000037be: SHL 000037bf: SWAP2 000037c0: POP 000037c1: JUMPDEST 000037c2: SWAP1 000037c3: DUP1 000037c4: MUL 000037c5: PUSH1 0x7f 000037c7: DUP2 000037c8: DUP2 000037c9: SHR 000037ca: PUSH1 0xff 000037cc: DUP4 000037cd: DUP2 000037ce: SHR 000037cf: SWAP2 000037d0: SWAP1 000037d1: SWAP2 000037d2: SHR 000037d3: DUP1 000037d4: MUL 000037d5: DUP1 000037d6: DUP4 000037d7: SHR 000037d8: DUP2 000037d9: DUP4 000037da: SHR 000037db: SHR 000037dc: DUP1 000037dd: MUL 000037de: DUP1 000037df: DUP5 000037e0: SHR 000037e1: DUP2 000037e2: DUP5 000037e3: SHR 000037e4: SHR 000037e5: DUP1 000037e6: MUL 000037e7: DUP1 000037e8: DUP6 000037e9: SHR 000037ea: DUP2 000037eb: DUP6 000037ec: SHR 000037ed: SHR 000037ee: DUP1 000037ef: MUL 000037f0: DUP1 000037f1: DUP7 000037f2: SHR 000037f3: DUP2 000037f4: DUP7 000037f5: SHR 000037f6: SHR 000037f7: DUP1 000037f8: MUL 000037f9: DUP1 000037fa: DUP8 000037fb: SHR 000037fc: DUP2 000037fd: DUP8 000037fe: SHR 000037ff: SHR 00003800: DUP1 00003801: MUL 00003802: DUP1 00003803: DUP9 00003804: SHR 00003805: DUP2 00003806: DUP9 00003807: SHR 00003808: SHR 00003809: DUP1 0000380a: MUL 0000380b: DUP1 0000380c: DUP10 0000380d: SHR 0000380e: DUP2 0000380f: DUP10 00003810: SHR 00003811: SHR 00003812: DUP1 00003813: MUL 00003814: DUP1 00003815: DUP11 00003816: SHR 00003817: DUP2 00003818: DUP11 00003819: SHR 0000381a: SHR 0000381b: DUP1 0000381c: MUL 0000381d: DUP1 0000381e: DUP12 0000381f: SHR 00003820: DUP2 00003821: DUP12 00003822: SHR 00003823: SHR 00003824: DUP1 00003825: MUL 00003826: DUP1 00003827: DUP13 00003828: SHR 00003829: DUP2 0000382a: DUP13 0000382b: SHR 0000382c: SHR 0000382d: DUP1 0000382e: MUL 0000382f: DUP1 00003830: DUP14 00003831: SHR 00003832: DUP2 00003833: DUP14 00003834: SHR 00003835: SHR 00003836: DUP1 00003837: MUL 00003838: DUP1 00003839: DUP15 0000383a: SHR 0000383b: SWAP13 0000383c: DUP2 0000383d: SWAP1 0000383e: SHR 0000383f: SWAP13 00003840: SWAP1 00003841: SWAP13 00003842: SHR 00003843: DUP1 00003844: MUL 00003845: SWAP13 00003846: DUP14 00003847: SWAP1 00003848: SHR 00003849: SWAP15 0000384a: SWAP14 0000384b: PUSH1 0x7f 0000384d: NOT 0000384e: DUP16 0000384f: ADD 00003850: PUSH1 0x40 00003852: SHL 00003853: PUSH1 0xc0 00003855: SWAP2 00003856: SWAP1 00003857: SWAP2 00003858: SHR 00003859: PUSH8 0x8000000000000000 00003862: AND 00003863: OR 00003864: PUSH1 0xc1 00003866: SWAP12 00003867: SWAP1 00003868: SWAP12 00003869: SHR 0000386a: PUSH8 0x4000000000000000 00003873: AND 00003874: SWAP11 00003875: SWAP1 00003876: SWAP11 00003877: OR 00003878: PUSH1 0xc2 0000387a: SWAP10 0000387b: SWAP1 0000387c: SWAP10 0000387d: SHR 0000387e: PUSH8 0x2000000000000000 00003887: AND 00003888: SWAP9 00003889: SWAP1 0000388a: SWAP9 0000388b: OR 0000388c: PUSH1 0xc3 0000388e: SWAP8 0000388f: SWAP1 00003890: SWAP8 00003891: SHR 00003892: PUSH8 0x1000000000000000 0000389b: AND 0000389c: SWAP7 0000389d: SWAP1 0000389e: SWAP7 0000389f: OR 000038a0: PUSH1 0xc4 000038a2: SWAP6 000038a3: SWAP1 000038a4: SWAP6 000038a5: SHR 000038a6: PUSH8 0x0800000000000000 000038af: AND 000038b0: SWAP5 000038b1: SWAP1 000038b2: SWAP5 000038b3: OR 000038b4: PUSH1 0xc5 000038b6: SWAP4 000038b7: SWAP1 000038b8: SWAP4 000038b9: SHR 000038ba: PUSH8 0x0400000000000000 000038c3: AND 000038c4: SWAP3 000038c5: SWAP1 000038c6: SWAP3 000038c7: OR 000038c8: PUSH1 0xc6 000038ca: SWAP2 000038cb: SWAP1 000038cc: SWAP2 000038cd: SHR 000038ce: PUSH8 0x0200000000000000 000038d7: AND 000038d8: OR 000038d9: PUSH1 0xc7 000038db: SWAP2 000038dc: SWAP1 000038dd: SWAP2 000038de: SHR 000038df: PUSH8 0x0100000000000000 000038e8: AND 000038e9: OR 000038ea: PUSH1 0xc8 000038ec: SWAP2 000038ed: SWAP1 000038ee: SWAP2 000038ef: SHR 000038f0: PUSH7 0x80000000000000 000038f8: AND 000038f9: OR 000038fa: PUSH1 0xc9 000038fc: SWAP2 000038fd: SWAP1 000038fe: SWAP2 000038ff: SHR 00003900: PUSH7 0x40000000000000 00003908: AND 00003909: OR 0000390a: PUSH1 0xca 0000390c: SWAP2 0000390d: SWAP1 0000390e: SWAP2 0000390f: SHR 00003910: PUSH7 0x20000000000000 00003918: AND 00003919: OR 0000391a: PUSH1 0xcb 0000391c: SWAP2 0000391d: SWAP1 0000391e: SWAP2 0000391f: SHR 00003920: PUSH7 0x10000000000000 00003928: AND 00003929: OR 0000392a: PUSH1 0xcc 0000392c: SWAP2 0000392d: SWAP1 0000392e: SWAP2 0000392f: SHR 00003930: PUSH7 0x08000000000000 00003938: AND 00003939: OR 0000393a: PUSH1 0xcd 0000393c: SWAP2 0000393d: SWAP1 0000393e: SWAP2 0000393f: SHR 00003940: PUSH7 0x04000000000000 00003948: AND 00003949: OR 0000394a: PUSH10 0x3627a301d71055774c85 00003955: DUP2 00003956: MUL 00003957: PUSH16 0x028f6481ab7f045a5af012a19d003aa9 00003968: NOT 00003969: DUP2 0000396a: ADD 0000396b: PUSH1 0x80 0000396d: SWAP1 0000396e: DUP2 0000396f: SAR 00003970: SWAP1 00003971: PUSH16 0xdb2df09e81959a81455e260799a0632f 00003982: DUP4 00003983: ADD 00003984: SWAP1 00003985: SAR 00003986: PUSH1 0x02 00003988: DUP2 00003989: DUP2 0000398a: SIGNEXTEND 0000398b: SWAP1 0000398c: DUP4 0000398d: SWAP1 0000398e: SIGNEXTEND 0000398f: EQ 00003990: PUSH2 0x39c2 00003993: JUMPI 00003994: DUP9 00003995: PUSH1 0x01 00003997: PUSH1 0x01 00003999: PUSH1 0xa0 0000399b: SHL 0000399c: SUB 0000399d: AND 0000399e: PUSH2 0x39a6 000039a1: DUP3 000039a2: PUSH2 0x2d6d 000039a5: JUMP 000039a6: JUMPDEST 000039a7: PUSH1 0x01 000039a9: PUSH1 0x01 000039ab: PUSH1 0xa0 000039ad: SHL 000039ae: SUB 000039af: AND 000039b0: GT 000039b1: ISZERO 000039b2: PUSH2 0x39bb 000039b5: JUMPI 000039b6: DUP2 000039b7: PUSH2 0x39bd 000039ba: JUMP 000039bb: JUMPDEST 000039bc: DUP1 000039bd: JUMPDEST 000039be: PUSH2 0x39c4 000039c1: JUMP 000039c2: JUMPDEST 000039c3: DUP2 000039c4: JUMPDEST 000039c5: SWAP10 000039c6: SWAP9 000039c7: POP 000039c8: POP 000039c9: POP 000039ca: POP 000039cb: POP 000039cc: POP 000039cd: POP 000039ce: POP 000039cf: POP 000039d0: JUMP 000039d1: JUMPDEST 000039d2: PUSH1 0x00 000039d4: DUP1 000039d5: PUSH1 0x00 000039d7: DUP10 000039d8: DUP10 000039d9: PUSH2 0xffff 000039dc: AND 000039dd: PUSH2 0xffff 000039e0: DUP2 000039e1: LT 000039e2: PUSH2 0x39e7 000039e5: JUMPI 000039e6: INVALID 000039e7: JUMPDEST 000039e8: PUSH1 0x40 000039ea: DUP1 000039eb: MLOAD 000039ec: PUSH1 0x80 000039ee: DUP2 000039ef: ADD 000039f0: DUP3 000039f1: MSTORE 000039f2: SWAP2 000039f3: SWAP1 000039f4: SWAP3 000039f5: ADD 000039f6: SLOAD 000039f7: PUSH4 0xffffffff 000039fc: DUP1 000039fd: DUP3 000039fe: AND 000039ff: DUP1 00003a00: DUP5 00003a01: MSTORE 00003a02: PUSH5 0x0100000000 00003a08: DUP4 00003a09: DIV 00003a0a: PUSH1 0x06 00003a0c: SWAP1 00003a0d: DUP2 00003a0e: SIGNEXTEND 00003a0f: DUP2 00003a10: SIGNEXTEND 00003a11: SWAP1 00003a12: SIGNEXTEND 00003a13: PUSH1 0x20 00003a15: DUP6 00003a16: ADD 00003a17: MSTORE 00003a18: PUSH1 0x01 00003a1a: PUSH1 0x58 00003a1c: SHL 00003a1d: DUP4 00003a1e: DIV 00003a1f: PUSH1 0x01 00003a21: PUSH1 0x01 00003a23: PUSH1 0xa0 00003a25: SHL 00003a26: SUB 00003a27: AND 00003a28: SWAP5 00003a29: DUP5 00003a2a: ADD 00003a2b: SWAP5 00003a2c: SWAP1 00003a2d: SWAP5 00003a2e: MSTORE 00003a2f: PUSH1 0x01 00003a31: PUSH1 0xf8 00003a33: SHL 00003a34: SWAP1 00003a35: SWAP2 00003a36: DIV 00003a37: PUSH1 0xff 00003a39: AND 00003a3a: ISZERO 00003a3b: ISZERO 00003a3c: PUSH1 0x60 00003a3e: DUP4 00003a3f: ADD 00003a40: MSTORE 00003a41: SWAP1 00003a42: SWAP3 00003a43: POP 00003a44: DUP10 00003a45: AND 00003a46: EQ 00003a47: ISZERO 00003a48: PUSH2 0x3a57 00003a4b: JUMPI 00003a4c: DUP9 00003a4d: DUP6 00003a4e: SWAP3 00003a4f: POP 00003a50: SWAP3 00003a51: POP 00003a52: POP 00003a53: PUSH2 0x3510 00003a56: JUMP 00003a57: JUMPDEST 00003a58: DUP5 00003a59: PUSH2 0xffff 00003a5c: AND 00003a5d: DUP5 00003a5e: PUSH2 0xffff 00003a61: AND 00003a62: GT 00003a63: DUP1 00003a64: ISZERO 00003a65: PUSH2 0x3a78 00003a68: JUMPI 00003a69: POP 00003a6a: PUSH1 0x01 00003a6c: DUP6 00003a6d: SUB 00003a6e: PUSH2 0xffff 00003a71: AND 00003a72: DUP10 00003a73: PUSH2 0xffff 00003a76: AND 00003a77: EQ 00003a78: JUMPDEST 00003a79: ISZERO 00003a7a: PUSH2 0x3a85 00003a7d: JUMPI 00003a7e: DUP4 00003a7f: SWAP2 00003a80: POP 00003a81: PUSH2 0x3a89 00003a84: JUMP 00003a85: JUMPDEST 00003a86: DUP5 00003a87: SWAP2 00003a88: POP 00003a89: JUMPDEST 00003a8a: DUP2 00003a8b: PUSH2 0xffff 00003a8e: AND 00003a8f: DUP10 00003a90: PUSH1 0x01 00003a92: ADD 00003a93: PUSH2 0xffff 00003a96: AND 00003a97: DUP2 00003a98: PUSH2 0x3a9d 00003a9b: JUMPI 00003a9c: INVALID 00003a9d: JUMPDEST 00003a9e: MOD 00003a9f: SWAP3 00003aa0: POP 00003aa1: PUSH2 0x3aac 00003aa4: DUP2 00003aa5: DUP10 00003aa6: DUP10 00003aa7: DUP10 00003aa8: PUSH2 0x4822 00003aab: JUMP 00003aac: JUMPDEST 00003aad: DUP11 00003aae: DUP5 00003aaf: PUSH2 0xffff 00003ab2: AND 00003ab3: PUSH2 0xffff 00003ab6: DUP2 00003ab7: LT 00003ab8: PUSH2 0x3abd 00003abb: JUMPI 00003abc: INVALID 00003abd: JUMPDEST 00003abe: DUP3 00003abf: MLOAD 00003ac0: SWAP2 00003ac1: ADD 00003ac2: DUP1 00003ac3: SLOAD 00003ac4: PUSH1 0x20 00003ac6: DUP5 00003ac7: ADD 00003ac8: MLOAD 00003ac9: PUSH1 0x40 00003acb: DUP6 00003acc: ADD 00003acd: MLOAD 00003ace: PUSH1 0x60 00003ad0: SWAP1 00003ad1: SWAP6 00003ad2: ADD 00003ad3: MLOAD 00003ad4: ISZERO 00003ad5: ISZERO 00003ad6: PUSH1 0x01 00003ad8: PUSH1 0xf8 00003ada: SHL 00003adb: MUL 00003adc: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003afc: PUSH1 0x01 00003afe: PUSH1 0x01 00003b00: PUSH1 0xa0 00003b02: SHL 00003b03: SUB 00003b04: SWAP1 00003b05: SWAP7 00003b06: AND 00003b07: PUSH1 0x01 00003b09: PUSH1 0x58 00003b0b: SHL 00003b0c: MUL 00003b0d: PUSH32 0xff0000000000000000000000000000000000000000ffffffffffffffffffffff 00003b2e: PUSH1 0x06 00003b30: SWAP4 00003b31: SWAP1 00003b32: SWAP4 00003b33: SIGNEXTEND 00003b34: PUSH7 0xffffffffffffff 00003b3c: AND 00003b3d: PUSH5 0x0100000000 00003b43: MUL 00003b44: PUSH11 0xffffffffffffff00000000 00003b50: NOT 00003b51: PUSH4 0xffffffff 00003b56: SWAP1 00003b57: SWAP8 00003b58: AND 00003b59: PUSH4 0xffffffff 00003b5e: NOT 00003b5f: SWAP1 00003b60: SWAP6 00003b61: AND 00003b62: SWAP5 00003b63: SWAP1 00003b64: SWAP5 00003b65: OR 00003b66: SWAP6 00003b67: SWAP1 00003b68: SWAP6 00003b69: AND 00003b6a: SWAP3 00003b6b: SWAP1 00003b6c: SWAP3 00003b6d: OR 00003b6e: AND 00003b6f: SWAP3 00003b70: SWAP1 00003b71: SWAP3 00003b72: OR 00003b73: SWAP3 00003b74: SWAP1 00003b75: SWAP3 00003b76: AND 00003b77: OR 00003b78: SWAP1 00003b79: SSTORE 00003b7a: POP 00003b7b: SWAP8 00003b7c: POP 00003b7d: SWAP8 00003b7e: SWAP6 00003b7f: POP 00003b80: POP 00003b81: POP 00003b82: POP 00003b83: POP 00003b84: POP 00003b85: JUMP 00003b86: JUMPDEST 00003b87: PUSH1 0x40 00003b89: DUP1 00003b8a: MLOAD 00003b8b: PUSH1 0x01 00003b8d: PUSH1 0x01 00003b8f: PUSH1 0xa0 00003b91: SHL 00003b92: SUB 00003b93: DUP5 00003b94: DUP2 00003b95: AND 00003b96: PUSH1 0x24 00003b98: DUP4 00003b99: ADD 00003b9a: MSTORE 00003b9b: PUSH1 0x44 00003b9d: DUP1 00003b9e: DUP4 00003b9f: ADD 00003ba0: DUP6 00003ba1: SWAP1 00003ba2: MSTORE 00003ba3: DUP4 00003ba4: MLOAD 00003ba5: DUP1 00003ba6: DUP5 00003ba7: SUB 00003ba8: SWAP1 00003ba9: SWAP2 00003baa: ADD 00003bab: DUP2 00003bac: MSTORE 00003bad: PUSH1 0x64 00003baf: SWAP1 00003bb0: SWAP3 00003bb1: ADD 00003bb2: DUP4 00003bb3: MSTORE 00003bb4: PUSH1 0x20 00003bb6: DUP3 00003bb7: ADD 00003bb8: DUP1 00003bb9: MLOAD 00003bba: PUSH1 0x01 00003bbc: PUSH1 0x01 00003bbe: PUSH1 0xe0 00003bc0: SHL 00003bc1: SUB 00003bc2: AND 00003bc3: PUSH4 0xa9059cbb 00003bc8: PUSH1 0xe0 00003bca: SHL 00003bcb: OR 00003bcc: DUP2 00003bcd: MSTORE 00003bce: SWAP3 00003bcf: MLOAD 00003bd0: DUP3 00003bd1: MLOAD 00003bd2: PUSH1 0x00 00003bd4: SWAP5 00003bd5: DUP6 00003bd6: SWAP5 00003bd7: SWAP4 00003bd8: DUP10 00003bd9: AND 00003bda: SWAP4 00003bdb: SWAP3 00003bdc: SWAP2 00003bdd: DUP3 00003bde: SWAP2 00003bdf: SWAP1 00003be0: DUP1 00003be1: DUP4 00003be2: DUP4 00003be3: JUMPDEST 00003be4: PUSH1 0x20 00003be6: DUP4 00003be7: LT 00003be8: PUSH2 0x3c02 00003beb: JUMPI 00003bec: DUP1 00003bed: MLOAD 00003bee: DUP3 00003bef: MSTORE 00003bf0: PUSH1 0x1f 00003bf2: NOT 00003bf3: SWAP1 00003bf4: SWAP3 00003bf5: ADD 00003bf6: SWAP2 00003bf7: PUSH1 0x20 00003bf9: SWAP2 00003bfa: DUP3 00003bfb: ADD 00003bfc: SWAP2 00003bfd: ADD 00003bfe: PUSH2 0x3be3 00003c01: JUMP 00003c02: JUMPDEST 00003c03: PUSH1 0x01 00003c05: DUP4 00003c06: PUSH1 0x20 00003c08: SUB 00003c09: PUSH2 0x0100 00003c0c: EXP 00003c0d: SUB 00003c0e: DUP1 00003c0f: NOT 00003c10: DUP3 00003c11: MLOAD 00003c12: AND 00003c13: DUP2 00003c14: DUP5 00003c15: MLOAD 00003c16: AND 00003c17: DUP1 00003c18: DUP3 00003c19: OR 00003c1a: DUP6 00003c1b: MSTORE 00003c1c: POP 00003c1d: POP 00003c1e: POP 00003c1f: POP 00003c20: POP 00003c21: POP 00003c22: SWAP1 00003c23: POP 00003c24: ADD 00003c25: SWAP2 00003c26: POP 00003c27: POP 00003c28: PUSH1 0x00 00003c2a: PUSH1 0x40 00003c2c: MLOAD 00003c2d: DUP1 00003c2e: DUP4 00003c2f: SUB 00003c30: DUP2 00003c31: PUSH1 0x00 00003c33: DUP7 00003c34: GAS 00003c35: CALL 00003c36: SWAP2 00003c37: POP 00003c38: POP 00003c39: RETURNDATASIZE 00003c3a: DUP1 00003c3b: PUSH1 0x00 00003c3d: DUP2 00003c3e: EQ 00003c3f: PUSH2 0x3c64 00003c42: JUMPI 00003c43: PUSH1 0x40 00003c45: MLOAD 00003c46: SWAP2 00003c47: POP 00003c48: PUSH1 0x1f 00003c4a: NOT 00003c4b: PUSH1 0x3f 00003c4d: RETURNDATASIZE 00003c4e: ADD 00003c4f: AND 00003c50: DUP3 00003c51: ADD 00003c52: PUSH1 0x40 00003c54: MSTORE 00003c55: RETURNDATASIZE 00003c56: DUP3 00003c57: MSTORE 00003c58: RETURNDATASIZE 00003c59: PUSH1 0x00 00003c5b: PUSH1 0x20 00003c5d: DUP5 00003c5e: ADD 00003c5f: RETURNDATACOPY 00003c60: PUSH2 0x3c69 00003c63: JUMP 00003c64: JUMPDEST 00003c65: PUSH1 0x60 00003c67: SWAP2 00003c68: POP 00003c69: JUMPDEST 00003c6a: POP 00003c6b: SWAP2 00003c6c: POP 00003c6d: SWAP2 00003c6e: POP 00003c6f: DUP2 00003c70: DUP1 00003c71: ISZERO 00003c72: PUSH2 0x3c97 00003c75: JUMPI 00003c76: POP 00003c77: DUP1 00003c78: MLOAD 00003c79: ISZERO 00003c7a: DUP1 00003c7b: PUSH2 0x3c97 00003c7e: JUMPI 00003c7f: POP 00003c80: DUP1 00003c81: DUP1 00003c82: PUSH1 0x20 00003c84: ADD 00003c85: SWAP1 00003c86: MLOAD 00003c87: PUSH1 0x20 00003c89: DUP2 00003c8a: LT 00003c8b: ISZERO 00003c8c: PUSH2 0x3c94 00003c8f: JUMPI 00003c90: PUSH1 0x00 00003c92: DUP1 00003c93: REVERT 00003c94: JUMPDEST 00003c95: POP 00003c96: MLOAD 00003c97: JUMPDEST 00003c98: PUSH2 0x3ccd 00003c9b: JUMPI 00003c9c: PUSH1 0x40 00003c9e: DUP1 00003c9f: MLOAD 00003ca0: PUSH3 0x461bcd 00003ca4: PUSH1 0xe5 00003ca6: SHL 00003ca7: DUP2 00003ca8: MSTORE 00003ca9: PUSH1 0x20 00003cab: PUSH1 0x04 00003cad: DUP3 00003cae: ADD 00003caf: MSTORE 00003cb0: PUSH1 0x02 00003cb2: PUSH1 0x24 00003cb4: DUP3 00003cb5: ADD 00003cb6: MSTORE 00003cb7: PUSH2 0x2a23 00003cba: PUSH1 0xf1 00003cbc: SHL 00003cbd: PUSH1 0x44 00003cbf: DUP3 00003cc0: ADD 00003cc1: MSTORE 00003cc2: SWAP1 00003cc3: MLOAD 00003cc4: SWAP1 00003cc5: DUP2 00003cc6: SWAP1 00003cc7: SUB 00003cc8: PUSH1 0x64 00003cca: ADD 00003ccb: SWAP1 00003ccc: REVERT 00003ccd: JUMPDEST 00003cce: POP 00003ccf: POP 00003cd0: POP 00003cd1: POP 00003cd2: POP 00003cd3: JUMP 00003cd4: JUMPDEST 00003cd5: PUSH1 0x40 00003cd7: DUP1 00003cd8: MLOAD 00003cd9: ADDRESS 00003cda: PUSH1 0x24 00003cdc: DUP1 00003cdd: DUP4 00003cde: ADD 00003cdf: SWAP2 00003ce0: SWAP1 00003ce1: SWAP2 00003ce2: MSTORE 00003ce3: DUP3 00003ce4: MLOAD 00003ce5: DUP1 00003ce6: DUP4 00003ce7: SUB 00003ce8: SWAP1 00003ce9: SWAP2 00003cea: ADD 00003ceb: DUP2 00003cec: MSTORE 00003ced: PUSH1 0x44 00003cef: SWAP1 00003cf0: SWAP2 00003cf1: ADD 00003cf2: DUP3 00003cf3: MSTORE 00003cf4: PUSH1 0x20 00003cf6: DUP2 00003cf7: ADD 00003cf8: DUP1 00003cf9: MLOAD 00003cfa: PUSH1 0x01 00003cfc: PUSH1 0x01 00003cfe: PUSH1 0xe0 00003d00: SHL 00003d01: SUB 00003d02: AND 00003d03: PUSH4 0x70a08231 00003d08: PUSH1 0xe0 00003d0a: SHL 00003d0b: OR 00003d0c: DUP2 00003d0d: MSTORE 00003d0e: SWAP2 00003d0f: MLOAD 00003d10: DUP2 00003d11: MLOAD 00003d12: PUSH1 0x00 00003d14: SWAP4 00003d15: DUP5 00003d16: SWAP4 00003d17: DUP5 00003d18: SWAP4 00003d19: PUSH1 0x01 00003d1b: PUSH1 0x01 00003d1d: PUSH1 0xa0 00003d1f: SHL 00003d20: SUB 00003d21: PUSH32 0x00000000000000000000000056072c95faa701256059aa122697b133aded9279 00003d42: AND 00003d43: SWAP4 00003d44: SWAP2 00003d45: SWAP3 00003d46: SWAP1 00003d47: SWAP2 00003d48: DUP3 00003d49: SWAP2 00003d4a: SWAP1 00003d4b: DUP1 00003d4c: DUP4 00003d4d: DUP4 00003d4e: JUMPDEST 00003d4f: PUSH1 0x20 00003d51: DUP4 00003d52: LT 00003d53: PUSH2 0x3d6d 00003d56: JUMPI 00003d57: DUP1 00003d58: MLOAD 00003d59: DUP3 00003d5a: MSTORE 00003d5b: PUSH1 0x1f 00003d5d: NOT 00003d5e: SWAP1 00003d5f: SWAP3 00003d60: ADD 00003d61: SWAP2 00003d62: PUSH1 0x20 00003d64: SWAP2 00003d65: DUP3 00003d66: ADD 00003d67: SWAP2 00003d68: ADD 00003d69: PUSH2 0x3d4e 00003d6c: JUMP 00003d6d: JUMPDEST 00003d6e: PUSH1 0x01 00003d70: DUP4 00003d71: PUSH1 0x20 00003d73: SUB 00003d74: PUSH2 0x0100 00003d77: EXP 00003d78: SUB 00003d79: DUP1 00003d7a: NOT 00003d7b: DUP3 00003d7c: MLOAD 00003d7d: AND 00003d7e: DUP2 00003d7f: DUP5 00003d80: MLOAD 00003d81: AND 00003d82: DUP1 00003d83: DUP3 00003d84: OR 00003d85: DUP6 00003d86: MSTORE 00003d87: POP 00003d88: POP 00003d89: POP 00003d8a: POP 00003d8b: POP 00003d8c: POP 00003d8d: SWAP1 00003d8e: POP 00003d8f: ADD 00003d90: SWAP2 00003d91: POP 00003d92: POP 00003d93: PUSH1 0x00 00003d95: PUSH1 0x40 00003d97: MLOAD 00003d98: DUP1 00003d99: DUP4 00003d9a: SUB 00003d9b: DUP2 00003d9c: DUP6 00003d9d: GAS 00003d9e: STATICCALL 00003d9f: SWAP2 00003da0: POP 00003da1: POP 00003da2: RETURNDATASIZE 00003da3: DUP1 00003da4: PUSH1 0x00 00003da6: DUP2 00003da7: EQ 00003da8: PUSH2 0x3dcd 00003dab: JUMPI 00003dac: PUSH1 0x40 00003dae: MLOAD 00003daf: SWAP2 00003db0: POP 00003db1: PUSH1 0x1f 00003db3: NOT 00003db4: PUSH1 0x3f 00003db6: RETURNDATASIZE 00003db7: ADD 00003db8: AND 00003db9: DUP3 00003dba: ADD 00003dbb: PUSH1 0x40 00003dbd: MSTORE 00003dbe: RETURNDATASIZE 00003dbf: DUP3 00003dc0: MSTORE 00003dc1: RETURNDATASIZE 00003dc2: PUSH1 0x00 00003dc4: PUSH1 0x20 00003dc6: DUP5 00003dc7: ADD 00003dc8: RETURNDATACOPY 00003dc9: PUSH2 0x3dd2 00003dcc: JUMP 00003dcd: JUMPDEST 00003dce: PUSH1 0x60 00003dd0: SWAP2 00003dd1: POP 00003dd2: JUMPDEST 00003dd3: POP 00003dd4: SWAP2 00003dd5: POP 00003dd6: SWAP2 00003dd7: POP 00003dd8: DUP2 00003dd9: DUP1 00003dda: ISZERO 00003ddb: PUSH2 0x3de6 00003dde: JUMPI 00003ddf: POP 00003de0: PUSH1 0x20 00003de2: DUP2 00003de3: MLOAD 00003de4: LT 00003de5: ISZERO 00003de6: JUMPDEST 00003de7: PUSH2 0x3def 00003dea: JUMPI 00003deb: PUSH1 0x00 00003ded: DUP1 00003dee: REVERT 00003def: JUMPDEST 00003df0: DUP1 00003df1: DUP1 00003df2: PUSH1 0x20 00003df4: ADD 00003df5: SWAP1 00003df6: MLOAD 00003df7: PUSH1 0x20 00003df9: DUP2 00003dfa: LT 00003dfb: ISZERO 00003dfc: PUSH2 0x3e04 00003dff: JUMPI 00003e00: PUSH1 0x00 00003e02: DUP1 00003e03: REVERT 00003e04: JUMPDEST 00003e05: POP 00003e06: MLOAD 00003e07: SWAP3 00003e08: POP 00003e09: POP 00003e0a: POP 00003e0b: SWAP1 00003e0c: JUMP 00003e0d: JUMPDEST 00003e0e: DUP1 00003e0f: DUP3 00003e10: ADD 00003e11: DUP3 00003e12: DUP2 00003e13: LT 00003e14: ISZERO 00003e15: PUSH2 0x32bd 00003e18: JUMPI 00003e19: PUSH1 0x00 00003e1b: DUP1 00003e1c: REVERT 00003e1d: JUMPDEST 00003e1e: PUSH1 0x40 00003e20: DUP1 00003e21: MLOAD 00003e22: ADDRESS 00003e23: PUSH1 0x24 00003e25: DUP1 00003e26: DUP4 00003e27: ADD 00003e28: SWAP2 00003e29: SWAP1 00003e2a: SWAP2 00003e2b: MSTORE 00003e2c: DUP3 00003e2d: MLOAD 00003e2e: DUP1 00003e2f: DUP4 00003e30: SUB 00003e31: SWAP1 00003e32: SWAP2 00003e33: ADD 00003e34: DUP2 00003e35: MSTORE 00003e36: PUSH1 0x44 00003e38: SWAP1 00003e39: SWAP2 00003e3a: ADD 00003e3b: DUP3 00003e3c: MSTORE 00003e3d: PUSH1 0x20 00003e3f: DUP2 00003e40: ADD 00003e41: DUP1 00003e42: MLOAD 00003e43: PUSH1 0x01 00003e45: PUSH1 0x01 00003e47: PUSH1 0xe0 00003e49: SHL 00003e4a: SUB 00003e4b: AND 00003e4c: PUSH4 0x70a08231 00003e51: PUSH1 0xe0 00003e53: SHL 00003e54: OR 00003e55: DUP2 00003e56: MSTORE 00003e57: SWAP2 00003e58: MLOAD 00003e59: DUP2 00003e5a: MLOAD 00003e5b: PUSH1 0x00 00003e5d: SWAP4 00003e5e: DUP5 00003e5f: SWAP4 00003e60: DUP5 00003e61: SWAP4 00003e62: PUSH1 0x01 00003e64: PUSH1 0x01 00003e66: PUSH1 0xa0 00003e68: SHL 00003e69: SUB 00003e6a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003e8b: AND 00003e8c: SWAP4 00003e8d: SWAP2 00003e8e: SWAP3 00003e8f: SWAP1 00003e90: SWAP2 00003e91: DUP3 00003e92: SWAP2 00003e93: SWAP1 00003e94: DUP1 00003e95: DUP4 00003e96: DUP4 00003e97: PUSH1 0x20 00003e99: DUP4 00003e9a: LT 00003e9b: PUSH2 0x3d6d 00003e9e: JUMPI 00003e9f: DUP1 00003ea0: MLOAD 00003ea1: DUP3 00003ea2: MSTORE 00003ea3: PUSH1 0x1f 00003ea5: NOT 00003ea6: SWAP1 00003ea7: SWAP3 00003ea8: ADD 00003ea9: SWAP2 00003eaa: PUSH1 0x20 00003eac: SWAP2 00003ead: DUP3 00003eae: ADD 00003eaf: SWAP2 00003eb0: ADD 00003eb1: PUSH2 0x3d4e 00003eb4: JUMP 00003eb5: JUMPDEST 00003eb6: PUSH1 0x00 00003eb8: DUP1 00003eb9: DUP4 00003eba: PUSH2 0xffff 00003ebd: AND 00003ebe: GT 00003ebf: PUSH2 0x3ef3 00003ec2: JUMPI 00003ec3: PUSH1 0x40 00003ec5: DUP1 00003ec6: MLOAD 00003ec7: PUSH3 0x461bcd 00003ecb: PUSH1 0xe5 00003ecd: SHL 00003ece: DUP2 00003ecf: MSTORE 00003ed0: PUSH1 0x20 00003ed2: PUSH1 0x04 00003ed4: DUP3 00003ed5: ADD 00003ed6: MSTORE 00003ed7: PUSH1 0x01 00003ed9: PUSH1 0x24 00003edb: DUP3 00003edc: ADD 00003edd: MSTORE 00003ede: PUSH1 0x49 00003ee0: PUSH1 0xf8 00003ee2: SHL 00003ee3: PUSH1 0x44 00003ee5: DUP3 00003ee6: ADD 00003ee7: MSTORE 00003ee8: SWAP1 00003ee9: MLOAD 00003eea: SWAP1 00003eeb: DUP2 00003eec: SWAP1 00003eed: SUB 00003eee: PUSH1 0x64 00003ef0: ADD 00003ef1: SWAP1 00003ef2: REVERT 00003ef3: JUMPDEST 00003ef4: DUP3 00003ef5: PUSH2 0xffff 00003ef8: AND 00003ef9: DUP3 00003efa: PUSH2 0xffff 00003efd: AND 00003efe: GT 00003eff: PUSH2 0x3f09 00003f02: JUMPI 00003f03: POP 00003f04: DUP2 00003f05: PUSH2 0x3382 00003f08: JUMP 00003f09: JUMPDEST 00003f0a: DUP3 00003f0b: JUMPDEST 00003f0c: DUP3 00003f0d: PUSH2 0xffff 00003f10: AND 00003f11: DUP2 00003f12: PUSH2 0xffff 00003f15: AND 00003f16: LT 00003f17: ISZERO 00003f18: PUSH2 0x3f4f 00003f1b: JUMPI 00003f1c: PUSH1 0x01 00003f1e: DUP6 00003f1f: DUP3 00003f20: PUSH2 0xffff 00003f23: AND 00003f24: PUSH2 0xffff 00003f27: DUP2 00003f28: LT 00003f29: PUSH2 0x3f2e 00003f2c: JUMPI 00003f2d: INVALID 00003f2e: JUMPDEST 00003f2f: ADD 00003f30: DUP1 00003f31: SLOAD 00003f32: PUSH4 0xffffffff 00003f37: NOT 00003f38: AND 00003f39: PUSH4 0xffffffff 00003f3e: SWAP3 00003f3f: SWAP1 00003f40: SWAP3 00003f41: AND 00003f42: SWAP2 00003f43: SWAP1 00003f44: SWAP2 00003f45: OR 00003f46: SWAP1 00003f47: SSTORE 00003f48: PUSH1 0x01 00003f4a: ADD 00003f4b: PUSH2 0x3f0b 00003f4e: JUMP 00003f4f: JUMPDEST 00003f50: POP 00003f51: SWAP1 00003f52: SWAP4 00003f53: SWAP3 00003f54: POP 00003f55: POP 00003f56: POP 00003f57: JUMP 00003f58: JUMPDEST 00003f59: DUP1 00003f5a: PUSH1 0x0f 00003f5c: DUP2 00003f5d: SWAP1 00003f5e: SIGNEXTEND 00003f5f: DUP2 00003f60: EQ 00003f61: PUSH2 0x2beb 00003f64: JUMPI 00003f65: PUSH1 0x00 00003f67: DUP1 00003f68: REVERT 00003f69: JUMPDEST 00003f6a: PUSH1 0x00 00003f6c: DUP1 00003f6d: PUSH1 0x00 00003f6f: PUSH2 0x3f76 00003f72: PUSH2 0x2bf0 00003f75: JUMP 00003f76: JUMPDEST 00003f77: PUSH2 0x3f88 00003f7a: DUP5 00003f7b: PUSH1 0x20 00003f7d: ADD 00003f7e: MLOAD 00003f7f: DUP6 00003f80: PUSH1 0x40 00003f82: ADD 00003f83: MLOAD 00003f84: PUSH2 0x43a1 00003f87: JUMP 00003f88: JUMPDEST 00003f89: PUSH1 0x40 00003f8b: DUP1 00003f8c: MLOAD 00003f8d: PUSH1 0xe0 00003f8f: DUP2 00003f90: ADD 00003f91: DUP3 00003f92: MSTORE 00003f93: PUSH1 0x00 00003f95: SLOAD 00003f96: PUSH1 0x01 00003f98: PUSH1 0x01 00003f9a: PUSH1 0xa0 00003f9c: SHL 00003f9d: SUB 00003f9e: DUP2 00003f9f: AND 00003fa0: DUP3 00003fa1: MSTORE 00003fa2: PUSH1 0x01 00003fa4: PUSH1 0xa0 00003fa6: SHL 00003fa7: DUP2 00003fa8: DIV 00003fa9: PUSH1 0x02 00003fab: SWAP1 00003fac: DUP2 00003fad: SIGNEXTEND 00003fae: DUP2 00003faf: SIGNEXTEND 00003fb0: SWAP1 00003fb1: SIGNEXTEND 00003fb2: PUSH1 0x20 00003fb4: DUP1 00003fb5: DUP5 00003fb6: ADD 00003fb7: DUP3 00003fb8: SWAP1 00003fb9: MSTORE 00003fba: PUSH2 0xffff 00003fbd: PUSH1 0x01 00003fbf: PUSH1 0xb8 00003fc1: SHL 00003fc2: DUP5 00003fc3: DIV 00003fc4: DUP2 00003fc5: AND 00003fc6: DUP6 00003fc7: DUP8 00003fc8: ADD 00003fc9: MSTORE 00003fca: PUSH1 0x01 00003fcc: PUSH1 0xc8 00003fce: SHL 00003fcf: DUP5 00003fd0: DIV 00003fd1: DUP2 00003fd2: AND 00003fd3: PUSH1 0x60 00003fd5: DUP1 00003fd6: DUP8 00003fd7: ADD 00003fd8: SWAP2 00003fd9: SWAP1 00003fda: SWAP2 00003fdb: MSTORE 00003fdc: PUSH1 0x01 00003fde: PUSH1 0xd8 00003fe0: SHL 00003fe1: DUP6 00003fe2: DIV 00003fe3: SWAP1 00003fe4: SWAP2 00003fe5: AND 00003fe6: PUSH1 0x80 00003fe8: DUP7 00003fe9: ADD 00003fea: MSTORE 00003feb: PUSH1 0xff 00003fed: PUSH1 0x01 00003fef: PUSH1 0xe8 00003ff1: SHL 00003ff2: DUP6 00003ff3: DIV 00003ff4: DUP2 00003ff5: AND 00003ff6: PUSH1 0xa0 00003ff8: DUP8 00003ff9: ADD 00003ffa: MSTORE 00003ffb: PUSH1 0x01 00003ffd: PUSH1 0xf0 00003fff: SHL 00004000: SWAP1 00004001: SWAP5 00004002: DIV 00004003: SWAP1 00004004: SWAP4 00004005: AND 00004006: ISZERO 00004007: ISZERO 00004008: PUSH1 0xc0 0000400a: DUP6 0000400b: ADD 0000400c: MSTORE 0000400d: DUP9 0000400e: MLOAD 0000400f: SWAP1 00004010: DUP10 00004011: ADD 00004012: MLOAD 00004013: SWAP5 00004014: DUP10 00004015: ADD 00004016: MLOAD 00004017: SWAP3 00004018: DUP10 00004019: ADD 0000401a: MLOAD 0000401b: SWAP4 0000401c: SWAP5 0000401d: PUSH2 0x402c 00004020: SWAP5 00004021: SWAP2 00004022: SWAP4 00004023: SWAP1 00004024: SWAP3 00004025: SWAP1 00004026: SWAP2 00004027: SWAP1 00004028: PUSH2 0x4acf 0000402b: JUMP 0000402c: JUMPDEST 0000402d: SWAP4 0000402e: POP 0000402f: DUP5 00004030: PUSH1 0x60 00004032: ADD 00004033: MLOAD 00004034: PUSH1 0x0f 00004036: SIGNEXTEND 00004037: PUSH1 0x00 00004039: EQ 0000403a: PUSH2 0x41a1 0000403d: JUMPI 0000403e: DUP5 0000403f: PUSH1 0x20 00004041: ADD 00004042: MLOAD 00004043: PUSH1 0x02 00004045: SIGNEXTEND 00004046: DUP2 00004047: PUSH1 0x20 00004049: ADD 0000404a: MLOAD 0000404b: PUSH1 0x02 0000404d: SIGNEXTEND 0000404e: SLT 0000404f: ISZERO 00004050: PUSH2 0x4081 00004053: JUMPI 00004054: PUSH2 0x407a 00004057: PUSH2 0x4063 0000405a: DUP7 0000405b: PUSH1 0x20 0000405d: ADD 0000405e: MLOAD 0000405f: PUSH2 0x2d6d 00004062: JUMP 00004063: JUMPDEST 00004064: PUSH2 0x4070 00004067: DUP8 00004068: PUSH1 0x40 0000406a: ADD 0000406b: MLOAD 0000406c: PUSH2 0x2d6d 0000406f: JUMP 00004070: JUMPDEST 00004071: DUP8 00004072: PUSH1 0x60 00004074: ADD 00004075: MLOAD 00004076: PUSH2 0x4c84 00004079: JUMP 0000407a: JUMPDEST 0000407b: SWAP3 0000407c: POP 0000407d: PUSH2 0x41a1 00004080: JUMP 00004081: JUMPDEST 00004082: DUP5 00004083: PUSH1 0x40 00004085: ADD 00004086: MLOAD 00004087: PUSH1 0x02 00004089: SIGNEXTEND 0000408a: DUP2 0000408b: PUSH1 0x20 0000408d: ADD 0000408e: MLOAD 0000408f: PUSH1 0x02 00004091: SIGNEXTEND 00004092: SLT 00004093: ISZERO 00004094: PUSH2 0x4177 00004097: JUMPI 00004098: PUSH1 0x04 0000409a: SLOAD 0000409b: PUSH1 0x40 0000409d: DUP3 0000409e: ADD 0000409f: MLOAD 000040a0: PUSH1 0x01 000040a2: PUSH1 0x01 000040a4: PUSH1 0x80 000040a6: SHL 000040a7: SUB 000040a8: SWAP1 000040a9: SWAP2 000040aa: AND 000040ab: SWAP1 000040ac: PUSH2 0x40d3 000040af: SWAP1 000040b0: PUSH2 0x40b7 000040b3: PUSH2 0x2c27 000040b6: JUMP 000040b7: JUMPDEST 000040b8: PUSH1 0x20 000040ba: DUP6 000040bb: ADD 000040bc: MLOAD 000040bd: PUSH1 0x60 000040bf: DUP7 000040c0: ADD 000040c1: MLOAD 000040c2: PUSH1 0x80 000040c4: DUP8 000040c5: ADD 000040c6: MLOAD 000040c7: PUSH1 0x08 000040c9: SWAP5 000040ca: SWAP4 000040cb: SWAP3 000040cc: SWAP2 000040cd: DUP8 000040ce: SWAP2 000040cf: PUSH2 0x39d1 000040d2: JUMP 000040d3: JUMPDEST 000040d4: PUSH1 0x00 000040d6: DUP1 000040d7: SLOAD 000040d8: PUSH2 0xffff 000040db: PUSH1 0xc8 000040dd: SHL 000040de: NOT 000040df: AND 000040e0: PUSH1 0x01 000040e2: PUSH1 0xc8 000040e4: SHL 000040e5: PUSH2 0xffff 000040e8: SWAP4 000040e9: DUP5 000040ea: AND 000040eb: MUL 000040ec: OR 000040ed: PUSH2 0xffff 000040f0: PUSH1 0xb8 000040f2: SHL 000040f3: NOT 000040f4: AND 000040f5: PUSH1 0x01 000040f7: PUSH1 0xb8 000040f9: SHL 000040fa: SWAP4 000040fb: SWAP1 000040fc: SWAP3 000040fd: AND 000040fe: SWAP3 000040ff: SWAP1 00004100: SWAP3 00004101: MUL 00004102: OR 00004103: SWAP1 00004104: SSTORE 00004105: DUP2 00004106: MLOAD 00004107: PUSH1 0x40 00004109: DUP8 0000410a: ADD 0000410b: MLOAD 0000410c: PUSH2 0x4123 0000410f: SWAP2 00004110: SWAP1 00004111: PUSH2 0x4119 00004114: SWAP1 00004115: PUSH2 0x2d6d 00004118: JUMP 00004119: JUMPDEST 0000411a: DUP9 0000411b: PUSH1 0x60 0000411d: ADD 0000411e: MLOAD 0000411f: PUSH2 0x4c84 00004122: JUMP 00004123: JUMPDEST 00004124: SWAP4 00004125: POP 00004126: PUSH2 0x4141 00004129: PUSH2 0x4135 0000412c: DUP8 0000412d: PUSH1 0x20 0000412f: ADD 00004130: MLOAD 00004131: PUSH2 0x2d6d 00004134: JUMP 00004135: JUMPDEST 00004136: DUP4 00004137: MLOAD 00004138: PUSH1 0x60 0000413a: DUP10 0000413b: ADD 0000413c: MLOAD 0000413d: PUSH2 0x4cc8 00004140: JUMP 00004141: JUMPDEST 00004142: SWAP3 00004143: POP 00004144: PUSH2 0x4151 00004147: DUP2 00004148: DUP8 00004149: PUSH1 0x60 0000414b: ADD 0000414c: MLOAD 0000414d: PUSH2 0x35ef 00004150: JUMP 00004151: JUMPDEST 00004152: PUSH1 0x04 00004154: DUP1 00004155: SLOAD 00004156: PUSH1 0x01 00004158: PUSH1 0x01 0000415a: PUSH1 0x80 0000415c: SHL 0000415d: SUB 0000415e: NOT 0000415f: AND 00004160: PUSH1 0x01 00004162: PUSH1 0x01 00004164: PUSH1 0x80 00004166: SHL 00004167: SUB 00004168: SWAP3 00004169: SWAP1 0000416a: SWAP3 0000416b: AND 0000416c: SWAP2 0000416d: SWAP1 0000416e: SWAP2 0000416f: OR 00004170: SWAP1 00004171: SSTORE 00004172: POP 00004173: PUSH2 0x41a1 00004176: JUMP 00004177: JUMPDEST 00004178: PUSH2 0x419e 0000417b: PUSH2 0x4187 0000417e: DUP7 0000417f: PUSH1 0x20 00004181: ADD 00004182: MLOAD 00004183: PUSH2 0x2d6d 00004186: JUMP 00004187: JUMPDEST 00004188: PUSH2 0x4194 0000418b: DUP8 0000418c: PUSH1 0x40 0000418e: ADD 0000418f: MLOAD 00004190: PUSH2 0x2d6d 00004193: JUMP 00004194: JUMPDEST 00004195: DUP8 00004196: PUSH1 0x60 00004198: ADD 00004199: MLOAD 0000419a: PUSH2 0x4cc8 0000419d: JUMP 0000419e: JUMPDEST 0000419f: SWAP2 000041a0: POP 000041a1: JUMPDEST 000041a2: POP 000041a3: SWAP2 000041a4: SWAP4 000041a5: SWAP1 000041a6: SWAP3 000041a7: POP 000041a8: JUMP 000041a9: JUMPDEST 000041aa: PUSH1 0x00 000041ac: PUSH2 0x41b6 000041af: DUP5 000041b0: DUP5 000041b1: DUP5 000041b2: PUSH2 0x32d9 000041b5: JUMP 000041b6: JUMPDEST 000041b7: SWAP1 000041b8: POP 000041b9: PUSH1 0x00 000041bb: DUP3 000041bc: DUP1 000041bd: PUSH2 0x41c2 000041c0: JUMPI 000041c1: INVALID 000041c2: JUMPDEST 000041c3: DUP5 000041c4: DUP7 000041c5: MULMOD 000041c6: GT 000041c7: ISZERO 000041c8: PUSH2 0x3382 000041cb: JUMPI 000041cc: PUSH1 0x00 000041ce: NOT 000041cf: DUP2 000041d0: LT 000041d1: PUSH2 0x41d9 000041d4: JUMPI 000041d5: PUSH1 0x00 000041d7: DUP1 000041d8: REVERT 000041d9: JUMPDEST 000041da: PUSH1 0x01 000041dc: ADD 000041dd: SWAP4 000041de: SWAP3 000041df: POP 000041e0: POP 000041e1: POP 000041e2: JUMP 000041e3: JUMPDEST 000041e4: PUSH1 0x40 000041e6: DUP1 000041e7: MLOAD 000041e8: PUSH1 0x60 000041ea: SWAP5 000041eb: SWAP1 000041ec: SWAP5 000041ed: SHL 000041ee: PUSH12 0xffffffffffffffffffffffff 000041fb: NOT 000041fc: AND 000041fd: PUSH1 0x20 000041ff: DUP1 00004200: DUP7 00004201: ADD 00004202: SWAP2 00004203: SWAP1 00004204: SWAP2 00004205: MSTORE 00004206: PUSH1 0x02 00004208: SWAP4 00004209: DUP5 0000420a: SIGNEXTEND 0000420b: PUSH1 0xe8 0000420d: SWAP1 0000420e: DUP2 0000420f: SHL 00004210: PUSH1 0x34 00004212: DUP8 00004213: ADD 00004214: MSTORE 00004215: SWAP3 00004216: SWAP1 00004217: SWAP4 00004218: SIGNEXTEND 00004219: SWAP1 0000421a: SWAP2 0000421b: SHL 0000421c: PUSH1 0x37 0000421e: DUP5 0000421f: ADD 00004220: MSTORE 00004221: DUP1 00004222: MLOAD 00004223: DUP1 00004224: DUP5 00004225: SUB 00004226: PUSH1 0x1a 00004228: ADD 00004229: DUP2 0000422a: MSTORE 0000422b: PUSH1 0x3a 0000422d: SWAP1 0000422e: SWAP4 0000422f: ADD 00004230: DUP2 00004231: MSTORE 00004232: DUP3 00004233: MLOAD 00004234: SWAP3 00004235: DUP3 00004236: ADD 00004237: SWAP3 00004238: SWAP1 00004239: SWAP3 0000423a: KECCAK256 0000423b: PUSH1 0x00 0000423d: SWAP1 0000423e: DUP2 0000423f: MSTORE 00004240: SWAP3 00004241: SWAP1 00004242: MSTORE 00004243: SWAP1 00004244: KECCAK256 00004245: SWAP1 00004246: JUMP 00004247: JUMPDEST 00004248: PUSH1 0x60 0000424a: DUP1 0000424b: PUSH1 0x00 0000424d: DUP4 0000424e: PUSH2 0xffff 00004251: AND 00004252: GT 00004253: PUSH2 0x4287 00004256: JUMPI 00004257: PUSH1 0x40 00004259: DUP1 0000425a: MLOAD 0000425b: PUSH3 0x461bcd 0000425f: PUSH1 0xe5 00004261: SHL 00004262: DUP2 00004263: MSTORE 00004264: PUSH1 0x20 00004266: PUSH1 0x04 00004268: DUP3 00004269: ADD 0000426a: MSTORE 0000426b: PUSH1 0x01 0000426d: PUSH1 0x24 0000426f: DUP3 00004270: ADD 00004271: MSTORE 00004272: PUSH1 0x49 00004274: PUSH1 0xf8 00004276: SHL 00004277: PUSH1 0x44 00004279: DUP3 0000427a: ADD 0000427b: MSTORE 0000427c: SWAP1 0000427d: MLOAD 0000427e: SWAP1 0000427f: DUP2 00004280: SWAP1 00004281: SUB 00004282: PUSH1 0x64 00004284: ADD 00004285: SWAP1 00004286: REVERT 00004287: JUMPDEST 00004288: DUP7 00004289: MLOAD 0000428a: PUSH8 0xffffffffffffffff 00004293: DUP2 00004294: GT 00004295: DUP1 00004296: ISZERO 00004297: PUSH2 0x429f 0000429a: JUMPI 0000429b: PUSH1 0x00 0000429d: DUP1 0000429e: REVERT 0000429f: JUMPDEST 000042a0: POP 000042a1: PUSH1 0x40 000042a3: MLOAD 000042a4: SWAP1 000042a5: DUP1 000042a6: DUP3 000042a7: MSTORE 000042a8: DUP1 000042a9: PUSH1 0x20 000042ab: MUL 000042ac: PUSH1 0x20 000042ae: ADD 000042af: DUP3 000042b0: ADD 000042b1: PUSH1 0x40 000042b3: MSTORE 000042b4: DUP1 000042b5: ISZERO 000042b6: PUSH2 0x42c9 000042b9: JUMPI 000042ba: DUP2 000042bb: PUSH1 0x20 000042bd: ADD 000042be: PUSH1 0x20 000042c0: DUP3 000042c1: MUL 000042c2: DUP1 000042c3: CALLDATASIZE 000042c4: DUP4 000042c5: CALLDATACOPY 000042c6: ADD 000042c7: SWAP1 000042c8: POP 000042c9: JUMPDEST 000042ca: POP 000042cb: SWAP2 000042cc: POP 000042cd: DUP7 000042ce: MLOAD 000042cf: PUSH8 0xffffffffffffffff 000042d8: DUP2 000042d9: GT 000042da: DUP1 000042db: ISZERO 000042dc: PUSH2 0x42e4 000042df: JUMPI 000042e0: PUSH1 0x00 000042e2: DUP1 000042e3: REVERT 000042e4: JUMPDEST 000042e5: POP 000042e6: PUSH1 0x40 000042e8: MLOAD 000042e9: SWAP1 000042ea: DUP1 000042eb: DUP3 000042ec: MSTORE 000042ed: DUP1 000042ee: PUSH1 0x20 000042f0: MUL 000042f1: PUSH1 0x20 000042f3: ADD 000042f4: DUP3 000042f5: ADD 000042f6: PUSH1 0x40 000042f8: MSTORE 000042f9: DUP1 000042fa: ISZERO 000042fb: PUSH2 0x430e 000042fe: JUMPI 000042ff: DUP2 00004300: PUSH1 0x20 00004302: ADD 00004303: PUSH1 0x20 00004305: DUP3 00004306: MUL 00004307: DUP1 00004308: CALLDATASIZE 00004309: DUP4 0000430a: CALLDATACOPY 0000430b: ADD 0000430c: SWAP1 0000430d: POP 0000430e: JUMPDEST 0000430f: POP 00004310: SWAP1 00004311: POP 00004312: PUSH1 0x00 00004314: JUMPDEST 00004315: DUP8 00004316: MLOAD 00004317: DUP2 00004318: LT 00004319: ISZERO 0000431a: PUSH2 0x4394 0000431d: JUMPI 0000431e: PUSH2 0x433f 00004321: DUP11 00004322: DUP11 00004323: DUP11 00004324: DUP5 00004325: DUP2 00004326: MLOAD 00004327: DUP2 00004328: LT 00004329: PUSH2 0x432e 0000432c: JUMPI 0000432d: INVALID 0000432e: JUMPDEST 0000432f: PUSH1 0x20 00004331: MUL 00004332: PUSH1 0x20 00004334: ADD 00004335: ADD 00004336: MLOAD 00004337: DUP11 00004338: DUP11 00004339: DUP11 0000433a: DUP11 0000433b: PUSH2 0x3389 0000433e: JUMP 0000433f: JUMPDEST 00004340: DUP5 00004341: DUP4 00004342: DUP2 00004343: MLOAD 00004344: DUP2 00004345: LT 00004346: PUSH2 0x434b 00004349: JUMPI 0000434a: INVALID 0000434b: JUMPDEST 0000434c: PUSH1 0x20 0000434e: MUL 0000434f: PUSH1 0x20 00004351: ADD 00004352: ADD 00004353: DUP5 00004354: DUP5 00004355: DUP2 00004356: MLOAD 00004357: DUP2 00004358: LT 00004359: PUSH2 0x435e 0000435c: JUMPI 0000435d: INVALID 0000435e: JUMPDEST 0000435f: PUSH1 0x20 00004361: MUL 00004362: PUSH1 0x20 00004364: ADD 00004365: ADD 00004366: DUP3 00004367: PUSH1 0x01 00004369: PUSH1 0x01 0000436b: PUSH1 0xa0 0000436d: SHL 0000436e: SUB 0000436f: AND 00004370: PUSH1 0x01 00004372: PUSH1 0x01 00004374: PUSH1 0xa0 00004376: SHL 00004377: SUB 00004378: AND 00004379: DUP2 0000437a: MSTORE 0000437b: POP 0000437c: DUP3 0000437d: PUSH1 0x06 0000437f: SIGNEXTEND 00004380: PUSH1 0x06 00004382: SIGNEXTEND 00004383: DUP2 00004384: MSTORE 00004385: POP 00004386: POP 00004387: POP 00004388: DUP1 00004389: DUP1 0000438a: PUSH1 0x01 0000438c: ADD 0000438d: SWAP2 0000438e: POP 0000438f: POP 00004390: PUSH2 0x4314 00004393: JUMP 00004394: JUMPDEST 00004395: POP 00004396: SWAP8 00004397: POP 00004398: SWAP8 00004399: SWAP6 0000439a: POP 0000439b: POP 0000439c: POP 0000439d: POP 0000439e: POP 0000439f: POP 000043a0: JUMP 000043a1: JUMPDEST 000043a2: DUP1 000043a3: PUSH1 0x02 000043a5: SIGNEXTEND 000043a6: DUP3 000043a7: PUSH1 0x02 000043a9: SIGNEXTEND 000043aa: SLT 000043ab: PUSH2 0x43e1 000043ae: JUMPI 000043af: PUSH1 0x40 000043b1: DUP1 000043b2: MLOAD 000043b3: PUSH3 0x461bcd 000043b7: PUSH1 0xe5 000043b9: SHL 000043ba: DUP2 000043bb: MSTORE 000043bc: PUSH1 0x20 000043be: PUSH1 0x04 000043c0: DUP3 000043c1: ADD 000043c2: MSTORE 000043c3: PUSH1 0x03 000043c5: PUSH1 0x24 000043c7: DUP3 000043c8: ADD 000043c9: MSTORE 000043ca: PUSH3 0x544c55 000043ce: PUSH1 0xe8 000043d0: SHL 000043d1: PUSH1 0x44 000043d3: DUP3 000043d4: ADD 000043d5: MSTORE 000043d6: SWAP1 000043d7: MLOAD 000043d8: SWAP1 000043d9: DUP2 000043da: SWAP1 000043db: SUB 000043dc: PUSH1 0x64 000043de: ADD 000043df: SWAP1 000043e0: REVERT 000043e1: JUMPDEST 000043e2: PUSH3 0x0d89e7 000043e6: NOT 000043e7: PUSH1 0x02 000043e9: DUP4 000043ea: SWAP1 000043eb: SIGNEXTEND 000043ec: SLT 000043ed: ISZERO 000043ee: PUSH2 0x4424 000043f1: JUMPI 000043f2: PUSH1 0x40 000043f4: DUP1 000043f5: MLOAD 000043f6: PUSH3 0x461bcd 000043fa: PUSH1 0xe5 000043fc: SHL 000043fd: DUP2 000043fe: MSTORE 000043ff: PUSH1 0x20 00004401: PUSH1 0x04 00004403: DUP3 00004404: ADD 00004405: MSTORE 00004406: PUSH1 0x03 00004408: PUSH1 0x24 0000440a: DUP3 0000440b: ADD 0000440c: MSTORE 0000440d: PUSH3 0x544c4d 00004411: PUSH1 0xe8 00004413: SHL 00004414: PUSH1 0x44 00004416: DUP3 00004417: ADD 00004418: MSTORE 00004419: SWAP1 0000441a: MLOAD 0000441b: SWAP1 0000441c: DUP2 0000441d: SWAP1 0000441e: SUB 0000441f: PUSH1 0x64 00004421: ADD 00004422: SWAP1 00004423: REVERT 00004424: JUMPDEST 00004425: PUSH3 0x0d89e8 00004429: PUSH1 0x02 0000442b: DUP3 0000442c: SWAP1 0000442d: SIGNEXTEND 0000442e: SGT 0000442f: ISZERO 00004430: PUSH2 0x4466 00004433: JUMPI 00004434: PUSH1 0x40 00004436: DUP1 00004437: MLOAD 00004438: PUSH3 0x461bcd 0000443c: PUSH1 0xe5 0000443e: SHL 0000443f: DUP2 00004440: MSTORE 00004441: PUSH1 0x20 00004443: PUSH1 0x04 00004445: DUP3 00004446: ADD 00004447: MSTORE 00004448: PUSH1 0x03 0000444a: PUSH1 0x24 0000444c: DUP3 0000444d: ADD 0000444e: MSTORE 0000444f: PUSH3 0x54554d 00004453: PUSH1 0xe8 00004455: SHL 00004456: PUSH1 0x44 00004458: DUP3 00004459: ADD 0000445a: MSTORE 0000445b: SWAP1 0000445c: MLOAD 0000445d: SWAP1 0000445e: DUP2 0000445f: SWAP1 00004460: SUB 00004461: PUSH1 0x64 00004463: ADD 00004464: SWAP1 00004465: REVERT 00004466: JUMPDEST 00004467: POP 00004468: POP 00004469: JUMP 0000446a: JUMPDEST 0000446b: PUSH1 0x40 0000446d: DUP1 0000446e: MLOAD 0000446f: PUSH1 0x80 00004471: DUP2 00004472: ADD 00004473: DUP3 00004474: MSTORE 00004475: PUSH4 0xffffffff 0000447a: SWAP3 0000447b: DUP4 0000447c: AND 0000447d: DUP1 0000447e: DUP3 0000447f: MSTORE 00004480: PUSH1 0x00 00004482: PUSH1 0x20 00004484: DUP4 00004485: ADD 00004486: DUP2 00004487: SWAP1 00004488: MSTORE 00004489: SWAP3 0000448a: DUP3 0000448b: ADD 0000448c: SWAP3 0000448d: SWAP1 0000448e: SWAP3 0000448f: MSTORE 00004490: PUSH1 0x01 00004492: PUSH1 0x60 00004494: SWAP1 00004495: SWAP2 00004496: ADD 00004497: DUP2 00004498: SWAP1 00004499: MSTORE 0000449a: DUP4 0000449b: SLOAD 0000449c: PUSH4 0xffffffff 000044a1: NOT 000044a2: AND 000044a3: SWAP1 000044a4: SWAP2 000044a5: OR 000044a6: SWAP1 000044a7: SWAP2 000044a8: AND 000044a9: PUSH1 0x01 000044ab: PUSH1 0xf8 000044ad: SHL 000044ae: OR 000044af: SWAP1 000044b0: SWAP2 000044b1: SSTORE 000044b2: SWAP1 000044b3: DUP2 000044b4: SWAP1 000044b5: JUMP 000044b6: JUMPDEST 000044b7: PUSH1 0x02 000044b9: SIGNEXTEND 000044ba: PUSH1 0x08 000044bc: DUP2 000044bd: SWAP1 000044be: SAR 000044bf: SWAP2 000044c0: PUSH2 0x0100 000044c3: SWAP1 000044c4: SWAP2 000044c5: SMOD 000044c6: SWAP1 000044c7: JUMP 000044c8: JUMPDEST 000044c9: PUSH1 0x00 000044cb: DUP1 000044cc: DUP3 000044cd: GT 000044ce: PUSH2 0x44d6 000044d1: JUMPI 000044d2: PUSH1 0x00 000044d4: DUP1 000044d5: REVERT 000044d6: JUMPDEST 000044d7: PUSH1 0x01 000044d9: PUSH1 0x80 000044db: SHL 000044dc: DUP3 000044dd: LT 000044de: PUSH2 0x44e9 000044e1: JUMPI 000044e2: PUSH1 0x80 000044e4: SWAP2 000044e5: DUP3 000044e6: SHR 000044e7: SWAP2 000044e8: ADD 000044e9: JUMPDEST 000044ea: PUSH9 0x010000000000000000 000044f4: DUP3 000044f5: LT 000044f6: PUSH2 0x4501 000044f9: JUMPI 000044fa: PUSH1 0x40 000044fc: SWAP2 000044fd: DUP3 000044fe: SHR 000044ff: SWAP2 00004500: ADD 00004501: JUMPDEST 00004502: PUSH5 0x0100000000 00004508: DUP3 00004509: LT 0000450a: PUSH2 0x4515 0000450d: JUMPI 0000450e: PUSH1 0x20 00004510: SWAP2 00004511: DUP3 00004512: SHR 00004513: SWAP2 00004514: ADD 00004515: JUMPDEST 00004516: PUSH3 0x010000 0000451a: DUP3 0000451b: LT 0000451c: PUSH2 0x4527 0000451f: JUMPI 00004520: PUSH1 0x10 00004522: SWAP2 00004523: DUP3 00004524: SHR 00004525: SWAP2 00004526: ADD 00004527: JUMPDEST 00004528: PUSH2 0x0100 0000452b: DUP3 0000452c: LT 0000452d: PUSH2 0x4538 00004530: JUMPI 00004531: PUSH1 0x08 00004533: SWAP2 00004534: DUP3 00004535: SHR 00004536: SWAP2 00004537: ADD 00004538: JUMPDEST 00004539: PUSH1 0x10 0000453b: DUP3 0000453c: LT 0000453d: PUSH2 0x4548 00004540: JUMPI 00004541: PUSH1 0x04 00004543: SWAP2 00004544: DUP3 00004545: SHR 00004546: SWAP2 00004547: ADD 00004548: JUMPDEST 00004549: PUSH1 0x04 0000454b: DUP3 0000454c: LT 0000454d: PUSH2 0x4558 00004550: JUMPI 00004551: PUSH1 0x02 00004553: SWAP2 00004554: DUP3 00004555: SHR 00004556: SWAP2 00004557: ADD 00004558: JUMPDEST 00004559: PUSH1 0x02 0000455b: DUP3 0000455c: LT 0000455d: PUSH2 0x2beb 00004560: JUMPI 00004561: PUSH1 0x01 00004563: ADD 00004564: SWAP2 00004565: SWAP1 00004566: POP 00004567: JUMP 00004568: JUMPDEST 00004569: PUSH1 0x00 0000456b: DUP1 0000456c: DUP3 0000456d: GT 0000456e: PUSH2 0x4576 00004571: JUMPI 00004572: PUSH1 0x00 00004574: DUP1 00004575: REVERT 00004576: JUMPDEST 00004577: POP 00004578: PUSH1 0xff 0000457a: PUSH1 0x01 0000457c: PUSH1 0x01 0000457e: PUSH1 0x80 00004580: SHL 00004581: SUB 00004582: DUP3 00004583: AND 00004584: ISZERO 00004585: PUSH2 0x4591 00004588: JUMPI 00004589: PUSH1 0x7f 0000458b: NOT 0000458c: ADD 0000458d: PUSH2 0x4599 00004590: JUMP 00004591: JUMPDEST 00004592: PUSH1 0x80 00004594: DUP3 00004595: SWAP1 00004596: SHR 00004597: SWAP2 00004598: POP 00004599: JUMPDEST 0000459a: PUSH8 0xffffffffffffffff 000045a3: DUP3 000045a4: AND 000045a5: ISZERO 000045a6: PUSH2 0x45b2 000045a9: JUMPI 000045aa: PUSH1 0x3f 000045ac: NOT 000045ad: ADD 000045ae: PUSH2 0x45ba 000045b1: JUMP 000045b2: JUMPDEST 000045b3: PUSH1 0x40 000045b5: DUP3 000045b6: SWAP1 000045b7: SHR 000045b8: SWAP2 000045b9: POP 000045ba: JUMPDEST 000045bb: PUSH4 0xffffffff 000045c0: DUP3 000045c1: AND 000045c2: ISZERO 000045c3: PUSH2 0x45cf 000045c6: JUMPI 000045c7: PUSH1 0x1f 000045c9: NOT 000045ca: ADD 000045cb: PUSH2 0x45d7 000045ce: JUMP 000045cf: JUMPDEST 000045d0: PUSH1 0x20 000045d2: DUP3 000045d3: SWAP1 000045d4: SHR 000045d5: SWAP2 000045d6: POP 000045d7: JUMPDEST 000045d8: PUSH2 0xffff 000045db: DUP3 000045dc: AND 000045dd: ISZERO 000045de: PUSH2 0x45ea 000045e1: JUMPI 000045e2: PUSH1 0x0f 000045e4: NOT 000045e5: ADD 000045e6: PUSH2 0x45f2 000045e9: JUMP 000045ea: JUMPDEST 000045eb: PUSH1 0x10 000045ed: DUP3 000045ee: SWAP1 000045ef: SHR 000045f0: SWAP2 000045f1: POP 000045f2: JUMPDEST 000045f3: PUSH1 0xff 000045f5: DUP3 000045f6: AND 000045f7: ISZERO 000045f8: PUSH2 0x4604 000045fb: JUMPI 000045fc: PUSH1 0x07 000045fe: NOT 000045ff: ADD 00004600: PUSH2 0x460c 00004603: JUMP 00004604: JUMPDEST 00004605: PUSH1 0x08 00004607: DUP3 00004608: SWAP1 00004609: SHR 0000460a: SWAP2 0000460b: POP 0000460c: JUMPDEST 0000460d: PUSH1 0x0f 0000460f: DUP3 00004610: AND 00004611: ISZERO 00004612: PUSH2 0x461e 00004615: JUMPI 00004616: PUSH1 0x03 00004618: NOT 00004619: ADD 0000461a: PUSH2 0x4626 0000461d: JUMP 0000461e: JUMPDEST 0000461f: PUSH1 0x04 00004621: DUP3 00004622: SWAP1 00004623: SHR 00004624: SWAP2 00004625: POP 00004626: JUMPDEST 00004627: PUSH1 0x03 00004629: DUP3 0000462a: AND 0000462b: ISZERO 0000462c: PUSH2 0x4638 0000462f: JUMPI 00004630: PUSH1 0x01 00004632: NOT 00004633: ADD 00004634: PUSH2 0x4640 00004637: JUMP 00004638: JUMPDEST 00004639: PUSH1 0x02 0000463b: DUP3 0000463c: SWAP1 0000463d: SHR 0000463e: SWAP2 0000463f: POP 00004640: JUMPDEST 00004641: PUSH1 0x01 00004643: DUP3 00004644: AND 00004645: ISZERO 00004646: PUSH2 0x2beb 00004649: JUMPI 0000464a: PUSH1 0x00 0000464c: NOT 0000464d: ADD 0000464e: SWAP2 0000464f: SWAP1 00004650: POP 00004651: JUMP 00004652: JUMPDEST 00004653: PUSH1 0x00 00004655: DUP4 00004656: PUSH1 0x01 00004658: PUSH1 0x01 0000465a: PUSH1 0xa0 0000465c: SHL 0000465d: SUB 0000465e: AND 0000465f: DUP6 00004660: PUSH1 0x01 00004662: PUSH1 0x01 00004664: PUSH1 0xa0 00004666: SHL 00004667: SUB 00004668: AND 00004669: GT 0000466a: ISZERO 0000466b: PUSH2 0x4672 0000466e: JUMPI 0000466f: SWAP3 00004670: SWAP4 00004671: SWAP3 00004672: JUMPDEST 00004673: DUP2 00004674: PUSH2 0x469f 00004677: JUMPI 00004678: PUSH2 0x469a 0000467b: DUP4 0000467c: PUSH1 0x01 0000467e: PUSH1 0x01 00004680: PUSH1 0x80 00004682: SHL 00004683: SUB 00004684: AND 00004685: DUP7 00004686: DUP7 00004687: SUB 00004688: PUSH1 0x01 0000468a: PUSH1 0x01 0000468c: PUSH1 0xa0 0000468e: SHL 0000468f: SUB 00004690: AND 00004691: PUSH1 0x01 00004693: PUSH1 0x60 00004695: SHL 00004696: PUSH2 0x32d9 00004699: JUMP 0000469a: JUMPDEST 0000469b: PUSH2 0x46c2 0000469e: JUMP 0000469f: JUMPDEST 000046a0: PUSH2 0x46c2 000046a3: DUP4 000046a4: PUSH1 0x01 000046a6: PUSH1 0x01 000046a8: PUSH1 0x80 000046aa: SHL 000046ab: SUB 000046ac: AND 000046ad: DUP7 000046ae: DUP7 000046af: SUB 000046b0: PUSH1 0x01 000046b2: PUSH1 0x01 000046b4: PUSH1 0xa0 000046b6: SHL 000046b7: SUB 000046b8: AND 000046b9: PUSH1 0x01 000046bb: PUSH1 0x60 000046bd: SHL 000046be: PUSH2 0x41a9 000046c1: JUMP 000046c2: JUMPDEST 000046c3: SWAP1 000046c4: POP 000046c5: JUMPDEST 000046c6: SWAP5 000046c7: SWAP4 000046c8: POP 000046c9: POP 000046ca: POP 000046cb: POP 000046cc: JUMP 000046cd: JUMPDEST 000046ce: PUSH1 0x00 000046d0: DUP4 000046d1: PUSH1 0x01 000046d3: PUSH1 0x01 000046d5: PUSH1 0xa0 000046d7: SHL 000046d8: SUB 000046d9: AND 000046da: DUP6 000046db: PUSH1 0x01 000046dd: PUSH1 0x01 000046df: PUSH1 0xa0 000046e1: SHL 000046e2: SUB 000046e3: AND 000046e4: GT 000046e5: ISZERO 000046e6: PUSH2 0x46ed 000046e9: JUMPI 000046ea: SWAP3 000046eb: SWAP4 000046ec: SWAP3 000046ed: JUMPDEST 000046ee: PUSH28 0xffffffffffffffffffffffffffffffff000000000000000000000000 0000470b: PUSH1 0x60 0000470d: DUP5 0000470e: SWAP1 0000470f: SHL 00004710: AND 00004711: PUSH1 0x01 00004713: PUSH1 0x01 00004715: PUSH1 0xa0 00004717: SHL 00004718: SUB 00004719: DUP7 0000471a: DUP7 0000471b: SUB 0000471c: DUP2 0000471d: AND 0000471e: SWAP1 0000471f: DUP8 00004720: AND 00004721: PUSH2 0x4729 00004724: JUMPI 00004725: PUSH1 0x00 00004727: DUP1 00004728: REVERT 00004729: JUMPDEST 0000472a: DUP4 0000472b: PUSH2 0x4759 0000472e: JUMPI 0000472f: DUP7 00004730: PUSH1 0x01 00004732: PUSH1 0x01 00004734: PUSH1 0xa0 00004736: SHL 00004737: SUB 00004738: AND 00004739: PUSH2 0x474c 0000473c: DUP4 0000473d: DUP4 0000473e: DUP10 0000473f: PUSH1 0x01 00004741: PUSH1 0x01 00004743: PUSH1 0xa0 00004745: SHL 00004746: SUB 00004747: AND 00004748: PUSH2 0x32d9 0000474b: JUMP 0000474c: JUMPDEST 0000474d: DUP2 0000474e: PUSH2 0x4753 00004751: JUMPI 00004752: INVALID 00004753: JUMPDEST 00004754: DIV 00004755: PUSH2 0x477f 00004758: JUMP 00004759: JUMPDEST 0000475a: PUSH2 0x477f 0000475d: PUSH2 0x4770 00004760: DUP4 00004761: DUP4 00004762: DUP10 00004763: PUSH1 0x01 00004765: PUSH1 0x01 00004767: PUSH1 0xa0 00004769: SHL 0000476a: SUB 0000476b: AND 0000476c: PUSH2 0x41a9 0000476f: JUMP 00004770: JUMPDEST 00004771: DUP9 00004772: PUSH1 0x01 00004774: PUSH1 0x01 00004776: PUSH1 0xa0 00004778: SHL 00004779: SUB 0000477a: AND 0000477b: PUSH2 0x4cf7 0000477e: JUMP 0000477f: JUMPDEST 00004780: SWAP8 00004781: SWAP7 00004782: POP 00004783: POP 00004784: POP 00004785: POP 00004786: POP 00004787: POP 00004788: POP 00004789: JUMP 0000478a: JUMPDEST 0000478b: PUSH1 0x00 0000478d: DUP1 0000478e: DUP6 0000478f: PUSH1 0x01 00004791: PUSH1 0x01 00004793: PUSH1 0xa0 00004795: SHL 00004796: SUB 00004797: AND 00004798: GT 00004799: PUSH2 0x47a1 0000479c: JUMPI 0000479d: PUSH1 0x00 0000479f: DUP1 000047a0: REVERT 000047a1: JUMPDEST 000047a2: PUSH1 0x00 000047a4: DUP5 000047a5: PUSH1 0x01 000047a7: PUSH1 0x01 000047a9: PUSH1 0x80 000047ab: SHL 000047ac: SUB 000047ad: AND 000047ae: GT 000047af: PUSH2 0x47b7 000047b2: JUMPI 000047b3: PUSH1 0x00 000047b5: DUP1 000047b6: REVERT 000047b7: JUMPDEST 000047b8: DUP2 000047b9: PUSH2 0x47c9 000047bc: JUMPI 000047bd: PUSH2 0x469a 000047c0: DUP6 000047c1: DUP6 000047c2: DUP6 000047c3: PUSH1 0x01 000047c5: PUSH2 0x4d02 000047c8: JUMP 000047c9: JUMPDEST 000047ca: PUSH2 0x46c2 000047cd: DUP6 000047ce: DUP6 000047cf: DUP6 000047d0: PUSH1 0x01 000047d2: PUSH2 0x4de3 000047d5: JUMP 000047d6: JUMPDEST 000047d7: PUSH1 0x00 000047d9: DUP1 000047da: DUP6 000047db: PUSH1 0x01 000047dd: PUSH1 0x01 000047df: PUSH1 0xa0 000047e1: SHL 000047e2: SUB 000047e3: AND 000047e4: GT 000047e5: PUSH2 0x47ed 000047e8: JUMPI 000047e9: PUSH1 0x00 000047eb: DUP1 000047ec: REVERT 000047ed: JUMPDEST 000047ee: PUSH1 0x00 000047f0: DUP5 000047f1: PUSH1 0x01 000047f3: PUSH1 0x01 000047f5: PUSH1 0x80 000047f7: SHL 000047f8: SUB 000047f9: AND 000047fa: GT 000047fb: PUSH2 0x4803 000047fe: JUMPI 000047ff: PUSH1 0x00 00004801: DUP1 00004802: REVERT 00004803: JUMPDEST 00004804: DUP2 00004805: PUSH2 0x4815 00004808: JUMPI 00004809: PUSH2 0x469a 0000480c: DUP6 0000480d: DUP6 0000480e: DUP6 0000480f: PUSH1 0x00 00004811: PUSH2 0x4de3 00004814: JUMP 00004815: JUMPDEST 00004816: PUSH2 0x46c2 00004819: DUP6 0000481a: DUP6 0000481b: DUP6 0000481c: PUSH1 0x00 0000481e: PUSH2 0x4d02 00004821: JUMP 00004822: JUMPDEST 00004823: PUSH2 0x482a 00004826: PUSH2 0x564a 00004829: JUMP 0000482a: JUMPDEST 0000482b: PUSH1 0x00 0000482d: DUP6 0000482e: PUSH1 0x00 00004830: ADD 00004831: MLOAD 00004832: DUP6 00004833: SUB 00004834: SWAP1 00004835: POP 00004836: PUSH1 0x40 00004838: MLOAD 00004839: DUP1 0000483a: PUSH1 0x80 0000483c: ADD 0000483d: PUSH1 0x40 0000483f: MSTORE 00004840: DUP1 00004841: DUP7 00004842: PUSH4 0xffffffff 00004847: AND 00004848: DUP2 00004849: MSTORE 0000484a: PUSH1 0x20 0000484c: ADD 0000484d: DUP3 0000484e: PUSH4 0xffffffff 00004853: AND 00004854: DUP7 00004855: PUSH1 0x02 00004857: SIGNEXTEND 00004858: MUL 00004859: DUP9 0000485a: PUSH1 0x20 0000485c: ADD 0000485d: MLOAD 0000485e: ADD 0000485f: PUSH1 0x06 00004861: SIGNEXTEND 00004862: DUP2 00004863: MSTORE 00004864: PUSH1 0x20 00004866: ADD 00004867: PUSH1 0x00 00004869: DUP6 0000486a: PUSH1 0x01 0000486c: PUSH1 0x01 0000486e: PUSH1 0x80 00004870: SHL 00004871: SUB 00004872: AND 00004873: GT 00004874: PUSH2 0x487e 00004877: JUMPI 00004878: PUSH1 0x01 0000487a: PUSH2 0x4880 0000487d: JUMP 0000487e: JUMPDEST 0000487f: DUP5 00004880: JUMPDEST 00004881: PUSH1 0x01 00004883: PUSH1 0x01 00004885: PUSH1 0x80 00004887: SHL 00004888: SUB 00004889: AND 0000488a: PUSH20 0xffffffff00000000000000000000000000000000 0000489f: PUSH1 0x80 000048a1: DUP6 000048a2: SWAP1 000048a3: SHL 000048a4: AND 000048a5: DUP2 000048a6: PUSH2 0x48ab 000048a9: JUMPI 000048aa: INVALID 000048ab: JUMPDEST 000048ac: DIV 000048ad: DUP9 000048ae: PUSH1 0x40 000048b0: ADD 000048b1: MLOAD 000048b2: ADD 000048b3: PUSH1 0x01 000048b5: PUSH1 0x01 000048b7: PUSH1 0xa0 000048b9: SHL 000048ba: SUB 000048bb: AND 000048bc: DUP2 000048bd: MSTORE 000048be: PUSH1 0x20 000048c0: ADD 000048c1: PUSH1 0x01 000048c3: ISZERO 000048c4: ISZERO 000048c5: DUP2 000048c6: MSTORE 000048c7: POP 000048c8: SWAP2 000048c9: POP 000048ca: POP 000048cb: SWAP5 000048cc: SWAP4 000048cd: POP 000048ce: POP 000048cf: POP 000048d0: POP 000048d1: JUMP 000048d2: JUMPDEST 000048d3: PUSH2 0x48da 000048d6: PUSH2 0x564a 000048d9: JUMP 000048da: JUMPDEST 000048db: PUSH2 0x48e2 000048de: PUSH2 0x564a 000048e1: JUMP 000048e2: JUMPDEST 000048e3: DUP9 000048e4: DUP6 000048e5: PUSH2 0xffff 000048e8: AND 000048e9: PUSH2 0xffff 000048ec: DUP2 000048ed: LT 000048ee: PUSH2 0x48f3 000048f1: JUMPI 000048f2: INVALID 000048f3: JUMPDEST 000048f4: PUSH1 0x40 000048f6: DUP1 000048f7: MLOAD 000048f8: PUSH1 0x80 000048fa: DUP2 000048fb: ADD 000048fc: DUP3 000048fd: MSTORE 000048fe: SWAP2 000048ff: SWAP1 00004900: SWAP3 00004901: ADD 00004902: SLOAD 00004903: PUSH4 0xffffffff 00004908: DUP2 00004909: AND 0000490a: DUP1 0000490b: DUP4 0000490c: MSTORE 0000490d: PUSH5 0x0100000000 00004913: DUP3 00004914: DIV 00004915: PUSH1 0x06 00004917: SWAP1 00004918: DUP2 00004919: SIGNEXTEND 0000491a: DUP2 0000491b: SIGNEXTEND 0000491c: SWAP1 0000491d: SIGNEXTEND 0000491e: PUSH1 0x20 00004920: DUP5 00004921: ADD 00004922: MSTORE 00004923: PUSH1 0x01 00004925: PUSH1 0x58 00004927: SHL 00004928: DUP3 00004929: DIV 0000492a: PUSH1 0x01 0000492c: PUSH1 0x01 0000492e: PUSH1 0xa0 00004930: SHL 00004931: SUB 00004932: AND 00004933: SWAP4 00004934: DUP4 00004935: ADD 00004936: SWAP4 00004937: SWAP1 00004938: SWAP4 00004939: MSTORE 0000493a: PUSH1 0x01 0000493c: PUSH1 0xf8 0000493e: SHL 0000493f: SWAP1 00004940: DIV 00004941: PUSH1 0xff 00004943: AND 00004944: ISZERO 00004945: ISZERO 00004946: PUSH1 0x60 00004948: DUP3 00004949: ADD 0000494a: MSTORE 0000494b: SWAP3 0000494c: POP 0000494d: PUSH2 0x4958 00004950: SWAP1 00004951: DUP10 00004952: SWAP1 00004953: DUP10 00004954: PUSH2 0x4ed8 00004957: JUMP 00004958: JUMPDEST 00004959: ISZERO 0000495a: PUSH2 0x4990 0000495d: JUMPI 0000495e: DUP7 0000495f: PUSH4 0xffffffff 00004964: AND 00004965: DUP3 00004966: PUSH1 0x00 00004968: ADD 00004969: MLOAD 0000496a: PUSH4 0xffffffff 0000496f: AND 00004970: EQ 00004971: ISZERO 00004972: PUSH2 0x497a 00004975: JUMPI 00004976: PUSH2 0x3510 00004979: JUMP 0000497a: JUMPDEST 0000497b: DUP2 0000497c: PUSH2 0x4987 0000497f: DUP4 00004980: DUP10 00004981: DUP10 00004982: DUP9 00004983: PUSH2 0x4822 00004986: JUMP 00004987: JUMPDEST 00004988: SWAP2 00004989: POP 0000498a: SWAP2 0000498b: POP 0000498c: PUSH2 0x3510 0000498f: JUMP 00004990: JUMPDEST 00004991: DUP9 00004992: DUP4 00004993: PUSH2 0xffff 00004996: AND 00004997: DUP7 00004998: PUSH1 0x01 0000499a: ADD 0000499b: PUSH2 0xffff 0000499e: AND 0000499f: DUP2 000049a0: PUSH2 0x49a5 000049a3: JUMPI 000049a4: INVALID 000049a5: JUMPDEST 000049a6: MOD 000049a7: PUSH2 0xffff 000049aa: AND 000049ab: PUSH2 0xffff 000049ae: DUP2 000049af: LT 000049b0: PUSH2 0x49b5 000049b3: JUMPI 000049b4: INVALID 000049b5: JUMPDEST 000049b6: PUSH1 0x40 000049b8: DUP1 000049b9: MLOAD 000049ba: PUSH1 0x80 000049bc: DUP2 000049bd: ADD 000049be: DUP3 000049bf: MSTORE 000049c0: SWAP3 000049c1: SWAP1 000049c2: SWAP2 000049c3: ADD 000049c4: SLOAD 000049c5: PUSH4 0xffffffff 000049ca: DUP2 000049cb: AND 000049cc: DUP4 000049cd: MSTORE 000049ce: PUSH5 0x0100000000 000049d4: DUP2 000049d5: DIV 000049d6: PUSH1 0x06 000049d8: SWAP1 000049d9: DUP2 000049da: SIGNEXTEND 000049db: DUP2 000049dc: SIGNEXTEND 000049dd: SWAP1 000049de: SIGNEXTEND 000049df: PUSH1 0x20 000049e1: DUP5 000049e2: ADD 000049e3: MSTORE 000049e4: PUSH1 0x01 000049e6: PUSH1 0x01 000049e8: PUSH1 0xa0 000049ea: SHL 000049eb: SUB 000049ec: PUSH1 0x01 000049ee: PUSH1 0x58 000049f0: SHL 000049f1: DUP3 000049f2: DIV 000049f3: AND 000049f4: SWAP2 000049f5: DUP4 000049f6: ADD 000049f7: SWAP2 000049f8: SWAP1 000049f9: SWAP2 000049fa: MSTORE 000049fb: PUSH1 0xff 000049fd: PUSH1 0x01 000049ff: PUSH1 0xf8 00004a01: SHL 00004a02: SWAP1 00004a03: SWAP2 00004a04: DIV 00004a05: AND 00004a06: ISZERO 00004a07: ISZERO 00004a08: PUSH1 0x60 00004a0a: DUP3 00004a0b: ADD 00004a0c: DUP2 00004a0d: SWAP1 00004a0e: MSTORE 00004a0f: SWAP1 00004a10: SWAP3 00004a11: POP 00004a12: PUSH2 0x4a6c 00004a15: JUMPI 00004a16: PUSH1 0x40 00004a18: DUP1 00004a19: MLOAD 00004a1a: PUSH1 0x80 00004a1c: DUP2 00004a1d: ADD 00004a1e: DUP3 00004a1f: MSTORE 00004a20: DUP11 00004a21: SLOAD 00004a22: PUSH4 0xffffffff 00004a27: DUP2 00004a28: AND 00004a29: DUP3 00004a2a: MSTORE 00004a2b: PUSH5 0x0100000000 00004a31: DUP2 00004a32: DIV 00004a33: PUSH1 0x06 00004a35: SWAP1 00004a36: DUP2 00004a37: SIGNEXTEND 00004a38: DUP2 00004a39: SIGNEXTEND 00004a3a: SWAP1 00004a3b: SIGNEXTEND 00004a3c: PUSH1 0x20 00004a3e: DUP4 00004a3f: ADD 00004a40: MSTORE 00004a41: PUSH1 0x01 00004a43: PUSH1 0x58 00004a45: SHL 00004a46: DUP2 00004a47: DIV 00004a48: PUSH1 0x01 00004a4a: PUSH1 0x01 00004a4c: PUSH1 0xa0 00004a4e: SHL 00004a4f: SUB 00004a50: AND 00004a51: SWAP3 00004a52: DUP3 00004a53: ADD 00004a54: SWAP3 00004a55: SWAP1 00004a56: SWAP3 00004a57: MSTORE 00004a58: PUSH1 0x01 00004a5a: PUSH1 0xf8 00004a5c: SHL 00004a5d: SWAP1 00004a5e: SWAP2 00004a5f: DIV 00004a60: PUSH1 0xff 00004a62: AND 00004a63: ISZERO 00004a64: ISZERO 00004a65: PUSH1 0x60 00004a67: DUP3 00004a68: ADD 00004a69: MSTORE 00004a6a: SWAP2 00004a6b: POP 00004a6c: JUMPDEST 00004a6d: PUSH2 0x4a7b 00004a70: DUP9 00004a71: DUP4 00004a72: PUSH1 0x00 00004a74: ADD 00004a75: MLOAD 00004a76: DUP10 00004a77: PUSH2 0x4ed8 00004a7a: JUMP 00004a7b: JUMPDEST 00004a7c: PUSH2 0x4ab2 00004a7f: JUMPI 00004a80: PUSH1 0x40 00004a82: DUP1 00004a83: MLOAD 00004a84: PUSH3 0x461bcd 00004a88: PUSH1 0xe5 00004a8a: SHL 00004a8b: DUP2 00004a8c: MSTORE 00004a8d: PUSH1 0x20 00004a8f: PUSH1 0x04 00004a91: DUP3 00004a92: ADD 00004a93: MSTORE 00004a94: PUSH1 0x03 00004a96: PUSH1 0x24 00004a98: DUP3 00004a99: ADD 00004a9a: MSTORE 00004a9b: PUSH3 0x13d311 00004a9f: PUSH1 0xea 00004aa1: SHL 00004aa2: PUSH1 0x44 00004aa4: DUP3 00004aa5: ADD 00004aa6: MSTORE 00004aa7: SWAP1 00004aa8: MLOAD 00004aa9: SWAP1 00004aaa: DUP2 00004aab: SWAP1 00004aac: SUB 00004aad: PUSH1 0x64 00004aaf: ADD 00004ab0: SWAP1 00004ab1: REVERT 00004ab2: JUMPDEST 00004ab3: PUSH2 0x4abf 00004ab6: DUP10 00004ab7: DUP10 00004ab8: DUP10 00004ab9: DUP9 00004aba: DUP8 00004abb: PUSH2 0x4f9b 00004abe: JUMP 00004abf: JUMPDEST 00004ac0: SWAP2 00004ac1: POP 00004ac2: SWAP2 00004ac3: POP 00004ac4: SWAP8 00004ac5: POP 00004ac6: SWAP8 00004ac7: SWAP6 00004ac8: POP 00004ac9: POP 00004aca: POP 00004acb: POP 00004acc: POP 00004acd: POP 00004ace: JUMP 00004acf: JUMPDEST 00004ad0: PUSH1 0x00 00004ad2: PUSH2 0x4ade 00004ad5: PUSH1 0x07 00004ad7: DUP8 00004ad8: DUP8 00004ad9: DUP8 00004ada: PUSH2 0x41e3 00004add: JUMP 00004ade: JUMPDEST 00004adf: PUSH1 0x01 00004ae1: SLOAD 00004ae2: PUSH1 0x02 00004ae4: SLOAD 00004ae5: SWAP2 00004ae6: SWAP3 00004ae7: POP 00004ae8: SWAP1 00004ae9: PUSH1 0x00 00004aeb: DUP1 00004aec: PUSH1 0x0f 00004aee: DUP8 00004aef: SWAP1 00004af0: SIGNEXTEND 00004af1: ISZERO 00004af2: PUSH2 0x4c24 00004af5: JUMPI 00004af6: PUSH1 0x00 00004af8: PUSH2 0x4aff 00004afb: PUSH2 0x2c27 00004afe: JUMP 00004aff: JUMPDEST 00004b00: PUSH1 0x00 00004b02: DUP1 00004b03: SLOAD 00004b04: PUSH1 0x04 00004b06: SLOAD 00004b07: SWAP3 00004b08: SWAP4 00004b09: POP 00004b0a: SWAP1 00004b0b: SWAP2 00004b0c: DUP3 00004b0d: SWAP2 00004b0e: PUSH2 0x4b49 00004b11: SWAP2 00004b12: PUSH1 0x08 00004b14: SWAP2 00004b15: DUP7 00004b16: SWAP2 00004b17: DUP6 00004b18: SWAP2 00004b19: PUSH1 0x01 00004b1b: PUSH1 0xa0 00004b1d: SHL 00004b1e: DUP2 00004b1f: DIV 00004b20: PUSH1 0x02 00004b22: SIGNEXTEND 00004b23: SWAP2 00004b24: PUSH2 0xffff 00004b27: PUSH1 0x01 00004b29: PUSH1 0xb8 00004b2b: SHL 00004b2c: DUP4 00004b2d: DIV 00004b2e: DUP2 00004b2f: AND 00004b30: SWAP3 00004b31: PUSH1 0x01 00004b33: PUSH1 0x01 00004b35: PUSH1 0x80 00004b37: SHL 00004b38: SUB 00004b39: SWAP1 00004b3a: SWAP3 00004b3b: AND 00004b3c: SWAP2 00004b3d: PUSH1 0x01 00004b3f: PUSH1 0xc8 00004b41: SHL 00004b42: SWAP1 00004b43: DIV 00004b44: AND 00004b45: PUSH2 0x3389 00004b48: JUMP 00004b49: JUMPDEST 00004b4a: SWAP1 00004b4b: SWAP3 00004b4c: POP 00004b4d: SWAP1 00004b4e: POP 00004b4f: PUSH2 0x4b83 00004b52: PUSH1 0x05 00004b54: DUP14 00004b55: DUP12 00004b56: DUP14 00004b57: DUP12 00004b58: DUP12 00004b59: DUP8 00004b5a: DUP10 00004b5b: DUP12 00004b5c: PUSH1 0x00 00004b5e: PUSH32 0x00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc 00004b7f: PUSH2 0x513b 00004b82: JUMP 00004b83: JUMPDEST 00004b84: SWAP5 00004b85: POP 00004b86: PUSH2 0x4bba 00004b89: PUSH1 0x05 00004b8b: DUP13 00004b8c: DUP12 00004b8d: DUP14 00004b8e: DUP12 00004b8f: DUP12 00004b90: DUP8 00004b91: DUP10 00004b92: DUP12 00004b93: PUSH1 0x01 00004b95: PUSH32 0x00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc 00004bb6: PUSH2 0x513b 00004bb9: JUMP 00004bba: JUMPDEST 00004bbb: SWAP4 00004bbc: POP 00004bbd: DUP5 00004bbe: ISZERO 00004bbf: PUSH2 0x4bee 00004bc2: JUMPI 00004bc3: PUSH2 0x4bee 00004bc6: PUSH1 0x06 00004bc8: DUP14 00004bc9: PUSH32 0x00000000000000000000000000000000000000000000000000000000000000c8 00004bea: PUSH2 0x5325 00004bed: JUMP 00004bee: JUMPDEST 00004bef: DUP4 00004bf0: ISZERO 00004bf1: PUSH2 0x4c20 00004bf4: JUMPI 00004bf5: PUSH2 0x4c20 00004bf8: PUSH1 0x06 00004bfa: DUP13 00004bfb: PUSH32 0x00000000000000000000000000000000000000000000000000000000000000c8 00004c1c: PUSH2 0x5325 00004c1f: JUMP 00004c20: JUMPDEST 00004c21: POP 00004c22: POP 00004c23: POP 00004c24: JUMPDEST 00004c25: PUSH1 0x00 00004c27: DUP1 00004c28: PUSH2 0x4c36 00004c2b: PUSH1 0x05 00004c2d: DUP13 00004c2e: DUP13 00004c2f: DUP12 00004c30: DUP11 00004c31: DUP11 00004c32: PUSH2 0x538b 00004c35: JUMP 00004c36: JUMPDEST 00004c37: SWAP1 00004c38: SWAP3 00004c39: POP 00004c3a: SWAP1 00004c3b: POP 00004c3c: PUSH2 0x4c47 00004c3f: DUP8 00004c40: DUP11 00004c41: DUP5 00004c42: DUP5 00004c43: PUSH2 0x5437 00004c46: JUMP 00004c47: JUMPDEST 00004c48: PUSH1 0x00 00004c4a: DUP10 00004c4b: PUSH1 0x0f 00004c4d: SIGNEXTEND 00004c4e: SLT 00004c4f: ISZERO 00004c50: PUSH2 0x4c75 00004c53: JUMPI 00004c54: DUP4 00004c55: ISZERO 00004c56: PUSH2 0x4c64 00004c59: JUMPI 00004c5a: PUSH2 0x4c64 00004c5d: PUSH1 0x05 00004c5f: DUP13 00004c60: PUSH2 0x55cc 00004c63: JUMP 00004c64: JUMPDEST 00004c65: DUP3 00004c66: ISZERO 00004c67: PUSH2 0x4c75 00004c6a: JUMPI 00004c6b: PUSH2 0x4c75 00004c6e: PUSH1 0x05 00004c70: DUP12 00004c71: PUSH2 0x55cc 00004c74: JUMP 00004c75: JUMPDEST 00004c76: POP 00004c77: POP 00004c78: POP 00004c79: POP 00004c7a: POP 00004c7b: POP 00004c7c: SWAP6 00004c7d: SWAP5 00004c7e: POP 00004c7f: POP 00004c80: POP 00004c81: POP 00004c82: POP 00004c83: JUMP 00004c84: JUMPDEST 00004c85: PUSH1 0x00 00004c87: DUP1 00004c88: DUP3 00004c89: PUSH1 0x0f 00004c8b: SIGNEXTEND 00004c8c: SLT 00004c8d: PUSH2 0x4caa 00004c90: JUMPI 00004c91: PUSH2 0x4ca5 00004c94: PUSH2 0x4ca0 00004c97: DUP6 00004c98: DUP6 00004c99: DUP6 00004c9a: PUSH1 0x01 00004c9c: PUSH2 0x46cd 00004c9f: JUMP 00004ca0: JUMPDEST 00004ca1: PUSH2 0x3291 00004ca4: JUMP 00004ca5: JUMPDEST 00004ca6: PUSH2 0x46c5 00004ca9: JUMP 00004caa: JUMPDEST 00004cab: PUSH2 0x4cbd 00004cae: PUSH2 0x4ca0 00004cb1: DUP6 00004cb2: DUP6 00004cb3: DUP6 00004cb4: PUSH1 0x00 00004cb6: SUB 00004cb7: PUSH1 0x00 00004cb9: PUSH2 0x46cd 00004cbc: JUMP 00004cbd: JUMPDEST 00004cbe: PUSH1 0x00 00004cc0: SUB 00004cc1: SWAP5 00004cc2: SWAP4 00004cc3: POP 00004cc4: POP 00004cc5: POP 00004cc6: POP 00004cc7: JUMP 00004cc8: JUMPDEST 00004cc9: PUSH1 0x00 00004ccb: DUP1 00004ccc: DUP3 00004ccd: PUSH1 0x0f 00004ccf: SIGNEXTEND 00004cd0: SLT 00004cd1: PUSH2 0x4ce4 00004cd4: JUMPI 00004cd5: PUSH2 0x4ca5 00004cd8: PUSH2 0x4ca0 00004cdb: DUP6 00004cdc: DUP6 00004cdd: DUP6 00004cde: PUSH1 0x01 00004ce0: PUSH2 0x4652 00004ce3: JUMP 00004ce4: JUMPDEST 00004ce5: PUSH2 0x4cbd 00004ce8: PUSH2 0x4ca0 00004ceb: DUP6 00004cec: DUP6 00004ced: DUP6 00004cee: PUSH1 0x00 00004cf0: SUB 00004cf1: PUSH1 0x00 00004cf3: PUSH2 0x4652 00004cf6: JUMP 00004cf7: JUMPDEST 00004cf8: DUP1 00004cf9: DUP3 00004cfa: DIV 00004cfb: SWAP2 00004cfc: MOD 00004cfd: ISZERO 00004cfe: ISZERO 00004cff: ADD 00004d00: SWAP1 00004d01: JUMP 00004d02: JUMPDEST 00004d03: PUSH1 0x00 00004d05: DUP2 00004d06: ISZERO 00004d07: PUSH2 0x4d75 00004d0a: JUMPI 00004d0b: PUSH1 0x00 00004d0d: PUSH1 0x01 00004d0f: PUSH1 0x01 00004d11: PUSH1 0xa0 00004d13: SHL 00004d14: SUB 00004d15: DUP5 00004d16: GT 00004d17: ISZERO 00004d18: PUSH2 0x4d38 00004d1b: JUMPI 00004d1c: PUSH2 0x4d33 00004d1f: DUP5 00004d20: PUSH1 0x01 00004d22: PUSH1 0x60 00004d24: SHL 00004d25: DUP8 00004d26: PUSH1 0x01 00004d28: PUSH1 0x01 00004d2a: PUSH1 0x80 00004d2c: SHL 00004d2d: SUB 00004d2e: AND 00004d2f: PUSH2 0x32d9 00004d32: JUMP 00004d33: JUMPDEST 00004d34: PUSH2 0x4d50 00004d37: JUMP 00004d38: JUMPDEST 00004d39: PUSH1 0x01 00004d3b: PUSH1 0x01 00004d3d: PUSH1 0x80 00004d3f: SHL 00004d40: SUB 00004d41: DUP6 00004d42: AND 00004d43: PUSH1 0x60 00004d45: DUP6 00004d46: SWAP1 00004d47: SHL 00004d48: DUP2 00004d49: PUSH2 0x4d4e 00004d4c: JUMPI 00004d4d: INVALID 00004d4e: JUMPDEST 00004d4f: DIV 00004d50: JUMPDEST 00004d51: SWAP1 00004d52: POP 00004d53: PUSH2 0x4d6d 00004d56: PUSH2 0x4d68 00004d59: PUSH1 0x01 00004d5b: PUSH1 0x01 00004d5d: PUSH1 0xa0 00004d5f: SHL 00004d60: SUB 00004d61: DUP9 00004d62: AND 00004d63: DUP4 00004d64: PUSH2 0x3e0d 00004d67: JUMP 00004d68: JUMPDEST 00004d69: PUSH2 0x55f8 00004d6c: JUMP 00004d6d: JUMPDEST 00004d6e: SWAP2 00004d6f: POP 00004d70: POP 00004d71: PUSH2 0x46c5 00004d74: JUMP 00004d75: JUMPDEST 00004d76: PUSH1 0x00 00004d78: PUSH1 0x01 00004d7a: PUSH1 0x01 00004d7c: PUSH1 0xa0 00004d7e: SHL 00004d7f: SUB 00004d80: DUP5 00004d81: GT 00004d82: ISZERO 00004d83: PUSH2 0x4da3 00004d86: JUMPI 00004d87: PUSH2 0x4d9e 00004d8a: DUP5 00004d8b: PUSH1 0x01 00004d8d: PUSH1 0x60 00004d8f: SHL 00004d90: DUP8 00004d91: PUSH1 0x01 00004d93: PUSH1 0x01 00004d95: PUSH1 0x80 00004d97: SHL 00004d98: SUB 00004d99: AND 00004d9a: PUSH2 0x41a9 00004d9d: JUMP 00004d9e: JUMPDEST 00004d9f: PUSH2 0x4dba 00004da2: JUMP 00004da3: JUMPDEST 00004da4: PUSH2 0x4dba 00004da7: PUSH1 0x60 00004da9: DUP6 00004daa: SWAP1 00004dab: SHL 00004dac: PUSH1 0x01 00004dae: PUSH1 0x01 00004db0: PUSH1 0x80 00004db2: SHL 00004db3: SUB 00004db4: DUP8 00004db5: AND 00004db6: PUSH2 0x4cf7 00004db9: JUMP 00004dba: JUMPDEST 00004dbb: SWAP1 00004dbc: POP 00004dbd: DUP1 00004dbe: DUP7 00004dbf: PUSH1 0x01 00004dc1: PUSH1 0x01 00004dc3: PUSH1 0xa0 00004dc5: SHL 00004dc6: SUB 00004dc7: AND 00004dc8: GT 00004dc9: PUSH2 0x4dd1 00004dcc: JUMPI 00004dcd: PUSH1 0x00 00004dcf: DUP1 00004dd0: REVERT 00004dd1: JUMPDEST 00004dd2: PUSH1 0x01 00004dd4: PUSH1 0x01 00004dd6: PUSH1 0xa0 00004dd8: SHL 00004dd9: SUB 00004dda: DUP7 00004ddb: AND 00004ddc: SUB 00004ddd: SWAP1 00004dde: POP 00004ddf: PUSH2 0x46c5 00004de2: JUMP 00004de3: JUMPDEST 00004de4: PUSH1 0x00 00004de6: DUP3 00004de7: PUSH2 0x4df1 00004dea: JUMPI 00004deb: POP 00004dec: DUP4 00004ded: PUSH2 0x46c5 00004df0: JUMP 00004df1: JUMPDEST 00004df2: PUSH28 0xffffffffffffffffffffffffffffffff000000000000000000000000 00004e0f: PUSH1 0x60 00004e11: DUP6 00004e12: SWAP1 00004e13: SHL 00004e14: AND 00004e15: DUP3 00004e16: ISZERO 00004e17: PUSH2 0x4e91 00004e1a: JUMPI 00004e1b: PUSH1 0x01 00004e1d: PUSH1 0x01 00004e1f: PUSH1 0xa0 00004e21: SHL 00004e22: SUB 00004e23: DUP7 00004e24: AND 00004e25: DUP5 00004e26: DUP2 00004e27: MUL 00004e28: SWAP1 00004e29: DUP6 00004e2a: DUP3 00004e2b: DUP2 00004e2c: PUSH2 0x4e31 00004e2f: JUMPI 00004e30: INVALID 00004e31: JUMPDEST 00004e32: DIV 00004e33: EQ 00004e34: ISZERO 00004e35: PUSH2 0x4e62 00004e38: JUMPI 00004e39: DUP2 00004e3a: DUP2 00004e3b: ADD 00004e3c: DUP3 00004e3d: DUP2 00004e3e: LT 00004e3f: PUSH2 0x4e60 00004e42: JUMPI 00004e43: PUSH2 0x4e56 00004e46: DUP4 00004e47: DUP10 00004e48: PUSH1 0x01 00004e4a: PUSH1 0x01 00004e4c: PUSH1 0xa0 00004e4e: SHL 00004e4f: SUB 00004e50: AND 00004e51: DUP4 00004e52: PUSH2 0x41a9 00004e55: JUMP 00004e56: JUMPDEST 00004e57: SWAP4 00004e58: POP 00004e59: POP 00004e5a: POP 00004e5b: POP 00004e5c: PUSH2 0x46c5 00004e5f: JUMP 00004e60: JUMPDEST 00004e61: POP 00004e62: JUMPDEST 00004e63: PUSH2 0x4e88 00004e66: DUP3 00004e67: PUSH2 0x4e83 00004e6a: DUP8 00004e6b: DUP11 00004e6c: PUSH1 0x01 00004e6e: PUSH1 0x01 00004e70: PUSH1 0xa0 00004e72: SHL 00004e73: SUB 00004e74: AND 00004e75: DUP7 00004e76: DUP2 00004e77: PUSH2 0x4e7c 00004e7a: JUMPI 00004e7b: INVALID 00004e7c: JUMPDEST 00004e7d: DIV 00004e7e: SWAP1 00004e7f: PUSH2 0x3e0d 00004e82: JUMP 00004e83: JUMPDEST 00004e84: PUSH2 0x4cf7 00004e87: JUMP 00004e88: JUMPDEST 00004e89: SWAP3 00004e8a: POP 00004e8b: POP 00004e8c: POP 00004e8d: PUSH2 0x46c5 00004e90: JUMP 00004e91: JUMPDEST 00004e92: PUSH1 0x01 00004e94: PUSH1 0x01 00004e96: PUSH1 0xa0 00004e98: SHL 00004e99: SUB 00004e9a: DUP7 00004e9b: AND 00004e9c: DUP5 00004e9d: DUP2 00004e9e: MUL 00004e9f: SWAP1 00004ea0: DUP6 00004ea1: DUP3 00004ea2: DUP2 00004ea3: PUSH2 0x4ea8 00004ea6: JUMPI 00004ea7: INVALID 00004ea8: JUMPDEST 00004ea9: DIV 00004eaa: EQ 00004eab: DUP1 00004eac: ISZERO 00004ead: PUSH2 0x4eb5 00004eb0: JUMPI 00004eb1: POP 00004eb2: DUP1 00004eb3: DUP3 00004eb4: GT 00004eb5: JUMPDEST 00004eb6: PUSH2 0x4ebe 00004eb9: JUMPI 00004eba: PUSH1 0x00 00004ebc: DUP1 00004ebd: REVERT 00004ebe: JUMPDEST 00004ebf: DUP1 00004ec0: DUP3 00004ec1: SUB 00004ec2: PUSH2 0x4e56 00004ec5: PUSH2 0x4d68 00004ec8: DUP5 00004ec9: PUSH1 0x01 00004ecb: PUSH1 0x01 00004ecd: PUSH1 0xa0 00004ecf: SHL 00004ed0: SUB 00004ed1: DUP12 00004ed2: AND 00004ed3: DUP5 00004ed4: PUSH2 0x41a9 00004ed7: JUMP 00004ed8: JUMPDEST 00004ed9: PUSH1 0x00 00004edb: DUP4 00004edc: PUSH4 0xffffffff 00004ee1: AND 00004ee2: DUP4 00004ee3: PUSH4 0xffffffff 00004ee8: AND 00004ee9: GT 00004eea: ISZERO 00004eeb: DUP1 00004eec: ISZERO 00004eed: PUSH2 0x4f02 00004ef0: JUMPI 00004ef1: POP 00004ef2: DUP4 00004ef3: PUSH4 0xffffffff 00004ef8: AND 00004ef9: DUP3 00004efa: PUSH4 0xffffffff 00004eff: AND 00004f00: GT 00004f01: ISZERO 00004f02: JUMPDEST 00004f03: ISZERO 00004f04: PUSH2 0x4f1e 00004f07: JUMPI 00004f08: DUP2 00004f09: PUSH4 0xffffffff 00004f0e: AND 00004f0f: DUP4 00004f10: PUSH4 0xffffffff 00004f15: AND 00004f16: GT 00004f17: ISZERO 00004f18: SWAP1 00004f19: POP 00004f1a: PUSH2 0x3382 00004f1d: JUMP 00004f1e: JUMPDEST 00004f1f: PUSH1 0x00 00004f21: DUP5 00004f22: PUSH4 0xffffffff 00004f27: AND 00004f28: DUP5 00004f29: PUSH4 0xffffffff 00004f2e: AND 00004f2f: GT 00004f30: PUSH2 0x4f46 00004f33: JUMPI 00004f34: DUP4 00004f35: PUSH4 0xffffffff 00004f3a: AND 00004f3b: PUSH5 0x0100000000 00004f41: ADD 00004f42: PUSH2 0x4f4e 00004f45: JUMP 00004f46: JUMPDEST 00004f47: DUP4 00004f48: PUSH4 0xffffffff 00004f4d: AND 00004f4e: JUMPDEST 00004f4f: PUSH5 0xffffffffff 00004f55: AND 00004f56: SWAP1 00004f57: POP 00004f58: PUSH1 0x00 00004f5a: DUP6 00004f5b: PUSH4 0xffffffff 00004f60: AND 00004f61: DUP5 00004f62: PUSH4 0xffffffff 00004f67: AND 00004f68: GT 00004f69: PUSH2 0x4f7f 00004f6c: JUMPI 00004f6d: DUP4 00004f6e: PUSH4 0xffffffff 00004f73: AND 00004f74: PUSH5 0x0100000000 00004f7a: ADD 00004f7b: PUSH2 0x4f87 00004f7e: JUMP 00004f7f: JUMPDEST 00004f80: DUP4 00004f81: PUSH4 0xffffffff 00004f86: AND 00004f87: JUMPDEST 00004f88: PUSH5 0xffffffffff 00004f8e: AND 00004f8f: SWAP1 00004f90: SWAP2 00004f91: GT 00004f92: ISZERO 00004f93: SWAP6 00004f94: SWAP5 00004f95: POP 00004f96: POP 00004f97: POP 00004f98: POP 00004f99: POP 00004f9a: JUMP 00004f9b: JUMPDEST 00004f9c: PUSH2 0x4fa3 00004f9f: PUSH2 0x564a 00004fa2: JUMP 00004fa3: JUMPDEST 00004fa4: PUSH2 0x4fab 00004fa7: PUSH2 0x564a 00004faa: JUMP 00004fab: JUMPDEST 00004fac: PUSH1 0x00 00004fae: DUP4 00004faf: PUSH2 0xffff 00004fb2: AND 00004fb3: DUP6 00004fb4: PUSH1 0x01 00004fb6: ADD 00004fb7: PUSH2 0xffff 00004fba: AND 00004fbb: DUP2 00004fbc: PUSH2 0x4fc1 00004fbf: JUMPI 00004fc0: INVALID 00004fc1: JUMPDEST 00004fc2: MOD 00004fc3: PUSH2 0xffff 00004fc6: AND 00004fc7: SWAP1 00004fc8: POP 00004fc9: PUSH1 0x00 00004fcb: PUSH1 0x01 00004fcd: DUP6 00004fce: PUSH2 0xffff 00004fd1: AND 00004fd2: DUP4 00004fd3: ADD 00004fd4: SUB 00004fd5: SWAP1 00004fd6: POP 00004fd7: PUSH1 0x00 00004fd9: JUMPDEST 00004fda: POP 00004fdb: PUSH1 0x02 00004fdd: DUP2 00004fde: DUP4 00004fdf: ADD 00004fe0: DIV 00004fe1: DUP10 00004fe2: PUSH2 0xffff 00004fe5: DUP8 00004fe6: AND 00004fe7: DUP3 00004fe8: DUP2 00004fe9: PUSH2 0x4fee 00004fec: JUMPI 00004fed: INVALID 00004fee: JUMPDEST 00004fef: MOD 00004ff0: PUSH2 0xffff 00004ff3: DUP2 00004ff4: LT 00004ff5: PUSH2 0x4ffa 00004ff8: JUMPI 00004ff9: INVALID 00004ffa: JUMPDEST 00004ffb: PUSH1 0x40 00004ffd: DUP1 00004ffe: MLOAD 00004fff: PUSH1 0x80 00005001: DUP2 00005002: ADD 00005003: DUP3 00005004: MSTORE 00005005: SWAP3 00005006: SWAP1 00005007: SWAP2 00005008: ADD 00005009: SLOAD 0000500a: PUSH4 0xffffffff 0000500f: DUP2 00005010: AND 00005011: DUP4 00005012: MSTORE 00005013: PUSH5 0x0100000000 00005019: DUP2 0000501a: DIV 0000501b: PUSH1 0x06 0000501d: SWAP1 0000501e: DUP2 0000501f: SIGNEXTEND 00005020: DUP2 00005021: SIGNEXTEND 00005022: SWAP1 00005023: SIGNEXTEND 00005024: PUSH1 0x20 00005026: DUP5 00005027: ADD 00005028: MSTORE 00005029: PUSH1 0x01 0000502b: PUSH1 0x01 0000502d: PUSH1 0xa0 0000502f: SHL 00005030: SUB 00005031: PUSH1 0x01 00005033: PUSH1 0x58 00005035: SHL 00005036: DUP3 00005037: DIV 00005038: AND 00005039: SWAP2 0000503a: DUP4 0000503b: ADD 0000503c: SWAP2 0000503d: SWAP1 0000503e: SWAP2 0000503f: MSTORE 00005040: PUSH1 0xff 00005042: PUSH1 0x01 00005044: PUSH1 0xf8 00005046: SHL 00005047: SWAP1 00005048: SWAP2 00005049: DIV 0000504a: AND 0000504b: ISZERO 0000504c: ISZERO 0000504d: PUSH1 0x60 0000504f: DUP3 00005050: ADD 00005051: DUP2 00005052: SWAP1 00005053: MSTORE 00005054: SWAP1 00005055: SWAP6 00005056: POP 00005057: PUSH2 0x5065 0000505a: JUMPI 0000505b: DUP1 0000505c: PUSH1 0x01 0000505e: ADD 0000505f: SWAP3 00005060: POP 00005061: PUSH2 0x4fd9 00005064: JUMP 00005065: JUMPDEST 00005066: DUP10 00005067: DUP7 00005068: PUSH2 0xffff 0000506b: AND 0000506c: DUP3 0000506d: PUSH1 0x01 0000506f: ADD 00005070: DUP2 00005071: PUSH2 0x5076 00005074: JUMPI 00005075: INVALID 00005076: JUMPDEST 00005077: MOD 00005078: PUSH2 0xffff 0000507b: DUP2 0000507c: LT 0000507d: PUSH2 0x5082 00005080: JUMPI 00005081: INVALID 00005082: JUMPDEST 00005083: PUSH1 0x40 00005085: DUP1 00005086: MLOAD 00005087: PUSH1 0x80 00005089: DUP2 0000508a: ADD 0000508b: DUP3 0000508c: MSTORE 0000508d: SWAP3 0000508e: SWAP1 0000508f: SWAP2 00005090: ADD 00005091: SLOAD 00005092: PUSH4 0xffffffff 00005097: DUP2 00005098: AND 00005099: DUP4 0000509a: MSTORE 0000509b: PUSH5 0x0100000000 000050a1: DUP2 000050a2: DIV 000050a3: PUSH1 0x06 000050a5: SWAP1 000050a6: DUP2 000050a7: SIGNEXTEND 000050a8: DUP2 000050a9: SIGNEXTEND 000050aa: SWAP1 000050ab: SIGNEXTEND 000050ac: PUSH1 0x20 000050ae: DUP5 000050af: ADD 000050b0: MSTORE 000050b1: PUSH1 0x01 000050b3: PUSH1 0x01 000050b5: PUSH1 0xa0 000050b7: SHL 000050b8: SUB 000050b9: PUSH1 0x01 000050bb: PUSH1 0x58 000050bd: SHL 000050be: DUP3 000050bf: DIV 000050c0: AND 000050c1: SWAP2 000050c2: DUP4 000050c3: ADD 000050c4: SWAP2 000050c5: SWAP1 000050c6: SWAP2 000050c7: MSTORE 000050c8: PUSH1 0xff 000050ca: PUSH1 0x01 000050cc: PUSH1 0xf8 000050ce: SHL 000050cf: SWAP1 000050d0: SWAP2 000050d1: DIV 000050d2: AND 000050d3: ISZERO 000050d4: ISZERO 000050d5: PUSH1 0x60 000050d7: DUP3 000050d8: ADD 000050d9: MSTORE 000050da: DUP6 000050db: MLOAD 000050dc: SWAP1 000050dd: SWAP5 000050de: POP 000050df: PUSH1 0x00 000050e1: SWAP1 000050e2: PUSH2 0x50ed 000050e5: SWAP1 000050e6: DUP12 000050e7: SWAP1 000050e8: DUP12 000050e9: PUSH2 0x4ed8 000050ec: JUMP 000050ed: JUMPDEST 000050ee: SWAP1 000050ef: POP 000050f0: DUP1 000050f1: DUP1 000050f2: ISZERO 000050f3: PUSH2 0x5106 000050f6: JUMPI 000050f7: POP 000050f8: PUSH2 0x5106 000050fb: DUP11 000050fc: DUP11 000050fd: DUP8 000050fe: PUSH1 0x00 00005100: ADD 00005101: MLOAD 00005102: PUSH2 0x4ed8 00005105: JUMP 00005106: JUMPDEST 00005107: ISZERO 00005108: PUSH2 0x5111 0000510b: JUMPI 0000510c: POP 0000510d: PUSH2 0x512e 00005110: JUMP 00005111: JUMPDEST 00005112: DUP1 00005113: PUSH2 0x5121 00005116: JUMPI 00005117: PUSH1 0x01 00005119: DUP3 0000511a: SUB 0000511b: SWAP3 0000511c: POP 0000511d: PUSH2 0x5128 00005120: JUMP 00005121: JUMPDEST 00005122: DUP2 00005123: PUSH1 0x01 00005125: ADD 00005126: SWAP4 00005127: POP 00005128: JUMPDEST 00005129: POP 0000512a: PUSH2 0x4fd9 0000512d: JUMP 0000512e: JUMPDEST 0000512f: POP 00005130: POP 00005131: POP 00005132: SWAP6 00005133: POP 00005134: SWAP6 00005135: SWAP4 00005136: POP 00005137: POP 00005138: POP 00005139: POP 0000513a: JUMP 0000513b: JUMPDEST 0000513c: PUSH1 0x02 0000513e: DUP11 0000513f: DUP2 00005140: SIGNEXTEND 00005141: SWAP1 00005142: SIGNEXTEND 00005143: PUSH1 0x00 00005145: SWAP1 00005146: DUP2 00005147: MSTORE 00005148: PUSH1 0x20 0000514a: DUP13 0000514b: SWAP1 0000514c: MSTORE 0000514d: PUSH1 0x40 0000514f: DUP2 00005150: KECCAK256 00005151: DUP1 00005152: SLOAD 00005153: PUSH1 0x01 00005155: PUSH1 0x01 00005157: PUSH1 0x80 00005159: SHL 0000515a: SUB 0000515b: AND 0000515c: DUP3 0000515d: PUSH2 0x5166 00005160: DUP3 00005161: DUP14 00005162: PUSH2 0x35ef 00005165: JUMP 00005166: JUMPDEST 00005167: SWAP1 00005168: POP 00005169: DUP5 0000516a: PUSH1 0x01 0000516c: PUSH1 0x01 0000516e: PUSH1 0x80 00005170: SHL 00005171: SUB 00005172: AND 00005173: DUP2 00005174: PUSH1 0x01 00005176: PUSH1 0x01 00005178: PUSH1 0x80 0000517a: SHL 0000517b: SUB 0000517c: AND 0000517d: GT 0000517e: ISZERO 0000517f: PUSH2 0x51b4 00005182: JUMPI 00005183: PUSH1 0x40 00005185: DUP1 00005186: MLOAD 00005187: PUSH3 0x461bcd 0000518b: PUSH1 0xe5 0000518d: SHL 0000518e: DUP2 0000518f: MSTORE 00005190: PUSH1 0x20 00005192: PUSH1 0x04 00005194: DUP3 00005195: ADD 00005196: MSTORE 00005197: PUSH1 0x02 00005199: PUSH1 0x24 0000519b: DUP3 0000519c: ADD 0000519d: MSTORE 0000519e: PUSH2 0x4c4f 000051a1: PUSH1 0xf0 000051a3: SHL 000051a4: PUSH1 0x44 000051a6: DUP3 000051a7: ADD 000051a8: MSTORE 000051a9: SWAP1 000051aa: MLOAD 000051ab: SWAP1 000051ac: DUP2 000051ad: SWAP1 000051ae: SUB 000051af: PUSH1 0x64 000051b1: ADD 000051b2: SWAP1 000051b3: REVERT 000051b4: JUMPDEST 000051b5: PUSH1 0x01 000051b7: PUSH1 0x01 000051b9: PUSH1 0x80 000051bb: SHL 000051bc: SUB 000051bd: DUP3 000051be: DUP2 000051bf: AND 000051c0: ISZERO 000051c1: SWAP1 000051c2: DUP3 000051c3: AND 000051c4: ISZERO 000051c5: DUP2 000051c6: EQ 000051c7: ISZERO 000051c8: SWAP5 000051c9: POP 000051ca: ISZERO 000051cb: PUSH2 0x528a 000051ce: JUMPI 000051cf: DUP13 000051d0: PUSH1 0x02 000051d2: SIGNEXTEND 000051d3: DUP15 000051d4: PUSH1 0x02 000051d6: SIGNEXTEND 000051d7: SGT 000051d8: PUSH2 0x525a 000051db: JUMPI 000051dc: PUSH1 0x01 000051de: DUP4 000051df: ADD 000051e0: DUP12 000051e1: SWAP1 000051e2: SSTORE 000051e3: PUSH1 0x02 000051e5: DUP4 000051e6: ADD 000051e7: DUP11 000051e8: SWAP1 000051e9: SSTORE 000051ea: PUSH1 0x03 000051ec: DUP4 000051ed: ADD 000051ee: DUP1 000051ef: SLOAD 000051f0: PUSH32 0xffffffffff0000000000000000000000000000000000000000ffffffffffffff 00005211: AND 00005212: PUSH8 0x0100000000000000 0000521b: PUSH1 0x01 0000521d: PUSH1 0x01 0000521f: PUSH1 0xa0 00005221: SHL 00005222: SUB 00005223: DUP13 00005224: AND 00005225: MUL 00005226: OR 00005227: PUSH7 0xffffffffffffff 0000522f: NOT 00005230: AND 00005231: PUSH7 0xffffffffffffff 00005239: PUSH1 0x06 0000523b: DUP12 0000523c: SWAP1 0000523d: SIGNEXTEND 0000523e: AND 0000523f: OR 00005240: PUSH4 0xffffffff 00005245: PUSH1 0xd8 00005247: SHL 00005248: NOT 00005249: AND 0000524a: PUSH1 0x01 0000524c: PUSH1 0xd8 0000524e: SHL 0000524f: PUSH4 0xffffffff 00005254: DUP11 00005255: AND 00005256: MUL 00005257: OR 00005258: SWAP1 00005259: SSTORE 0000525a: JUMPDEST 0000525b: PUSH1 0x03 0000525d: DUP4 0000525e: ADD 0000525f: DUP1 00005260: SLOAD 00005261: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005281: AND 00005282: PUSH1 0x01 00005284: PUSH1 0xf8 00005286: SHL 00005287: OR 00005288: SWAP1 00005289: SSTORE 0000528a: JUMPDEST 0000528b: DUP3 0000528c: SLOAD 0000528d: PUSH1 0x01 0000528f: PUSH1 0x01 00005291: PUSH1 0x80 00005293: SHL 00005294: SUB 00005295: NOT 00005296: AND 00005297: PUSH1 0x01 00005299: PUSH1 0x01 0000529b: PUSH1 0x80 0000529d: SHL 0000529e: SUB 0000529f: DUP3 000052a0: AND 000052a1: OR 000052a2: DUP4 000052a3: SSTORE 000052a4: DUP6 000052a5: PUSH2 0x52d3 000052a8: JUMPI 000052a9: DUP3 000052aa: SLOAD 000052ab: PUSH2 0x52ce 000052ae: SWAP1 000052af: PUSH2 0x52c9 000052b2: SWAP1 000052b3: PUSH1 0x01 000052b5: PUSH1 0x80 000052b7: SHL 000052b8: SWAP1 000052b9: DIV 000052ba: PUSH1 0x0f 000052bc: SWAP1 000052bd: DUP2 000052be: SIGNEXTEND 000052bf: DUP2 000052c0: SIGNEXTEND 000052c1: SWAP1 000052c2: DUP16 000052c3: SWAP1 000052c4: SIGNEXTEND 000052c5: PUSH2 0x32c3 000052c8: JUMP 000052c9: JUMPDEST 000052ca: PUSH2 0x3f58 000052cd: JUMP 000052ce: JUMPDEST 000052cf: PUSH2 0x52f4 000052d2: JUMP 000052d3: JUMPDEST 000052d4: DUP3 000052d5: SLOAD 000052d6: PUSH2 0x52f4 000052d9: SWAP1 000052da: PUSH2 0x52c9 000052dd: SWAP1 000052de: PUSH1 0x01 000052e0: PUSH1 0x80 000052e2: SHL 000052e3: SWAP1 000052e4: DIV 000052e5: PUSH1 0x0f 000052e7: SWAP1 000052e8: DUP2 000052e9: SIGNEXTEND 000052ea: DUP2 000052eb: SIGNEXTEND 000052ec: SWAP1 000052ed: DUP16 000052ee: SWAP1 000052ef: SIGNEXTEND 000052f0: PUSH2 0x32a7 000052f3: JUMP 000052f4: JUMPDEST 000052f5: DUP4 000052f6: SLOAD 000052f7: PUSH1 0x0f 000052f9: SWAP2 000052fa: SWAP1 000052fb: SWAP2 000052fc: SIGNEXTEND 000052fd: PUSH1 0x01 000052ff: PUSH1 0x01 00005301: PUSH1 0x80 00005303: SHL 00005304: SUB 00005305: SWAP1 00005306: DUP2 00005307: AND 00005308: PUSH1 0x01 0000530a: PUSH1 0x80 0000530c: SHL 0000530d: MUL 0000530e: SWAP2 0000530f: AND 00005310: OR 00005311: SWAP1 00005312: SWAP3 00005313: SSTORE 00005314: POP 00005315: SWAP1 00005316: SWAP13 00005317: SWAP12 00005318: POP 00005319: POP 0000531a: POP 0000531b: POP 0000531c: POP 0000531d: POP 0000531e: POP 0000531f: POP 00005320: POP 00005321: POP 00005322: POP 00005323: POP 00005324: JUMP 00005325: JUMPDEST 00005326: DUP1 00005327: PUSH1 0x02 00005329: SIGNEXTEND 0000532a: DUP3 0000532b: PUSH1 0x02 0000532d: SIGNEXTEND 0000532e: DUP2 0000532f: PUSH2 0x5334 00005332: JUMPI 00005333: INVALID 00005334: JUMPDEST 00005335: SMOD 00005336: PUSH1 0x02 00005338: SIGNEXTEND 00005339: ISZERO 0000533a: PUSH2 0x5342 0000533d: JUMPI 0000533e: PUSH1 0x00 00005340: DUP1 00005341: REVERT 00005342: JUMPDEST 00005343: PUSH1 0x00 00005345: DUP1 00005346: PUSH2 0x535d 00005349: DUP4 0000534a: PUSH1 0x02 0000534c: SIGNEXTEND 0000534d: DUP6 0000534e: PUSH1 0x02 00005350: SIGNEXTEND 00005351: DUP2 00005352: PUSH2 0x5357 00005355: JUMPI 00005356: INVALID 00005357: JUMPDEST 00005358: SDIV 00005359: PUSH2 0x44b6 0000535c: JUMP 0000535d: JUMPDEST 0000535e: PUSH1 0x01 00005360: SWAP2 00005361: DUP3 00005362: SIGNEXTEND 00005363: DUP3 00005364: SIGNEXTEND 00005365: PUSH1 0x00 00005367: SWAP1 00005368: DUP2 00005369: MSTORE 0000536a: PUSH1 0x20 0000536c: SWAP8 0000536d: SWAP1 0000536e: SWAP8 0000536f: MSTORE 00005370: PUSH1 0x40 00005372: SWAP1 00005373: SWAP7 00005374: KECCAK256 00005375: DUP1 00005376: SLOAD 00005377: PUSH1 0xff 00005379: SWAP1 0000537a: SWAP8 0000537b: AND 0000537c: SWAP2 0000537d: SWAP1 0000537e: SWAP2 0000537f: SHL 00005380: SWAP1 00005381: SWAP6 00005382: XOR 00005383: SWAP1 00005384: SWAP5 00005385: SSTORE 00005386: POP 00005387: POP 00005388: POP 00005389: POP 0000538a: JUMP 0000538b: JUMPDEST 0000538c: PUSH1 0x02 0000538e: DUP6 0000538f: DUP2 00005390: SIGNEXTEND 00005391: DUP1 00005392: DUP3 00005393: SIGNEXTEND 00005394: PUSH1 0x00 00005396: SWAP1 00005397: DUP2 00005398: MSTORE 00005399: PUSH1 0x20 0000539b: DUP10 0000539c: SWAP1 0000539d: MSTORE 0000539e: PUSH1 0x40 000053a0: DUP1 000053a1: DUP3 000053a2: KECCAK256 000053a3: DUP9 000053a4: DUP6 000053a5: SIGNEXTEND 000053a6: DUP6 000053a7: SIGNEXTEND 000053a8: DUP4 000053a9: MSTORE 000053aa: SWAP1 000053ab: DUP3 000053ac: KECCAK256 000053ad: SWAP2 000053ae: SWAP4 000053af: DUP5 000053b0: SWAP4 000053b1: SWAP2 000053b2: SWAP3 000053b3: SWAP2 000053b4: DUP5 000053b5: SWAP2 000053b6: DUP3 000053b7: SWAP2 000053b8: SWAP1 000053b9: DUP11 000053ba: SWAP1 000053bb: SIGNEXTEND 000053bc: SLT 000053bd: PUSH2 0x53d1 000053c0: JUMPI 000053c1: POP 000053c2: POP 000053c3: PUSH1 0x01 000053c5: DUP3 000053c6: ADD 000053c7: SLOAD 000053c8: PUSH1 0x02 000053ca: DUP4 000053cb: ADD 000053cc: SLOAD 000053cd: PUSH2 0x53e4 000053d0: JUMP 000053d1: JUMPDEST 000053d2: DUP4 000053d3: PUSH1 0x01 000053d5: ADD 000053d6: SLOAD 000053d7: DUP9 000053d8: SUB 000053d9: SWAP2 000053da: POP 000053db: DUP4 000053dc: PUSH1 0x02 000053de: ADD 000053df: SLOAD 000053e0: DUP8 000053e1: SUB 000053e2: SWAP1 000053e3: POP 000053e4: JUMPDEST 000053e5: PUSH1 0x00 000053e7: DUP1 000053e8: DUP12 000053e9: PUSH1 0x02 000053eb: SIGNEXTEND 000053ec: DUP12 000053ed: PUSH1 0x02 000053ef: SIGNEXTEND 000053f0: SLT 000053f1: ISZERO 000053f2: PUSH2 0x5406 000053f5: JUMPI 000053f6: POP 000053f7: POP 000053f8: PUSH1 0x01 000053fa: DUP4 000053fb: ADD 000053fc: SLOAD 000053fd: PUSH1 0x02 000053ff: DUP5 00005400: ADD 00005401: SLOAD 00005402: PUSH2 0x5419 00005405: JUMP 00005406: JUMPDEST 00005407: DUP5 00005408: PUSH1 0x01 0000540a: ADD 0000540b: SLOAD 0000540c: DUP11 0000540d: SUB 0000540e: SWAP2 0000540f: POP 00005410: DUP5 00005411: PUSH1 0x02 00005413: ADD 00005414: SLOAD 00005415: DUP10 00005416: SUB 00005417: SWAP1 00005418: POP 00005419: JUMPDEST 0000541a: SWAP3 0000541b: SWAP1 0000541c: SWAP9 0000541d: SUB 0000541e: SWAP8 0000541f: SWAP1 00005420: SWAP8 00005421: SUB 00005422: SWAP12 00005423: SWAP7 00005424: SWAP1 00005425: SWAP6 00005426: SUB 00005427: SWAP5 00005428: SWAP1 00005429: SWAP5 0000542a: SUB 0000542b: SWAP9 0000542c: POP 0000542d: SWAP4 0000542e: SWAP7 0000542f: POP 00005430: POP 00005431: POP 00005432: POP 00005433: POP 00005434: POP 00005435: POP 00005436: JUMP 00005437: JUMPDEST 00005438: PUSH1 0x40 0000543a: DUP1 0000543b: MLOAD 0000543c: PUSH1 0xa0 0000543e: DUP2 0000543f: ADD 00005440: DUP3 00005441: MSTORE 00005442: DUP6 00005443: SLOAD 00005444: PUSH1 0x01 00005446: PUSH1 0x01 00005448: PUSH1 0x80 0000544a: SHL 0000544b: SUB 0000544c: SWAP1 0000544d: DUP2 0000544e: AND 0000544f: DUP3 00005450: MSTORE 00005451: PUSH1 0x01 00005453: DUP8 00005454: ADD 00005455: SLOAD 00005456: PUSH1 0x20 00005458: DUP4 00005459: ADD 0000545a: MSTORE 0000545b: PUSH1 0x02 0000545d: DUP8 0000545e: ADD 0000545f: SLOAD 00005460: SWAP3 00005461: DUP3 00005462: ADD 00005463: SWAP3 00005464: SWAP1 00005465: SWAP3 00005466: MSTORE 00005467: PUSH1 0x03 00005469: DUP7 0000546a: ADD 0000546b: SLOAD 0000546c: DUP1 0000546d: DUP4 0000546e: AND 0000546f: PUSH1 0x60 00005471: DUP4 00005472: ADD 00005473: MSTORE 00005474: PUSH1 0x01 00005476: PUSH1 0x80 00005478: SHL 00005479: SWAP1 0000547a: DIV 0000547b: SWAP1 0000547c: SWAP2 0000547d: AND 0000547e: PUSH1 0x80 00005480: DUP3 00005481: ADD 00005482: MSTORE 00005483: PUSH1 0x00 00005485: PUSH1 0x0f 00005487: DUP6 00005488: SWAP1 00005489: SIGNEXTEND 0000548a: PUSH2 0x54d6 0000548d: JUMPI 0000548e: DUP2 0000548f: MLOAD 00005490: PUSH1 0x01 00005492: PUSH1 0x01 00005494: PUSH1 0x80 00005496: SHL 00005497: SUB 00005498: AND 00005499: PUSH2 0x54ce 0000549c: JUMPI 0000549d: PUSH1 0x40 0000549f: DUP1 000054a0: MLOAD 000054a1: PUSH3 0x461bcd 000054a5: PUSH1 0xe5 000054a7: SHL 000054a8: DUP2 000054a9: MSTORE 000054aa: PUSH1 0x20 000054ac: PUSH1 0x04 000054ae: DUP3 000054af: ADD 000054b0: MSTORE 000054b1: PUSH1 0x02 000054b3: PUSH1 0x24 000054b5: DUP3 000054b6: ADD 000054b7: MSTORE 000054b8: PUSH2 0x04e5 000054bb: PUSH1 0xf4 000054bd: SHL 000054be: PUSH1 0x44 000054c0: DUP3 000054c1: ADD 000054c2: MSTORE 000054c3: SWAP1 000054c4: MLOAD 000054c5: SWAP1 000054c6: DUP2 000054c7: SWAP1 000054c8: SUB 000054c9: PUSH1 0x64 000054cb: ADD 000054cc: SWAP1 000054cd: REVERT 000054ce: JUMPDEST 000054cf: POP 000054d0: DUP1 000054d1: MLOAD 000054d2: PUSH2 0x54e5 000054d5: JUMP 000054d6: JUMPDEST 000054d7: DUP2 000054d8: MLOAD 000054d9: PUSH2 0x54e2 000054dc: SWAP1 000054dd: DUP7 000054de: PUSH2 0x35ef 000054e1: JUMP 000054e2: JUMPDEST 000054e3: SWAP1 000054e4: POP 000054e5: JUMPDEST 000054e6: PUSH1 0x00 000054e8: PUSH2 0x5509 000054eb: DUP4 000054ec: PUSH1 0x20 000054ee: ADD 000054ef: MLOAD 000054f0: DUP7 000054f1: SUB 000054f2: DUP5 000054f3: PUSH1 0x00 000054f5: ADD 000054f6: MLOAD 000054f7: PUSH1 0x01 000054f9: PUSH1 0x01 000054fb: PUSH1 0x80 000054fd: SHL 000054fe: SUB 000054ff: AND 00005500: PUSH1 0x01 00005502: PUSH1 0x80 00005504: SHL 00005505: PUSH2 0x32d9 00005508: JUMP 00005509: JUMPDEST 0000550a: SWAP1 0000550b: POP 0000550c: PUSH1 0x00 0000550e: PUSH2 0x552f 00005511: DUP5 00005512: PUSH1 0x40 00005514: ADD 00005515: MLOAD 00005516: DUP7 00005517: SUB 00005518: DUP6 00005519: PUSH1 0x00 0000551b: ADD 0000551c: MLOAD 0000551d: PUSH1 0x01 0000551f: PUSH1 0x01 00005521: PUSH1 0x80 00005523: SHL 00005524: SUB 00005525: AND 00005526: PUSH1 0x01 00005528: PUSH1 0x80 0000552a: SHL 0000552b: PUSH2 0x32d9 0000552e: JUMP 0000552f: JUMPDEST 00005530: SWAP1 00005531: POP 00005532: DUP7 00005533: PUSH1 0x0f 00005535: SIGNEXTEND 00005536: PUSH1 0x00 00005538: EQ 00005539: PUSH2 0x5556 0000553c: JUMPI 0000553d: DUP8 0000553e: SLOAD 0000553f: PUSH1 0x01 00005541: PUSH1 0x01 00005543: PUSH1 0x80 00005545: SHL 00005546: SUB 00005547: NOT 00005548: AND 00005549: PUSH1 0x01 0000554b: PUSH1 0x01 0000554d: PUSH1 0x80 0000554f: SHL 00005550: SUB 00005551: DUP5 00005552: AND 00005553: OR 00005554: DUP9 00005555: SSTORE 00005556: JUMPDEST 00005557: PUSH1 0x01 00005559: DUP9 0000555a: ADD 0000555b: DUP7 0000555c: SWAP1 0000555d: SSTORE 0000555e: PUSH1 0x02 00005560: DUP9 00005561: ADD 00005562: DUP6 00005563: SWAP1 00005564: SSTORE 00005565: PUSH1 0x01 00005567: PUSH1 0x01 00005569: PUSH1 0x80 0000556b: SHL 0000556c: SUB 0000556d: DUP3 0000556e: AND 0000556f: ISZERO 00005570: ISZERO 00005571: DUP1 00005572: PUSH2 0x5584 00005575: JUMPI 00005576: POP 00005577: PUSH1 0x00 00005579: DUP2 0000557a: PUSH1 0x01 0000557c: PUSH1 0x01 0000557e: PUSH1 0x80 00005580: SHL 00005581: SUB 00005582: AND 00005583: GT 00005584: JUMPDEST 00005585: ISZERO 00005586: PUSH2 0x55c2 00005589: JUMPI 0000558a: PUSH1 0x03 0000558c: DUP9 0000558d: ADD 0000558e: DUP1 0000558f: SLOAD 00005590: PUSH1 0x01 00005592: PUSH1 0x01 00005594: PUSH1 0x80 00005596: SHL 00005597: SUB 00005598: NOT 00005599: DUP2 0000559a: AND 0000559b: PUSH1 0x01 0000559d: PUSH1 0x01 0000559f: PUSH1 0x80 000055a1: SHL 000055a2: SUB 000055a3: SWAP2 000055a4: DUP3 000055a5: AND 000055a6: DUP6 000055a7: ADD 000055a8: DUP3 000055a9: AND 000055aa: OR 000055ab: DUP1 000055ac: DUP3 000055ad: AND 000055ae: PUSH1 0x01 000055b0: PUSH1 0x80 000055b2: SHL 000055b3: SWAP2 000055b4: DUP3 000055b5: SWAP1 000055b6: DIV 000055b7: DUP4 000055b8: AND 000055b9: DUP6 000055ba: ADD 000055bb: SWAP1 000055bc: SWAP3 000055bd: AND 000055be: MUL 000055bf: OR 000055c0: SWAP1 000055c1: SSTORE 000055c2: JUMPDEST 000055c3: POP 000055c4: POP 000055c5: POP 000055c6: POP 000055c7: POP 000055c8: POP 000055c9: POP 000055ca: POP 000055cb: JUMP 000055cc: JUMPDEST 000055cd: PUSH1 0x02 000055cf: SWAP1 000055d0: DUP2 000055d1: SIGNEXTEND 000055d2: DUP2 000055d3: SIGNEXTEND 000055d4: PUSH1 0x00 000055d6: SWAP1 000055d7: DUP2 000055d8: MSTORE 000055d9: PUSH1 0x20 000055db: SWAP3 000055dc: SWAP1 000055dd: SWAP3 000055de: MSTORE 000055df: PUSH1 0x40 000055e1: DUP3 000055e2: KECCAK256 000055e3: DUP3 000055e4: DUP2 000055e5: SSTORE 000055e6: PUSH1 0x01 000055e8: DUP2 000055e9: ADD 000055ea: DUP4 000055eb: SWAP1 000055ec: SSTORE 000055ed: SWAP1 000055ee: DUP2 000055ef: ADD 000055f0: DUP3 000055f1: SWAP1 000055f2: SSTORE 000055f3: PUSH1 0x03 000055f5: ADD 000055f6: SSTORE 000055f7: JUMP 000055f8: JUMPDEST 000055f9: DUP1 000055fa: PUSH1 0x01 000055fc: PUSH1 0x01 000055fe: PUSH1 0xa0 00005600: SHL 00005601: SUB 00005602: DUP2 00005603: AND 00005604: DUP2 00005605: EQ 00005606: PUSH2 0x2beb 00005609: JUMPI 0000560a: PUSH1 0x00 0000560c: DUP1 0000560d: REVERT 0000560e: JUMPDEST 0000560f: PUSH1 0x40 00005611: DUP1 00005612: MLOAD 00005613: PUSH1 0xe0 00005615: DUP2 00005616: ADD 00005617: DUP3 00005618: MSTORE 00005619: PUSH1 0x00 0000561b: DUP1 0000561c: DUP3 0000561d: MSTORE 0000561e: PUSH1 0x20 00005620: DUP3 00005621: ADD 00005622: DUP2 00005623: SWAP1 00005624: MSTORE 00005625: SWAP2 00005626: DUP2 00005627: ADD 00005628: DUP3 00005629: SWAP1 0000562a: MSTORE 0000562b: PUSH1 0x60 0000562d: DUP2 0000562e: ADD 0000562f: DUP3 00005630: SWAP1 00005631: MSTORE 00005632: PUSH1 0x80 00005634: DUP2 00005635: ADD 00005636: DUP3 00005637: SWAP1 00005638: MSTORE 00005639: PUSH1 0xa0 0000563b: DUP2 0000563c: ADD 0000563d: DUP3 0000563e: SWAP1 0000563f: MSTORE 00005640: PUSH1 0xc0 00005642: DUP2 00005643: ADD 00005644: SWAP2 00005645: SWAP1 00005646: SWAP2 00005647: MSTORE 00005648: SWAP1 00005649: JUMP 0000564a: JUMPDEST 0000564b: PUSH1 0x40 0000564d: DUP1 0000564e: MLOAD 0000564f: PUSH1 0x80 00005651: DUP2 00005652: ADD 00005653: DUP3 00005654: MSTORE 00005655: PUSH1 0x00 00005657: DUP1 00005658: DUP3 00005659: MSTORE 0000565a: PUSH1 0x20 0000565c: DUP3 0000565d: ADD 0000565e: DUP2 0000565f: SWAP1 00005660: MSTORE 00005661: SWAP2 00005662: DUP2 00005663: ADD 00005664: DUP3 00005665: SWAP1 00005666: MSTORE 00005667: PUSH1 0x60 00005669: DUP2 0000566a: ADD 0000566b: SWAP2 0000566c: SWAP1 0000566d: SWAP2 0000566e: MSTORE 0000566f: SWAP1 00005670: JUMP 00005671: INVALID 00005672: LOG1 00005673: PUSH5 0x736f6c6343 00005679: STOP 0000567a: SMOD 0000567b: MOD 0000567c: STOP 0000567d: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xe9cf49dd26eaeeed06ce6cb2bc7280914e4187a73c0370952656c35ce1944a62
call_targets:
0xda99f4f2fe926b90f07f5f4eb0ce773f7173c6a0
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xe9cf49dd26eaeeed06ce6cb2bc7280914e4187a73c0370952656c35ce1944a62",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xda99f4f2fe926b90f07f5f4eb0ce773f7173c6a0"
],
"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": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3058399",
"selector": "0xf3058399",
"calldata_variants": [
"0xf3058399",
"0xf30583990000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf30dba93",
"selector": "0xf30dba93",
"calldata_variants": [
"0xf30dba93",
"0xf30dba930000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf637731d",
"selector": "0xf637731d",
"calldata_variants": [
"0xf637731d",
"0xf637731d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0c93a7c",
"selector": "0xd0c93a7c",
"calldata_variants": [
"0xd0c93a7c",
"0xd0c93a7c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd21220a7",
"selector": "0xd21220a7",
"calldata_variants": [
"0xd21220a7",
"0xd21220a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x883bdbfd",
"selector": "0x883bdbfd",
"calldata_variants": [
"0x883bdbfd",
"0x883bdbfd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4737,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5039,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6099,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xe9cf49dd26eaeeed06ce6cb2bc7280914e4187a73c0370952656c35ce1944a62
call_targets:
0xda99f4f2fe926b90f07f5f4eb0ce773f7173c6a0
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xe9cf49dd26eaeeed06ce6cb2bc7280914e4187a73c0370952656c35ce1944a62",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xda99f4f2fe926b90f07f5f4eb0ce773f7173c6a0"
],
"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": "0xddca3f43",
"selector": "0xddca3f43",
"calldata_variants": [
"0xddca3f43",
"0xddca3f430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3058399",
"selector": "0xf3058399",
"calldata_variants": [
"0xf3058399",
"0xf30583990000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf30dba93",
"selector": "0xf30dba93",
"calldata_variants": [
"0xf30dba93",
"0xf30dba930000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf637731d",
"selector": "0xf637731d",
"calldata_variants": [
"0xf637731d",
"0xf637731d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0c93a7c",
"selector": "0xd0c93a7c",
"calldata_variants": [
"0xd0c93a7c",
"0xd0c93a7c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd21220a7",
"selector": "0xd21220a7",
"calldata_variants": [
"0xd21220a7",
"0xd21220a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x883bdbfd",
"selector": "0x883bdbfd",
"calldata_variants": [
"0x883bdbfd",
"0x883bdbfd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4737,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5039,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6099,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| medium | reentrancy | slither | Reentrancy in UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788): | 75 | no | — |
viewevidence_json{
"impact": "Medium",
"detector": "reentrancy-no-eth",
"elements": [
{
"name": "swap",
"type": "function",
"source_mapping": {
"lines": [
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788
],
"start": 22899,
"length": 9002,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "swap(address,bool,int256,uint160,bytes)"
}
},
{
"name": "TransferHelper.safeTransfer(token1,recipient,uint256(- amount1))",
"type": "node",
"source_mapping": {
"lines": [
773
],
"start": 31117,
"length": 65,
"ending_column": 95,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 30,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "swap",
"type": "function",
"source_mapping": {
"lines": [
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788
],
"start": 22899,
"length": 9002,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "swap(address,bool,int256,uint160,bytes)"
}
}
}
},
{
"name": "IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data)",
"type": "node",
"source_mapping": {
"lines": [
776
],
"start": 31246,
"length": 80,
"ending_column": 93,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 13,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "swap",
"type": "function",
"source_mapping": {
"lines": [
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788
],
"start": 22899,
"length": 9002,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "swap(address,bool,int256,uint160,bytes)"
}
}
}
},
{
"name": "TransferHelper.safeTransfer(token0,recipient,uint256(- amount0))",
"type": "node",
"source_mapping": {
"lines": [
779
],
"start": 31454,
"length": 65,
"ending_column": 95,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 30,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "swap",
"type": "function",
"source_mapping": {
"lines": [
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788
],
"start": 22899,
"length": 9002,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "swap(address,bool,int256,uint160,bytes)"
}
}
}
},
{
"name": "IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data)",
"type": "node",
"source_mapping": {
"lines": [
782
],
"start": 31583,
"length": 80,
"ending_column": 93,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 13,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "swap",
"type": "function",
"source_mapping": {
"lines": [
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788
],
"start": 22899,
"length": 9002,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "swap(address,bool,int256,uint160,bytes)"
}
}
}
}
],
"locations": [
{
"file": "contracts/UniswapV3Pool.sol",
"name": "swap",
"type": "function",
"lines": [
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "TransferHelper.safeTransfer(token1,recipient,uint256(- amount1))",
"type": "node",
"lines": [
773
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data)",
"type": "node",
"lines": [
776
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "TransferHelper.safeTransfer(token0,recipient,uint256(- amount0))",
"type": "node",
"lines": [
779
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data)",
"type": "node",
"lines": [
782
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "slot0.unlocked = true",
"type": "node",
"lines": [
787
]
}
],
"description": "Reentrancy in UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788):\n\tExternal calls:\n\t- TransferHelper.safeTransfer(token1,recipient,uint256(- amount1)) (contracts/UniswapV3Pool.sol#773)\n\t- IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#776)\n\t- TransferHelper.safeTransfer(token0,recipient,uint256(- amount0)) (contracts/UniswapV3Pool.sol#779)\n\t- IUniswapV3SwapCallback(msg.sender).uniswapV3SwapCallback(amount0,amount1,data) (contracts/UniswapV3Pool.sol#782)\n\tState variables written after the call(s):\n\t- slot0.unlocked = true (contracts/UniswapV3Pool.sol#787)\n\tUniswapV3Pool.slot0 (contracts/UniswapV3Pool.sol#74) can be used in cross function reentrancies:\n\t- UniswapV3Pool._modifyPosition(UniswapV3Pool.ModifyPositionParams) (contracts/UniswapV3Pool.sol#306-372)\n\t- UniswapV3Pool._updatePosition(address,int24,int24,int128,int24) (contracts/UniswapV3Pool.sol#379-453)\n\t- UniswapV3Pool.flash(address,uint256,uint256,bytes) (contracts/UniswapV3Pool.sol#791-834)\n\t- UniswapV3Pool.increaseObservationCardinalityNext(uint16) (contracts/UniswapV3Pool.sol#255-267)\n\t- UniswapV3Pool.initialize(uint160) (contracts/UniswapV3Pool.sol#271-289)\n\t- UniswapV3Pool.lock() (contracts/UniswapV3Pool.sol#104-109)\n\t- UniswapV3Pool.observe(uint32[]) (contracts/UniswapV3Pool.sol#236-252)\n\t- UniswapV3Pool.setFeeProtocol(uint8,uint8) (contracts/UniswapV3Pool.sol#837-845)\n\t- UniswapV3Pool.slot0 (contracts/UniswapV3Pool.sol#74)\n\t- UniswapV3Pool.snapshotCumulativesInside(int24,int24) (contracts/UniswapV3Pool.sol#158-233)\n\t- UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788)"
}
|
| medium | reentrancy | slither | Reentrancy in UniswapV3Pool.collectProtocol(address,uint128,uint128) (contracts/UniswapV3Pool.sol#848-868): | 75 | no | — |
viewevidence_json{
"impact": "Medium",
"detector": "reentrancy-no-eth",
"elements": [
{
"name": "collectProtocol",
"type": "function",
"source_mapping": {
"lines": [
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868
],
"start": 34481,
"length": 1017,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "collectProtocol(address,uint128,uint128)"
}
},
{
"name": "TransferHelper.safeTransfer(token0,recipient,amount0)",
"type": "node",
"source_mapping": {
"lines": [
859
],
"start": 35089,
"length": 55,
"ending_column": 68,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 13,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "collectProtocol",
"type": "function",
"source_mapping": {
"lines": [
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868
],
"start": 34481,
"length": 1017,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "collectProtocol(address,uint128,uint128)"
}
}
}
},
{
"name": "protocolFees.token1 -= amount1",
"type": "node",
"source_mapping": {
"lines": [
863
],
"start": 35310,
"length": 30,
"ending_column": 43,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 13,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"additional_fields": {
"variable_name": "protocolFees",
"underlying_type": "variables_written"
},
"type_specific_fields": {
"parent": {
"name": "collectProtocol",
"type": "function",
"source_mapping": {
"lines": [
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868
],
"start": 34481,
"length": 1017,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
},
"type_specific_fields": {
"parent": {
"name": "UniswapV3Pool",
"type": "contract",
"source_mapping": {
"lines": [
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
210,
211,
212,
213,
214,
215,
216,
217,
218,
219,
220,
221,
222,
223,
224,
225,
226,
227,
228,
229,
230,
231,
232,
233,
234,
235,
236,
237,
238,
239,
240,
241,
242,
243,
244,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
256,
257,
258,
259,
260,
261,
262,
263,
264,
265,
266,
267,
268,
269,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
289,
290,
291,
292,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
345,
346,
347,
348,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
360,
361,
362,
363,
364,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
376,
377,
378,
379,
380,
381,
382,
383,
384,
385,
386,
387,
388,
389,
390,
391,
392,
393,
394,
395,
396,
397,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
419,
420,
421,
422,
423,
424,
425,
426,
427,
428,
429,
430,
431,
432,
433,
434,
435,
436,
437,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
452,
453,
454,
455,
456,
457,
458,
459,
460,
461,
462,
463,
464,
465,
466,
467,
468,
469,
470,
471,
472,
473,
474,
475,
476,
477,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
492,
493,
494,
495,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
512,
513,
514,
515,
516,
517,
518,
519,
520,
521,
522,
523,
524,
525,
526,
527,
528,
529,
530,
531,
532,
533,
534,
535,
536,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
592,
593,
594,
595,
596,
597,
598,
599,
600,
601,
602,
603,
604,
605,
606,
607,
608,
609,
610,
611,
612,
613,
614,
615,
616,
617,
618,
619,
620,
621,
622,
623,
624,
625,
626,
627,
628,
629,
630,
631,
632,
633,
634,
635,
636,
637,
638,
639,
640,
641,
642,
643,
644,
645,
646,
647,
648,
649,
650,
651,
652,
653,
654,
655,
656,
657,
658,
659,
660,
661,
662,
663,
664,
665,
666,
667,
668,
669,
670,
671,
672,
673,
674,
675,
676,
677,
678,
679,
680,
681,
682,
683,
684,
685,
686,
687,
688,
689,
690,
691,
692,
693,
694,
695,
696,
697,
698,
699,
700,
701,
702,
703,
704,
705,
706,
707,
708,
709,
710,
711,
712,
713,
714,
715,
716,
717,
718,
719,
720,
721,
722,
723,
724,
725,
726,
727,
728,
729,
730,
731,
732,
733,
734,
735,
736,
737,
738,
739,
740,
741,
742,
743,
744,
745,
746,
747,
748,
749,
750,
751,
752,
753,
754,
755,
756,
757,
758,
759,
760,
761,
762,
763,
764,
765,
766,
767,
768,
769,
770,
771,
772,
773,
774,
775,
776,
777,
778,
779,
780,
781,
782,
783,
784,
785,
786,
787,
788,
789,
790,
791,
792,
793,
794,
795,
796,
797,
798,
799,
800,
801,
802,
803,
804,
805,
806,
807,
808,
809,
810,
811,
812,
813,
814,
815,
816,
817,
818,
819,
820,
821,
822,
823,
824,
825,
826,
827,
828,
829,
830,
831,
832,
833,
834,
835,
836,
837,
838,
839,
840,
841,
842,
843,
844,
845,
846,
847,
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868,
869
],
"start": 932,
"length": 34568,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/UniswapV3Pool.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-cv6fhqgl/contracts/UniswapV3Pool.sol",
"filename_relative": "contracts/UniswapV3Pool.sol"
}
},
"signature": "collectProtocol(address,uint128,uint128)"
}
}
}
}
],
"locations": [
{
"file": "contracts/UniswapV3Pool.sol",
"name": "collectProtocol",
"type": "function",
"lines": [
848,
849,
850,
851,
852,
853,
854,
855,
856,
857,
858,
859,
860,
861,
862,
863,
864,
865,
866,
867,
868
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "TransferHelper.safeTransfer(token0,recipient,amount0)",
"type": "node",
"lines": [
859
]
},
{
"file": "contracts/UniswapV3Pool.sol",
"name": "protocolFees.token1 -= amount1",
"type": "node",
"lines": [
863
]
}
],
"description": "Reentrancy in UniswapV3Pool.collectProtocol(address,uint128,uint128) (contracts/UniswapV3Pool.sol#848-868):\n\tExternal calls:\n\t- TransferHelper.safeTransfer(token0,recipient,amount0) (contracts/UniswapV3Pool.sol#859)\n\tState variables written after the call(s):\n\t- protocolFees.token1 -= amount1 (contracts/UniswapV3Pool.sol#863)\n\tUniswapV3Pool.protocolFees (contracts/UniswapV3Pool.sol#87) can be used in cross function reentrancies:\n\t- UniswapV3Pool.collectProtocol(address,uint128,uint128) (contracts/UniswapV3Pool.sol#848-868)\n\t- UniswapV3Pool.flash(address,uint256,uint256,bytes) (contracts/UniswapV3Pool.sol#791-834)\n\t- UniswapV3Pool.protocolFees (contracts/UniswapV3Pool.sol#87)\n\t- UniswapV3Pool.swap(address,bool,int256,uint160,bytes) (contracts/UniswapV3Pool.sol#596-788)"
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|