{
  "format": 2,
  "firmware": {
    "stock": "V4.094",
    "medius": "3.4.6"
  },
  "rig": "A Linux PC, each box fed by a USB device emulator on its USB3, both boxes behind one USB hub and tested one at a time",
  "layers": {
    "wire": "USB packets on the PC's bus, timed by the kernel's usbmon",
    "evdev": "Input events, timed by the kernel as the HID driver handles each report",
    "hidraw": "Each report byte for byte, timed when the reading program wakes",
    "host": "The PC's clock, read by the test program when it writes a command, or when the clone connects or disconnects",
    "emulator": "When the emulator queued each native report, on its clock, mapped to the bus clock to within ±95 µs by its control link's packets (usbmon)"
  },
  "categories": [
    {
      "id": "recovery",
      "title": "Recovery",
      "sections": [
        {
          "id": "recovery-program-exit",
          "title": "Program exit",
          "about": "A program pressed the left button through each box, then closed the port without releasing it.",
          "tables": [
            {
              "kind": "outcome",
              "key": "Case",
              "outcomes": [
                "Released",
                "Still held"
              ],
              "commands": {
                "stock": "km.left",
                "medius": "INJECT"
              },
              "rows": [
                {
                  "id": "recovery-exit-left-button",
                  "label": "Pressed, then the port closed",
                  "stock": {
                    "is": "Still held",
                    "src": [
                      {
                        "file": "buttons_locks_stock_samehub_r1.json",
                        "ptr": "/results/1/held_3s_after_close"
                      },
                      {
                        "file": "buttons_locks_stock_samehub_r2.json",
                        "ptr": "/results/1/held_3s_after_close"
                      },
                      {
                        "file": "buttons_locks_stock_samehub_r3.json",
                        "ptr": "/results/1/held_3s_after_close"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Released",
                    "src": [
                      {
                        "file": "buttons_locks_medius_samehub_fix4_r1.json",
                        "ptr": "/results/1/held_3s_after_close"
                      },
                      {
                        "file": "buttons_locks_medius_samehub_fix4_r2.json",
                        "ptr": "/results/1/held_3s_after_close"
                      },
                      {
                        "file": "buttons_locks_medius_samehub_fix4_r3.json",
                        "ptr": "/results/1/held_3s_after_close"
                      }
                    ]
                  }
                }
              ],
              "label": "Left button 3 s after the program exits"
            }
          ]
        },
        {
          "id": "recovery-replug",
          "title": "Replug",
          "about": "The real device was unplugged and plugged back in, 10 times a run, two runs.",
          "tables": [
            {
              "kind": "measure",
              "label": "Replug times",
              "key": "Interval",
              "unit": "s",
              "better": "lower",
              "n": "10 cycles a run, 2 runs",
              "rows": [
                {
                  "id": "recovery-replug-gone",
                  "label": "Unplug to clone gone",
                  "stock": {
                    "lo": 0.19,
                    "hi": 0.19,
                    "src": [
                      {
                        "file": "replug_stock_samehub_r1.json",
                        "ptr": "/results/0/gone/p50"
                      },
                      {
                        "file": "replug_stock_samehub_r2.json",
                        "ptr": "/results/0/gone/p50"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 0.45,
                    "hi": 0.45,
                    "src": [
                      {
                        "file": "replug_medius_samehub_fix4_r1.json",
                        "ptr": "/results/0/gone/p50"
                      },
                      {
                        "file": "replug_medius_samehub_fix4_r2.json",
                        "ptr": "/results/0/gone/p50"
                      }
                    ]
                  }
                },
                {
                  "id": "recovery-replug-back",
                  "label": "Replug to clone back",
                  "stock": {
                    "lo": 0.86,
                    "hi": 0.86,
                    "src": [
                      {
                        "file": "replug_stock_samehub_r1.json",
                        "ptr": "/results/0/configured/p50"
                      },
                      {
                        "file": "replug_stock_samehub_r2.json",
                        "ptr": "/results/0/configured/p50"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 0.86,
                    "hi": 0.87,
                    "src": [
                      {
                        "file": "replug_medius_samehub_fix4_r1.json",
                        "ptr": "/results/0/configured/p50"
                      },
                      {
                        "file": "replug_medius_samehub_fix4_r2.json",
                        "ptr": "/results/0/configured/p50"
                      }
                    ]
                  }
                },
                {
                  "id": "recovery-replug-first-report",
                  "label": "Replug to first report",
                  "stock": {
                    "lo": 0.92,
                    "hi": 0.93,
                    "src": [
                      {
                        "file": "replug_stock_samehub_r1.json",
                        "ptr": "/results/0/first_report/p50"
                      },
                      {
                        "file": "replug_stock_samehub_r2.json",
                        "ptr": "/results/0/first_report/p50"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 0.92,
                    "hi": 0.93,
                    "src": [
                      {
                        "file": "replug_medius_samehub_fix4_r1.json",
                        "ptr": "/results/0/first_report/p50"
                      },
                      {
                        "file": "replug_medius_samehub_fix4_r2.json",
                        "ptr": "/results/0/first_report/p50"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "id": "recovery-pc-restart",
          "title": "PC restart",
          "about": "The PC turned the clone's port off for 3 s (as a restart does) or unconfigured the clone for 3 s, then sent a move once the clone was back.",
          "tables": [
            {
              "kind": "measure",
              "label": "Time until the clone is back, min to max",
              "key": "PC action",
              "unit": "s",
              "better": "lower",
              "stat": "min to max",
              "layer": "host",
              "n": "5 cycles a run, 2 runs",
              "rows": [
                {
                  "id": "recovery-restart-back-port-cycle",
                  "label": "Port off 3 s, then on",
                  "stock": {
                    "lo": 0.601,
                    "hi": 0.693,
                    "src": [
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/0/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/1/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/2/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/3/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/4/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/0/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/1/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/2/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/3/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/4/back_s"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 0.591,
                    "hi": 0.669,
                    "src": [
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/0/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/1/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/2/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/3/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/4/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/0/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/1/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/2/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/3/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/4/back_s"
                      }
                    ]
                  }
                },
                {
                  "id": "recovery-restart-back-reconfigure",
                  "label": "Unconfigured 3 s, then configured",
                  "stock": {
                    "lo": 0.086,
                    "hi": 0.136,
                    "src": [
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/5/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/6/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/7/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/8/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/9/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/5/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/6/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/7/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/8/back_s"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/9/back_s"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 0.092,
                    "hi": 0.106,
                    "src": [
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/5/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/6/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/7/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/8/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/9/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/5/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/6/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/7/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/8/back_s"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/9/back_s"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "kind": "outcome",
              "label": "First move after the clone is back",
              "key": "PC action",
              "outcomes": [
                "Arrives at once",
                "Sometimes held >1 s"
              ],
              "commands": {
                "stock": "km.move_now",
                "medius": "MOVE(NOW)"
              },
              "rows": [
                {
                  "id": "recovery-restart-move-port-cycle",
                  "label": "Port off 3 s, then on",
                  "stock": {
                    "is": "Sometimes held >1 s",
                    "src": [
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/0/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/1/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/2/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/3/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/4/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/0/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/1/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/2/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/3/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/4/first_ms"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Arrives at once",
                    "src": [
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/0/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/1/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/2/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/3/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/4/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/0/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/1/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/2/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/3/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/4/first_ms"
                      }
                    ]
                  }
                },
                {
                  "id": "recovery-restart-move-reconfigure",
                  "label": "Unconfigured 3 s, then configured",
                  "stock": {
                    "is": "Arrives at once",
                    "src": [
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/5/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/6/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/7/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/8/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r1.json",
                        "ptr": "/results/9/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/5/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/6/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/7/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/8/first_ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_r2.json",
                        "ptr": "/results/9/first_ms"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Arrives at once",
                    "src": [
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/5/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/6/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/7/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/8/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r1.json",
                        "ptr": "/results/9/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/5/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/6/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/7/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/8/first_ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_r2.json",
                        "ptr": "/results/9/first_ms"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "kind": "measure",
              "label": "First move after the clone is back, device reporting every 8 ms, min to max",
              "key": "PC action",
              "unit": "ms",
              "better": "lower",
              "stat": "min to max",
              "layer": "hidraw",
              "n": "5 cycles each",
              "commands": {
                "stock": "km.move_now",
                "medius": "MOVE(NOW)"
              },
              "rows": [
                {
                  "id": "recovery-restart-busy-port",
                  "label": "Port off 3 s, then on",
                  "stock": {
                    "lo": 2.22,
                    "hi": 6.37,
                    "src": [
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/0/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/1/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/2/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/3/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/4/first_ms",
                        "unit": "ms"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 1.08,
                    "hi": 1.66,
                    "src": [
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/0/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/1/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/2/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/3/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/4/first_ms",
                        "unit": "ms"
                      }
                    ]
                  }
                },
                {
                  "id": "recovery-restart-busy-deauth",
                  "label": "Unconfigured 3 s, then configured",
                  "stock": {
                    "lo": 3.44,
                    "hi": 8.12,
                    "src": [
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/5/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/6/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/7/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/8/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_stock_samehub_busy.json",
                        "ptr": "/results/9/first_ms",
                        "unit": "ms"
                      }
                    ]
                  },
                  "medius": {
                    "lo": 0.74,
                    "hi": 1.52,
                    "src": [
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/5/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/6/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/7/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/8/first_ms",
                        "unit": "ms"
                      },
                      {
                        "file": "pc_restart_medius_samehub_fix4_busy.json",
                        "ptr": "/results/9/first_ms",
                        "unit": "ms"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "id": "recovery-pc-sleep",
          "title": "PC sleep",
          "about": "The PC put each clone to sleep 3 times.",
          "tables": [
            {
              "kind": "outcome",
              "label": "Real device while the PC sleeps",
              "key": "Device",
              "outcomes": [
                "Suspended",
                "Kept awake"
              ],
              "rows": [
                {
                  "id": "recovery-sleep-device",
                  "label": "Mouse",
                  "stock": {
                    "is": "Suspended",
                    "src": [
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/0/device_suspend_edges"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/1/device_suspend_edges"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/2/device_suspend_edges"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Suspended",
                    "src": [
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/0/device_suspend_edges"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/1/device_suspend_edges"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/2/device_suspend_edges"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "kind": "outcome",
              "label": "PC while asleep",
              "key": "Case",
              "outcomes": [
                "Asleep",
                "Woken"
              ],
              "rows": [
                {
                  "id": "recovery-sleep-idle",
                  "label": "Nothing sent for 2 s",
                  "stock": {
                    "is": "Asleep",
                    "src": [
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/0/idle_pc_stayed_asleep"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/1/idle_pc_stayed_asleep"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/2/idle_pc_stayed_asleep"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Asleep",
                    "src": [
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/0/idle_pc_stayed_asleep"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/1/idle_pc_stayed_asleep"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/2/idle_pc_stayed_asleep"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "kind": "outcome",
              "label": "Waking the sleeping PC",
              "key": "Wakeup",
              "outcomes": [
                "Wakes the PC",
                "PC stays asleep"
              ],
              "rows": [
                {
                  "id": "recovery-wake-inject",
                  "label": "Injected move",
                  "stock": {
                    "is": "PC stays asleep",
                    "src": [
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/0/inject_pc_woken_ms"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/0/inject_total"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/1/inject_pc_woken_ms"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/1/inject_total"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/2/inject_pc_woken_ms"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/2/inject_total"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Wakes the PC",
                    "src": [
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/0/inject_pc_woken_ms"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/0/inject_total"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/1/inject_pc_woken_ms"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/1/inject_total"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/2/inject_pc_woken_ms"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/2/inject_total"
                      }
                    ]
                  }
                },
                {
                  "id": "recovery-wake-device",
                  "label": "The real device's remote wakeup",
                  "stock": {
                    "is": "PC stays asleep",
                    "src": [
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/0/wake_fired"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/0/wake_pc_woken"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/1/wake_fired"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/1/wake_pc_woken"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/2/wake_fired"
                      },
                      {
                        "file": "suspend_stock_samehub.json",
                        "ptr": "/results/2/wake_pc_woken"
                      }
                    ]
                  },
                  "medius": {
                    "is": "Wakes the PC",
                    "src": [
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/0/wake_fired"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/0/wake_pc_woken"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/1/wake_fired"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/1/wake_pc_woken"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/2/wake_fired"
                      },
                      {
                        "file": "suspend_medius_samehub_fix4.json",
                        "ptr": "/results/2/wake_pc_woken"
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "defects": [
    {
      "id": "recovery-restart-move-held",
      "box": "stock",
      "text": "After the PC turns the clone's port off and on, the first injected move waits for the next native report: >1 s in 6/10 tries with a mouse reporting every 2 s.",
      "rows": [
        "recovery-restart-move-port-cycle"
      ]
    },
    {
      "id": "recovery-exit-held",
      "box": "stock",
      "rows": [
        "recovery-exit-left-button"
      ],
      "text": "If a program closes the port while holding a button, the button stays held until another program releases it or the box restarts."
    },
    {
      "id": "recovery-stock-no-wake",
      "box": "stock",
      "text": "Neither an injected move nor the real device's remote wakeup wakes a sleeping PC.",
      "rows": [
        "recovery-wake-device"
      ]
    }
  ],
  "pending": []
}
