code: def verify_multi(self, otp_list, max_time_window=DEFAULT_MAX_TIME_WINDOW,
                       sl=None, timeout=None):
          
  
          # Create the OTP objects
          otps = []
          for otp in otp_list:
              otps.append(OTP(otp, self.translate_otp))
  
          if len(otp_list) < 2:
              raise ValueError('otp_list needs to contain at least two OTPs')
  
          device_ids = set()
          for otp in otps:
              device_ids.add(otp.device_id)
  
          # Check that all the OTPs contain same device id
          if len(device_ids) != 1:
              raise Exception('OTPs contain different device ids')
  
          # Now we verify the OTPs and save the server response for each OTP.
          # We need the server response, to retrieve the timestamp.
          # It's possible to retrieve this value locally, without querying the
          # server but in this case, user would need to provide his AES key.
          for otp in otps:
              response = self.verify(otp.otp, True, sl, timeout,
                                     return_response=True)
  
              if not response:
                  return False
  
              otp.timestamp = int(response['timestamp'])
  
          count = len(otps)
          delta = otps[count - 1].timestamp - otps[0].timestamp
  
          # OTPs have an 8Hz timestamp counter so we need to divide it to get
          # seconds
          delta = delta / 8
  
          if delta < 0:
              raise Exception('delta is smaller than zero. First OTP appears to '
                              'be older than the last one')
  
          if delta > max_time_window:
              raise Exception(('More than %s seconds have passed between '
                              'generating the first and the last OTP.') %
                              (max_time_window))
  
          return True
docs: Verify a provided list of OTPs.
  
          :param max_time_window: Maximum number of seconds which can pass
                                  between the first and last OTP generation for
                                  the OTP to still be considered valid.
          :type max_time_window: ``int``