instruction
Review the progress in the Duolingo app.
previous_actions
active_application
Duolingo
screen_description
windows {
  bounds_in_screen {
    right: 1080
    bottom: 136
  }
  id: 4
  layer: 1
  window_type: TYPE_SYSTEM
  tree {
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 2
    }
    nodes {
      bounds_in_screen {
        left: 145
        right: 1027
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 3
    }
    nodes {
      bounds_in_screen {
        left: 145
        top: 1
        right: 575
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        left: 575
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        left: 145
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 5
    }
    nodes {
      bounds_in_screen {
        left: 924
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 5
    }
    nodes {
      bounds_in_screen {
        left: 145
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 924
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 145
        top: 1
        right: 229
        bottom: 136
      }
      class_name: "android.widget.TextView"
      content_description: "8:00 PM"
      text: "8:00"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 229
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 924
        top: 1
        right: 986
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 986
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      content_description: "Battery charging, 100 percent."
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 229
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.view.ViewGroup"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 924
        top: 39
        right: 970
        bottom: 97
      }
      class_name: "android.widget.FrameLayout"
      content_description: "Wifi three bars."
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 986
        top: 51
        right: 1006
        bottom: 85
      }
      class_name: "android.widget.ImageView"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 229
        top: 1
        right: 287
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Home Workout notification: Your body needs energy! Start sweaty sessions here to fuel you!"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 287
        top: 1
        right: 345
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Flipkart notification: "
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 345
        top: 1
        right: 403
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Flipkart notification: "
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 403
        top: 1
        right: 461
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Gmail notification: 2 new messages"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 461
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Nike notification: Timeless Varsity Looks 🎒👟🧢"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Google News notification: NDTV"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "NNNOW notification: I saw you checking Joggers"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "NNNOW notification: Buy 2 Shirts ➡️ ₹2499 😍"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "NNNOW notification: Make way for NARS lipsticks 💄"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "NNNOW notification: FLYING MACHINE 😍Up To 55%"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "NNNOW notification: Winter musts | Up To 55% OFF"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Google News notification: Hindustan Times"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 479
        top: 1
        right: 519
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "AccuWeather notification: "
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 931
        top: 39
        right: 970
        bottom: 97
      }
      class_name: "android.widget.LinearLayout"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 931
        top: 48
        right: 970
        bottom: 87
      }
      class_name: "android.widget.FrameLayout"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 931
        top: 48
        right: 970
        bottom: 87
      }
      class_name: "android.widget.ImageView"
      depth: 11
    }
  }
}
windows {
  bounds_in_screen {
    right: 1080
    bottom: 2400
  }
  id: 894
  title: "Duolingo"
  window_type: TYPE_APPLICATION
  is_active: true
  is_focused: true
  tree {
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 2400
      }
      class_name: "android.widget.FrameLayout"
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.LinearLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.view.View"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        top: 2337
        right: 1080
        bottom: 2400
      }
      class_name: "android.view.View"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.FrameLayout"
      depth: 2
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.LinearLayout"
      depth: 3
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.FrameLayout"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.ViewGroup"
      depth: 5
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 262
      }
      class_name: "android.view.ViewGroup"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        top: 262
        right: 1080
        bottom: 2337
      }
      class_name: "androidx.recyclerview.widget.RecyclerView"
      is_focusable: true
      is_scrollable: true
      depth: 6
    }
    nodes {
      bounds_in_screen {
        top: 2337
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.FrameLayout"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 262
      }
      class_name: "android.view.ViewGroup"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 325
        right: 1080
        bottom: 1013
      }
      class_name: "android.view.ViewGroup"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1076
        right: 1080
        bottom: 1081
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1081
        right: 1080
        bottom: 1144
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1144
        right: 1080
        bottom: 1214
      }
      class_name: "android.widget.TextView"
      text: "KEY PHRASES"
      is_focusable: true
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1214
        right: 1080
        bottom: 1235
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1235
        right: 1080
        bottom: 1330
      }
      class_name: "android.widget.TextView"
      text: "Use basic phrases"
      is_focusable: true
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1330
        right: 1080
        bottom: 1372
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1372
        right: 1080
        bottom: 1592
      }
      class_name: "android.widget.LinearLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1592
        right: 1080
        bottom: 1634
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1634
        right: 1080
        bottom: 1854
      }
      class_name: "android.widget.LinearLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1854
        right: 1080
        bottom: 1896
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1896
        right: 1080
        bottom: 2116
      }
      class_name: "android.widget.LinearLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 2116
        right: 1080
        bottom: 2158
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 2158
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.LinearLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 262
      }
      class_name: "android.view.ViewGroup"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 216
        top: 325
        right: 864
        bottom: 721
      }
      class_name: "android.widget.ImageView"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 292
        top: 784
        right: 788
        bottom: 862
      }
      class_name: "android.widget.TextView"
      text: "Unit 1 Guidebook"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 883
        right: 1038
        bottom: 1013
      }
      class_name: "android.widget.TextView"
      text: "Explore grammar tips and key phrases for this unit"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 1372
        right: 542
        bottom: 1592
      }
      class_name: "android.widget.LinearLayout"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 1634
        right: 536
        bottom: 1854
      }
      class_name: "android.widget.LinearLayout"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 1896
        right: 581
        bottom: 2116
      }
      class_name: "android.widget.LinearLayout"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 2158
        right: 793
        bottom: 2337
      }
      class_name: "android.widget.LinearLayout"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 21
        top: 157
        right: 105
        bottom: 241
      }
      class_name: "android.widget.ImageView"
      content_description: "Close Page"
      is_clickable: true
      is_focusable: true
      depth: 9
    }
    nodes {
      bounds_in_screen {
        top: 257
        right: 1080
        bottom: 262
      }
      class_name: "android.view.View"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 136
        right: 954
        bottom: 262
      }
      class_name: "android.widget.TextView"
      text: "Unit 1 Guidebook"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 1414
        right: 500
        bottom: 1550
      }
      class_name: "android.view.ViewGroup"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 1676
        right: 494
        bottom: 1812
      }
      class_name: "android.view.ViewGroup"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 1938
        right: 539
        bottom: 2074
      }
      class_name: "android.view.ViewGroup"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 2200
        right: 751
        bottom: 2336
      }
      class_name: "android.view.ViewGroup"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 1414
        right: 189
        bottom: 1477
      }
      class_name: "android.widget.ImageView"
      is_clickable: true
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 1414
        right: 500
        bottom: 1487
      }
      class_name: "android.widget.TextView"
      text: "Je suis Marie."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 1487
        right: 444
        bottom: 1550
      }
      class_name: "android.widget.TextView"
      text: "I am Marie."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 1676
        right: 189
        bottom: 1739
      }
      class_name: "android.widget.ImageView"
      is_clickable: true
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 1676
        right: 494
        bottom: 1749
      }
      class_name: "android.widget.TextView"
      text: "C\'est un chat."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 1749
        right: 398
        bottom: 1812
      }
      class_name: "android.widget.TextView"
      text: "It\'s a cat."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 1938
        right: 189
        bottom: 2001
      }
      class_name: "android.widget.ImageView"
      is_clickable: true
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 1938
        right: 539
        bottom: 2011
      }
      class_name: "android.widget.TextView"
      text: "Un chat mange."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 2011
        right: 519
        bottom: 2074
      }
      class_name: "android.widget.TextView"
      text: "A cat is eating."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 126
        top: 2200
        right: 189
        bottom: 2263
      }
      class_name: "android.widget.ImageView"
      is_clickable: true
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 2200
        right: 744
        bottom: 2273
      }
      class_name: "android.widget.TextView"
      text: "Paul mange un croissant."
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 210
        top: 2273
        right: 751
        bottom: 2336
      }
      class_name: "android.widget.TextView"
      text: "Paul is eating a croissant."
      is_focusable: true
      depth: 10
    }
  }
}

assistant
!FUNCTIONCALL{"name": "scroll", "parameters": {"direction": "down"}}
[{"type": "function", "function": {"name": "click", "description": "Click on a specific location on the screen", "parameters": {"type": "object", "properties": {"x": {"type": "integer", "description": "Coordinate on the x axis to click."}, "y": {"type": "integer", "description": "Coordinate on the y axis to click."}}, "required": ["x", "y"]}}}, {"type": "function", "function": {"name": "long_press", "description": "Long press on a specific location on the screen.", "parameters": {"type": "object", "properties": {"x": {"type": "integer", "description": "Coordinate on the x axis to long press."}, "y": {"type": "integer", "description": "Coordinate on the y axis to long press."}}, "required": ["x", "y"]}}}, {"type": "function", "function": {"name": "input_text", "description": "Write text inside of an already selected text field, typically this is preceeded by a 'click' action that selects a field on the screen to type into.", "parameters": {"type": "object", "properties": {"text": {"type": "string", "description": "The text to input in the field."}}, "required": ["text"]}}}, {"type": "function", "function": {"name": "scroll", "description": "Scroll a fixed amount in a specific direction.", "parameters": {"type": "object", "properties": {"direction": {"type": "string", "enum": ["up", "down", "left", "right"], "description": "The direction to scroll in."}}, "required": ["direction"]}}}, {"type": "function", "function": {"name": "navigate_home", "description": "Navigate to the home screen from the current screen you are on.", "parameters": {"type": "object", "properties": {}}}}, {"type": "function", "function": {"name": "navigate_back", "description": "Navigate back to the previous page.", "parameters": {"type": "object", "properties": {}}}}, {"type": "function", "function": {"name": "open_app", "description": "Open an application.", "parameters": {"type": "object", "properties": {"app_name": {"type": "string", "description": "The name of the application to open."}}, "required": ["app_name"]}}}, {"type": "function", "function": {"name": "wait", "description": "Wait for a fixed amount of time. This is useful when you need to 'await' the results of a page that is still loading.", "parameters": {"type": "object", "properties": {}}}}, {"type": "function", "function": {"name": "status", "description": "Once you have completed the work required to fulfill an instruction, report your status by calling this function with 'successful'. If you find that a task is impossible to complete,  call this with 'infeasible' after finding that information.", "parameters": {"type": "object", "properties": {"goal_status": {"type": "string", "enum": ["successful", "infeasible"], "description": "The status of the completion of a instruction, either 'successful' or 'infeasible', called to conclude an episode."}}, "required": ["goal_status"]}}}]