code: def parse_duration_with_start(start, duration):
      
      elements = _parse_duration_string(_clean(duration))
      year, month = _year_month_delta_from_elements(elements)
  
      end = start.replace(
          year=start.year + year,
          month=start.month + month
      )
  
      del elements['years']
      del elements['months']
  
      end += _timedelta_from_elements(elements)
  
      return start, end - start
docs: Attepmt to parse an ISO8601 formatted duration based on a start datetime.
  
      Accepts a ``duration`` and a start ``datetime``. ``duration`` must be
      an ISO8601 formatted string.
  
      Returns a ``datetime.timedelta`` object.