Bump Robolectric to 4.16 (#1456)

1. Bump minSdk to 21 as AndroidX bumped it before and dependencies have
   this restriction.
2. Bump AndroidX test junit version and add correct junit4 dependency
   version to avoid potential class cast issues when bumping
   dependencies.

Signed-off-by: utzcoz <utzcoz@outlook.com>
diff --git a/examples/android_local_test/WORKSPACE b/examples/android_local_test/WORKSPACE
index 89a85c4..68f8cbd 100644
--- a/examples/android_local_test/WORKSPACE
+++ b/examples/android_local_test/WORKSPACE
@@ -7,9 +7,9 @@
 
 http_archive(
     name = "robolectric",
-    sha256 = "b2d2164bae80fcfbdd078eb2f0935ba06557402b8c814928d9e3bec7358e2b7b",
-    strip_prefix = "robolectric-bazel-4.14.1.2",
-    urls = ["https://github.com/robolectric/robolectric-bazel/releases/download/4.14.1.2/robolectric-bazel-4.14.1.2.tar.gz"],
+    sha256 = "cf04b4206b9d21b385e8dbee478fac619fc1344e8e46935dcec2d64939dd0525",
+    strip_prefix = "robolectric-bazel-4.16",
+    urls = ["https://github.com/robolectric/robolectric-bazel/releases/download/4.16/robolectric-bazel-4.16.tar.gz"],
 )
 
 load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories")
@@ -34,8 +34,9 @@
 maven_install(
     artifacts = [
         "androidx.appcompat:appcompat:1.0.2",
-        "androidx.test.ext:junit:1.1.0",
-        "org.robolectric:robolectric:4.14.1",
+        "androidx.test.ext:junit:1.3.0",
+        "junit:junit:4.13.2",
+        "org.robolectric:robolectric:4.16",
         "org.assertj:assertj-core:3.12.1",
     ],
     maven_install_json = "//:maven_install.json",
diff --git a/examples/android_local_test/maven_install.json b/examples/android_local_test/maven_install.json
index c55b26c..423a581 100644
--- a/examples/android_local_test/maven_install.json
+++ b/examples/android_local_test/maven_install.json
@@ -1,19 +1,19 @@
 {
   "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
-  "__INPUT_ARTIFACTS_HASH": 451466798,
-  "__RESOLVED_ARTIFACTS_HASH": -42010990,
+  "__INPUT_ARTIFACTS_HASH": -603657905,
+  "__RESOLVED_ARTIFACTS_HASH": 1817292797,
   "artifacts": {
     "androidx.annotation:annotation": {
       "shasums": {
         "jar": "b11676837cad011a5285d6074418649107ef25eba17131517e9557ef8c9984ed"
       },
-      "version": "1.7.0-beta01"
+      "version": "1.7.0"
     },
     "androidx.annotation:annotation-jvm": {
       "shasums": {
         "jar": "e36b8e4b8393a4adc74e3d4ab22ad5a36396f0cea2e40b5734eae14937dfd224"
       },
-      "version": "1.7.0-beta01"
+      "version": "1.7.0"
     },
     "androidx.appcompat:appcompat:aar": {
       "shasums": {
@@ -45,6 +45,18 @@
       },
       "version": "1.0.0"
     },
+    "androidx.concurrent:concurrent-futures": {
+      "shasums": {
+        "jar": "4810315a798690b5d3bb40c92bcd41c045fd2c36bbfc50b27cbac3d6a0eda190"
+      },
+      "version": "1.2.0"
+    },
+    "androidx.concurrent:concurrent-futures-ktx": {
+      "shasums": {
+        "jar": "e1f3e17bb4358ccd6c77ca45f70635c9aba237261f19eaa4f64a0218c00e2a3e"
+      },
+      "version": "1.2.0"
+    },
     "androidx.coordinatorlayout:coordinatorlayout:aar": {
       "shasums": {
         "jar": "e508c695489493374d942bf7b4ee02abf7571d25aac4c622e57d6cd5cd29eb73"
@@ -107,9 +119,9 @@
     },
     "androidx.lifecycle:lifecycle-common": {
       "shasums": {
-        "jar": "7bad7a188804adea6fa1f35d5ef99b705f20bd93ecadde484760ff86b535fefc"
+        "jar": "15848fb56db32f4c7cdc72b324003183d52a4884d6bf09be708ac7f587d139b5"
       },
-      "version": "2.0.0"
+      "version": "2.3.1"
     },
     "androidx.lifecycle:lifecycle-livedata-core:aar": {
       "shasums": {
@@ -167,27 +179,33 @@
     },
     "androidx.test.espresso:espresso-idling-resource:aar": {
       "shasums": {
-        "jar": "bc63a8780f1c707724e389f530cb2e1a6847da97f6a8114604c002aba2fd86ca"
+        "jar": "5ff62326b49c308c1d060466ae3cf4aa0e3deaf9295f077a6886048dda3e9b14"
       },
-      "version": "3.6.1"
+      "version": "3.7.0"
     },
     "androidx.test.ext:junit:aar": {
       "shasums": {
-        "jar": "8d4733213eeb8d071f969ea5b04f6559dc4e180cdc6fa9254aacdc14a3d3f4b7"
+        "jar": "3363df84da4540ba8daff02c3f7cd65471037a6a5370591a7e6deba377b36e7f"
       },
-      "version": "1.1.0"
+      "version": "1.3.0"
+    },
+    "androidx.test.services:storage:aar": {
+      "shasums": {
+        "jar": "f97e3cf6aaf4e3fb97ef219d37a9c0a0720183c1f6db87b37642521e26fb6d30"
+      },
+      "version": "1.6.0"
     },
     "androidx.test:core:aar": {
       "shasums": {
-        "jar": "fda5a08856ec82fc05e4dc37bd4eea93c9d02c231fd828d6b8ce2c6a42f79271"
+        "jar": "f4dacd8edceeec48e0c76ecf28339b28f4b4f6b74f8e34e9e59b472c27d9eb81"
       },
-      "version": "1.1.0"
+      "version": "1.7.0"
     },
     "androidx.test:monitor:aar": {
       "shasums": {
-        "jar": "868cc120d10d024b886fa157e1e1eaee0e6a8e5d55e7f765ef41d8fc0fea775b"
+        "jar": "56cb7496a06d9f2dca7d3ff76c50a8a30bd18e00a24a3b267d5a31437b278e67"
       },
-      "version": "1.7.2"
+      "version": "1.8.0"
     },
     "androidx.tracing:tracing:aar": {
       "shasums": {
@@ -231,35 +249,29 @@
       },
       "version": "1.11.0"
     },
-    "com.google.code.findbugs:jsr305": {
-      "shasums": {
-        "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7"
-      },
-      "version": "3.0.2"
-    },
     "com.google.errorprone:error_prone_annotation": {
       "shasums": {
-        "jar": "99f8b53c75a50617d4f9bf45512eda82e7d8e9eb377471d822d3d4c4e034c510"
+        "jar": "192e99ad3be8a0a44fe210cdc9b0265601dcb446e521ba922c793e50add413c3"
       },
-      "version": "2.34.0"
+      "version": "2.41.0"
     },
     "com.google.errorprone:error_prone_annotations": {
       "shasums": {
-        "jar": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e"
+        "jar": "77440e270b0bc9a249903c5a076c36a722c4886ca4f42675f2903a1c53ed61a5"
       },
-      "version": "2.28.0"
+      "version": "2.36.0"
     },
     "com.google.guava:failureaccess": {
       "shasums": {
-        "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064"
+        "jar": "cbfc3906b19b8f55dd7cfd6dfe0aa4532e834250d7f080bd8d211a3e246b59cb"
       },
-      "version": "1.0.2"
+      "version": "1.0.3"
     },
     "com.google.guava:guava": {
       "shasums": {
-        "jar": "4bf0e2c5af8e4525c96e8fde17a4f7307f97f8478f11c4c8e35a0e3298ae4e90"
+        "jar": "f3d7f57f67fd622f4d468dfdd692b3a5e3909246c28017ac3263405f0fe617ed"
       },
-      "version": "33.3.1-jre"
+      "version": "33.4.8-jre"
     },
     "com.google.guava:listenablefuture": {
       "shasums": {
@@ -281,9 +293,9 @@
     },
     "com.ibm.icu:icu4j": {
       "shasums": {
-        "jar": "543e43a91d1499e331c711a756f833d6fb8cc019f9c9913c0bdf4d53009932d5"
+        "jar": "b3640b9f416a4411fd33c59abbeea8fd57d024c23e1819bf9673220a97499fe3"
       },
-      "version": "75.1"
+      "version": "77.1"
     },
     "javax.annotation:javax.annotation-api": {
       "shasums": {
@@ -299,9 +311,9 @@
     },
     "junit:junit": {
       "shasums": {
-        "jar": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a"
+        "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3"
       },
-      "version": "4.12"
+      "version": "4.13.2"
     },
     "org.assertj:assertj-core": {
       "shasums": {
@@ -311,15 +323,9 @@
     },
     "org.bouncycastle:bcprov-jdk18on": {
       "shasums": {
-        "jar": "add5915e6acfc6ab5836e1fd8a5e21c6488536a8c1f21f386eeb3bf280b702d7"
+        "jar": "249f396412b0c0ce67f25c8197da757b241b8be3ec4199386c00704a2457459b"
       },
-      "version": "1.78.1"
-    },
-    "org.checkerframework:checker-qual": {
-      "shasums": {
-        "jar": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6"
-      },
-      "version": "3.43.0"
+      "version": "1.81"
     },
     "org.conscrypt:conscrypt-openjdk-uber": {
       "shasums": {
@@ -335,135 +341,135 @@
     },
     "org.jetbrains.kotlin:kotlin-stdlib": {
       "shasums": {
-        "jar": "4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7"
+        "jar": "3b479313ab6caea4e5e25d3dee8ca80c302c89ba73e1af4dafaa100f6ef9296a"
       },
-      "version": "1.8.20"
+      "version": "1.9.21"
     },
-    "org.jetbrains.kotlin:kotlin-stdlib-common": {
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core": {
       "shasums": {
-        "jar": "fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5"
+        "jar": "f9522095aedcc2a6ab32c7484061ea698352c71be1390adb403b59aa48a38fdc"
       },
-      "version": "1.8.20"
+      "version": "1.7.3"
+    },
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": {
+      "shasums": {
+        "jar": "f3d4f5de1c391bbcc20f3b3435ccbac013521e76b6902d7d59635ec15c1f797e"
+      },
+      "version": "1.8.1"
     },
     "org.jetbrains:annotations": {
       "shasums": {
-        "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478"
+        "jar": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05"
       },
-      "version": "13.0"
+      "version": "23.0.0"
+    },
+    "org.jspecify:jspecify": {
+      "shasums": {
+        "jar": "1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab"
+      },
+      "version": "1.0.0"
     },
     "org.ow2.asm:asm": {
       "shasums": {
-        "jar": "8cadd43ac5eb6d09de05faecca38b917a040bb9139c7edeb4cc81c740b713281"
+        "jar": "876eab6a83daecad5ca67eb9fcabb063c97b5aeb8cf1fca7a989ecde17522051"
       },
-      "version": "9.7.1"
-    },
-    "org.ow2.asm:asm-analysis": {
-      "shasums": {
-        "jar": "85b29371884ba31bb76edf22323c2c24e172c3267a67152eba3d1ccc2e041ef2"
-      },
-      "version": "9.7.1"
+      "version": "9.8"
     },
     "org.ow2.asm:asm-commons": {
       "shasums": {
-        "jar": "9a579b54d292ad9be171d4313fd4739c635592c2b5ac3a459bbd1049cddec6a0"
+        "jar": "3301a1c1cb4c59fcc5292648dac1d7c5aed4c0f067dfbe88873b8cdfe77404f4"
       },
-      "version": "9.7.1"
+      "version": "9.8"
     },
     "org.ow2.asm:asm-tree": {
       "shasums": {
-        "jar": "9929881f59eb6b840e86d54570c77b59ce721d104e6dfd7a40978991c2d3b41f"
+        "jar": "14b7880cb7c85eed101e2710432fc3ffb83275532a6a894dc4c4095d49ad59f1"
       },
-      "version": "9.7.1"
-    },
-    "org.ow2.asm:asm-util": {
-      "shasums": {
-        "jar": "f885be71b5c90556f5f1ad1c4f9276b29b96057c497d46666fe4ddbec3cb43c6"
-      },
-      "version": "9.7.1"
+      "version": "9.8"
     },
     "org.robolectric:annotations": {
       "shasums": {
-        "jar": "463a5ad1386c31010bc9af00bfe19a1b758d8c2dedd8c19e5c75d29ab8abb9ba"
+        "jar": "409f50354fc08b382a8fa8c42416438d3664d2cb4e63bf252022c875288fbf7a"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:junit": {
       "shasums": {
-        "jar": "2cee817aadce3552706b09450ad1ea7ff5981924072d2adfe40ddad57d5fa123"
+        "jar": "2c9aca263f0c41b1f0452c88d28ad618e553325f0213ce75de42fb02dd5c0479"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:nativeruntime": {
       "shasums": {
-        "jar": "c07b66d315aec3272a7c64aa5f154b4194be2cc6030a733d16f2ee87330232a8"
+        "jar": "85c9c9763de195a166a2cfc88e8623b572bef92cb96f60342fcca3cbbd69ed25"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:nativeruntime-dist-compat": {
       "shasums": {
-        "jar": "2f4e879b00eed634d0e43353ecff80db4d5ce24b3b213d1e6053cb21b0ced10f"
+        "jar": "a6c34d92c990754e5aee076032a36f8e38fcacb5eb878ebe0a324509f3864eef"
       },
-      "version": "1.0.16"
+      "version": "1.0.18"
     },
     "org.robolectric:pluginapi": {
       "shasums": {
-        "jar": "ad8b74238d59bce6631e29190c105dd0c4701e836a2631060678407f621c7b7a"
+        "jar": "ffdb38f7d0a667e10d0609472ec13792018a69ccaf52c776166e03c61eae6428"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:plugins-maven-dependency-resolver": {
       "shasums": {
-        "jar": "6c8dbc979db0780755e712acab9eeb9396811b2d4dc31a92a5b259f9876205ec"
+        "jar": "60858ba0f8c21b2ca38aca7bf18b0fb39ebd10ddf80ef74777fac9ba8909880a"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:resources": {
       "shasums": {
-        "jar": "54eb274a47dec9e74cc9b45b9e4335bb5d83857c63b2a49dd8d1993e6321f2c5"
+        "jar": "0d6abfd274d3c853a564ea23ce1c52d31d075281ae0e7d64bbbc1477b2ed7679"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:robolectric": {
       "shasums": {
-        "jar": "e0a73d45bceb94a5a0352b66e2120ad4a4b222fe406079130893b6c79d4441d1"
+        "jar": "d5b073aa051c88995a621e13c9c0d2afd1be835800d59c80d58c1dbfd8eca19b"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:sandbox": {
       "shasums": {
-        "jar": "de361f3de8c08d4488cf156683830f2bd43db1da85a5b136ad6d065b868d3bab"
+        "jar": "78462f9987db60b24283eebdf31a7f4d11487197f8508a2ea262aa5ca4bb0b18"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:shadowapi": {
       "shasums": {
-        "jar": "fd158863cee488475206ba1d23ff4c7d29be412eccd21b12d9416b0030aa582d"
+        "jar": "8502d044ab781668fc52eb8784dcacd50c54eaa819cf5cc5fbb1b8457c9931a6"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:shadows-framework": {
       "shasums": {
-        "jar": "f3cf7785eecf9b2e80fbb4caac4c42f63eeea3506e289581c04696a56a494622"
+        "jar": "f3ddb731c95cb4663634355bed62932ec8f2c7a3daab876885a16b48e1530eda"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:utils": {
       "shasums": {
-        "jar": "6884eec32c9c9b23d74250e30a5ba9c5ece48784f808feba98f119b215ab59d8"
+        "jar": "51940c4668ed065101c8a932c6b8a7efa7b546fd5a8e98180f40ac3840b27428"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:utils-reflector": {
       "shasums": {
-        "jar": "eb8f52cdc24f59ae4cf13369c5bf990354c19c386e3e8f9f5d5cee04d836557b"
+        "jar": "efa21dcd2d68b8f3e202580a141b5f338a33e194a46bcd33b70ddb9e6d5ad63d"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.yaml:snakeyaml": {
       "shasums": {
-        "jar": "63a76fe66b652360bd4c2c107e6f0258daa7d4bb492008ba8c26fcd230ff9146"
+        "jar": "ef779af5d29a9dde8cc70ce0341f5c6f7735e23edff9685ceaa9d35359b7bb7f"
       },
-      "version": "2.3"
+      "version": "2.4"
     }
   },
   "dependencies": {
@@ -498,6 +504,15 @@
     "androidx.collection:collection": [
       "androidx.annotation:annotation"
     ],
+    "androidx.concurrent:concurrent-futures": [
+      "androidx.annotation:annotation",
+      "com.google.guava:listenablefuture"
+    ],
+    "androidx.concurrent:concurrent-futures-ktx": [
+      "androidx.concurrent:concurrent-futures",
+      "org.jetbrains.kotlin:kotlin-stdlib",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core"
+    ],
     "androidx.coordinatorlayout:coordinatorlayout:aar": [
       "androidx.annotation:annotation",
       "androidx.core:core:aar",
@@ -602,14 +617,25 @@
     ],
     "androidx.test.ext:junit:aar": [
       "androidx.annotation:annotation",
+      "androidx.test.services:storage:aar",
       "androidx.test:core:aar",
       "androidx.test:monitor:aar",
-      "junit:junit"
+      "junit:junit",
+      "org.jetbrains.kotlin:kotlin-stdlib"
+    ],
+    "androidx.test.services:storage:aar": [
+      "androidx.annotation:annotation",
+      "androidx.test:monitor:aar"
     ],
     "androidx.test:core:aar": [
       "androidx.annotation:annotation",
+      "androidx.concurrent:concurrent-futures-ktx",
       "androidx.lifecycle:lifecycle-common",
-      "androidx.test:monitor:aar"
+      "androidx.test:monitor:aar",
+      "androidx.tracing:tracing:aar",
+      "com.google.guava:listenablefuture",
+      "org.jetbrains.kotlin:kotlin-stdlib",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm"
     ],
     "androidx.test:monitor:aar": [
       "androidx.annotation:annotation",
@@ -640,22 +666,24 @@
       "com.google.guava:guava"
     ],
     "com.google.guava:guava": [
-      "com.google.code.findbugs:jsr305",
       "com.google.errorprone:error_prone_annotations",
       "com.google.guava:failureaccess",
       "com.google.guava:listenablefuture",
       "com.google.j2objc:j2objc-annotations",
-      "org.checkerframework:checker-qual"
+      "org.jspecify:jspecify"
     ],
     "junit:junit": [
       "org.hamcrest:hamcrest-core"
     ],
     "org.jetbrains.kotlin:kotlin-stdlib": [
-      "org.jetbrains.kotlin:kotlin-stdlib-common",
       "org.jetbrains:annotations"
     ],
-    "org.ow2.asm:asm-analysis": [
-      "org.ow2.asm:asm-tree"
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core": [
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm"
+    ],
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [
+      "org.jetbrains.kotlin:kotlin-stdlib",
+      "org.jetbrains:annotations"
     ],
     "org.ow2.asm:asm-commons": [
       "org.ow2.asm:asm",
@@ -664,24 +692,15 @@
     "org.ow2.asm:asm-tree": [
       "org.ow2.asm:asm"
     ],
-    "org.ow2.asm:asm-util": [
-      "org.ow2.asm:asm",
-      "org.ow2.asm:asm-analysis",
-      "org.ow2.asm:asm-tree"
-    ],
     "org.robolectric:junit": [
-      "org.robolectric:annotations",
       "org.robolectric:pluginapi",
-      "org.robolectric:sandbox",
-      "org.robolectric:shadowapi",
-      "org.robolectric:utils-reflector"
+      "org.robolectric:sandbox"
     ],
     "org.robolectric:nativeruntime": [
       "com.google.guava:guava",
       "org.robolectric:nativeruntime-dist-compat",
       "org.robolectric:shadowapi",
-      "org.robolectric:utils",
-      "org.robolectric:utils-reflector"
+      "org.robolectric:utils"
     ],
     "org.robolectric:pluginapi": [
       "com.google.guava:guava",
@@ -696,7 +715,6 @@
     "org.robolectric:resources": [
       "com.google.auto.value:auto-value-annotations",
       "com.google.guava:guava",
-      "org.robolectric:annotations",
       "org.robolectric:pluginapi",
       "org.robolectric:utils"
     ],
@@ -750,16 +768,13 @@
       "org.robolectric:utils-reflector"
     ],
     "org.robolectric:utils": [
-      "com.google.errorprone:error_prone_annotation",
       "javax.annotation:javax.annotation-api",
       "javax.inject:javax.inject",
-      "org.robolectric:annotations",
       "org.robolectric:pluginapi"
     ],
     "org.robolectric:utils-reflector": [
       "org.ow2.asm:asm",
       "org.ow2.asm:asm-commons",
-      "org.ow2.asm:asm-util",
       "org.robolectric:utils"
     ]
   },
@@ -774,6 +789,12 @@
     "androidx.collection:collection": [
       "androidx.collection"
     ],
+    "androidx.concurrent:concurrent-futures": [
+      "androidx.concurrent.futures"
+    ],
+    "androidx.concurrent:concurrent-futures-ktx": [
+      "androidx.concurrent.futures"
+    ],
     "androidx.lifecycle:lifecycle-common": [
       "androidx.lifecycle"
     ],
@@ -787,11 +808,6 @@
       "com.google.auto.value.extension.serializable",
       "com.google.auto.value.extension.toprettystring"
     ],
-    "com.google.code.findbugs:jsr305": [
-      "javax.annotation",
-      "javax.annotation.concurrent",
-      "javax.annotation.meta"
-    ],
     "com.google.errorprone:error_prone_annotation": [
       "com.google.errorprone"
     ],
@@ -871,8 +887,10 @@
       "org.junit.experimental.theories",
       "org.junit.experimental.theories.internal",
       "org.junit.experimental.theories.suppliers",
+      "org.junit.function",
       "org.junit.internal",
       "org.junit.internal.builders",
+      "org.junit.internal.management",
       "org.junit.internal.matchers",
       "org.junit.internal.requests",
       "org.junit.internal.runners",
@@ -972,6 +990,7 @@
       "org.bouncycastle.asn1.x9",
       "org.bouncycastle.crypto",
       "org.bouncycastle.crypto.agreement",
+      "org.bouncycastle.crypto.agreement.ecjpake",
       "org.bouncycastle.crypto.agreement.jpake",
       "org.bouncycastle.crypto.agreement.kdf",
       "org.bouncycastle.crypto.agreement.srp",
@@ -997,6 +1016,7 @@
       "org.bouncycastle.crypto.prng",
       "org.bouncycastle.crypto.prng.drbg",
       "org.bouncycastle.crypto.signers",
+      "org.bouncycastle.crypto.threshold",
       "org.bouncycastle.crypto.tls",
       "org.bouncycastle.crypto.util",
       "org.bouncycastle.i18n",
@@ -1034,7 +1054,10 @@
       "org.bouncycastle.jcajce.provider.asymmetric.elgamal",
       "org.bouncycastle.jcajce.provider.asymmetric.gost",
       "org.bouncycastle.jcajce.provider.asymmetric.ies",
+      "org.bouncycastle.jcajce.provider.asymmetric.mldsa",
+      "org.bouncycastle.jcajce.provider.asymmetric.mlkem",
       "org.bouncycastle.jcajce.provider.asymmetric.rsa",
+      "org.bouncycastle.jcajce.provider.asymmetric.slhdsa",
       "org.bouncycastle.jcajce.provider.asymmetric.util",
       "org.bouncycastle.jcajce.provider.asymmetric.x509",
       "org.bouncycastle.jcajce.provider.config",
@@ -1072,18 +1095,21 @@
       "org.bouncycastle.pqc.crypto.bike",
       "org.bouncycastle.pqc.crypto.cmce",
       "org.bouncycastle.pqc.crypto.crystals.dilithium",
-      "org.bouncycastle.pqc.crypto.crystals.kyber",
       "org.bouncycastle.pqc.crypto.falcon",
       "org.bouncycastle.pqc.crypto.frodo",
-      "org.bouncycastle.pqc.crypto.gemss",
       "org.bouncycastle.pqc.crypto.hqc",
       "org.bouncycastle.pqc.crypto.lms",
+      "org.bouncycastle.pqc.crypto.mayo",
+      "org.bouncycastle.pqc.crypto.mldsa",
+      "org.bouncycastle.pqc.crypto.mlkem",
       "org.bouncycastle.pqc.crypto.newhope",
       "org.bouncycastle.pqc.crypto.ntru",
       "org.bouncycastle.pqc.crypto.ntruprime",
       "org.bouncycastle.pqc.crypto.picnic",
       "org.bouncycastle.pqc.crypto.rainbow",
       "org.bouncycastle.pqc.crypto.saber",
+      "org.bouncycastle.pqc.crypto.slhdsa",
+      "org.bouncycastle.pqc.crypto.snova",
       "org.bouncycastle.pqc.crypto.sphincs",
       "org.bouncycastle.pqc.crypto.sphincsplus",
       "org.bouncycastle.pqc.crypto.util",
@@ -1100,25 +1126,25 @@
       "org.bouncycastle.pqc.jcajce.provider.hqc",
       "org.bouncycastle.pqc.jcajce.provider.kyber",
       "org.bouncycastle.pqc.jcajce.provider.lms",
+      "org.bouncycastle.pqc.jcajce.provider.mayo",
       "org.bouncycastle.pqc.jcajce.provider.mceliece",
       "org.bouncycastle.pqc.jcajce.provider.newhope",
       "org.bouncycastle.pqc.jcajce.provider.ntru",
       "org.bouncycastle.pqc.jcajce.provider.ntruprime",
       "org.bouncycastle.pqc.jcajce.provider.picnic",
-      "org.bouncycastle.pqc.jcajce.provider.rainbow",
       "org.bouncycastle.pqc.jcajce.provider.saber",
+      "org.bouncycastle.pqc.jcajce.provider.snova",
       "org.bouncycastle.pqc.jcajce.provider.sphincs",
       "org.bouncycastle.pqc.jcajce.provider.sphincsplus",
       "org.bouncycastle.pqc.jcajce.provider.util",
       "org.bouncycastle.pqc.jcajce.provider.xmss",
       "org.bouncycastle.pqc.jcajce.spec",
+      "org.bouncycastle.pqc.legacy.crypto.gemss",
       "org.bouncycastle.pqc.legacy.crypto.gmss",
       "org.bouncycastle.pqc.legacy.crypto.gmss.util",
       "org.bouncycastle.pqc.legacy.crypto.mceliece",
       "org.bouncycastle.pqc.legacy.crypto.ntru",
       "org.bouncycastle.pqc.legacy.crypto.qtesla",
-      "org.bouncycastle.pqc.legacy.crypto.rainbow",
-      "org.bouncycastle.pqc.legacy.crypto.rainbow.util",
       "org.bouncycastle.pqc.legacy.math.linearalgebra",
       "org.bouncycastle.pqc.legacy.math.ntru.euclid",
       "org.bouncycastle.pqc.legacy.math.ntru.polynomial",
@@ -1134,38 +1160,6 @@
       "org.bouncycastle.x509.extension",
       "org.bouncycastle.x509.util"
     ],
-    "org.checkerframework:checker-qual": [
-      "org.checkerframework.checker.builder.qual",
-      "org.checkerframework.checker.calledmethods.qual",
-      "org.checkerframework.checker.compilermsgs.qual",
-      "org.checkerframework.checker.fenum.qual",
-      "org.checkerframework.checker.formatter.qual",
-      "org.checkerframework.checker.guieffect.qual",
-      "org.checkerframework.checker.i18n.qual",
-      "org.checkerframework.checker.i18nformatter.qual",
-      "org.checkerframework.checker.index.qual",
-      "org.checkerframework.checker.initialization.qual",
-      "org.checkerframework.checker.interning.qual",
-      "org.checkerframework.checker.lock.qual",
-      "org.checkerframework.checker.mustcall.qual",
-      "org.checkerframework.checker.nullness.qual",
-      "org.checkerframework.checker.optional.qual",
-      "org.checkerframework.checker.propkey.qual",
-      "org.checkerframework.checker.regex.qual",
-      "org.checkerframework.checker.signature.qual",
-      "org.checkerframework.checker.signedness.qual",
-      "org.checkerframework.checker.tainting.qual",
-      "org.checkerframework.checker.units.qual",
-      "org.checkerframework.common.aliasing.qual",
-      "org.checkerframework.common.initializedfields.qual",
-      "org.checkerframework.common.reflection.qual",
-      "org.checkerframework.common.returnsreceiver.qual",
-      "org.checkerframework.common.subtyping.qual",
-      "org.checkerframework.common.util.count.report.qual",
-      "org.checkerframework.common.value.qual",
-      "org.checkerframework.dataflow.qual",
-      "org.checkerframework.framework.qual"
-    ],
     "org.conscrypt:conscrypt-openjdk-uber": [
       "org.conscrypt",
       "org.conscrypt.ct",
@@ -1221,26 +1215,40 @@
       "kotlin.time",
       "kotlin.time.jdk8"
     ],
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [
+      "_COROUTINE",
+      "kotlinx.coroutines",
+      "kotlinx.coroutines.channels",
+      "kotlinx.coroutines.debug",
+      "kotlinx.coroutines.debug.internal",
+      "kotlinx.coroutines.flow",
+      "kotlinx.coroutines.flow.internal",
+      "kotlinx.coroutines.future",
+      "kotlinx.coroutines.internal",
+      "kotlinx.coroutines.intrinsics",
+      "kotlinx.coroutines.scheduling",
+      "kotlinx.coroutines.selects",
+      "kotlinx.coroutines.stream",
+      "kotlinx.coroutines.sync",
+      "kotlinx.coroutines.time"
+    ],
     "org.jetbrains:annotations": [
       "org.intellij.lang.annotations",
       "org.jetbrains.annotations"
     ],
+    "org.jspecify:jspecify": [
+      "org.jspecify.annotations"
+    ],
     "org.ow2.asm:asm": [
       "org.objectweb.asm",
       "org.objectweb.asm.signature"
     ],
-    "org.ow2.asm:asm-analysis": [
-      "org.objectweb.asm.tree.analysis"
-    ],
     "org.ow2.asm:asm-commons": [
       "org.objectweb.asm.commons"
     ],
     "org.ow2.asm:asm-tree": [
       "org.objectweb.asm.tree"
     ],
-    "org.ow2.asm:asm-util": [
-      "org.objectweb.asm.util"
-    ],
     "org.robolectric:annotations": [
       "org.robolectric.annotation",
       "org.robolectric.annotation.experimental",
@@ -1265,7 +1273,6 @@
       "org.robolectric.internal.dependency"
     ],
     "org.robolectric:resources": [
-      "org.robolectric",
       "org.robolectric.manifest",
       "org.robolectric.res",
       "org.robolectric.res.android",
@@ -1325,7 +1332,6 @@
       "org.yaml.snakeyaml.error",
       "org.yaml.snakeyaml.events",
       "org.yaml.snakeyaml.extensions.compactnotation",
-      "org.yaml.snakeyaml.external.biz.base64Coder",
       "org.yaml.snakeyaml.external.com.google.gdata.util.common.base",
       "org.yaml.snakeyaml.inspector",
       "org.yaml.snakeyaml.internal",
@@ -1350,6 +1356,8 @@
       "androidx.arch.core:core-runtime:aar",
       "androidx.asynclayoutinflater:asynclayoutinflater:aar",
       "androidx.collection:collection",
+      "androidx.concurrent:concurrent-futures",
+      "androidx.concurrent:concurrent-futures-ktx",
       "androidx.coordinatorlayout:coordinatorlayout:aar",
       "androidx.core:core:aar",
       "androidx.cursoradapter:cursoradapter:aar",
@@ -1372,6 +1380,7 @@
       "androidx.swiperefreshlayout:swiperefreshlayout:aar",
       "androidx.test.espresso:espresso-idling-resource:aar",
       "androidx.test.ext:junit:aar",
+      "androidx.test.services:storage:aar",
       "androidx.test:core:aar",
       "androidx.test:monitor:aar",
       "androidx.tracing:tracing:aar",
@@ -1381,7 +1390,6 @@
       "androidx.viewpager:viewpager:aar",
       "com.almworks.sqlite4java:sqlite4java",
       "com.google.auto.value:auto-value-annotations",
-      "com.google.code.findbugs:jsr305",
       "com.google.errorprone:error_prone_annotation",
       "com.google.errorprone:error_prone_annotations",
       "com.google.guava:failureaccess",
@@ -1395,17 +1403,16 @@
       "junit:junit",
       "org.assertj:assertj-core",
       "org.bouncycastle:bcprov-jdk18on",
-      "org.checkerframework:checker-qual",
       "org.conscrypt:conscrypt-openjdk-uber",
       "org.hamcrest:hamcrest-core",
       "org.jetbrains.kotlin:kotlin-stdlib",
-      "org.jetbrains.kotlin:kotlin-stdlib-common",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm",
       "org.jetbrains:annotations",
+      "org.jspecify:jspecify",
       "org.ow2.asm:asm",
-      "org.ow2.asm:asm-analysis",
       "org.ow2.asm:asm-commons",
       "org.ow2.asm:asm-tree",
-      "org.ow2.asm:asm-util",
       "org.robolectric:annotations",
       "org.robolectric:junit",
       "org.robolectric:nativeruntime",
@@ -1429,6 +1436,8 @@
       "androidx.arch.core:core-runtime:aar",
       "androidx.asynclayoutinflater:asynclayoutinflater:aar",
       "androidx.collection:collection",
+      "androidx.concurrent:concurrent-futures",
+      "androidx.concurrent:concurrent-futures-ktx",
       "androidx.coordinatorlayout:coordinatorlayout:aar",
       "androidx.core:core:aar",
       "androidx.cursoradapter:cursoradapter:aar",
@@ -1451,6 +1460,7 @@
       "androidx.swiperefreshlayout:swiperefreshlayout:aar",
       "androidx.test.espresso:espresso-idling-resource:aar",
       "androidx.test.ext:junit:aar",
+      "androidx.test.services:storage:aar",
       "androidx.test:core:aar",
       "androidx.test:monitor:aar",
       "androidx.tracing:tracing:aar",
@@ -1460,7 +1470,6 @@
       "androidx.viewpager:viewpager:aar",
       "com.almworks.sqlite4java:sqlite4java",
       "com.google.auto.value:auto-value-annotations",
-      "com.google.code.findbugs:jsr305",
       "com.google.errorprone:error_prone_annotation",
       "com.google.errorprone:error_prone_annotations",
       "com.google.guava:failureaccess",
@@ -1474,17 +1483,16 @@
       "junit:junit",
       "org.assertj:assertj-core",
       "org.bouncycastle:bcprov-jdk18on",
-      "org.checkerframework:checker-qual",
       "org.conscrypt:conscrypt-openjdk-uber",
       "org.hamcrest:hamcrest-core",
       "org.jetbrains.kotlin:kotlin-stdlib",
-      "org.jetbrains.kotlin:kotlin-stdlib-common",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm",
       "org.jetbrains:annotations",
+      "org.jspecify:jspecify",
       "org.ow2.asm:asm",
-      "org.ow2.asm:asm-analysis",
       "org.ow2.asm:asm-commons",
       "org.ow2.asm:asm-tree",
-      "org.ow2.asm:asm-util",
       "org.robolectric:annotations",
       "org.robolectric:junit",
       "org.robolectric:nativeruntime",
diff --git a/examples/android_local_test/src/main/java/AndroidManifest.xml b/examples/android_local_test/src/main/java/AndroidManifest.xml
index 53ce466..422bc5a 100644
--- a/examples/android_local_test/src/main/java/AndroidManifest.xml
+++ b/examples/android_local_test/src/main/java/AndroidManifest.xml
@@ -3,7 +3,7 @@
           xmlns:tools="http://schemas.android.com/tools"
           package="com.example.bazel">
 
-    <uses-sdk android:minSdkVersion="19" />
+    <uses-sdk android:minSdkVersion="21" />
 
     <application
         android:label="@string/app_name"
diff --git a/examples/android_local_test/src/test/AndroidManifest.xml b/examples/android_local_test/src/test/AndroidManifest.xml
index 8ac95a4..dee40ee 100644
--- a/examples/android_local_test/src/test/AndroidManifest.xml
+++ b/examples/android_local_test/src/test/AndroidManifest.xml
@@ -3,6 +3,6 @@
           xmlns:tools="http://schemas.android.com/tools"
           package="com.example.bazel">
 
-    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="27" />
+    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
 
 </manifest>
diff --git a/examples/kt_android_local_test/WORKSPACE b/examples/kt_android_local_test/WORKSPACE
index 8163935..a723580 100644
--- a/examples/kt_android_local_test/WORKSPACE
+++ b/examples/kt_android_local_test/WORKSPACE
@@ -8,9 +8,9 @@
 # BEGIN Robolectric
 http_archive(
     name = "robolectric",
-    sha256 = "b2d2164bae80fcfbdd078eb2f0935ba06557402b8c814928d9e3bec7358e2b7b",
-    strip_prefix = "robolectric-bazel-4.14.1.2",
-    urls = ["https://github.com/robolectric/robolectric-bazel/releases/download/4.14.1.2/robolectric-bazel-4.14.1.2.tar.gz"],
+    sha256 = "cf04b4206b9d21b385e8dbee478fac619fc1344e8e46935dcec2d64939dd0525",
+    strip_prefix = "robolectric-bazel-4.16",
+    urls = ["https://github.com/robolectric/robolectric-bazel/releases/download/4.16/robolectric-bazel-4.16.tar.gz"],
 )
 
 load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories")
@@ -37,8 +37,9 @@
     artifacts = [
         "androidx.appcompat:appcompat:1.0.2",
         "androidx.annotation:annotation:1.1.0",
-        "androidx.test.ext:junit:1.1.0",
-        "org.robolectric:robolectric:4.14.1",
+        "androidx.test.ext:junit:1.3.0",
+        "junit:junit:4.13.2",
+        "org.robolectric:robolectric:4.16",
         "org.assertj:assertj-core:3.12.1",
     ],
     maven_install_json = "//:maven_install.json",
diff --git a/examples/kt_android_local_test/maven_install.json b/examples/kt_android_local_test/maven_install.json
index fa18daf..54e9f82 100644
--- a/examples/kt_android_local_test/maven_install.json
+++ b/examples/kt_android_local_test/maven_install.json
@@ -1,22 +1,22 @@
 {
   "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
-  "__INPUT_ARTIFACTS_HASH": 1779937947,
-  "__RESOLVED_ARTIFACTS_HASH": -42010990,
+  "__INPUT_ARTIFACTS_HASH": 1470460354,
+  "__RESOLVED_ARTIFACTS_HASH": 1817292797,
   "conflict_resolution": {
-    "androidx.annotation:annotation:1.1.0": "androidx.annotation:annotation:1.7.0-beta01"
+    "androidx.annotation:annotation:1.1.0": "androidx.annotation:annotation:1.7.0"
   },
   "artifacts": {
     "androidx.annotation:annotation": {
       "shasums": {
         "jar": "b11676837cad011a5285d6074418649107ef25eba17131517e9557ef8c9984ed"
       },
-      "version": "1.7.0-beta01"
+      "version": "1.7.0"
     },
     "androidx.annotation:annotation-jvm": {
       "shasums": {
         "jar": "e36b8e4b8393a4adc74e3d4ab22ad5a36396f0cea2e40b5734eae14937dfd224"
       },
-      "version": "1.7.0-beta01"
+      "version": "1.7.0"
     },
     "androidx.appcompat:appcompat:aar": {
       "shasums": {
@@ -48,6 +48,18 @@
       },
       "version": "1.0.0"
     },
+    "androidx.concurrent:concurrent-futures": {
+      "shasums": {
+        "jar": "4810315a798690b5d3bb40c92bcd41c045fd2c36bbfc50b27cbac3d6a0eda190"
+      },
+      "version": "1.2.0"
+    },
+    "androidx.concurrent:concurrent-futures-ktx": {
+      "shasums": {
+        "jar": "e1f3e17bb4358ccd6c77ca45f70635c9aba237261f19eaa4f64a0218c00e2a3e"
+      },
+      "version": "1.2.0"
+    },
     "androidx.coordinatorlayout:coordinatorlayout:aar": {
       "shasums": {
         "jar": "e508c695489493374d942bf7b4ee02abf7571d25aac4c622e57d6cd5cd29eb73"
@@ -110,9 +122,9 @@
     },
     "androidx.lifecycle:lifecycle-common": {
       "shasums": {
-        "jar": "7bad7a188804adea6fa1f35d5ef99b705f20bd93ecadde484760ff86b535fefc"
+        "jar": "15848fb56db32f4c7cdc72b324003183d52a4884d6bf09be708ac7f587d139b5"
       },
-      "version": "2.0.0"
+      "version": "2.3.1"
     },
     "androidx.lifecycle:lifecycle-livedata-core:aar": {
       "shasums": {
@@ -170,27 +182,33 @@
     },
     "androidx.test.espresso:espresso-idling-resource:aar": {
       "shasums": {
-        "jar": "bc63a8780f1c707724e389f530cb2e1a6847da97f6a8114604c002aba2fd86ca"
+        "jar": "5ff62326b49c308c1d060466ae3cf4aa0e3deaf9295f077a6886048dda3e9b14"
       },
-      "version": "3.6.1"
+      "version": "3.7.0"
     },
     "androidx.test.ext:junit:aar": {
       "shasums": {
-        "jar": "8d4733213eeb8d071f969ea5b04f6559dc4e180cdc6fa9254aacdc14a3d3f4b7"
+        "jar": "3363df84da4540ba8daff02c3f7cd65471037a6a5370591a7e6deba377b36e7f"
       },
-      "version": "1.1.0"
+      "version": "1.3.0"
+    },
+    "androidx.test.services:storage:aar": {
+      "shasums": {
+        "jar": "f97e3cf6aaf4e3fb97ef219d37a9c0a0720183c1f6db87b37642521e26fb6d30"
+      },
+      "version": "1.6.0"
     },
     "androidx.test:core:aar": {
       "shasums": {
-        "jar": "fda5a08856ec82fc05e4dc37bd4eea93c9d02c231fd828d6b8ce2c6a42f79271"
+        "jar": "f4dacd8edceeec48e0c76ecf28339b28f4b4f6b74f8e34e9e59b472c27d9eb81"
       },
-      "version": "1.1.0"
+      "version": "1.7.0"
     },
     "androidx.test:monitor:aar": {
       "shasums": {
-        "jar": "868cc120d10d024b886fa157e1e1eaee0e6a8e5d55e7f765ef41d8fc0fea775b"
+        "jar": "56cb7496a06d9f2dca7d3ff76c50a8a30bd18e00a24a3b267d5a31437b278e67"
       },
-      "version": "1.7.2"
+      "version": "1.8.0"
     },
     "androidx.tracing:tracing:aar": {
       "shasums": {
@@ -234,35 +252,29 @@
       },
       "version": "1.11.0"
     },
-    "com.google.code.findbugs:jsr305": {
-      "shasums": {
-        "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7"
-      },
-      "version": "3.0.2"
-    },
     "com.google.errorprone:error_prone_annotation": {
       "shasums": {
-        "jar": "99f8b53c75a50617d4f9bf45512eda82e7d8e9eb377471d822d3d4c4e034c510"
+        "jar": "192e99ad3be8a0a44fe210cdc9b0265601dcb446e521ba922c793e50add413c3"
       },
-      "version": "2.34.0"
+      "version": "2.41.0"
     },
     "com.google.errorprone:error_prone_annotations": {
       "shasums": {
-        "jar": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e"
+        "jar": "77440e270b0bc9a249903c5a076c36a722c4886ca4f42675f2903a1c53ed61a5"
       },
-      "version": "2.28.0"
+      "version": "2.36.0"
     },
     "com.google.guava:failureaccess": {
       "shasums": {
-        "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064"
+        "jar": "cbfc3906b19b8f55dd7cfd6dfe0aa4532e834250d7f080bd8d211a3e246b59cb"
       },
-      "version": "1.0.2"
+      "version": "1.0.3"
     },
     "com.google.guava:guava": {
       "shasums": {
-        "jar": "4bf0e2c5af8e4525c96e8fde17a4f7307f97f8478f11c4c8e35a0e3298ae4e90"
+        "jar": "f3d7f57f67fd622f4d468dfdd692b3a5e3909246c28017ac3263405f0fe617ed"
       },
-      "version": "33.3.1-jre"
+      "version": "33.4.8-jre"
     },
     "com.google.guava:listenablefuture": {
       "shasums": {
@@ -284,9 +296,9 @@
     },
     "com.ibm.icu:icu4j": {
       "shasums": {
-        "jar": "543e43a91d1499e331c711a756f833d6fb8cc019f9c9913c0bdf4d53009932d5"
+        "jar": "b3640b9f416a4411fd33c59abbeea8fd57d024c23e1819bf9673220a97499fe3"
       },
-      "version": "75.1"
+      "version": "77.1"
     },
     "javax.annotation:javax.annotation-api": {
       "shasums": {
@@ -302,9 +314,9 @@
     },
     "junit:junit": {
       "shasums": {
-        "jar": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a"
+        "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3"
       },
-      "version": "4.12"
+      "version": "4.13.2"
     },
     "org.assertj:assertj-core": {
       "shasums": {
@@ -314,15 +326,9 @@
     },
     "org.bouncycastle:bcprov-jdk18on": {
       "shasums": {
-        "jar": "add5915e6acfc6ab5836e1fd8a5e21c6488536a8c1f21f386eeb3bf280b702d7"
+        "jar": "249f396412b0c0ce67f25c8197da757b241b8be3ec4199386c00704a2457459b"
       },
-      "version": "1.78.1"
-    },
-    "org.checkerframework:checker-qual": {
-      "shasums": {
-        "jar": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6"
-      },
-      "version": "3.43.0"
+      "version": "1.81"
     },
     "org.conscrypt:conscrypt-openjdk-uber": {
       "shasums": {
@@ -338,135 +344,135 @@
     },
     "org.jetbrains.kotlin:kotlin-stdlib": {
       "shasums": {
-        "jar": "4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7"
+        "jar": "3b479313ab6caea4e5e25d3dee8ca80c302c89ba73e1af4dafaa100f6ef9296a"
       },
-      "version": "1.8.20"
+      "version": "1.9.21"
     },
-    "org.jetbrains.kotlin:kotlin-stdlib-common": {
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core": {
       "shasums": {
-        "jar": "fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5"
+        "jar": "f9522095aedcc2a6ab32c7484061ea698352c71be1390adb403b59aa48a38fdc"
       },
-      "version": "1.8.20"
+      "version": "1.7.3"
+    },
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": {
+      "shasums": {
+        "jar": "f3d4f5de1c391bbcc20f3b3435ccbac013521e76b6902d7d59635ec15c1f797e"
+      },
+      "version": "1.8.1"
     },
     "org.jetbrains:annotations": {
       "shasums": {
-        "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478"
+        "jar": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05"
       },
-      "version": "13.0"
+      "version": "23.0.0"
+    },
+    "org.jspecify:jspecify": {
+      "shasums": {
+        "jar": "1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab"
+      },
+      "version": "1.0.0"
     },
     "org.ow2.asm:asm": {
       "shasums": {
-        "jar": "8cadd43ac5eb6d09de05faecca38b917a040bb9139c7edeb4cc81c740b713281"
+        "jar": "876eab6a83daecad5ca67eb9fcabb063c97b5aeb8cf1fca7a989ecde17522051"
       },
-      "version": "9.7.1"
-    },
-    "org.ow2.asm:asm-analysis": {
-      "shasums": {
-        "jar": "85b29371884ba31bb76edf22323c2c24e172c3267a67152eba3d1ccc2e041ef2"
-      },
-      "version": "9.7.1"
+      "version": "9.8"
     },
     "org.ow2.asm:asm-commons": {
       "shasums": {
-        "jar": "9a579b54d292ad9be171d4313fd4739c635592c2b5ac3a459bbd1049cddec6a0"
+        "jar": "3301a1c1cb4c59fcc5292648dac1d7c5aed4c0f067dfbe88873b8cdfe77404f4"
       },
-      "version": "9.7.1"
+      "version": "9.8"
     },
     "org.ow2.asm:asm-tree": {
       "shasums": {
-        "jar": "9929881f59eb6b840e86d54570c77b59ce721d104e6dfd7a40978991c2d3b41f"
+        "jar": "14b7880cb7c85eed101e2710432fc3ffb83275532a6a894dc4c4095d49ad59f1"
       },
-      "version": "9.7.1"
-    },
-    "org.ow2.asm:asm-util": {
-      "shasums": {
-        "jar": "f885be71b5c90556f5f1ad1c4f9276b29b96057c497d46666fe4ddbec3cb43c6"
-      },
-      "version": "9.7.1"
+      "version": "9.8"
     },
     "org.robolectric:annotations": {
       "shasums": {
-        "jar": "463a5ad1386c31010bc9af00bfe19a1b758d8c2dedd8c19e5c75d29ab8abb9ba"
+        "jar": "409f50354fc08b382a8fa8c42416438d3664d2cb4e63bf252022c875288fbf7a"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:junit": {
       "shasums": {
-        "jar": "2cee817aadce3552706b09450ad1ea7ff5981924072d2adfe40ddad57d5fa123"
+        "jar": "2c9aca263f0c41b1f0452c88d28ad618e553325f0213ce75de42fb02dd5c0479"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:nativeruntime": {
       "shasums": {
-        "jar": "c07b66d315aec3272a7c64aa5f154b4194be2cc6030a733d16f2ee87330232a8"
+        "jar": "85c9c9763de195a166a2cfc88e8623b572bef92cb96f60342fcca3cbbd69ed25"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:nativeruntime-dist-compat": {
       "shasums": {
-        "jar": "2f4e879b00eed634d0e43353ecff80db4d5ce24b3b213d1e6053cb21b0ced10f"
+        "jar": "a6c34d92c990754e5aee076032a36f8e38fcacb5eb878ebe0a324509f3864eef"
       },
-      "version": "1.0.16"
+      "version": "1.0.18"
     },
     "org.robolectric:pluginapi": {
       "shasums": {
-        "jar": "ad8b74238d59bce6631e29190c105dd0c4701e836a2631060678407f621c7b7a"
+        "jar": "ffdb38f7d0a667e10d0609472ec13792018a69ccaf52c776166e03c61eae6428"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:plugins-maven-dependency-resolver": {
       "shasums": {
-        "jar": "6c8dbc979db0780755e712acab9eeb9396811b2d4dc31a92a5b259f9876205ec"
+        "jar": "60858ba0f8c21b2ca38aca7bf18b0fb39ebd10ddf80ef74777fac9ba8909880a"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:resources": {
       "shasums": {
-        "jar": "54eb274a47dec9e74cc9b45b9e4335bb5d83857c63b2a49dd8d1993e6321f2c5"
+        "jar": "0d6abfd274d3c853a564ea23ce1c52d31d075281ae0e7d64bbbc1477b2ed7679"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:robolectric": {
       "shasums": {
-        "jar": "e0a73d45bceb94a5a0352b66e2120ad4a4b222fe406079130893b6c79d4441d1"
+        "jar": "d5b073aa051c88995a621e13c9c0d2afd1be835800d59c80d58c1dbfd8eca19b"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:sandbox": {
       "shasums": {
-        "jar": "de361f3de8c08d4488cf156683830f2bd43db1da85a5b136ad6d065b868d3bab"
+        "jar": "78462f9987db60b24283eebdf31a7f4d11487197f8508a2ea262aa5ca4bb0b18"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:shadowapi": {
       "shasums": {
-        "jar": "fd158863cee488475206ba1d23ff4c7d29be412eccd21b12d9416b0030aa582d"
+        "jar": "8502d044ab781668fc52eb8784dcacd50c54eaa819cf5cc5fbb1b8457c9931a6"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:shadows-framework": {
       "shasums": {
-        "jar": "f3cf7785eecf9b2e80fbb4caac4c42f63eeea3506e289581c04696a56a494622"
+        "jar": "f3ddb731c95cb4663634355bed62932ec8f2c7a3daab876885a16b48e1530eda"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:utils": {
       "shasums": {
-        "jar": "6884eec32c9c9b23d74250e30a5ba9c5ece48784f808feba98f119b215ab59d8"
+        "jar": "51940c4668ed065101c8a932c6b8a7efa7b546fd5a8e98180f40ac3840b27428"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.robolectric:utils-reflector": {
       "shasums": {
-        "jar": "eb8f52cdc24f59ae4cf13369c5bf990354c19c386e3e8f9f5d5cee04d836557b"
+        "jar": "efa21dcd2d68b8f3e202580a141b5f338a33e194a46bcd33b70ddb9e6d5ad63d"
       },
-      "version": "4.14.1"
+      "version": "4.16"
     },
     "org.yaml:snakeyaml": {
       "shasums": {
-        "jar": "63a76fe66b652360bd4c2c107e6f0258daa7d4bb492008ba8c26fcd230ff9146"
+        "jar": "ef779af5d29a9dde8cc70ce0341f5c6f7735e23edff9685ceaa9d35359b7bb7f"
       },
-      "version": "2.3"
+      "version": "2.4"
     }
   },
   "dependencies": {
@@ -501,6 +507,15 @@
     "androidx.collection:collection": [
       "androidx.annotation:annotation"
     ],
+    "androidx.concurrent:concurrent-futures": [
+      "androidx.annotation:annotation",
+      "com.google.guava:listenablefuture"
+    ],
+    "androidx.concurrent:concurrent-futures-ktx": [
+      "androidx.concurrent:concurrent-futures",
+      "org.jetbrains.kotlin:kotlin-stdlib",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core"
+    ],
     "androidx.coordinatorlayout:coordinatorlayout:aar": [
       "androidx.annotation:annotation",
       "androidx.core:core:aar",
@@ -605,14 +620,25 @@
     ],
     "androidx.test.ext:junit:aar": [
       "androidx.annotation:annotation",
+      "androidx.test.services:storage:aar",
       "androidx.test:core:aar",
       "androidx.test:monitor:aar",
-      "junit:junit"
+      "junit:junit",
+      "org.jetbrains.kotlin:kotlin-stdlib"
+    ],
+    "androidx.test.services:storage:aar": [
+      "androidx.annotation:annotation",
+      "androidx.test:monitor:aar"
     ],
     "androidx.test:core:aar": [
       "androidx.annotation:annotation",
+      "androidx.concurrent:concurrent-futures-ktx",
       "androidx.lifecycle:lifecycle-common",
-      "androidx.test:monitor:aar"
+      "androidx.test:monitor:aar",
+      "androidx.tracing:tracing:aar",
+      "com.google.guava:listenablefuture",
+      "org.jetbrains.kotlin:kotlin-stdlib",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm"
     ],
     "androidx.test:monitor:aar": [
       "androidx.annotation:annotation",
@@ -643,22 +669,24 @@
       "com.google.guava:guava"
     ],
     "com.google.guava:guava": [
-      "com.google.code.findbugs:jsr305",
       "com.google.errorprone:error_prone_annotations",
       "com.google.guava:failureaccess",
       "com.google.guava:listenablefuture",
       "com.google.j2objc:j2objc-annotations",
-      "org.checkerframework:checker-qual"
+      "org.jspecify:jspecify"
     ],
     "junit:junit": [
       "org.hamcrest:hamcrest-core"
     ],
     "org.jetbrains.kotlin:kotlin-stdlib": [
-      "org.jetbrains.kotlin:kotlin-stdlib-common",
       "org.jetbrains:annotations"
     ],
-    "org.ow2.asm:asm-analysis": [
-      "org.ow2.asm:asm-tree"
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core": [
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm"
+    ],
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [
+      "org.jetbrains.kotlin:kotlin-stdlib",
+      "org.jetbrains:annotations"
     ],
     "org.ow2.asm:asm-commons": [
       "org.ow2.asm:asm",
@@ -667,24 +695,15 @@
     "org.ow2.asm:asm-tree": [
       "org.ow2.asm:asm"
     ],
-    "org.ow2.asm:asm-util": [
-      "org.ow2.asm:asm",
-      "org.ow2.asm:asm-analysis",
-      "org.ow2.asm:asm-tree"
-    ],
     "org.robolectric:junit": [
-      "org.robolectric:annotations",
       "org.robolectric:pluginapi",
-      "org.robolectric:sandbox",
-      "org.robolectric:shadowapi",
-      "org.robolectric:utils-reflector"
+      "org.robolectric:sandbox"
     ],
     "org.robolectric:nativeruntime": [
       "com.google.guava:guava",
       "org.robolectric:nativeruntime-dist-compat",
       "org.robolectric:shadowapi",
-      "org.robolectric:utils",
-      "org.robolectric:utils-reflector"
+      "org.robolectric:utils"
     ],
     "org.robolectric:pluginapi": [
       "com.google.guava:guava",
@@ -699,7 +718,6 @@
     "org.robolectric:resources": [
       "com.google.auto.value:auto-value-annotations",
       "com.google.guava:guava",
-      "org.robolectric:annotations",
       "org.robolectric:pluginapi",
       "org.robolectric:utils"
     ],
@@ -753,16 +771,13 @@
       "org.robolectric:utils-reflector"
     ],
     "org.robolectric:utils": [
-      "com.google.errorprone:error_prone_annotation",
       "javax.annotation:javax.annotation-api",
       "javax.inject:javax.inject",
-      "org.robolectric:annotations",
       "org.robolectric:pluginapi"
     ],
     "org.robolectric:utils-reflector": [
       "org.ow2.asm:asm",
       "org.ow2.asm:asm-commons",
-      "org.ow2.asm:asm-util",
       "org.robolectric:utils"
     ]
   },
@@ -777,6 +792,12 @@
     "androidx.collection:collection": [
       "androidx.collection"
     ],
+    "androidx.concurrent:concurrent-futures": [
+      "androidx.concurrent.futures"
+    ],
+    "androidx.concurrent:concurrent-futures-ktx": [
+      "androidx.concurrent.futures"
+    ],
     "androidx.lifecycle:lifecycle-common": [
       "androidx.lifecycle"
     ],
@@ -790,11 +811,6 @@
       "com.google.auto.value.extension.serializable",
       "com.google.auto.value.extension.toprettystring"
     ],
-    "com.google.code.findbugs:jsr305": [
-      "javax.annotation",
-      "javax.annotation.concurrent",
-      "javax.annotation.meta"
-    ],
     "com.google.errorprone:error_prone_annotation": [
       "com.google.errorprone"
     ],
@@ -874,8 +890,10 @@
       "org.junit.experimental.theories",
       "org.junit.experimental.theories.internal",
       "org.junit.experimental.theories.suppliers",
+      "org.junit.function",
       "org.junit.internal",
       "org.junit.internal.builders",
+      "org.junit.internal.management",
       "org.junit.internal.matchers",
       "org.junit.internal.requests",
       "org.junit.internal.runners",
@@ -975,6 +993,7 @@
       "org.bouncycastle.asn1.x9",
       "org.bouncycastle.crypto",
       "org.bouncycastle.crypto.agreement",
+      "org.bouncycastle.crypto.agreement.ecjpake",
       "org.bouncycastle.crypto.agreement.jpake",
       "org.bouncycastle.crypto.agreement.kdf",
       "org.bouncycastle.crypto.agreement.srp",
@@ -1000,6 +1019,7 @@
       "org.bouncycastle.crypto.prng",
       "org.bouncycastle.crypto.prng.drbg",
       "org.bouncycastle.crypto.signers",
+      "org.bouncycastle.crypto.threshold",
       "org.bouncycastle.crypto.tls",
       "org.bouncycastle.crypto.util",
       "org.bouncycastle.i18n",
@@ -1037,7 +1057,10 @@
       "org.bouncycastle.jcajce.provider.asymmetric.elgamal",
       "org.bouncycastle.jcajce.provider.asymmetric.gost",
       "org.bouncycastle.jcajce.provider.asymmetric.ies",
+      "org.bouncycastle.jcajce.provider.asymmetric.mldsa",
+      "org.bouncycastle.jcajce.provider.asymmetric.mlkem",
       "org.bouncycastle.jcajce.provider.asymmetric.rsa",
+      "org.bouncycastle.jcajce.provider.asymmetric.slhdsa",
       "org.bouncycastle.jcajce.provider.asymmetric.util",
       "org.bouncycastle.jcajce.provider.asymmetric.x509",
       "org.bouncycastle.jcajce.provider.config",
@@ -1075,18 +1098,21 @@
       "org.bouncycastle.pqc.crypto.bike",
       "org.bouncycastle.pqc.crypto.cmce",
       "org.bouncycastle.pqc.crypto.crystals.dilithium",
-      "org.bouncycastle.pqc.crypto.crystals.kyber",
       "org.bouncycastle.pqc.crypto.falcon",
       "org.bouncycastle.pqc.crypto.frodo",
-      "org.bouncycastle.pqc.crypto.gemss",
       "org.bouncycastle.pqc.crypto.hqc",
       "org.bouncycastle.pqc.crypto.lms",
+      "org.bouncycastle.pqc.crypto.mayo",
+      "org.bouncycastle.pqc.crypto.mldsa",
+      "org.bouncycastle.pqc.crypto.mlkem",
       "org.bouncycastle.pqc.crypto.newhope",
       "org.bouncycastle.pqc.crypto.ntru",
       "org.bouncycastle.pqc.crypto.ntruprime",
       "org.bouncycastle.pqc.crypto.picnic",
       "org.bouncycastle.pqc.crypto.rainbow",
       "org.bouncycastle.pqc.crypto.saber",
+      "org.bouncycastle.pqc.crypto.slhdsa",
+      "org.bouncycastle.pqc.crypto.snova",
       "org.bouncycastle.pqc.crypto.sphincs",
       "org.bouncycastle.pqc.crypto.sphincsplus",
       "org.bouncycastle.pqc.crypto.util",
@@ -1103,25 +1129,25 @@
       "org.bouncycastle.pqc.jcajce.provider.hqc",
       "org.bouncycastle.pqc.jcajce.provider.kyber",
       "org.bouncycastle.pqc.jcajce.provider.lms",
+      "org.bouncycastle.pqc.jcajce.provider.mayo",
       "org.bouncycastle.pqc.jcajce.provider.mceliece",
       "org.bouncycastle.pqc.jcajce.provider.newhope",
       "org.bouncycastle.pqc.jcajce.provider.ntru",
       "org.bouncycastle.pqc.jcajce.provider.ntruprime",
       "org.bouncycastle.pqc.jcajce.provider.picnic",
-      "org.bouncycastle.pqc.jcajce.provider.rainbow",
       "org.bouncycastle.pqc.jcajce.provider.saber",
+      "org.bouncycastle.pqc.jcajce.provider.snova",
       "org.bouncycastle.pqc.jcajce.provider.sphincs",
       "org.bouncycastle.pqc.jcajce.provider.sphincsplus",
       "org.bouncycastle.pqc.jcajce.provider.util",
       "org.bouncycastle.pqc.jcajce.provider.xmss",
       "org.bouncycastle.pqc.jcajce.spec",
+      "org.bouncycastle.pqc.legacy.crypto.gemss",
       "org.bouncycastle.pqc.legacy.crypto.gmss",
       "org.bouncycastle.pqc.legacy.crypto.gmss.util",
       "org.bouncycastle.pqc.legacy.crypto.mceliece",
       "org.bouncycastle.pqc.legacy.crypto.ntru",
       "org.bouncycastle.pqc.legacy.crypto.qtesla",
-      "org.bouncycastle.pqc.legacy.crypto.rainbow",
-      "org.bouncycastle.pqc.legacy.crypto.rainbow.util",
       "org.bouncycastle.pqc.legacy.math.linearalgebra",
       "org.bouncycastle.pqc.legacy.math.ntru.euclid",
       "org.bouncycastle.pqc.legacy.math.ntru.polynomial",
@@ -1137,38 +1163,6 @@
       "org.bouncycastle.x509.extension",
       "org.bouncycastle.x509.util"
     ],
-    "org.checkerframework:checker-qual": [
-      "org.checkerframework.checker.builder.qual",
-      "org.checkerframework.checker.calledmethods.qual",
-      "org.checkerframework.checker.compilermsgs.qual",
-      "org.checkerframework.checker.fenum.qual",
-      "org.checkerframework.checker.formatter.qual",
-      "org.checkerframework.checker.guieffect.qual",
-      "org.checkerframework.checker.i18n.qual",
-      "org.checkerframework.checker.i18nformatter.qual",
-      "org.checkerframework.checker.index.qual",
-      "org.checkerframework.checker.initialization.qual",
-      "org.checkerframework.checker.interning.qual",
-      "org.checkerframework.checker.lock.qual",
-      "org.checkerframework.checker.mustcall.qual",
-      "org.checkerframework.checker.nullness.qual",
-      "org.checkerframework.checker.optional.qual",
-      "org.checkerframework.checker.propkey.qual",
-      "org.checkerframework.checker.regex.qual",
-      "org.checkerframework.checker.signature.qual",
-      "org.checkerframework.checker.signedness.qual",
-      "org.checkerframework.checker.tainting.qual",
-      "org.checkerframework.checker.units.qual",
-      "org.checkerframework.common.aliasing.qual",
-      "org.checkerframework.common.initializedfields.qual",
-      "org.checkerframework.common.reflection.qual",
-      "org.checkerframework.common.returnsreceiver.qual",
-      "org.checkerframework.common.subtyping.qual",
-      "org.checkerframework.common.util.count.report.qual",
-      "org.checkerframework.common.value.qual",
-      "org.checkerframework.dataflow.qual",
-      "org.checkerframework.framework.qual"
-    ],
     "org.conscrypt:conscrypt-openjdk-uber": [
       "org.conscrypt",
       "org.conscrypt.ct",
@@ -1224,26 +1218,40 @@
       "kotlin.time",
       "kotlin.time.jdk8"
     ],
+    "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [
+      "_COROUTINE",
+      "kotlinx.coroutines",
+      "kotlinx.coroutines.channels",
+      "kotlinx.coroutines.debug",
+      "kotlinx.coroutines.debug.internal",
+      "kotlinx.coroutines.flow",
+      "kotlinx.coroutines.flow.internal",
+      "kotlinx.coroutines.future",
+      "kotlinx.coroutines.internal",
+      "kotlinx.coroutines.intrinsics",
+      "kotlinx.coroutines.scheduling",
+      "kotlinx.coroutines.selects",
+      "kotlinx.coroutines.stream",
+      "kotlinx.coroutines.sync",
+      "kotlinx.coroutines.time"
+    ],
     "org.jetbrains:annotations": [
       "org.intellij.lang.annotations",
       "org.jetbrains.annotations"
     ],
+    "org.jspecify:jspecify": [
+      "org.jspecify.annotations"
+    ],
     "org.ow2.asm:asm": [
       "org.objectweb.asm",
       "org.objectweb.asm.signature"
     ],
-    "org.ow2.asm:asm-analysis": [
-      "org.objectweb.asm.tree.analysis"
-    ],
     "org.ow2.asm:asm-commons": [
       "org.objectweb.asm.commons"
     ],
     "org.ow2.asm:asm-tree": [
       "org.objectweb.asm.tree"
     ],
-    "org.ow2.asm:asm-util": [
-      "org.objectweb.asm.util"
-    ],
     "org.robolectric:annotations": [
       "org.robolectric.annotation",
       "org.robolectric.annotation.experimental",
@@ -1268,7 +1276,6 @@
       "org.robolectric.internal.dependency"
     ],
     "org.robolectric:resources": [
-      "org.robolectric",
       "org.robolectric.manifest",
       "org.robolectric.res",
       "org.robolectric.res.android",
@@ -1328,7 +1335,6 @@
       "org.yaml.snakeyaml.error",
       "org.yaml.snakeyaml.events",
       "org.yaml.snakeyaml.extensions.compactnotation",
-      "org.yaml.snakeyaml.external.biz.base64Coder",
       "org.yaml.snakeyaml.external.com.google.gdata.util.common.base",
       "org.yaml.snakeyaml.inspector",
       "org.yaml.snakeyaml.internal",
@@ -1353,6 +1359,8 @@
       "androidx.arch.core:core-runtime:aar",
       "androidx.asynclayoutinflater:asynclayoutinflater:aar",
       "androidx.collection:collection",
+      "androidx.concurrent:concurrent-futures",
+      "androidx.concurrent:concurrent-futures-ktx",
       "androidx.coordinatorlayout:coordinatorlayout:aar",
       "androidx.core:core:aar",
       "androidx.cursoradapter:cursoradapter:aar",
@@ -1375,6 +1383,7 @@
       "androidx.swiperefreshlayout:swiperefreshlayout:aar",
       "androidx.test.espresso:espresso-idling-resource:aar",
       "androidx.test.ext:junit:aar",
+      "androidx.test.services:storage:aar",
       "androidx.test:core:aar",
       "androidx.test:monitor:aar",
       "androidx.tracing:tracing:aar",
@@ -1384,7 +1393,6 @@
       "androidx.viewpager:viewpager:aar",
       "com.almworks.sqlite4java:sqlite4java",
       "com.google.auto.value:auto-value-annotations",
-      "com.google.code.findbugs:jsr305",
       "com.google.errorprone:error_prone_annotation",
       "com.google.errorprone:error_prone_annotations",
       "com.google.guava:failureaccess",
@@ -1398,17 +1406,16 @@
       "junit:junit",
       "org.assertj:assertj-core",
       "org.bouncycastle:bcprov-jdk18on",
-      "org.checkerframework:checker-qual",
       "org.conscrypt:conscrypt-openjdk-uber",
       "org.hamcrest:hamcrest-core",
       "org.jetbrains.kotlin:kotlin-stdlib",
-      "org.jetbrains.kotlin:kotlin-stdlib-common",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm",
       "org.jetbrains:annotations",
+      "org.jspecify:jspecify",
       "org.ow2.asm:asm",
-      "org.ow2.asm:asm-analysis",
       "org.ow2.asm:asm-commons",
       "org.ow2.asm:asm-tree",
-      "org.ow2.asm:asm-util",
       "org.robolectric:annotations",
       "org.robolectric:junit",
       "org.robolectric:nativeruntime",
@@ -1432,6 +1439,8 @@
       "androidx.arch.core:core-runtime:aar",
       "androidx.asynclayoutinflater:asynclayoutinflater:aar",
       "androidx.collection:collection",
+      "androidx.concurrent:concurrent-futures",
+      "androidx.concurrent:concurrent-futures-ktx",
       "androidx.coordinatorlayout:coordinatorlayout:aar",
       "androidx.core:core:aar",
       "androidx.cursoradapter:cursoradapter:aar",
@@ -1454,6 +1463,7 @@
       "androidx.swiperefreshlayout:swiperefreshlayout:aar",
       "androidx.test.espresso:espresso-idling-resource:aar",
       "androidx.test.ext:junit:aar",
+      "androidx.test.services:storage:aar",
       "androidx.test:core:aar",
       "androidx.test:monitor:aar",
       "androidx.tracing:tracing:aar",
@@ -1463,7 +1473,6 @@
       "androidx.viewpager:viewpager:aar",
       "com.almworks.sqlite4java:sqlite4java",
       "com.google.auto.value:auto-value-annotations",
-      "com.google.code.findbugs:jsr305",
       "com.google.errorprone:error_prone_annotation",
       "com.google.errorprone:error_prone_annotations",
       "com.google.guava:failureaccess",
@@ -1477,17 +1486,16 @@
       "junit:junit",
       "org.assertj:assertj-core",
       "org.bouncycastle:bcprov-jdk18on",
-      "org.checkerframework:checker-qual",
       "org.conscrypt:conscrypt-openjdk-uber",
       "org.hamcrest:hamcrest-core",
       "org.jetbrains.kotlin:kotlin-stdlib",
-      "org.jetbrains.kotlin:kotlin-stdlib-common",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core",
+      "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm",
       "org.jetbrains:annotations",
+      "org.jspecify:jspecify",
       "org.ow2.asm:asm",
-      "org.ow2.asm:asm-analysis",
       "org.ow2.asm:asm-commons",
       "org.ow2.asm:asm-tree",
-      "org.ow2.asm:asm-util",
       "org.robolectric:annotations",
       "org.robolectric:junit",
       "org.robolectric:nativeruntime",
diff --git a/examples/kt_android_local_test/src/main/java/AndroidManifest.xml b/examples/kt_android_local_test/src/main/java/AndroidManifest.xml
index 53ce466..422bc5a 100644
--- a/examples/kt_android_local_test/src/main/java/AndroidManifest.xml
+++ b/examples/kt_android_local_test/src/main/java/AndroidManifest.xml
@@ -3,7 +3,7 @@
           xmlns:tools="http://schemas.android.com/tools"
           package="com.example.bazel">
 
-    <uses-sdk android:minSdkVersion="19" />
+    <uses-sdk android:minSdkVersion="21" />
 
     <application
         android:label="@string/app_name"
diff --git a/examples/kt_android_local_test/src/test/AndroidManifest.xml b/examples/kt_android_local_test/src/test/AndroidManifest.xml
index 8ac95a4..dee40ee 100644
--- a/examples/kt_android_local_test/src/test/AndroidManifest.xml
+++ b/examples/kt_android_local_test/src/test/AndroidManifest.xml
@@ -3,6 +3,6 @@
           xmlns:tools="http://schemas.android.com/tools"
           package="com.example.bazel">
 
-    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="27" />
+    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
 
 </manifest>