class_docstr: Slider to select multiple contiguous items from a list.
  
  The index, value, and label attributes contain the start and end of
  the selection range, not all items in the range.
  
  Parameters
  ----------
  {multiple_selection_params}
  
  {slider_params}
class_docstr_tok: ["Slider","to","select","multiple","contiguous","items","from","a","list",".","The","index",",","value",",","and","label","attributes","contain","the","start","and","end","of","the","selection","range",",","not","all","items","in","the","range",".","Parameters","--","--","--","--","--","{","multiple_selection_params","}","{","slider_params","}"]
docstr: Make sure we have two indices and check the range of each proposed index.
docstr_tok: ["Make","sure","we","have","two","indices","and","check","the","range","of","each","proposed","index","."]
code: def _validate_index(self, proposal):
      "Make sure we have two indices and check the range of each proposed index."
      if len(proposal.value) != 2:
          raise TraitError(
              "Invalid selection: index must have two values, but is %r"
              % (proposal.value,)
          )
      if all(
          0 <= i < len(self._options_labels) for i in proposal.value
      ):
          return proposal.value
      else:
          raise TraitError(
              "Invalid selection: index out of bounds: %s"
              % (proposal.value,)
          )
  
imports: from collections.abc import Iterable, Mapping
  from itertools import chain
  from .widget_description import DescriptionWidget, DescriptionStyle
  from .valuewidget import ValueWidget
  from .widget_core import CoreWidget
  from .widget_style import Style
  from .trait_types import InstanceDict, TypedTuple
  from .widget import register, widget_serialization
  from .widget_int import SliderStyle
  from .docutils import doc_subst
  from traitlets import Unicode, Bool, Int, Any, Dict, TraitError, CaselessStrEnum, Tuple, Union, observe, validate
label_desc: Use image node_id 2 for calling the SelectionRangeSlider obj's underlying member method code with example usage: obj._validate_index(proposal) and returns: proposal