```\n/\*\*\n \* @notice Used to convert an amount of underlying tokens to the equivalent amount of shares in this strategy.\n \* @notice In contrast to `underlyingToSharesView`, this function \*\*may\*\* make state modifications\n \* @param amountUnderlying is the amount of `underlyingToken` to calculate its conversion into strategy shares\n \* @dev Implementation for these functions in particular may vary signifcantly for different strategies\n \*/\nfunction underlyingToShares(uint256 amountUnderlying) external view returns (uint256);\n```\n