code: def forward_embedding(self, prev_output_tokens, states=None):
      # embed positions
      positions = (
          self.embed_positions(prev_output_tokens)
          if self.embed_positions is not None
          else None
      )
  
      # embed tokens and positions
      if states is None:
          x = self.embed_scale * self.embed_tokens(prev_output_tokens)
          if self.project_in_dim is not None:
              x = self.project_in_dim(x)
      else:
          x = states
  
      if positions is not None:
          x += positions
      x = self.dropout_module(x)
      decoder_padding_mask = prev_output_tokens.eq(self.padding_idx)
      return x, decoder_padding_mask
  
imports: import torch
  import torch.nn.functional
  from fairseq import utils
  from fairseq.iterative_refinement_generator import DecoderOut
  from fairseq.models import register_model, register_model_architecture
  from fairseq.models.nat import FairseqNATDecoder, FairseqNATModel, ensemble_decoder
  from fairseq.models.transformer import Embedding
  from fairseq.modules.transformer_sentence_encoder import init_bert_params
label_desc: Use image node_id 5 for calling the NATransformerDecoder obj's underlying member method code with example usage: obj.forward_embedding(prev_output_tokens, states) and returns: x,  decoder_padding_mask