code: def do_draw(self, data):
      result = {}
      low_bound = True
      high_bound = True
      for name in ("days", "seconds", "microseconds"):
          low = getattr(
              self.min_value if low_bound else dt.timedelta.min, name
          )
          high = getattr(
              self.max_value if high_bound else dt.timedelta.max, name
          )
          val = utils.integer_range(data, low, high, 0)
          result[name] = val
          low_bound = low_bound and val == low
          high_bound = high_bound and val == high
      return dt.timedelta(**result)
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/strategies/_internal/datetime.py
imports: from __future__ import absolute_import, division, print_function
  import datetime
  from calendar import monthrange
  from hypothesis.internal.conjecture import utils
  from hypothesis.strategies._internal.strategies import SearchStrategy
label_desc: Use image node_id 2 for calling the TimedeltaStrategy obj's underlying member method code with example usage: obj.do_draw(data) and returns: dt