code: def repeat(
      self, state: BottleneckState, channels: int
  ) -> BottleneckState:
      return BottleneckState(
          state.hidden_states.repeat(channels, 1, 1),
          state.input_tensor.repeat(channels, 1, 1),
          state.adapter_residual.repeat(channels, 1, 1),
          state.layer_norm,
          state.bottleneck_up.repeat(channels, 1, 1)
          if state.bottleneck_up is not None
          else None,
      )
  
imports: from typing import Dict, List, Mapping, NamedTuple, Optional, Union
  import torch
  from torch import nn
  from ..composition import AdapterCompositionBlock, Average, BatchSplit, Fuse, Parallel, Split, Stack, adjust_tensors_for_parallel
  from ..configuration import BnConfig
  from ..context import ForwardContext
  from .adapter_layer_base import ComposableAdapterLayerBase
  from .modeling import Adapter, BertFusion, ParallelAdapter
label_desc: Use image node_id 14 for calling the BottleneckLayer obj's underlying member method code with example usage: obj.repeat(state, channels) and returns: BottleneckState