code: func (s *Simulated) Run(d time.Duration) {
  	s.mu.Lock()
  	defer s.mu.Unlock()
  	s.init()
  
  	end := s.now + AbsTime(d)
  	for len(s.scheduled) > 0 {
  		ev := s.scheduled[0]
  		if ev.at > end {
  			break
  		}
  		s.now = ev.at
  		ev.do()
  		s.scheduled = s.scheduled[1:]
  	}
  	s.now = end
  }
docs: // Run moves the clock by the given duration, executing all timers before that duration.