def step(self, action):
obs, rews, news, infos = self.env.step(action)<EOL>self.ret = self.ret * self.gamma + rews<EOL>obs = self._filter_observation(obs)<EOL>if self.ret_rms:<EOL><INDENT>self.ret_rms.update(np.array([self.ret]))<EOL>rews = np.clip(rews / np.sqrt(self.ret_rms.var + self.epsilon), -self.cliprew, self.cliprew)<EOL><DEDENT>return obs, rews, news, infos<EOL>
Apply sequence of actions to sequence of environments
actions -> (observations, rewards, news)

where 'news' is a boolean vector indicating whether each element is new.