prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Mistake in Agent class' docs
  Agent's class docs string states that user has to implement 2 methods: `reset` and `step`. However, If I understood correctly, there's no method named `step` and there is method `act` instead. This is quite tiny issue but still.
  https://github.com/facebookresearch/habitat-api/blob/c7443c39c5186e517d8a4b7c87a1b42106e4e77a/habitat/core/agent.py#L10-L17
  
  </issue>
  <code>
  [start of habitat/core/agent.py]
  1 #!/usr/bin/env python3
  2 
  3 # Copyright (c) Facebook, Inc. and its affiliates.
  4 # This source code is licensed under the MIT license found in the
  5 # LICENSE file in the root directory of this source tree.
  6 
  7 from habitat.core.simulator import Observations
  8 
  9 
  10 class Agent:
  11     """Abstract class for defining agents which act inside Env. This abstract
  12     class standardizes agents to allow seamless benchmarking. To implement an
  13     agent the user has to implement two methods:
  14 
  15         reset
  16         step
  17     """
  18 
  19     def reset(self) -> None:
  20         """Called before starting a new episode in environment.
  21         """
  22         raise NotImplementedError
  23 
  24     def act(self, observations: Observations) -> int:
  25         """
  26 
  27         Args:
  28             observations: observations coming in from environment to be used
  29                 by agent to decide action.
  30 
  31         Returns:
  32             action to be taken inside the environment
  33         """
  34         raise NotImplementedError
  35
  [end of habitat/core/agent.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/habitat/core/agent.py b/habitat/core/agent.py
  --- a/habitat/core/agent.py
  +++ b/habitat/core/agent.py
  @@ -13,7 +13,7 @@
       agent the user has to implement two methods:
   
           reset
  -        step
  +        act
       """
   
       def reset(self) -> None:
  
verification_info: {"golden_diff": "diff --git a/habitat/core/agent.py b/habitat/core/agent.py\n--- a/habitat/core/agent.py\n+++ b/habitat/core/agent.py\n@@ -13,7 +13,7 @@\n     agent the user has to implement two methods:\n \n         reset\n-        step\n+        act\n     \"\"\"\n \n     def reset(self) -> None:\n", "issue": "Mistake in Agent class' docs\nAgent's class docs string states that user has to implement 2 methods: `reset` and `step`. However, If I understood correctly, there's no method named `step` and there is method `act` instead. This is quite tiny issue but still.\r\nhttps://github.com/facebookresearch/habitat-api/blob/c7443c39c5186e517d8a4b7c87a1b42106e4e77a/habitat/core/agent.py#L10-L17\n", "before_files": [{"content": "#!/usr/bin/env python3\n\n# Copyright (c) Facebook, Inc. and its affiliates.\n# This source code is licensed under the MIT license found in the\n# LICENSE file in the root directory of this source tree.\n\nfrom habitat.core.simulator import Observations\n\n\nclass Agent:\n    \"\"\"Abstract class for defining agents which act inside Env. This abstract\n    class standardizes agents to allow seamless benchmarking. To implement an\n    agent the user has to implement two methods:\n\n        reset\n        step\n    \"\"\"\n\n    def reset(self) -> None:\n        \"\"\"Called before starting a new episode in environment.\n        \"\"\"\n        raise NotImplementedError\n\n    def act(self, observations: Observations) -> int:\n        \"\"\"\n\n        Args:\n            observations: observations coming in from environment to be used\n                by agent to decide action.\n\n        Returns:\n            action to be taken inside the environment\n        \"\"\"\n        raise NotImplementedError\n", "path": "habitat/core/agent.py"}]}