+#if (BOOTLOADER_CAN_EXIT)
+# if (BOOTLOADER_LOOPCYCLES_TIMEOUT)
+# if (BOOTLOADER_LOOPCYCLES_TIMEOUT < 256)
+# if ((HAVE_UNPRECISEWAIT))
+volatile register uint8_t timeout_remaining __asm__("r2");
+# else
+static volatile uint8_t timeout_remaining;
+# endif
+# else
+static volatile uint16_t timeout_remaining;
+# endif
+# endif