@returns {!Array.<tr.b.math.Range>}
   */
  function getPostInteractiveTaskWindows(
      interactiveTimestamps, navStartTimestamps, traceEndTimestamp) {
    let navStartTsIndex = 0;
    let lastTaskWindowEndTs = undefined;
    const taskWindows = [];
    for (const currTTI of interactiveTimestamps) {
      // Find the first navigation start event after the interactive
      // timestamp.
      while (navStartTsIndex < navStartTimestamps.length &&
          navStartTimestamps[navStartTsIndex] < currTTI) {
 