re2 1.19.2 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1634) hide show
  1. package/.github/actions/linux-alpine-node-16/Dockerfile +1 -1
  2. package/.github/actions/linux-alpine-node-18/Dockerfile +1 -1
  3. package/.github/actions/linux-alpine-node-20/Dockerfile +1 -1
  4. package/.gitmodules +5 -2
  5. package/README.md +2 -0
  6. package/binding.gyp +82 -25
  7. package/lib/replace.cc +4 -4
  8. package/package.json +1 -1
  9. package/tsconfig.json +2 -1
  10. package/vendor/abseil-cpp/.clang-format +4 -0
  11. package/vendor/abseil-cpp/.github/ISSUE_TEMPLATE/00-bug_report.yml +53 -0
  12. package/vendor/abseil-cpp/.github/ISSUE_TEMPLATE/config.yml +5 -0
  13. package/vendor/abseil-cpp/ABSEIL_ISSUE_TEMPLATE.md +22 -0
  14. package/vendor/abseil-cpp/AUTHORS +6 -0
  15. package/vendor/abseil-cpp/BUILD.bazel +25 -0
  16. package/vendor/abseil-cpp/CMake/AbseilDll.cmake +809 -0
  17. package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +466 -0
  18. package/vendor/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +14 -0
  19. package/vendor/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +41 -0
  20. package/vendor/abseil-cpp/CMake/README.md +188 -0
  21. package/vendor/abseil-cpp/CMake/abslConfig.cmake.in +8 -0
  22. package/vendor/abseil-cpp/CMake/install_test_project/CMakeLists.txt +25 -0
  23. package/vendor/abseil-cpp/CMake/install_test_project/simple.cc +32 -0
  24. package/vendor/abseil-cpp/CMake/install_test_project/test.sh +112 -0
  25. package/vendor/abseil-cpp/CMakeLists.txt +239 -0
  26. package/vendor/abseil-cpp/CONTRIBUTING.md +141 -0
  27. package/vendor/abseil-cpp/FAQ.md +167 -0
  28. package/vendor/abseil-cpp/LICENSE +203 -0
  29. package/vendor/abseil-cpp/README.md +163 -0
  30. package/vendor/abseil-cpp/UPGRADES.md +17 -0
  31. package/vendor/abseil-cpp/WORKSPACE +62 -0
  32. package/vendor/abseil-cpp/absl/BUILD.bazel +125 -0
  33. package/vendor/abseil-cpp/absl/CMakeLists.txt +44 -0
  34. package/vendor/abseil-cpp/absl/abseil.podspec.gen.py +229 -0
  35. package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +92 -0
  36. package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +70 -0
  37. package/vendor/abseil-cpp/absl/algorithm/algorithm.h +159 -0
  38. package/vendor/abseil-cpp/absl/algorithm/algorithm_test.cc +191 -0
  39. package/vendor/abseil-cpp/absl/algorithm/container.h +1773 -0
  40. package/vendor/abseil-cpp/absl/algorithm/container_test.cc +1127 -0
  41. package/vendor/abseil-cpp/absl/algorithm/equal_benchmark.cc +126 -0
  42. package/vendor/abseil-cpp/absl/base/BUILD.bazel +783 -0
  43. package/vendor/abseil-cpp/absl/base/CMakeLists.txt +685 -0
  44. package/vendor/abseil-cpp/absl/base/attributes.h +782 -0
  45. package/vendor/abseil-cpp/absl/base/bit_cast_test.cc +109 -0
  46. package/vendor/abseil-cpp/absl/base/call_once.h +219 -0
  47. package/vendor/abseil-cpp/absl/base/call_once_test.cc +107 -0
  48. package/vendor/abseil-cpp/absl/base/casts.h +180 -0
  49. package/vendor/abseil-cpp/absl/base/config.h +954 -0
  50. package/vendor/abseil-cpp/absl/base/config_test.cc +60 -0
  51. package/vendor/abseil-cpp/absl/base/const_init.h +76 -0
  52. package/vendor/abseil-cpp/absl/base/dynamic_annotations.h +471 -0
  53. package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +959 -0
  54. package/vendor/abseil-cpp/absl/base/inline_variable_test.cc +64 -0
  55. package/vendor/abseil-cpp/absl/base/inline_variable_test_a.cc +27 -0
  56. package/vendor/abseil-cpp/absl/base/inline_variable_test_b.cc +27 -0
  57. package/vendor/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  58. package/vendor/abseil-cpp/absl/base/internal/atomic_hook_test.cc +97 -0
  59. package/vendor/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +32 -0
  60. package/vendor/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
  61. package/vendor/abseil-cpp/absl/base/internal/cmake_thread_test.cc +22 -0
  62. package/vendor/abseil-cpp/absl/base/internal/cycleclock.cc +77 -0
  63. package/vendor/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
  64. package/vendor/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  65. package/vendor/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
  66. package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  67. package/vendor/abseil-cpp/absl/base/internal/endian.h +282 -0
  68. package/vendor/abseil-cpp/absl/base/internal/endian_test.cc +263 -0
  69. package/vendor/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  70. package/vendor/abseil-cpp/absl/base/internal/errno_saver_test.cc +45 -0
  71. package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.cc +79 -0
  72. package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.h +1109 -0
  73. package/vendor/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
  74. package/vendor/abseil-cpp/absl/base/internal/fast_type_id.h +50 -0
  75. package/vendor/abseil-cpp/absl/base/internal/fast_type_id_test.cc +123 -0
  76. package/vendor/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  77. package/vendor/abseil-cpp/absl/base/internal/identity.h +37 -0
  78. package/vendor/abseil-cpp/absl/base/internal/inline_variable.h +107 -0
  79. package/vendor/abseil-cpp/absl/base/internal/inline_variable_testing.h +46 -0
  80. package/vendor/abseil-cpp/absl/base/internal/invoke.h +241 -0
  81. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  82. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  83. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +180 -0
  84. package/vendor/abseil-cpp/absl/base/internal/low_level_scheduling.h +134 -0
  85. package/vendor/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  86. package/vendor/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  87. package/vendor/abseil-cpp/absl/base/internal/prefetch_test.cc +43 -0
  88. package/vendor/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
  89. package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +253 -0
  90. package/vendor/abseil-cpp/absl/base/internal/raw_logging.h +195 -0
  91. package/vendor/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  92. package/vendor/abseil-cpp/absl/base/internal/scoped_set_env.cc +81 -0
  93. package/vendor/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
  94. package/vendor/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +99 -0
  95. package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +232 -0
  96. package/vendor/abseil-cpp/absl/base/internal/spinlock.h +252 -0
  97. package/vendor/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  98. package/vendor/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +52 -0
  99. package/vendor/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
  100. package/vendor/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  101. package/vendor/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  102. package/vendor/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
  103. package/vendor/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
  104. package/vendor/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  105. package/vendor/abseil-cpp/absl/base/internal/strerror.h +39 -0
  106. package/vendor/abseil-cpp/absl/base/internal/strerror_benchmark.cc +29 -0
  107. package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +88 -0
  108. package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +511 -0
  109. package/vendor/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
  110. package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +88 -0
  111. package/vendor/abseil-cpp/absl/base/internal/thread_annotations.h +280 -0
  112. package/vendor/abseil-cpp/absl/base/internal/thread_identity.cc +156 -0
  113. package/vendor/abseil-cpp/absl/base/internal/thread_identity.h +269 -0
  114. package/vendor/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +38 -0
  115. package/vendor/abseil-cpp/absl/base/internal/thread_identity_test.cc +129 -0
  116. package/vendor/abseil-cpp/absl/base/internal/throw_delegate.cc +212 -0
  117. package/vendor/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  118. package/vendor/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
  119. package/vendor/abseil-cpp/absl/base/internal/unaligned_access.h +82 -0
  120. package/vendor/abseil-cpp/absl/base/internal/unique_small_name_test.cc +77 -0
  121. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +153 -0
  122. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +96 -0
  123. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  124. package/vendor/abseil-cpp/absl/base/invoke_test.cc +331 -0
  125. package/vendor/abseil-cpp/absl/base/log_severity.cc +55 -0
  126. package/vendor/abseil-cpp/absl/base/log_severity.h +172 -0
  127. package/vendor/abseil-cpp/absl/base/log_severity_test.cc +245 -0
  128. package/vendor/abseil-cpp/absl/base/macros.h +141 -0
  129. package/vendor/abseil-cpp/absl/base/optimization.h +304 -0
  130. package/vendor/abseil-cpp/absl/base/optimization_test.cc +129 -0
  131. package/vendor/abseil-cpp/absl/base/options.h +232 -0
  132. package/vendor/abseil-cpp/absl/base/policy_checks.h +113 -0
  133. package/vendor/abseil-cpp/absl/base/port.h +25 -0
  134. package/vendor/abseil-cpp/absl/base/raw_logging_test.cc +79 -0
  135. package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +272 -0
  136. package/vendor/abseil-cpp/absl/base/thread_annotations.h +335 -0
  137. package/vendor/abseil-cpp/absl/base/throw_delegate_test.cc +175 -0
  138. package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +65 -0
  139. package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +56 -0
  140. package/vendor/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  141. package/vendor/abseil-cpp/absl/cleanup/cleanup_test.cc +311 -0
  142. package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  143. package/vendor/abseil-cpp/absl/container/BUILD.bazel +1031 -0
  144. package/vendor/abseil-cpp/absl/container/CMakeLists.txt +967 -0
  145. package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +764 -0
  146. package/vendor/abseil-cpp/absl/container/btree_map.h +885 -0
  147. package/vendor/abseil-cpp/absl/container/btree_set.h +821 -0
  148. package/vendor/abseil-cpp/absl/container/btree_test.cc +3470 -0
  149. package/vendor/abseil-cpp/absl/container/btree_test.h +166 -0
  150. package/vendor/abseil-cpp/absl/container/fixed_array.h +531 -0
  151. package/vendor/abseil-cpp/absl/container/fixed_array_benchmark.cc +67 -0
  152. package/vendor/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +201 -0
  153. package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +837 -0
  154. package/vendor/abseil-cpp/absl/container/flat_hash_map.h +613 -0
  155. package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +325 -0
  156. package/vendor/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  157. package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +178 -0
  158. package/vendor/abseil-cpp/absl/container/inlined_vector.h +914 -0
  159. package/vendor/abseil-cpp/absl/container/inlined_vector_benchmark.cc +829 -0
  160. package/vendor/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +508 -0
  161. package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +2060 -0
  162. package/vendor/abseil-cpp/absl/container/internal/btree.h +2982 -0
  163. package/vendor/abseil-cpp/absl/container/internal/btree_container.h +713 -0
  164. package/vendor/abseil-cpp/absl/container/internal/common.h +207 -0
  165. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  166. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +120 -0
  167. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +290 -0
  168. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +419 -0
  169. package/vendor/abseil-cpp/absl/container/internal/container_memory.h +454 -0
  170. package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +257 -0
  171. package/vendor/abseil-cpp/absl/container/internal/counting_allocator.h +122 -0
  172. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +163 -0
  173. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +383 -0
  174. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +76 -0
  175. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +182 -0
  176. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +184 -0
  177. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +45 -0
  178. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +157 -0
  179. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +80 -0
  180. package/vendor/abseil-cpp/absl/container/internal/hashtable_debug.h +110 -0
  181. package/vendor/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  182. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +283 -0
  183. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +267 -0
  184. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  185. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +428 -0
  186. package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +1031 -0
  187. package/vendor/abseil-cpp/absl/container/internal/layout.h +743 -0
  188. package/vendor/abseil-cpp/absl/container/internal/layout_benchmark.cc +122 -0
  189. package/vendor/abseil-cpp/absl/container/internal/layout_test.cc +1641 -0
  190. package/vendor/abseil-cpp/absl/container/internal/node_slot_policy.h +92 -0
  191. package/vendor/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +69 -0
  192. package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +198 -0
  193. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +222 -0
  194. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +2685 -0
  195. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +505 -0
  196. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +544 -0
  197. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +590 -0
  198. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +2324 -0
  199. package/vendor/abseil-cpp/absl/container/internal/test_instance_tracker.cc +29 -0
  200. package/vendor/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
  201. package/vendor/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +184 -0
  202. package/vendor/abseil-cpp/absl/container/internal/tracked.h +83 -0
  203. package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +494 -0
  204. package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +117 -0
  205. package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +87 -0
  206. package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +352 -0
  207. package/vendor/abseil-cpp/absl/container/internal/unordered_map_test.cc +50 -0
  208. package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +496 -0
  209. package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +91 -0
  210. package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +86 -0
  211. package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +221 -0
  212. package/vendor/abseil-cpp/absl/container/internal/unordered_set_test.cc +41 -0
  213. package/vendor/abseil-cpp/absl/container/node_hash_map.h +604 -0
  214. package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +286 -0
  215. package/vendor/abseil-cpp/absl/container/node_hash_set.h +500 -0
  216. package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +143 -0
  217. package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +114 -0
  218. package/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +96 -0
  219. package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +229 -0
  220. package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +230 -0
  221. package/vendor/abseil-cpp/absl/copts/configure_copts.bzl +82 -0
  222. package/vendor/abseil-cpp/absl/copts/copts.py +191 -0
  223. package/vendor/abseil-cpp/absl/copts/generate_copts.py +109 -0
  224. package/vendor/abseil-cpp/absl/crc/BUILD.bazel +210 -0
  225. package/vendor/abseil-cpp/absl/crc/CMakeLists.txt +176 -0
  226. package/vendor/abseil-cpp/absl/crc/crc32c.cc +99 -0
  227. package/vendor/abseil-cpp/absl/crc/crc32c.h +183 -0
  228. package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +183 -0
  229. package/vendor/abseil-cpp/absl/crc/crc32c_test.cc +194 -0
  230. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  231. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  232. package/vendor/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  233. package/vendor/abseil-cpp/absl/crc/internal/crc.h +91 -0
  234. package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  235. package/vendor/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  236. package/vendor/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  237. package/vendor/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  238. package/vendor/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  239. package/vendor/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +124 -0
  240. package/vendor/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  241. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  242. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  243. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +169 -0
  244. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  245. package/vendor/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  246. package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  247. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  248. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  249. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +88 -0
  250. package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +322 -0
  251. package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +294 -0
  252. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +389 -0
  253. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
  254. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +165 -0
  255. package/vendor/abseil-cpp/absl/debugging/internal/address_is_readable.cc +96 -0
  256. package/vendor/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  257. package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +1988 -0
  258. package/vendor/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  259. package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +243 -0
  260. package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +386 -0
  261. package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +139 -0
  262. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +317 -0
  263. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +64 -0
  264. package/vendor/abseil-cpp/absl/debugging/internal/stack_consumption.cc +185 -0
  265. package/vendor/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
  266. package/vendor/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +50 -0
  267. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +206 -0
  268. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +139 -0
  269. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_config.h +88 -0
  270. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
  271. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +108 -0
  272. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +258 -0
  273. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +191 -0
  274. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  275. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +94 -0
  276. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +394 -0
  277. package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +153 -0
  278. package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.cc +205 -0
  279. package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  280. package/vendor/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  281. package/vendor/abseil-cpp/absl/debugging/leak_check.h +150 -0
  282. package/vendor/abseil-cpp/absl/debugging/leak_check_fail_test.cc +41 -0
  283. package/vendor/abseil-cpp/absl/debugging/leak_check_test.cc +41 -0
  284. package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +142 -0
  285. package/vendor/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  286. package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +55 -0
  287. package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +47 -0
  288. package/vendor/abseil-cpp/absl/debugging/symbolize.cc +43 -0
  289. package/vendor/abseil-cpp/absl/debugging/symbolize.h +99 -0
  290. package/vendor/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
  291. package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +1637 -0
  292. package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
  293. package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +612 -0
  294. package/vendor/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  295. package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +82 -0
  296. package/vendor/abseil-cpp/absl/flags/BUILD.bazel +583 -0
  297. package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +471 -0
  298. package/vendor/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
  299. package/vendor/abseil-cpp/absl/flags/commandlineflag.h +200 -0
  300. package/vendor/abseil-cpp/absl/flags/commandlineflag_test.cc +231 -0
  301. package/vendor/abseil-cpp/absl/flags/config.h +68 -0
  302. package/vendor/abseil-cpp/absl/flags/config_test.cc +61 -0
  303. package/vendor/abseil-cpp/absl/flags/declare.h +73 -0
  304. package/vendor/abseil-cpp/absl/flags/flag.cc +38 -0
  305. package/vendor/abseil-cpp/absl/flags/flag.h +310 -0
  306. package/vendor/abseil-cpp/absl/flags/flag_benchmark.cc +251 -0
  307. package/vendor/abseil-cpp/absl/flags/flag_benchmark.lds +13 -0
  308. package/vendor/abseil-cpp/absl/flags/flag_test.cc +1166 -0
  309. package/vendor/abseil-cpp/absl/flags/flag_test_defs.cc +24 -0
  310. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  311. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  312. package/vendor/abseil-cpp/absl/flags/internal/flag.cc +615 -0
  313. package/vendor/abseil-cpp/absl/flags/internal/flag.h +800 -0
  314. package/vendor/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
  315. package/vendor/abseil-cpp/absl/flags/internal/parse.h +63 -0
  316. package/vendor/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  317. package/vendor/abseil-cpp/absl/flags/internal/path_util_test.cc +46 -0
  318. package/vendor/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
  319. package/vendor/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
  320. package/vendor/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
  321. package/vendor/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  322. package/vendor/abseil-cpp/absl/flags/internal/program_name_test.cc +61 -0
  323. package/vendor/abseil-cpp/absl/flags/internal/registry.h +97 -0
  324. package/vendor/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  325. package/vendor/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +169 -0
  326. package/vendor/abseil-cpp/absl/flags/internal/usage.cc +526 -0
  327. package/vendor/abseil-cpp/absl/flags/internal/usage.h +104 -0
  328. package/vendor/abseil-cpp/absl/flags/internal/usage_test.cc +504 -0
  329. package/vendor/abseil-cpp/absl/flags/marshalling.cc +241 -0
  330. package/vendor/abseil-cpp/absl/flags/marshalling.h +356 -0
  331. package/vendor/abseil-cpp/absl/flags/marshalling_test.cc +1070 -0
  332. package/vendor/abseil-cpp/absl/flags/parse.cc +890 -0
  333. package/vendor/abseil-cpp/absl/flags/parse.h +60 -0
  334. package/vendor/abseil-cpp/absl/flags/parse_test.cc +1004 -0
  335. package/vendor/abseil-cpp/absl/flags/reflection.cc +354 -0
  336. package/vendor/abseil-cpp/absl/flags/reflection.h +90 -0
  337. package/vendor/abseil-cpp/absl/flags/reflection_test.cc +265 -0
  338. package/vendor/abseil-cpp/absl/flags/usage.cc +65 -0
  339. package/vendor/abseil-cpp/absl/flags/usage.h +43 -0
  340. package/vendor/abseil-cpp/absl/flags/usage_config.cc +165 -0
  341. package/vendor/abseil-cpp/absl/flags/usage_config.h +135 -0
  342. package/vendor/abseil-cpp/absl/flags/usage_config_test.cc +205 -0
  343. package/vendor/abseil-cpp/absl/functional/BUILD.bazel +128 -0
  344. package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +109 -0
  345. package/vendor/abseil-cpp/absl/functional/any_invocable.h +316 -0
  346. package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +1719 -0
  347. package/vendor/abseil-cpp/absl/functional/bind_front.h +193 -0
  348. package/vendor/abseil-cpp/absl/functional/bind_front_test.cc +231 -0
  349. package/vendor/abseil-cpp/absl/functional/function_ref.h +143 -0
  350. package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +258 -0
  351. package/vendor/abseil-cpp/absl/functional/function_type_benchmark.cc +176 -0
  352. package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +878 -0
  353. package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
  354. package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  355. package/vendor/abseil-cpp/absl/hash/BUILD.bazel +176 -0
  356. package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +160 -0
  357. package/vendor/abseil-cpp/absl/hash/hash.h +421 -0
  358. package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +323 -0
  359. package/vendor/abseil-cpp/absl/hash/hash_test.cc +1277 -0
  360. package/vendor/abseil-cpp/absl/hash/hash_testing.h +378 -0
  361. package/vendor/abseil-cpp/absl/hash/internal/city.cc +349 -0
  362. package/vendor/abseil-cpp/absl/hash/internal/city.h +78 -0
  363. package/vendor/abseil-cpp/absl/hash/internal/city_test.cc +597 -0
  364. package/vendor/abseil-cpp/absl/hash/internal/hash.cc +69 -0
  365. package/vendor/abseil-cpp/absl/hash/internal/hash.h +1305 -0
  366. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc +112 -0
  367. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.h +50 -0
  368. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +532 -0
  369. package/vendor/abseil-cpp/absl/hash/internal/print_hash_of.cc +23 -0
  370. package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +266 -0
  371. package/vendor/abseil-cpp/absl/log/BUILD.bazel +596 -0
  372. package/vendor/abseil-cpp/absl/log/CMakeLists.txt +1042 -0
  373. package/vendor/abseil-cpp/absl/log/absl_check.h +105 -0
  374. package/vendor/abseil-cpp/absl/log/absl_check_test.cc +58 -0
  375. package/vendor/abseil-cpp/absl/log/absl_log.h +94 -0
  376. package/vendor/abseil-cpp/absl/log/absl_log_basic_test.cc +21 -0
  377. package/vendor/abseil-cpp/absl/log/check.h +183 -0
  378. package/vendor/abseil-cpp/absl/log/check_test.cc +58 -0
  379. package/vendor/abseil-cpp/absl/log/check_test_impl.h +528 -0
  380. package/vendor/abseil-cpp/absl/log/die_if_null.cc +32 -0
  381. package/vendor/abseil-cpp/absl/log/die_if_null.h +76 -0
  382. package/vendor/abseil-cpp/absl/log/die_if_null_test.cc +107 -0
  383. package/vendor/abseil-cpp/absl/log/flags.cc +112 -0
  384. package/vendor/abseil-cpp/absl/log/flags.h +43 -0
  385. package/vendor/abseil-cpp/absl/log/flags_test.cc +184 -0
  386. package/vendor/abseil-cpp/absl/log/globals.cc +148 -0
  387. package/vendor/abseil-cpp/absl/log/globals.h +165 -0
  388. package/vendor/abseil-cpp/absl/log/globals_test.cc +91 -0
  389. package/vendor/abseil-cpp/absl/log/initialize.cc +34 -0
  390. package/vendor/abseil-cpp/absl/log/initialize.h +45 -0
  391. package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +383 -0
  392. package/vendor/abseil-cpp/absl/log/internal/append_truncated.h +47 -0
  393. package/vendor/abseil-cpp/absl/log/internal/check_impl.h +150 -0
  394. package/vendor/abseil-cpp/absl/log/internal/check_op.cc +118 -0
  395. package/vendor/abseil-cpp/absl/log/internal/check_op.h +392 -0
  396. package/vendor/abseil-cpp/absl/log/internal/conditions.cc +83 -0
  397. package/vendor/abseil-cpp/absl/log/internal/conditions.h +222 -0
  398. package/vendor/abseil-cpp/absl/log/internal/config.h +45 -0
  399. package/vendor/abseil-cpp/absl/log/internal/flags.h +53 -0
  400. package/vendor/abseil-cpp/absl/log/internal/globals.cc +125 -0
  401. package/vendor/abseil-cpp/absl/log/internal/globals.h +101 -0
  402. package/vendor/abseil-cpp/absl/log/internal/log_format.cc +203 -0
  403. package/vendor/abseil-cpp/absl/log/internal/log_format.h +78 -0
  404. package/vendor/abseil-cpp/absl/log/internal/log_impl.h +212 -0
  405. package/vendor/abseil-cpp/absl/log/internal/log_message.cc +618 -0
  406. package/vendor/abseil-cpp/absl/log/internal/log_message.h +355 -0
  407. package/vendor/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
  408. package/vendor/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
  409. package/vendor/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
  410. package/vendor/abseil-cpp/absl/log/internal/nullguard.h +88 -0
  411. package/vendor/abseil-cpp/absl/log/internal/nullstream.h +134 -0
  412. package/vendor/abseil-cpp/absl/log/internal/proto.cc +220 -0
  413. package/vendor/abseil-cpp/absl/log/internal/proto.h +288 -0
  414. package/vendor/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +105 -0
  415. package/vendor/abseil-cpp/absl/log/internal/strip.h +71 -0
  416. package/vendor/abseil-cpp/absl/log/internal/structured.h +58 -0
  417. package/vendor/abseil-cpp/absl/log/internal/test_actions.cc +75 -0
  418. package/vendor/abseil-cpp/absl/log/internal/test_actions.h +90 -0
  419. package/vendor/abseil-cpp/absl/log/internal/test_helpers.cc +82 -0
  420. package/vendor/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
  421. package/vendor/abseil-cpp/absl/log/internal/test_matchers.cc +217 -0
  422. package/vendor/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
  423. package/vendor/abseil-cpp/absl/log/internal/voidify.h +44 -0
  424. package/vendor/abseil-cpp/absl/log/log.h +308 -0
  425. package/vendor/abseil-cpp/absl/log/log_basic_test.cc +21 -0
  426. package/vendor/abseil-cpp/absl/log/log_basic_test_impl.h +455 -0
  427. package/vendor/abseil-cpp/absl/log/log_benchmark.cc +97 -0
  428. package/vendor/abseil-cpp/absl/log/log_entry.cc +29 -0
  429. package/vendor/abseil-cpp/absl/log/log_entry.h +220 -0
  430. package/vendor/abseil-cpp/absl/log/log_entry_test.cc +468 -0
  431. package/vendor/abseil-cpp/absl/log/log_format_test.cc +1872 -0
  432. package/vendor/abseil-cpp/absl/log/log_macro_hygiene_test.cc +187 -0
  433. package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +233 -0
  434. package/vendor/abseil-cpp/absl/log/log_sink.cc +23 -0
  435. package/vendor/abseil-cpp/absl/log/log_sink.h +64 -0
  436. package/vendor/abseil-cpp/absl/log/log_sink_registry.h +61 -0
  437. package/vendor/abseil-cpp/absl/log/log_sink_test.cc +419 -0
  438. package/vendor/abseil-cpp/absl/log/log_streamer.h +171 -0
  439. package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +365 -0
  440. package/vendor/abseil-cpp/absl/log/scoped_mock_log.cc +86 -0
  441. package/vendor/abseil-cpp/absl/log/scoped_mock_log.h +194 -0
  442. package/vendor/abseil-cpp/absl/log/scoped_mock_log_test.cc +290 -0
  443. package/vendor/abseil-cpp/absl/log/stripping_test.cc +340 -0
  444. package/vendor/abseil-cpp/absl/log/structured.h +70 -0
  445. package/vendor/abseil-cpp/absl/log/structured_test.cc +63 -0
  446. package/vendor/abseil-cpp/absl/memory/BUILD.bazel +52 -0
  447. package/vendor/abseil-cpp/absl/memory/CMakeLists.txt +41 -0
  448. package/vendor/abseil-cpp/absl/memory/memory.h +278 -0
  449. package/vendor/abseil-cpp/absl/memory/memory_test.cc +222 -0
  450. package/vendor/abseil-cpp/absl/meta/BUILD.bazel +50 -0
  451. package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +53 -0
  452. package/vendor/abseil-cpp/absl/meta/type_traits.h +889 -0
  453. package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +1448 -0
  454. package/vendor/abseil-cpp/absl/numeric/BUILD.bazel +127 -0
  455. package/vendor/abseil-cpp/absl/numeric/CMakeLists.txt +99 -0
  456. package/vendor/abseil-cpp/absl/numeric/bits.h +177 -0
  457. package/vendor/abseil-cpp/absl/numeric/bits_benchmark.cc +73 -0
  458. package/vendor/abseil-cpp/absl/numeric/bits_test.cc +573 -0
  459. package/vendor/abseil-cpp/absl/numeric/int128.cc +387 -0
  460. package/vendor/abseil-cpp/absl/numeric/int128.h +1165 -0
  461. package/vendor/abseil-cpp/absl/numeric/int128_benchmark.cc +282 -0
  462. package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +296 -0
  463. package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +311 -0
  464. package/vendor/abseil-cpp/absl/numeric/int128_stream_test.cc +1393 -0
  465. package/vendor/abseil-cpp/absl/numeric/int128_test.cc +1261 -0
  466. package/vendor/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  467. package/vendor/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  468. package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +129 -0
  469. package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +93 -0
  470. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  471. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  472. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +203 -0
  473. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +53 -0
  474. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
  475. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +79 -0
  476. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +177 -0
  477. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
  478. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +184 -0
  479. package/vendor/abseil-cpp/absl/random/BUILD.bazel +517 -0
  480. package/vendor/abseil-cpp/absl/random/CMakeLists.txt +1216 -0
  481. package/vendor/abseil-cpp/absl/random/benchmarks.cc +383 -0
  482. package/vendor/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  483. package/vendor/abseil-cpp/absl/random/bernoulli_distribution_test.cc +217 -0
  484. package/vendor/abseil-cpp/absl/random/beta_distribution.h +427 -0
  485. package/vendor/abseil-cpp/absl/random/beta_distribution_test.cc +620 -0
  486. package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +185 -0
  487. package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +102 -0
  488. package/vendor/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  489. package/vendor/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  490. package/vendor/abseil-cpp/absl/random/discrete_distribution_test.cc +251 -0
  491. package/vendor/abseil-cpp/absl/random/distributions.h +452 -0
  492. package/vendor/abseil-cpp/absl/random/distributions_test.cc +466 -0
  493. package/vendor/abseil-cpp/absl/random/examples_test.cc +99 -0
  494. package/vendor/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  495. package/vendor/abseil-cpp/absl/random/exponential_distribution_test.cc +428 -0
  496. package/vendor/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  497. package/vendor/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  498. package/vendor/abseil-cpp/absl/random/gaussian_distribution_test.cc +563 -0
  499. package/vendor/abseil-cpp/absl/random/generators_test.cc +185 -0
  500. package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +753 -0
  501. package/vendor/abseil-cpp/absl/random/internal/chi_square.cc +233 -0
  502. package/vendor/abseil-cpp/absl/random/internal/chi_square.h +89 -0
  503. package/vendor/abseil-cpp/absl/random/internal/chi_square_test.cc +365 -0
  504. package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +95 -0
  505. package/vendor/abseil-cpp/absl/random/internal/distribution_test_util.cc +418 -0
  506. package/vendor/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
  507. package/vendor/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +193 -0
  508. package/vendor/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
  509. package/vendor/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +237 -0
  510. package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits.h +270 -0
  511. package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +336 -0
  512. package/vendor/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  513. package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +97 -0
  514. package/vendor/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +143 -0
  515. package/vendor/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  516. package/vendor/abseil-cpp/absl/random/internal/generate_real_test.cc +496 -0
  517. package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  518. package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +372 -0
  519. package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +135 -0
  520. package/vendor/abseil-cpp/absl/random/internal/mock_overload_set.h +100 -0
  521. package/vendor/abseil-cpp/absl/random/internal/nanobenchmark.cc +804 -0
  522. package/vendor/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
  523. package/vendor/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +77 -0
  524. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +161 -0
  525. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +227 -0
  526. package/vendor/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  527. package/vendor/abseil-cpp/absl/random/internal/pcg_engine_test.cc +638 -0
  528. package/vendor/abseil-cpp/absl/random/internal/platform.h +171 -0
  529. package/vendor/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  530. package/vendor/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  531. package/vendor/abseil-cpp/absl/random/internal/pool_urbg_test.cc +182 -0
  532. package/vendor/abseil-cpp/absl/random/internal/randen.cc +91 -0
  533. package/vendor/abseil-cpp/absl/random/internal/randen.h +96 -0
  534. package/vendor/abseil-cpp/absl/random/internal/randen_benchmarks.cc +174 -0
  535. package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +225 -0
  536. package/vendor/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  537. package/vendor/abseil-cpp/absl/random/internal/randen_engine.h +264 -0
  538. package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +656 -0
  539. package/vendor/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  540. package/vendor/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  541. package/vendor/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +99 -0
  542. package/vendor/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  543. package/vendor/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  544. package/vendor/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  545. package/vendor/abseil-cpp/absl/random/internal/randen_slow_test.cc +61 -0
  546. package/vendor/abseil-cpp/absl/random/internal/randen_test.cc +75 -0
  547. package/vendor/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  548. package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  549. package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +168 -0
  550. package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  551. package/vendor/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  552. package/vendor/abseil-cpp/absl/random/internal/seed_material_test.cc +202 -0
  553. package/vendor/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
  554. package/vendor/abseil-cpp/absl/random/internal/traits.h +149 -0
  555. package/vendor/abseil-cpp/absl/random/internal/traits_test.cc +126 -0
  556. package/vendor/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  557. package/vendor/abseil-cpp/absl/random/internal/uniform_helper_test.cc +279 -0
  558. package/vendor/abseil-cpp/absl/random/internal/wide_multiply.h +96 -0
  559. package/vendor/abseil-cpp/absl/random/internal/wide_multiply_test.cc +119 -0
  560. package/vendor/abseil-cpp/absl/random/log_uniform_int_distribution.h +256 -0
  561. package/vendor/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +280 -0
  562. package/vendor/abseil-cpp/absl/random/mock_distributions.h +266 -0
  563. package/vendor/abseil-cpp/absl/random/mock_distributions_test.cc +72 -0
  564. package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +240 -0
  565. package/vendor/abseil-cpp/absl/random/mocking_bit_gen_test.cc +394 -0
  566. package/vendor/abseil-cpp/absl/random/poisson_distribution.h +261 -0
  567. package/vendor/abseil-cpp/absl/random/poisson_distribution_test.cc +573 -0
  568. package/vendor/abseil-cpp/absl/random/random.h +189 -0
  569. package/vendor/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  570. package/vendor/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  571. package/vendor/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  572. package/vendor/abseil-cpp/absl/random/seed_sequences.h +111 -0
  573. package/vendor/abseil-cpp/absl/random/seed_sequences_test.cc +126 -0
  574. package/vendor/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  575. package/vendor/abseil-cpp/absl/random/uniform_int_distribution_test.cc +260 -0
  576. package/vendor/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  577. package/vendor/abseil-cpp/absl/random/uniform_real_distribution_test.cc +395 -0
  578. package/vendor/abseil-cpp/absl/random/zipf_distribution.h +272 -0
  579. package/vendor/abseil-cpp/absl/random/zipf_distribution_test.cc +427 -0
  580. package/vendor/abseil-cpp/absl/status/BUILD.bazel +109 -0
  581. package/vendor/abseil-cpp/absl/status/CMakeLists.txt +91 -0
  582. package/vendor/abseil-cpp/absl/status/internal/status_internal.h +87 -0
  583. package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +396 -0
  584. package/vendor/abseil-cpp/absl/status/status.cc +623 -0
  585. package/vendor/abseil-cpp/absl/status/status.h +892 -0
  586. package/vendor/abseil-cpp/absl/status/status_payload_printer.cc +38 -0
  587. package/vendor/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  588. package/vendor/abseil-cpp/absl/status/status_test.cc +509 -0
  589. package/vendor/abseil-cpp/absl/status/statusor.cc +103 -0
  590. package/vendor/abseil-cpp/absl/status/statusor.h +776 -0
  591. package/vendor/abseil-cpp/absl/status/statusor_test.cc +1847 -0
  592. package/vendor/abseil-cpp/absl/strings/BUILD.bazel +1319 -0
  593. package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +1119 -0
  594. package/vendor/abseil-cpp/absl/strings/ascii.cc +200 -0
  595. package/vendor/abseil-cpp/absl/strings/ascii.h +242 -0
  596. package/vendor/abseil-cpp/absl/strings/ascii_benchmark.cc +120 -0
  597. package/vendor/abseil-cpp/absl/strings/ascii_test.cc +357 -0
  598. package/vendor/abseil-cpp/absl/strings/atod_manual_test.cc +193 -0
  599. package/vendor/abseil-cpp/absl/strings/charconv.cc +1422 -0
  600. package/vendor/abseil-cpp/absl/strings/charconv.h +120 -0
  601. package/vendor/abseil-cpp/absl/strings/charconv_benchmark.cc +204 -0
  602. package/vendor/abseil-cpp/absl/strings/charconv_test.cc +782 -0
  603. package/vendor/abseil-cpp/absl/strings/cord.cc +1380 -0
  604. package/vendor/abseil-cpp/absl/strings/cord.h +1633 -0
  605. package/vendor/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  606. package/vendor/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  607. package/vendor/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  608. package/vendor/abseil-cpp/absl/strings/cord_buffer.h +575 -0
  609. package/vendor/abseil-cpp/absl/strings/cord_buffer_test.cc +320 -0
  610. package/vendor/abseil-cpp/absl/strings/cord_ring_reader_test.cc +180 -0
  611. package/vendor/abseil-cpp/absl/strings/cord_ring_test.cc +1454 -0
  612. package/vendor/abseil-cpp/absl/strings/cord_test.cc +3125 -0
  613. package/vendor/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
  614. package/vendor/abseil-cpp/absl/strings/cordz_test.cc +466 -0
  615. package/vendor/abseil-cpp/absl/strings/cordz_test_helpers.h +151 -0
  616. package/vendor/abseil-cpp/absl/strings/escaping.cc +960 -0
  617. package/vendor/abseil-cpp/absl/strings/escaping.h +169 -0
  618. package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +94 -0
  619. package/vendor/abseil-cpp/absl/strings/escaping_test.cc +706 -0
  620. package/vendor/abseil-cpp/absl/strings/internal/char_map.h +158 -0
  621. package/vendor/abseil-cpp/absl/strings/internal/char_map_benchmark.cc +61 -0
  622. package/vendor/abseil-cpp/absl/strings/internal/char_map_test.cc +172 -0
  623. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc +359 -0
  624. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.h +423 -0
  625. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +260 -0
  626. package/vendor/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  627. package/vendor/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  628. package/vendor/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +357 -0
  629. package/vendor/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  630. package/vendor/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +130 -0
  631. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.cc +77 -0
  632. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +915 -0
  633. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1232 -0
  634. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.h +936 -0
  635. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  636. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  637. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +346 -0
  638. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  639. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  640. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +293 -0
  641. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +1568 -0
  642. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +62 -0
  643. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
  644. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  645. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  646. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +130 -0
  647. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_flat.h +187 -0
  648. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +773 -0
  649. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_ring.h +607 -0
  650. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +118 -0
  651. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
  652. package/vendor/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
  653. package/vendor/abseil-cpp/absl/strings/internal/cordz_functions.h +77 -0
  654. package/vendor/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +149 -0
  655. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
  656. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
  657. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +265 -0
  658. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +421 -0
  659. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
  660. package/vendor/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +557 -0
  661. package/vendor/abseil-cpp/absl/strings/internal/cordz_info_test.cc +342 -0
  662. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +64 -0
  663. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
  664. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +208 -0
  665. package/vendor/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  666. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  667. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +49 -0
  668. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  669. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +147 -0
  670. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  671. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  672. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +99 -0
  673. package/vendor/abseil-cpp/absl/strings/internal/escaping.cc +183 -0
  674. package/vendor/abseil-cpp/absl/strings/internal/escaping.h +56 -0
  675. package/vendor/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
  676. package/vendor/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  677. package/vendor/abseil-cpp/absl/strings/internal/memutil.cc +115 -0
  678. package/vendor/abseil-cpp/absl/strings/internal/memutil.h +148 -0
  679. package/vendor/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +323 -0
  680. package/vendor/abseil-cpp/absl/strings/internal/memutil_test.cc +179 -0
  681. package/vendor/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
  682. package/vendor/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
  683. package/vendor/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
  684. package/vendor/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +106 -0
  685. package/vendor/abseil-cpp/absl/strings/internal/ostringstream_test.cc +131 -0
  686. package/vendor/abseil-cpp/absl/strings/internal/pow10_helper.cc +122 -0
  687. package/vendor/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
  688. package/vendor/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +122 -0
  689. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +119 -0
  690. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +133 -0
  691. package/vendor/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  692. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc +555 -0
  693. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +623 -0
  694. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +130 -0
  695. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.cc +259 -0
  696. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.h +249 -0
  697. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +157 -0
  698. package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +100 -0
  699. package/vendor/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +176 -0
  700. package/vendor/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  701. package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1257 -0
  702. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc +75 -0
  703. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.h +450 -0
  704. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +109 -0
  705. package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1457 -0
  706. package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
  707. package/vendor/abseil-cpp/absl/strings/internal/str_format/output.cc +72 -0
  708. package/vendor/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
  709. package/vendor/abseil-cpp/absl/strings/internal/str_format/output_test.cc +79 -0
  710. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
  711. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.h +268 -0
  712. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +438 -0
  713. package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +317 -0
  714. package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +431 -0
  715. package/vendor/abseil-cpp/absl/strings/internal/string_constant.h +72 -0
  716. package/vendor/abseil-cpp/absl/strings/internal/string_constant_test.cc +60 -0
  717. package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  718. package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  719. package/vendor/abseil-cpp/absl/strings/internal/utf8.cc +53 -0
  720. package/vendor/abseil-cpp/absl/strings/internal/utf8.h +50 -0
  721. package/vendor/abseil-cpp/absl/strings/internal/utf8_test.cc +66 -0
  722. package/vendor/abseil-cpp/absl/strings/match.cc +43 -0
  723. package/vendor/abseil-cpp/absl/strings/match.h +100 -0
  724. package/vendor/abseil-cpp/absl/strings/match_test.cc +127 -0
  725. package/vendor/abseil-cpp/absl/strings/numbers.cc +1096 -0
  726. package/vendor/abseil-cpp/absl/strings/numbers.h +303 -0
  727. package/vendor/abseil-cpp/absl/strings/numbers_benchmark.cc +286 -0
  728. package/vendor/abseil-cpp/absl/strings/numbers_test.cc +1722 -0
  729. package/vendor/abseil-cpp/absl/strings/str_cat.cc +249 -0
  730. package/vendor/abseil-cpp/absl/strings/str_cat.h +462 -0
  731. package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +187 -0
  732. package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +665 -0
  733. package/vendor/abseil-cpp/absl/strings/str_format.h +874 -0
  734. package/vendor/abseil-cpp/absl/strings/str_format_test.cc +1212 -0
  735. package/vendor/abseil-cpp/absl/strings/str_join.h +287 -0
  736. package/vendor/abseil-cpp/absl/strings/str_join_benchmark.cc +97 -0
  737. package/vendor/abseil-cpp/absl/strings/str_join_test.cc +608 -0
  738. package/vendor/abseil-cpp/absl/strings/str_replace.cc +82 -0
  739. package/vendor/abseil-cpp/absl/strings/str_replace.h +219 -0
  740. package/vendor/abseil-cpp/absl/strings/str_replace_benchmark.cc +122 -0
  741. package/vendor/abseil-cpp/absl/strings/str_replace_test.cc +341 -0
  742. package/vendor/abseil-cpp/absl/strings/str_split.cc +139 -0
  743. package/vendor/abseil-cpp/absl/strings/str_split.h +547 -0
  744. package/vendor/abseil-cpp/absl/strings/str_split_benchmark.cc +180 -0
  745. package/vendor/abseil-cpp/absl/strings/str_split_test.cc +981 -0
  746. package/vendor/abseil-cpp/absl/strings/string_view.cc +219 -0
  747. package/vendor/abseil-cpp/absl/strings/string_view.h +704 -0
  748. package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +381 -0
  749. package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1308 -0
  750. package/vendor/abseil-cpp/absl/strings/strip.h +93 -0
  751. package/vendor/abseil-cpp/absl/strings/strip_test.cc +198 -0
  752. package/vendor/abseil-cpp/absl/strings/substitute.cc +174 -0
  753. package/vendor/abseil-cpp/absl/strings/substitute.h +755 -0
  754. package/vendor/abseil-cpp/absl/strings/substitute_test.cc +285 -0
  755. package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +333 -0
  756. package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +235 -0
  757. package/vendor/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  758. package/vendor/abseil-cpp/absl/synchronization/barrier.h +79 -0
  759. package/vendor/abseil-cpp/absl/synchronization/barrier_test.cc +75 -0
  760. package/vendor/abseil-cpp/absl/synchronization/blocking_counter.cc +67 -0
  761. package/vendor/abseil-cpp/absl/synchronization/blocking_counter.h +101 -0
  762. package/vendor/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +83 -0
  763. package/vendor/abseil-cpp/absl/synchronization/blocking_counter_test.cc +80 -0
  764. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +143 -0
  765. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
  766. package/vendor/abseil-cpp/absl/synchronization/internal/futex.h +157 -0
  767. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc +704 -0
  768. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  769. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +44 -0
  770. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +464 -0
  771. package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +170 -0
  772. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +102 -0
  773. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +110 -0
  774. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +190 -0
  775. package/vendor/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
  776. package/vendor/abseil-cpp/absl/synchronization/internal/waiter.cc +403 -0
  777. package/vendor/abseil-cpp/absl/synchronization/internal/waiter.h +161 -0
  778. package/vendor/abseil-cpp/absl/synchronization/lifetime_test.cc +181 -0
  779. package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2835 -0
  780. package/vendor/abseil-cpp/absl/synchronization/mutex.h +1129 -0
  781. package/vendor/abseil-cpp/absl/synchronization/mutex_benchmark.cc +310 -0
  782. package/vendor/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +138 -0
  783. package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +1733 -0
  784. package/vendor/abseil-cpp/absl/synchronization/notification.cc +77 -0
  785. package/vendor/abseil-cpp/absl/synchronization/notification.h +123 -0
  786. package/vendor/abseil-cpp/absl/synchronization/notification_test.cc +133 -0
  787. package/vendor/abseil-cpp/absl/time/BUILD.bazel +148 -0
  788. package/vendor/abseil-cpp/absl/time/CMakeLists.txt +140 -0
  789. package/vendor/abseil-cpp/absl/time/civil_time.cc +199 -0
  790. package/vendor/abseil-cpp/absl/time/civil_time.h +563 -0
  791. package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +127 -0
  792. package/vendor/abseil-cpp/absl/time/civil_time_test.cc +1243 -0
  793. package/vendor/abseil-cpp/absl/time/clock.cc +591 -0
  794. package/vendor/abseil-cpp/absl/time/clock.h +74 -0
  795. package/vendor/abseil-cpp/absl/time/clock_benchmark.cc +74 -0
  796. package/vendor/abseil-cpp/absl/time/clock_test.cc +122 -0
  797. package/vendor/abseil-cpp/absl/time/duration.cc +955 -0
  798. package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +444 -0
  799. package/vendor/abseil-cpp/absl/time/duration_test.cc +1856 -0
  800. package/vendor/abseil-cpp/absl/time/flag_test.cc +147 -0
  801. package/vendor/abseil-cpp/absl/time/format.cc +161 -0
  802. package/vendor/abseil-cpp/absl/time/format_benchmark.cc +64 -0
  803. package/vendor/abseil-cpp/absl/time/format_test.cc +441 -0
  804. package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +159 -0
  805. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  806. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +632 -0
  807. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +459 -0
  808. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  809. package/vendor/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +1033 -0
  810. package/vendor/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  811. package/vendor/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +1066 -0
  812. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  813. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  814. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1029 -0
  815. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +1688 -0
  816. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
  817. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +77 -0
  818. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +113 -0
  819. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
  820. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1048 -0
  821. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +137 -0
  822. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +315 -0
  823. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
  824. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +237 -0
  825. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +1504 -0
  826. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  827. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  828. package/vendor/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
  829. package/vendor/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  830. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +38 -0
  831. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -0
  832. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  833. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  834. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  835. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  836. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  837. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  838. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  839. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  840. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  841. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  842. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  843. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  844. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  845. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  846. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  847. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  848. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  849. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  850. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  851. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  852. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  853. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  854. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  855. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  856. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  857. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  858. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  859. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  860. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  861. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  862. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  863. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  864. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  865. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  866. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  867. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  868. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  869. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  870. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  871. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  872. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  873. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  874. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  875. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  876. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  877. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  878. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  879. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  880. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  881. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  882. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  883. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  884. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  885. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  886. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  887. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  888. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  889. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  890. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  891. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  892. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  893. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  894. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  895. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  896. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  897. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  898. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  899. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  900. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  901. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  902. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  903. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  904. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  905. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  906. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  907. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  908. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  909. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  910. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  911. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  912. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  913. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  914. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  915. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  916. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  917. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  918. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  919. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  920. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  921. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  922. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  923. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  924. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  925. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  926. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  927. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  928. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  929. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  930. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  931. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  932. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  933. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  934. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  935. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  936. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  937. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  938. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  939. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  940. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  941. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  942. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  943. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  944. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  945. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  946. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  947. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  948. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  949. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  950. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  951. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  952. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  953. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  954. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  955. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  956. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  957. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  958. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  959. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  960. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  961. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  962. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  963. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  964. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  965. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  966. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  967. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  968. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  969. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  970. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  971. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  972. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  973. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  974. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  975. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  976. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  977. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  978. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  979. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  980. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  981. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  982. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  983. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  984. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  985. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  986. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  987. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  988. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  989. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  990. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  991. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  992. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  993. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  994. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  995. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  996. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  997. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  998. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  999. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1000. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1001. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1002. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1003. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1004. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1005. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1006. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1007. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1008. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1009. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1010. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1011. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1012. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1013. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1014. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1015. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1016. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1017. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1018. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1019. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1020. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1021. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1022. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1023. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1024. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1025. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1026. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1027. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1028. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1029. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1030. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1031. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1032. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1033. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1034. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1035. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1036. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1037. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1038. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1039. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1040. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1041. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1042. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1043. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1044. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1045. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1046. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1047. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1048. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1049. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1050. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1051. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1052. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1053. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1054. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1055. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1056. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1057. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1058. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1059. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1060. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1061. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1062. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1063. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1064. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1065. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1066. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1067. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1068. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1069. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1070. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1071. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1072. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1073. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1074. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1075. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1076. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1077. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1078. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1079. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1080. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1081. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1082. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1083. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1084. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1085. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1086. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1087. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1088. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1089. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1090. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1091. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1092. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1093. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1094. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1095. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1096. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1097. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1098. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1099. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1100. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1101. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1102. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1103. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1104. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1105. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1106. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1107. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1108. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1109. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1110. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1111. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1112. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1113. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1114. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1115. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1116. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1117. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1118. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1119. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1120. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1121. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1122. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1123. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1124. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1125. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1126. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1127. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1128. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1129. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1130. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1131. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1132. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1133. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1134. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1135. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1136. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1137. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1138. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1139. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1140. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1141. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1142. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1143. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1144. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1145. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1146. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1147. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1148. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1149. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1150. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1151. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1152. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1153. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1154. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1155. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1156. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1157. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1158. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1159. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1160. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1161. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1162. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1163. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1164. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1165. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1166. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1167. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1168. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1169. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1170. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1171. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1172. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1173. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1174. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1175. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1176. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1177. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1178. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1179. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1180. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1181. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1182. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1183. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1184. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1185. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1186. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1187. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1188. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1189. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1190. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1191. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1192. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1193. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1194. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1195. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1196. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1197. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1198. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1199. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1200. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1201. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1202. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1203. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1204. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1205. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1206. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1207. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1208. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1209. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1210. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1211. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1212. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1213. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1214. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1215. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1216. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1217. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1218. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1219. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1220. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1221. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1222. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1223. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1224. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1225. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1226. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1227. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1228. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1229. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1230. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1231. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1232. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1233. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1234. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1235. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1236. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1237. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1238. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1239. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1240. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1241. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1242. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1243. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1244. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1245. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1246. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1247. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1248. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1249. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1250. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1251. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1252. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1253. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1254. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1255. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1256. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1257. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1258. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1259. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1260. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1261. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1262. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1263. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1264. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1265. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1266. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1267. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1268. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1269. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1270. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1271. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1272. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1273. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1274. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1275. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1276. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1277. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1278. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1279. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1280. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1281. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1282. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1283. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1284. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1285. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1286. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1287. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1288. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1289. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1290. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1291. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1292. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1293. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1294. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1295. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1296. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1297. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1298. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1299. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1300. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1301. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1302. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1303. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1304. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1305. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1306. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1307. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1308. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1309. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1310. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1311. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1312. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1313. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1314. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1315. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1316. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1317. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1318. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1319. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1320. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1321. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1322. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1323. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1324. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1325. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1326. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1327. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1328. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1329. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1330. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1331. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1332. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1333. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1334. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1335. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1336. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1337. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1338. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1339. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1340. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1341. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1342. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1343. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1344. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1345. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1346. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1347. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1348. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1349. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1350. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1351. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1352. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1353. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1354. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1355. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1356. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1357. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1358. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1359. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1360. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1361. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1362. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1363. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1364. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1365. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1366. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1367. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1368. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1369. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1370. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1371. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1372. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1373. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1374. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1375. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1376. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1377. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1378. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1379. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1380. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1381. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1382. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1383. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1384. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1385. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1386. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1387. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1388. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1389. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1390. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1391. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1392. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1393. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1394. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1395. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1396. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1397. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1398. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1399. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1400. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1401. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1402. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1403. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1404. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1405. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1406. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1407. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1408. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1409. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1410. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1411. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1412. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1413. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1414. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1415. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1416. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1417. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1418. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1419. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1420. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1421. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1422. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1423. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1424. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1425. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1426. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1427. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1428. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1429. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +274 -0
  1430. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +372 -0
  1431. package/vendor/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  1432. package/vendor/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  1433. package/vendor/abseil-cpp/absl/time/internal/test_util.cc +32 -0
  1434. package/vendor/abseil-cpp/absl/time/internal/test_util.h +33 -0
  1435. package/vendor/abseil-cpp/absl/time/time.cc +500 -0
  1436. package/vendor/abseil-cpp/absl/time/time.h +1715 -0
  1437. package/vendor/abseil-cpp/absl/time/time_benchmark.cc +321 -0
  1438. package/vendor/abseil-cpp/absl/time/time_test.cc +1290 -0
  1439. package/vendor/abseil-cpp/absl/time/time_zone_test.cc +97 -0
  1440. package/vendor/abseil-cpp/absl/types/BUILD.bazel +336 -0
  1441. package/vendor/abseil-cpp/absl/types/CMakeLists.txt +371 -0
  1442. package/vendor/abseil-cpp/absl/types/any.h +517 -0
  1443. package/vendor/abseil-cpp/absl/types/any_exception_safety_test.cc +173 -0
  1444. package/vendor/abseil-cpp/absl/types/any_test.cc +778 -0
  1445. package/vendor/abseil-cpp/absl/types/bad_any_cast.cc +46 -0
  1446. package/vendor/abseil-cpp/absl/types/bad_any_cast.h +75 -0
  1447. package/vendor/abseil-cpp/absl/types/bad_optional_access.cc +48 -0
  1448. package/vendor/abseil-cpp/absl/types/bad_optional_access.h +78 -0
  1449. package/vendor/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  1450. package/vendor/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  1451. package/vendor/abseil-cpp/absl/types/compare.h +599 -0
  1452. package/vendor/abseil-cpp/absl/types/compare_test.cc +389 -0
  1453. package/vendor/abseil-cpp/absl/types/internal/conformance_aliases.h +447 -0
  1454. package/vendor/abseil-cpp/absl/types/internal/conformance_archetype.h +978 -0
  1455. package/vendor/abseil-cpp/absl/types/internal/conformance_profile.h +933 -0
  1456. package/vendor/abseil-cpp/absl/types/internal/conformance_testing.h +1386 -0
  1457. package/vendor/abseil-cpp/absl/types/internal/conformance_testing_helpers.h +391 -0
  1458. package/vendor/abseil-cpp/absl/types/internal/conformance_testing_test.cc +1556 -0
  1459. package/vendor/abseil-cpp/absl/types/internal/optional.h +404 -0
  1460. package/vendor/abseil-cpp/absl/types/internal/parentheses.h +34 -0
  1461. package/vendor/abseil-cpp/absl/types/internal/span.h +139 -0
  1462. package/vendor/abseil-cpp/absl/types/internal/transform_args.h +246 -0
  1463. package/vendor/abseil-cpp/absl/types/internal/variant.h +1634 -0
  1464. package/vendor/abseil-cpp/absl/types/optional.h +779 -0
  1465. package/vendor/abseil-cpp/absl/types/optional_exception_safety_test.cc +292 -0
  1466. package/vendor/abseil-cpp/absl/types/optional_test.cc +1675 -0
  1467. package/vendor/abseil-cpp/absl/types/span.h +749 -0
  1468. package/vendor/abseil-cpp/absl/types/span_test.cc +848 -0
  1469. package/vendor/abseil-cpp/absl/types/variant.h +866 -0
  1470. package/vendor/abseil-cpp/absl/types/variant_benchmark.cc +222 -0
  1471. package/vendor/abseil-cpp/absl/types/variant_exception_safety_test.cc +532 -0
  1472. package/vendor/abseil-cpp/absl/types/variant_test.cc +2718 -0
  1473. package/vendor/abseil-cpp/absl/utility/BUILD.bazel +54 -0
  1474. package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +44 -0
  1475. package/vendor/abseil-cpp/absl/utility/utility.h +350 -0
  1476. package/vendor/abseil-cpp/absl/utility/utility_test.cc +376 -0
  1477. package/vendor/abseil-cpp/ci/absl_alternate_options.h +29 -0
  1478. package/vendor/abseil-cpp/ci/cmake_common.sh +25 -0
  1479. package/vendor/abseil-cpp/ci/cmake_install_test.sh +58 -0
  1480. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +102 -0
  1481. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +100 -0
  1482. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +97 -0
  1483. package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +95 -0
  1484. package/vendor/abseil-cpp/ci/linux_docker_containers.sh +21 -0
  1485. package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +92 -0
  1486. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +98 -0
  1487. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +66 -0
  1488. package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +65 -0
  1489. package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +65 -0
  1490. package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +57 -0
  1491. package/vendor/abseil-cpp/conanfile.py +51 -0
  1492. package/vendor/abseil-cpp/create_lts.py +133 -0
  1493. package/vendor/re2/.bazelrc +16 -0
  1494. package/vendor/re2/.github/bazel.sh +24 -0
  1495. package/vendor/re2/.github/cmake.sh +12 -0
  1496. package/vendor/re2/.github/workflows/ci-bazel.yml +17 -0
  1497. package/vendor/re2/.github/workflows/ci-cmake.yml +108 -0
  1498. package/vendor/re2/.github/workflows/ci.yml +89 -0
  1499. package/vendor/re2/.github/workflows/pr.yml +26 -0
  1500. package/vendor/re2/.github/workflows/python.yml +185 -0
  1501. package/vendor/re2/AUTHORS +13 -0
  1502. package/vendor/re2/BUILD.bazel +280 -0
  1503. package/vendor/re2/CMakeLists.txt +268 -0
  1504. package/vendor/re2/CONTRIBUTING.md +2 -0
  1505. package/vendor/re2/CONTRIBUTORS +41 -0
  1506. package/vendor/re2/Makefile +400 -0
  1507. package/vendor/{README → re2/README} +5 -0
  1508. package/vendor/re2/SECURITY.md +4 -0
  1509. package/vendor/re2/WORKSPACE.bazel +62 -0
  1510. package/vendor/re2/app/BUILD.bazel +19 -0
  1511. package/vendor/re2/app/_re2.cc +94 -0
  1512. package/vendor/re2/app/_re2.d.ts +23 -0
  1513. package/vendor/re2/app/app.ts +111 -0
  1514. package/vendor/re2/app/build.sh +50 -0
  1515. package/vendor/re2/app/index.html +5 -0
  1516. package/vendor/re2/app/package.json +14 -0
  1517. package/vendor/re2/app/rollup.config.js +28 -0
  1518. package/vendor/re2/app/tsconfig.json +17 -0
  1519. package/vendor/re2/benchlog/benchplot.py +98 -0
  1520. package/vendor/re2/benchlog/mktable +155 -0
  1521. package/vendor/re2/doc/mksyntaxgo +42 -0
  1522. package/vendor/re2/doc/mksyntaxhtml +42 -0
  1523. package/vendor/re2/doc/mksyntaxwiki +36 -0
  1524. package/vendor/re2/doc/syntax.html +477 -0
  1525. package/vendor/re2/doc/syntax.txt +463 -0
  1526. package/vendor/re2/lib/git/commit-msg.hook +104 -0
  1527. package/vendor/re2/libre2.symbols +19 -0
  1528. package/vendor/re2/libre2.symbols.darwin +15 -0
  1529. package/vendor/re2/python/BUILD.bazel +36 -0
  1530. package/vendor/re2/python/README +1 -0
  1531. package/vendor/re2/python/_re2.cc +338 -0
  1532. package/vendor/re2/python/re2.py +582 -0
  1533. package/vendor/re2/python/re2_test.py +482 -0
  1534. package/vendor/re2/python/setup.py +105 -0
  1535. package/vendor/re2/{bitmap256.cc → re2/bitmap256.cc} +4 -4
  1536. package/vendor/re2/{bitstate.cc → re2/bitstate.cc} +21 -25
  1537. package/vendor/re2/{compile.cc → re2/compile.cc} +5 -4
  1538. package/vendor/re2/{dfa.cc → re2/dfa.cc} +120 -101
  1539. package/vendor/re2/{filtered_re2.cc → re2/filtered_re2.cc} +8 -11
  1540. package/vendor/re2/{filtered_re2.h → re2/filtered_re2.h} +5 -4
  1541. package/vendor/re2/{fuzzing → re2/fuzzing}/re2_fuzzer.cc +4 -6
  1542. package/vendor/re2/{mimics_pcre.cc → re2/mimics_pcre.cc} +0 -1
  1543. package/vendor/re2/{nfa.cc → re2/nfa.cc} +34 -37
  1544. package/vendor/re2/{onepass.cc → re2/onepass.cc} +25 -27
  1545. package/vendor/re2/{parse.cc → re2/parse.cc} +118 -121
  1546. package/vendor/re2/{prefilter.cc → re2/prefilter.cc} +2 -3
  1547. package/vendor/re2/{prefilter.h → re2/prefilter.h} +0 -1
  1548. package/vendor/re2/{prefilter_tree.cc → re2/prefilter_tree.cc} +4 -5
  1549. package/vendor/re2/{prefilter_tree.h → re2/prefilter_tree.h} +1 -2
  1550. package/vendor/re2/{prog.cc → re2/prog.cc} +20 -21
  1551. package/vendor/re2/{prog.h → re2/prog.h} +21 -22
  1552. package/vendor/re2/{re2.cc → re2/re2.cc} +51 -62
  1553. package/vendor/re2/{re2.h → re2/re2.h} +78 -40
  1554. package/vendor/re2/{regexp.cc → re2/regexp.cc} +11 -12
  1555. package/vendor/re2/{regexp.h → re2/regexp.h} +9 -10
  1556. package/vendor/re2/{set.cc → re2/set.cc} +3 -5
  1557. package/vendor/re2/{set.h → re2/set.h} +4 -3
  1558. package/vendor/re2/{simplify.cc → re2/simplify.cc} +1 -2
  1559. package/vendor/re2/re2/stringpiece.h +24 -0
  1560. package/vendor/re2/{testing → re2/testing}/backtrack.cc +22 -25
  1561. package/vendor/re2/{testing → re2/testing}/charclass_test.cc +23 -21
  1562. package/vendor/re2/{testing → re2/testing}/compile_test.cc +5 -4
  1563. package/vendor/re2/{testing → re2/testing}/dfa_test.cc +36 -30
  1564. package/vendor/re2/{testing → re2/testing}/dump.cc +8 -8
  1565. package/vendor/re2/{testing → re2/testing}/exhaustive1_test.cc +1 -1
  1566. package/vendor/re2/{testing → re2/testing}/exhaustive2_test.cc +1 -1
  1567. package/vendor/re2/{testing → re2/testing}/exhaustive3_test.cc +1 -1
  1568. package/vendor/re2/{testing → re2/testing}/exhaustive_test.cc +1 -1
  1569. package/vendor/re2/{testing → re2/testing}/exhaustive_tester.cc +36 -32
  1570. package/vendor/re2/{testing → re2/testing}/exhaustive_tester.h +0 -1
  1571. package/vendor/re2/{testing → re2/testing}/filtered_re2_test.cc +9 -8
  1572. package/vendor/re2/{testing → re2/testing}/mimics_pcre_test.cc +3 -2
  1573. package/vendor/re2/{testing → re2/testing}/null_walker.cc +1 -1
  1574. package/vendor/re2/{testing → re2/testing}/parse_test.cc +13 -12
  1575. package/vendor/re2/{testing → re2/testing}/possible_match_test.cc +15 -14
  1576. package/vendor/re2/{testing → re2/testing}/random_test.cc +13 -12
  1577. package/vendor/re2/{testing → re2/testing}/re2_arg_test.cc +25 -2
  1578. package/vendor/re2/{testing → re2/testing}/re2_test.cc +49 -47
  1579. package/vendor/re2/{testing → re2/testing}/regexp_benchmark.cc +144 -145
  1580. package/vendor/re2/{testing → re2/testing}/regexp_generator.cc +18 -14
  1581. package/vendor/re2/{testing → re2/testing}/regexp_generator.h +3 -4
  1582. package/vendor/re2/{testing → re2/testing}/regexp_test.cc +1 -1
  1583. package/vendor/re2/{testing → re2/testing}/required_prefix_test.cc +5 -4
  1584. package/vendor/re2/{testing → re2/testing}/search_test.cc +3 -2
  1585. package/vendor/re2/{testing → re2/testing}/set_test.cc +1 -1
  1586. package/vendor/re2/{testing → re2/testing}/simplify_test.cc +3 -2
  1587. package/vendor/re2/{testing → re2/testing}/string_generator.cc +3 -3
  1588. package/vendor/re2/{testing → re2/testing}/string_generator.h +5 -6
  1589. package/vendor/re2/{testing → re2/testing}/string_generator_test.cc +2 -2
  1590. package/vendor/re2/{testing → re2/testing}/tester.cc +77 -78
  1591. package/vendor/re2/{testing → re2/testing}/tester.h +13 -15
  1592. package/vendor/re2/{tostring.cc → re2/tostring.cc} +7 -8
  1593. package/vendor/re2/{unicode_casefold.h → re2/unicode_casefold.h} +0 -1
  1594. package/vendor/re2/{unicode_groups.h → re2/unicode_groups.h} +0 -1
  1595. package/vendor/re2/{walker-inl.h → re2/walker-inl.h} +2 -1
  1596. package/vendor/re2/re2.pc.in +9 -0
  1597. package/vendor/re2/re2Config.cmake.in +28 -0
  1598. package/vendor/re2/runtests +33 -0
  1599. package/vendor/re2/testinstall.cc +27 -0
  1600. package/vendor/re2/ucs2.diff +567 -0
  1601. package/vendor/{util → re2/util}/logging.h +2 -2
  1602. package/vendor/{util → re2/util}/pcre.cc +47 -116
  1603. package/vendor/{util → re2/util}/pcre.h +53 -63
  1604. package/vendor/re2/util/strutil.cc +26 -0
  1605. package/vendor/{util → re2/util}/strutil.h +0 -5
  1606. package/vendor/re2/stringpiece.cc +0 -65
  1607. package/vendor/re2/stringpiece.h +0 -213
  1608. package/vendor/util/benchmark.cc +0 -131
  1609. package/vendor/util/benchmark.h +0 -156
  1610. package/vendor/util/flags.h +0 -26
  1611. package/vendor/util/mix.h +0 -41
  1612. package/vendor/util/mutex.h +0 -164
  1613. package/vendor/util/strutil.cc +0 -149
  1614. package/vendor/util/test.cc +0 -34
  1615. package/vendor/util/test.h +0 -50
  1616. package/vendor/util/util.h +0 -42
  1617. /package/vendor/{LICENSE → re2/LICENSE} +0 -0
  1618. /package/vendor/re2/{bitmap256.h → re2/bitmap256.h} +0 -0
  1619. /package/vendor/re2/{fuzzing → re2/fuzzing}/compiler-rt/LICENSE +0 -0
  1620. /package/vendor/re2/{fuzzing → re2/fuzzing}/compiler-rt/include/fuzzer/FuzzedDataProvider.h +0 -0
  1621. /package/vendor/re2/{make_perl_groups.pl → re2/make_perl_groups.pl} +0 -0
  1622. /package/vendor/re2/{make_unicode_casefold.py → re2/make_unicode_casefold.py} +0 -0
  1623. /package/vendor/re2/{make_unicode_groups.py → re2/make_unicode_groups.py} +0 -0
  1624. /package/vendor/re2/{perl_groups.cc → re2/perl_groups.cc} +0 -0
  1625. /package/vendor/re2/{pod_array.h → re2/pod_array.h} +0 -0
  1626. /package/vendor/re2/{sparse_array.h → re2/sparse_array.h} +0 -0
  1627. /package/vendor/re2/{sparse_set.h → re2/sparse_set.h} +0 -0
  1628. /package/vendor/re2/{unicode.py → re2/unicode.py} +0 -0
  1629. /package/vendor/re2/{unicode_casefold.cc → re2/unicode_casefold.cc} +0 -0
  1630. /package/vendor/re2/{unicode_groups.cc → re2/unicode_groups.cc} +0 -0
  1631. /package/vendor/{util → re2/util}/fuzz.cc +0 -0
  1632. /package/vendor/{util → re2/util}/malloc_counter.h +0 -0
  1633. /package/vendor/{util → re2/util}/rune.cc +0 -0
  1634. /package/vendor/{util → re2/util}/utf.h +0 -0
@@ -0,0 +1,1722 @@
1
+ // Copyright 2017 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ // This file tests string processing functions related to numeric values.
16
+
17
+ #include "absl/strings/numbers.h"
18
+
19
+ #include <sys/types.h>
20
+
21
+ #include <cfenv> // NOLINT(build/c++11)
22
+ #include <cfloat>
23
+ #include <cinttypes>
24
+ #include <climits>
25
+ #include <cmath>
26
+ #include <cstddef>
27
+ #include <cstdint>
28
+ #include <cstdio>
29
+ #include <cstdlib>
30
+ #include <cstring>
31
+ #include <limits>
32
+ #include <numeric>
33
+ #include <random>
34
+ #include <set>
35
+ #include <string>
36
+ #include <vector>
37
+
38
+ #include "gmock/gmock.h"
39
+ #include "gtest/gtest.h"
40
+ #include "absl/base/internal/raw_logging.h"
41
+ #include "absl/random/distributions.h"
42
+ #include "absl/random/random.h"
43
+ #include "absl/strings/internal/numbers_test_common.h"
44
+ #include "absl/strings/internal/ostringstream.h"
45
+ #include "absl/strings/internal/pow10_helper.h"
46
+ #include "absl/strings/str_cat.h"
47
+
48
+ namespace {
49
+
50
+ using absl::SimpleAtoi;
51
+ using absl::SimpleHexAtoi;
52
+ using absl::numbers_internal::kSixDigitsToBufferSize;
53
+ using absl::numbers_internal::safe_strto32_base;
54
+ using absl::numbers_internal::safe_strto64_base;
55
+ using absl::numbers_internal::safe_strtou32_base;
56
+ using absl::numbers_internal::safe_strtou64_base;
57
+ using absl::numbers_internal::SixDigitsToBuffer;
58
+ using absl::strings_internal::Itoa;
59
+ using absl::strings_internal::strtouint32_test_cases;
60
+ using absl::strings_internal::strtouint64_test_cases;
61
+ using testing::Eq;
62
+ using testing::MatchesRegex;
63
+
64
+ // Number of floats to test with.
65
+ // 5,000,000 is a reasonable default for a test that only takes a few seconds.
66
+ // 1,000,000,000+ triggers checking for all possible mantissa values for
67
+ // double-precision tests. 2,000,000,000+ triggers checking for every possible
68
+ // single-precision float.
69
+ const int kFloatNumCases = 5000000;
70
+
71
+ // This is a slow, brute-force routine to compute the exact base-10
72
+ // representation of a double-precision floating-point number. It
73
+ // is useful for debugging only.
74
+ std::string PerfectDtoa(double d) {
75
+ if (d == 0) return "0";
76
+ if (d < 0) return "-" + PerfectDtoa(-d);
77
+
78
+ // Basic theory: decompose d into mantissa and exp, where
79
+ // d = mantissa * 2^exp, and exp is as close to zero as possible.
80
+ int64_t mantissa, exp = 0;
81
+ while (d >= 1ULL << 63) ++exp, d *= 0.5;
82
+ while ((mantissa = d) != d) --exp, d *= 2.0;
83
+
84
+ // Then convert mantissa to ASCII, and either double it (if
85
+ // exp > 0) or halve it (if exp < 0) repeatedly. "halve it"
86
+ // in this case means multiplying it by five and dividing by 10.
87
+ constexpr int maxlen = 1100; // worst case is actually 1030 or so.
88
+ char buf[maxlen + 5];
89
+ for (int64_t num = mantissa, pos = maxlen; --pos >= 0;) {
90
+ buf[pos] = '0' + (num % 10);
91
+ num /= 10;
92
+ }
93
+ char* begin = &buf[0];
94
+ char* end = buf + maxlen;
95
+ for (int i = 0; i != exp; i += (exp > 0) ? 1 : -1) {
96
+ int carry = 0;
97
+ for (char* p = end; --p != begin;) {
98
+ int dig = *p - '0';
99
+ dig = dig * (exp > 0 ? 2 : 5) + carry;
100
+ carry = dig / 10;
101
+ dig %= 10;
102
+ *p = '0' + dig;
103
+ }
104
+ }
105
+ if (exp < 0) {
106
+ // "dividing by 10" above means we have to add the decimal point.
107
+ memmove(end + 1 + exp, end + exp, 1 - exp);
108
+ end[exp] = '.';
109
+ ++end;
110
+ }
111
+ while (*begin == '0' && begin[1] != '.') ++begin;
112
+ return {begin, end};
113
+ }
114
+
115
+ TEST(ToString, PerfectDtoa) {
116
+ EXPECT_THAT(PerfectDtoa(1), Eq("1"));
117
+ EXPECT_THAT(PerfectDtoa(0.1),
118
+ Eq("0.1000000000000000055511151231257827021181583404541015625"));
119
+ EXPECT_THAT(PerfectDtoa(1e24), Eq("999999999999999983222784"));
120
+ EXPECT_THAT(PerfectDtoa(5e-324), MatchesRegex("0.0000.*625"));
121
+ for (int i = 0; i < 100; ++i) {
122
+ for (double multiplier :
123
+ {1e-300, 1e-200, 1e-100, 0.1, 1.0, 10.0, 1e100, 1e300}) {
124
+ double d = multiplier * i;
125
+ std::string s = PerfectDtoa(d);
126
+ EXPECT_DOUBLE_EQ(d, strtod(s.c_str(), nullptr));
127
+ }
128
+ }
129
+ }
130
+
131
+ template <typename integer>
132
+ struct MyInteger {
133
+ integer i;
134
+ explicit constexpr MyInteger(integer i) : i(i) {}
135
+ constexpr operator integer() const { return i; }
136
+
137
+ constexpr MyInteger operator+(MyInteger other) const { return i + other.i; }
138
+ constexpr MyInteger operator-(MyInteger other) const { return i - other.i; }
139
+ constexpr MyInteger operator*(MyInteger other) const { return i * other.i; }
140
+ constexpr MyInteger operator/(MyInteger other) const { return i / other.i; }
141
+
142
+ constexpr bool operator<(MyInteger other) const { return i < other.i; }
143
+ constexpr bool operator<=(MyInteger other) const { return i <= other.i; }
144
+ constexpr bool operator==(MyInteger other) const { return i == other.i; }
145
+ constexpr bool operator>=(MyInteger other) const { return i >= other.i; }
146
+ constexpr bool operator>(MyInteger other) const { return i > other.i; }
147
+ constexpr bool operator!=(MyInteger other) const { return i != other.i; }
148
+
149
+ integer as_integer() const { return i; }
150
+ };
151
+
152
+ typedef MyInteger<int64_t> MyInt64;
153
+ typedef MyInteger<uint64_t> MyUInt64;
154
+
155
+ void CheckInt32(int32_t x) {
156
+ char buffer[absl::numbers_internal::kFastToBufferSize];
157
+ char* actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
158
+ std::string expected = std::to_string(x);
159
+ EXPECT_EQ(expected, std::string(buffer, actual)) << " Input " << x;
160
+
161
+ char* generic_actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
162
+ EXPECT_EQ(expected, std::string(buffer, generic_actual)) << " Input " << x;
163
+ }
164
+
165
+ void CheckInt64(int64_t x) {
166
+ char buffer[absl::numbers_internal::kFastToBufferSize + 3];
167
+ buffer[0] = '*';
168
+ buffer[23] = '*';
169
+ buffer[24] = '*';
170
+ char* actual = absl::numbers_internal::FastIntToBuffer(x, &buffer[1]);
171
+ std::string expected = std::to_string(x);
172
+ EXPECT_EQ(expected, std::string(&buffer[1], actual)) << " Input " << x;
173
+ EXPECT_EQ(buffer[0], '*');
174
+ EXPECT_EQ(buffer[23], '*');
175
+ EXPECT_EQ(buffer[24], '*');
176
+
177
+ char* my_actual =
178
+ absl::numbers_internal::FastIntToBuffer(MyInt64(x), &buffer[1]);
179
+ EXPECT_EQ(expected, std::string(&buffer[1], my_actual)) << " Input " << x;
180
+ }
181
+
182
+ void CheckUInt32(uint32_t x) {
183
+ char buffer[absl::numbers_internal::kFastToBufferSize];
184
+ char* actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
185
+ std::string expected = std::to_string(x);
186
+ EXPECT_EQ(expected, std::string(buffer, actual)) << " Input " << x;
187
+
188
+ char* generic_actual = absl::numbers_internal::FastIntToBuffer(x, buffer);
189
+ EXPECT_EQ(expected, std::string(buffer, generic_actual)) << " Input " << x;
190
+ }
191
+
192
+ void CheckUInt64(uint64_t x) {
193
+ char buffer[absl::numbers_internal::kFastToBufferSize + 1];
194
+ char* actual = absl::numbers_internal::FastIntToBuffer(x, &buffer[1]);
195
+ std::string expected = std::to_string(x);
196
+ EXPECT_EQ(expected, std::string(&buffer[1], actual)) << " Input " << x;
197
+
198
+ char* generic_actual = absl::numbers_internal::FastIntToBuffer(x, &buffer[1]);
199
+ EXPECT_EQ(expected, std::string(&buffer[1], generic_actual))
200
+ << " Input " << x;
201
+
202
+ char* my_actual =
203
+ absl::numbers_internal::FastIntToBuffer(MyUInt64(x), &buffer[1]);
204
+ EXPECT_EQ(expected, std::string(&buffer[1], my_actual)) << " Input " << x;
205
+ }
206
+
207
+ void CheckHex64(uint64_t v) {
208
+ char expected[16 + 1];
209
+ std::string actual = absl::StrCat(absl::Hex(v, absl::kZeroPad16));
210
+ snprintf(expected, sizeof(expected), "%016" PRIx64, static_cast<uint64_t>(v));
211
+ EXPECT_EQ(expected, actual) << " Input " << v;
212
+ actual = absl::StrCat(absl::Hex(v, absl::kSpacePad16));
213
+ snprintf(expected, sizeof(expected), "%16" PRIx64, static_cast<uint64_t>(v));
214
+ EXPECT_EQ(expected, actual) << " Input " << v;
215
+ }
216
+
217
+ TEST(Numbers, TestFastPrints) {
218
+ for (int i = -100; i <= 100; i++) {
219
+ CheckInt32(i);
220
+ CheckInt64(i);
221
+ }
222
+ for (int i = 0; i <= 100; i++) {
223
+ CheckUInt32(i);
224
+ CheckUInt64(i);
225
+ }
226
+ // Test min int to make sure that works
227
+ CheckInt32(INT_MIN);
228
+ CheckInt32(INT_MAX);
229
+ CheckInt64(LONG_MIN);
230
+ CheckInt64(uint64_t{1000000000});
231
+ CheckInt64(uint64_t{9999999999});
232
+ CheckInt64(uint64_t{100000000000000});
233
+ CheckInt64(uint64_t{999999999999999});
234
+ CheckInt64(uint64_t{1000000000000000000});
235
+ CheckInt64(uint64_t{1199999999999999999});
236
+ CheckInt64(int64_t{-700000000000000000});
237
+ CheckInt64(LONG_MAX);
238
+ CheckUInt32(std::numeric_limits<uint32_t>::max());
239
+ CheckUInt64(uint64_t{1000000000});
240
+ CheckUInt64(uint64_t{9999999999});
241
+ CheckUInt64(uint64_t{100000000000000});
242
+ CheckUInt64(uint64_t{999999999999999});
243
+ CheckUInt64(uint64_t{1000000000000000000});
244
+ CheckUInt64(uint64_t{1199999999999999999});
245
+ CheckUInt64(std::numeric_limits<uint64_t>::max());
246
+
247
+ for (int i = 0; i < 10000; i++) {
248
+ CheckHex64(i);
249
+ }
250
+ CheckHex64(uint64_t{0x123456789abcdef0});
251
+ }
252
+
253
+ template <typename int_type, typename in_val_type>
254
+ void VerifySimpleAtoiGood(in_val_type in_value, int_type exp_value) {
255
+ std::string s;
256
+ // (u)int128 can be streamed but not StrCat'd.
257
+ absl::strings_internal::OStringStream(&s) << in_value;
258
+ int_type x = static_cast<int_type>(~exp_value);
259
+ EXPECT_TRUE(SimpleAtoi(s, &x))
260
+ << "in_value=" << in_value << " s=" << s << " x=" << x;
261
+ EXPECT_EQ(exp_value, x);
262
+ x = static_cast<int_type>(~exp_value);
263
+ EXPECT_TRUE(SimpleAtoi(s.c_str(), &x));
264
+ EXPECT_EQ(exp_value, x);
265
+ }
266
+
267
+ template <typename int_type, typename in_val_type>
268
+ void VerifySimpleAtoiBad(in_val_type in_value) {
269
+ std::string s;
270
+ // (u)int128 can be streamed but not StrCat'd.
271
+ absl::strings_internal::OStringStream(&s) << in_value;
272
+ int_type x;
273
+ EXPECT_FALSE(SimpleAtoi(s, &x));
274
+ EXPECT_FALSE(SimpleAtoi(s.c_str(), &x));
275
+ }
276
+
277
+ TEST(NumbersTest, Atoi) {
278
+ // SimpleAtoi(absl::string_view, int32_t)
279
+ VerifySimpleAtoiGood<int32_t>(0, 0);
280
+ VerifySimpleAtoiGood<int32_t>(42, 42);
281
+ VerifySimpleAtoiGood<int32_t>(-42, -42);
282
+
283
+ VerifySimpleAtoiGood<int32_t>(std::numeric_limits<int32_t>::min(),
284
+ std::numeric_limits<int32_t>::min());
285
+ VerifySimpleAtoiGood<int32_t>(std::numeric_limits<int32_t>::max(),
286
+ std::numeric_limits<int32_t>::max());
287
+
288
+ // SimpleAtoi(absl::string_view, uint32_t)
289
+ VerifySimpleAtoiGood<uint32_t>(0, 0);
290
+ VerifySimpleAtoiGood<uint32_t>(42, 42);
291
+ VerifySimpleAtoiBad<uint32_t>(-42);
292
+
293
+ VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<int32_t>::min());
294
+ VerifySimpleAtoiGood<uint32_t>(std::numeric_limits<int32_t>::max(),
295
+ std::numeric_limits<int32_t>::max());
296
+ VerifySimpleAtoiGood<uint32_t>(std::numeric_limits<uint32_t>::max(),
297
+ std::numeric_limits<uint32_t>::max());
298
+ VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<int64_t>::min());
299
+ VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<int64_t>::max());
300
+ VerifySimpleAtoiBad<uint32_t>(std::numeric_limits<uint64_t>::max());
301
+
302
+ // SimpleAtoi(absl::string_view, int64_t)
303
+ VerifySimpleAtoiGood<int64_t>(0, 0);
304
+ VerifySimpleAtoiGood<int64_t>(42, 42);
305
+ VerifySimpleAtoiGood<int64_t>(-42, -42);
306
+
307
+ VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int32_t>::min(),
308
+ std::numeric_limits<int32_t>::min());
309
+ VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int32_t>::max(),
310
+ std::numeric_limits<int32_t>::max());
311
+ VerifySimpleAtoiGood<int64_t>(std::numeric_limits<uint32_t>::max(),
312
+ std::numeric_limits<uint32_t>::max());
313
+ VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int64_t>::min(),
314
+ std::numeric_limits<int64_t>::min());
315
+ VerifySimpleAtoiGood<int64_t>(std::numeric_limits<int64_t>::max(),
316
+ std::numeric_limits<int64_t>::max());
317
+ VerifySimpleAtoiBad<int64_t>(std::numeric_limits<uint64_t>::max());
318
+
319
+ // SimpleAtoi(absl::string_view, uint64_t)
320
+ VerifySimpleAtoiGood<uint64_t>(0, 0);
321
+ VerifySimpleAtoiGood<uint64_t>(42, 42);
322
+ VerifySimpleAtoiBad<uint64_t>(-42);
323
+
324
+ VerifySimpleAtoiBad<uint64_t>(std::numeric_limits<int32_t>::min());
325
+ VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<int32_t>::max(),
326
+ std::numeric_limits<int32_t>::max());
327
+ VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<uint32_t>::max(),
328
+ std::numeric_limits<uint32_t>::max());
329
+ VerifySimpleAtoiBad<uint64_t>(std::numeric_limits<int64_t>::min());
330
+ VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<int64_t>::max(),
331
+ std::numeric_limits<int64_t>::max());
332
+ VerifySimpleAtoiGood<uint64_t>(std::numeric_limits<uint64_t>::max(),
333
+ std::numeric_limits<uint64_t>::max());
334
+
335
+ // SimpleAtoi(absl::string_view, absl::uint128)
336
+ VerifySimpleAtoiGood<absl::uint128>(0, 0);
337
+ VerifySimpleAtoiGood<absl::uint128>(42, 42);
338
+ VerifySimpleAtoiBad<absl::uint128>(-42);
339
+
340
+ VerifySimpleAtoiBad<absl::uint128>(std::numeric_limits<int32_t>::min());
341
+ VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<int32_t>::max(),
342
+ std::numeric_limits<int32_t>::max());
343
+ VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<uint32_t>::max(),
344
+ std::numeric_limits<uint32_t>::max());
345
+ VerifySimpleAtoiBad<absl::uint128>(std::numeric_limits<int64_t>::min());
346
+ VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<int64_t>::max(),
347
+ std::numeric_limits<int64_t>::max());
348
+ VerifySimpleAtoiGood<absl::uint128>(std::numeric_limits<uint64_t>::max(),
349
+ std::numeric_limits<uint64_t>::max());
350
+ VerifySimpleAtoiGood<absl::uint128>(
351
+ std::numeric_limits<absl::uint128>::max(),
352
+ std::numeric_limits<absl::uint128>::max());
353
+
354
+ // SimpleAtoi(absl::string_view, absl::int128)
355
+ VerifySimpleAtoiGood<absl::int128>(0, 0);
356
+ VerifySimpleAtoiGood<absl::int128>(42, 42);
357
+ VerifySimpleAtoiGood<absl::int128>(-42, -42);
358
+
359
+ VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int32_t>::min(),
360
+ std::numeric_limits<int32_t>::min());
361
+ VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int32_t>::max(),
362
+ std::numeric_limits<int32_t>::max());
363
+ VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<uint32_t>::max(),
364
+ std::numeric_limits<uint32_t>::max());
365
+ VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int64_t>::min(),
366
+ std::numeric_limits<int64_t>::min());
367
+ VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<int64_t>::max(),
368
+ std::numeric_limits<int64_t>::max());
369
+ VerifySimpleAtoiGood<absl::int128>(std::numeric_limits<uint64_t>::max(),
370
+ std::numeric_limits<uint64_t>::max());
371
+ VerifySimpleAtoiGood<absl::int128>(
372
+ std::numeric_limits<absl::int128>::min(),
373
+ std::numeric_limits<absl::int128>::min());
374
+ VerifySimpleAtoiGood<absl::int128>(
375
+ std::numeric_limits<absl::int128>::max(),
376
+ std::numeric_limits<absl::int128>::max());
377
+ VerifySimpleAtoiBad<absl::int128>(std::numeric_limits<absl::uint128>::max());
378
+
379
+ // Some other types
380
+ VerifySimpleAtoiGood<int>(-42, -42);
381
+ VerifySimpleAtoiGood<int32_t>(-42, -42);
382
+ VerifySimpleAtoiGood<uint32_t>(42, 42);
383
+ VerifySimpleAtoiGood<unsigned int>(42, 42);
384
+ VerifySimpleAtoiGood<int64_t>(-42, -42);
385
+ VerifySimpleAtoiGood<long>(-42, -42); // NOLINT: runtime-int
386
+ VerifySimpleAtoiGood<uint64_t>(42, 42);
387
+ VerifySimpleAtoiGood<size_t>(42, 42);
388
+ VerifySimpleAtoiGood<std::string::size_type>(42, 42);
389
+ }
390
+
391
+ TEST(NumbersTest, Atod) {
392
+ // DBL_TRUE_MIN and FLT_TRUE_MIN were not mandated in <cfloat> before C++17.
393
+ #if !defined(DBL_TRUE_MIN)
394
+ static constexpr double DBL_TRUE_MIN =
395
+ 4.940656458412465441765687928682213723650598026143247644255856825e-324;
396
+ #endif
397
+ #if !defined(FLT_TRUE_MIN)
398
+ static constexpr float FLT_TRUE_MIN =
399
+ 1.401298464324817070923729583289916131280261941876515771757068284e-45f;
400
+ #endif
401
+
402
+ double d;
403
+ float f;
404
+
405
+ // NaN can be spelled in multiple ways.
406
+ EXPECT_TRUE(absl::SimpleAtod("NaN", &d));
407
+ EXPECT_TRUE(std::isnan(d));
408
+ EXPECT_TRUE(absl::SimpleAtod("nAN", &d));
409
+ EXPECT_TRUE(std::isnan(d));
410
+ EXPECT_TRUE(absl::SimpleAtod("-nan", &d));
411
+ EXPECT_TRUE(std::isnan(d));
412
+
413
+ // Likewise for Infinity.
414
+ EXPECT_TRUE(absl::SimpleAtod("inf", &d));
415
+ EXPECT_TRUE(std::isinf(d) && (d > 0));
416
+ EXPECT_TRUE(absl::SimpleAtod("+Infinity", &d));
417
+ EXPECT_TRUE(std::isinf(d) && (d > 0));
418
+ EXPECT_TRUE(absl::SimpleAtod("-INF", &d));
419
+ EXPECT_TRUE(std::isinf(d) && (d < 0));
420
+
421
+ // Parse DBL_MAX. Parsing something more than twice as big should also
422
+ // produce infinity.
423
+ EXPECT_TRUE(absl::SimpleAtod("1.7976931348623157e+308", &d));
424
+ EXPECT_EQ(d, 1.7976931348623157e+308);
425
+ EXPECT_TRUE(absl::SimpleAtod("5e308", &d));
426
+ EXPECT_TRUE(std::isinf(d) && (d > 0));
427
+ // Ditto, but for FLT_MAX.
428
+ EXPECT_TRUE(absl::SimpleAtof("3.4028234663852886e+38", &f));
429
+ EXPECT_EQ(f, 3.4028234663852886e+38f);
430
+ EXPECT_TRUE(absl::SimpleAtof("7e38", &f));
431
+ EXPECT_TRUE(std::isinf(f) && (f > 0));
432
+
433
+ // Parse the largest N such that parsing 1eN produces a finite value and the
434
+ // smallest M = N + 1 such that parsing 1eM produces infinity.
435
+ //
436
+ // The 309 exponent (and 39) confirms the "definition of
437
+ // kEiselLemireMaxExclExp10" comment in charconv.cc.
438
+ EXPECT_TRUE(absl::SimpleAtod("1e308", &d));
439
+ EXPECT_EQ(d, 1e308);
440
+ EXPECT_FALSE(std::isinf(d));
441
+ EXPECT_TRUE(absl::SimpleAtod("1e309", &d));
442
+ EXPECT_TRUE(std::isinf(d));
443
+ // Ditto, but for Atof instead of Atod.
444
+ EXPECT_TRUE(absl::SimpleAtof("1e38", &f));
445
+ EXPECT_EQ(f, 1e38f);
446
+ EXPECT_FALSE(std::isinf(f));
447
+ EXPECT_TRUE(absl::SimpleAtof("1e39", &f));
448
+ EXPECT_TRUE(std::isinf(f));
449
+
450
+ // Parse the largest N such that parsing 9.999999999999999999eN, with 19
451
+ // nines, produces a finite value.
452
+ //
453
+ // 9999999999999999999, with 19 nines but no decimal point, is the largest
454
+ // "repeated nines" integer that fits in a uint64_t.
455
+ EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e307", &d));
456
+ EXPECT_EQ(d, 9.999999999999999999e307);
457
+ EXPECT_FALSE(std::isinf(d));
458
+ EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e308", &d));
459
+ EXPECT_TRUE(std::isinf(d));
460
+ // Ditto, but for Atof instead of Atod.
461
+ EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e37", &f));
462
+ EXPECT_EQ(f, 9.999999999999999999e37f);
463
+ EXPECT_FALSE(std::isinf(f));
464
+ EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e38", &f));
465
+ EXPECT_TRUE(std::isinf(f));
466
+
467
+ // Parse DBL_MIN (normal), DBL_TRUE_MIN (subnormal) and (DBL_TRUE_MIN / 10)
468
+ // (effectively zero).
469
+ EXPECT_TRUE(absl::SimpleAtod("2.2250738585072014e-308", &d));
470
+ EXPECT_EQ(d, 2.2250738585072014e-308);
471
+ EXPECT_TRUE(absl::SimpleAtod("4.9406564584124654e-324", &d));
472
+ EXPECT_EQ(d, 4.9406564584124654e-324);
473
+ EXPECT_TRUE(absl::SimpleAtod("4.9406564584124654e-325", &d));
474
+ EXPECT_EQ(d, 0);
475
+ // Ditto, but for FLT_MIN, FLT_TRUE_MIN and (FLT_TRUE_MIN / 10).
476
+ EXPECT_TRUE(absl::SimpleAtof("1.1754943508222875e-38", &f));
477
+ EXPECT_EQ(f, 1.1754943508222875e-38f);
478
+ EXPECT_TRUE(absl::SimpleAtof("1.4012984643248171e-45", &f));
479
+ EXPECT_EQ(f, 1.4012984643248171e-45f);
480
+ EXPECT_TRUE(absl::SimpleAtof("1.4012984643248171e-46", &f));
481
+ EXPECT_EQ(f, 0);
482
+
483
+ // Parse the largest N (the most negative -N) such that parsing 1e-N produces
484
+ // a normal or subnormal (but still positive) or zero value.
485
+ EXPECT_TRUE(absl::SimpleAtod("1e-307", &d));
486
+ EXPECT_EQ(d, 1e-307);
487
+ EXPECT_GE(d, DBL_MIN);
488
+ EXPECT_LT(d, DBL_MIN * 10);
489
+ EXPECT_TRUE(absl::SimpleAtod("1e-323", &d));
490
+ EXPECT_EQ(d, 1e-323);
491
+ EXPECT_GE(d, DBL_TRUE_MIN);
492
+ EXPECT_LT(d, DBL_TRUE_MIN * 10);
493
+ EXPECT_TRUE(absl::SimpleAtod("1e-324", &d));
494
+ EXPECT_EQ(d, 0);
495
+ // Ditto, but for Atof instead of Atod.
496
+ EXPECT_TRUE(absl::SimpleAtof("1e-37", &f));
497
+ EXPECT_EQ(f, 1e-37f);
498
+ EXPECT_GE(f, FLT_MIN);
499
+ EXPECT_LT(f, FLT_MIN * 10);
500
+ EXPECT_TRUE(absl::SimpleAtof("1e-45", &f));
501
+ EXPECT_EQ(f, 1e-45f);
502
+ EXPECT_GE(f, FLT_TRUE_MIN);
503
+ EXPECT_LT(f, FLT_TRUE_MIN * 10);
504
+ EXPECT_TRUE(absl::SimpleAtof("1e-46", &f));
505
+ EXPECT_EQ(f, 0);
506
+
507
+ // Parse the largest N (the most negative -N) such that parsing
508
+ // 9.999999999999999999e-N, with 19 nines, produces a normal or subnormal
509
+ // (but still positive) or zero value.
510
+ //
511
+ // 9999999999999999999, with 19 nines but no decimal point, is the largest
512
+ // "repeated nines" integer that fits in a uint64_t.
513
+ //
514
+ // The -324/-325 exponents (and -46/-47) confirms the "definition of
515
+ // kEiselLemireMinInclExp10" comment in charconv.cc.
516
+ EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e-308", &d));
517
+ EXPECT_EQ(d, 9.999999999999999999e-308);
518
+ EXPECT_GE(d, DBL_MIN);
519
+ EXPECT_LT(d, DBL_MIN * 10);
520
+ EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e-324", &d));
521
+ EXPECT_EQ(d, 9.999999999999999999e-324);
522
+ EXPECT_GE(d, DBL_TRUE_MIN);
523
+ EXPECT_LT(d, DBL_TRUE_MIN * 10);
524
+ EXPECT_TRUE(absl::SimpleAtod("9.999999999999999999e-325", &d));
525
+ EXPECT_EQ(d, 0);
526
+ // Ditto, but for Atof instead of Atod.
527
+ EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e-38", &f));
528
+ EXPECT_EQ(f, 9.999999999999999999e-38f);
529
+ EXPECT_GE(f, FLT_MIN);
530
+ EXPECT_LT(f, FLT_MIN * 10);
531
+ EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e-46", &f));
532
+ EXPECT_EQ(f, 9.999999999999999999e-46f);
533
+ EXPECT_GE(f, FLT_TRUE_MIN);
534
+ EXPECT_LT(f, FLT_TRUE_MIN * 10);
535
+ EXPECT_TRUE(absl::SimpleAtof("9.999999999999999999e-47", &f));
536
+ EXPECT_EQ(f, 0);
537
+
538
+ // Leading and/or trailing whitespace is OK.
539
+ EXPECT_TRUE(absl::SimpleAtod(" \t\r\n 2.718", &d));
540
+ EXPECT_EQ(d, 2.718);
541
+ EXPECT_TRUE(absl::SimpleAtod(" 3.141 ", &d));
542
+ EXPECT_EQ(d, 3.141);
543
+
544
+ // Leading or trailing not-whitespace is not OK.
545
+ EXPECT_FALSE(absl::SimpleAtod("n 0", &d));
546
+ EXPECT_FALSE(absl::SimpleAtod("0n ", &d));
547
+
548
+ // Multiple leading 0s are OK.
549
+ EXPECT_TRUE(absl::SimpleAtod("000123", &d));
550
+ EXPECT_EQ(d, 123);
551
+ EXPECT_TRUE(absl::SimpleAtod("000.456", &d));
552
+ EXPECT_EQ(d, 0.456);
553
+
554
+ // An absent leading 0 (for a fraction < 1) is OK.
555
+ EXPECT_TRUE(absl::SimpleAtod(".5", &d));
556
+ EXPECT_EQ(d, 0.5);
557
+ EXPECT_TRUE(absl::SimpleAtod("-.707", &d));
558
+ EXPECT_EQ(d, -0.707);
559
+
560
+ // Unary + is OK.
561
+ EXPECT_TRUE(absl::SimpleAtod("+6.0221408e+23", &d));
562
+ EXPECT_EQ(d, 6.0221408e+23);
563
+
564
+ // Underscores are not OK.
565
+ EXPECT_FALSE(absl::SimpleAtod("123_456", &d));
566
+
567
+ // The decimal separator must be '.' and is never ','.
568
+ EXPECT_TRUE(absl::SimpleAtod("8.9", &d));
569
+ EXPECT_FALSE(absl::SimpleAtod("8,9", &d));
570
+
571
+ // These examples are called out in the EiselLemire function's comments.
572
+ EXPECT_TRUE(absl::SimpleAtod("4503599627370497.5", &d));
573
+ EXPECT_EQ(d, 4503599627370497.5);
574
+ EXPECT_TRUE(absl::SimpleAtod("1e+23", &d));
575
+ EXPECT_EQ(d, 1e+23);
576
+ EXPECT_TRUE(absl::SimpleAtod("9223372036854775807", &d));
577
+ EXPECT_EQ(d, 9223372036854775807);
578
+ // Ditto, but for Atof instead of Atod.
579
+ EXPECT_TRUE(absl::SimpleAtof("0.0625", &f));
580
+ EXPECT_EQ(f, 0.0625f);
581
+ EXPECT_TRUE(absl::SimpleAtof("20040229.0", &f));
582
+ EXPECT_EQ(f, 20040229.0f);
583
+ EXPECT_TRUE(absl::SimpleAtof("2147483647.0", &f));
584
+ EXPECT_EQ(f, 2147483647.0f);
585
+
586
+ // Some parsing algorithms don't always round correctly (but absl::SimpleAtod
587
+ // should). This test case comes from
588
+ // https://github.com/serde-rs/json/issues/707
589
+ //
590
+ // See also atod_manual_test.cc for running many more test cases.
591
+ EXPECT_TRUE(absl::SimpleAtod("122.416294033786585", &d));
592
+ EXPECT_EQ(d, 122.416294033786585);
593
+ EXPECT_TRUE(absl::SimpleAtof("122.416294033786585", &f));
594
+ EXPECT_EQ(f, 122.416294033786585f);
595
+ }
596
+
597
+ TEST(NumbersTest, Prefixes) {
598
+ double d;
599
+ EXPECT_FALSE(absl::SimpleAtod("++1", &d));
600
+ EXPECT_FALSE(absl::SimpleAtod("+-1", &d));
601
+ EXPECT_FALSE(absl::SimpleAtod("-+1", &d));
602
+ EXPECT_FALSE(absl::SimpleAtod("--1", &d));
603
+ EXPECT_TRUE(absl::SimpleAtod("-1", &d));
604
+ EXPECT_EQ(d, -1.);
605
+ EXPECT_TRUE(absl::SimpleAtod("+1", &d));
606
+ EXPECT_EQ(d, +1.);
607
+
608
+ float f;
609
+ EXPECT_FALSE(absl::SimpleAtof("++1", &f));
610
+ EXPECT_FALSE(absl::SimpleAtof("+-1", &f));
611
+ EXPECT_FALSE(absl::SimpleAtof("-+1", &f));
612
+ EXPECT_FALSE(absl::SimpleAtof("--1", &f));
613
+ EXPECT_TRUE(absl::SimpleAtof("-1", &f));
614
+ EXPECT_EQ(f, -1.f);
615
+ EXPECT_TRUE(absl::SimpleAtof("+1", &f));
616
+ EXPECT_EQ(f, +1.f);
617
+ }
618
+
619
+ TEST(NumbersTest, Atoenum) {
620
+ enum E01 {
621
+ E01_zero = 0,
622
+ E01_one = 1,
623
+ };
624
+
625
+ VerifySimpleAtoiGood<E01>(E01_zero, E01_zero);
626
+ VerifySimpleAtoiGood<E01>(E01_one, E01_one);
627
+
628
+ enum E_101 {
629
+ E_101_minusone = -1,
630
+ E_101_zero = 0,
631
+ E_101_one = 1,
632
+ };
633
+
634
+ VerifySimpleAtoiGood<E_101>(E_101_minusone, E_101_minusone);
635
+ VerifySimpleAtoiGood<E_101>(E_101_zero, E_101_zero);
636
+ VerifySimpleAtoiGood<E_101>(E_101_one, E_101_one);
637
+
638
+ enum E_bigint {
639
+ E_bigint_zero = 0,
640
+ E_bigint_one = 1,
641
+ E_bigint_max31 = static_cast<int32_t>(0x7FFFFFFF),
642
+ };
643
+
644
+ VerifySimpleAtoiGood<E_bigint>(E_bigint_zero, E_bigint_zero);
645
+ VerifySimpleAtoiGood<E_bigint>(E_bigint_one, E_bigint_one);
646
+ VerifySimpleAtoiGood<E_bigint>(E_bigint_max31, E_bigint_max31);
647
+
648
+ enum E_fullint {
649
+ E_fullint_zero = 0,
650
+ E_fullint_one = 1,
651
+ E_fullint_max31 = static_cast<int32_t>(0x7FFFFFFF),
652
+ E_fullint_min32 = INT32_MIN,
653
+ };
654
+
655
+ VerifySimpleAtoiGood<E_fullint>(E_fullint_zero, E_fullint_zero);
656
+ VerifySimpleAtoiGood<E_fullint>(E_fullint_one, E_fullint_one);
657
+ VerifySimpleAtoiGood<E_fullint>(E_fullint_max31, E_fullint_max31);
658
+ VerifySimpleAtoiGood<E_fullint>(E_fullint_min32, E_fullint_min32);
659
+
660
+ enum E_biguint {
661
+ E_biguint_zero = 0,
662
+ E_biguint_one = 1,
663
+ E_biguint_max31 = static_cast<uint32_t>(0x7FFFFFFF),
664
+ E_biguint_max32 = static_cast<uint32_t>(0xFFFFFFFF),
665
+ };
666
+
667
+ VerifySimpleAtoiGood<E_biguint>(E_biguint_zero, E_biguint_zero);
668
+ VerifySimpleAtoiGood<E_biguint>(E_biguint_one, E_biguint_one);
669
+ VerifySimpleAtoiGood<E_biguint>(E_biguint_max31, E_biguint_max31);
670
+ VerifySimpleAtoiGood<E_biguint>(E_biguint_max32, E_biguint_max32);
671
+ }
672
+
673
+ template <typename int_type, typename in_val_type>
674
+ void VerifySimpleHexAtoiGood(in_val_type in_value, int_type exp_value) {
675
+ std::string s;
676
+ // uint128 can be streamed but not StrCat'd
677
+ absl::strings_internal::OStringStream strm(&s);
678
+ if (in_value >= 0) {
679
+ strm << std::hex << in_value;
680
+ } else {
681
+ // Inefficient for small integers, but works with all integral types.
682
+ strm << "-" << std::hex << -absl::uint128(in_value);
683
+ }
684
+ int_type x = static_cast<int_type>(~exp_value);
685
+ EXPECT_TRUE(SimpleHexAtoi(s, &x))
686
+ << "in_value=" << std::hex << in_value << " s=" << s << " x=" << x;
687
+ EXPECT_EQ(exp_value, x);
688
+ x = static_cast<int_type>(~exp_value);
689
+ EXPECT_TRUE(SimpleHexAtoi(
690
+ s.c_str(), &x)); // NOLINT: readability-redundant-string-conversions
691
+ EXPECT_EQ(exp_value, x);
692
+ }
693
+
694
+ template <typename int_type, typename in_val_type>
695
+ void VerifySimpleHexAtoiBad(in_val_type in_value) {
696
+ std::string s;
697
+ // uint128 can be streamed but not StrCat'd
698
+ absl::strings_internal::OStringStream strm(&s);
699
+ if (in_value >= 0) {
700
+ strm << std::hex << in_value;
701
+ } else {
702
+ // Inefficient for small integers, but works with all integral types.
703
+ strm << "-" << std::hex << -absl::uint128(in_value);
704
+ }
705
+ int_type x;
706
+ EXPECT_FALSE(SimpleHexAtoi(s, &x));
707
+ EXPECT_FALSE(SimpleHexAtoi(
708
+ s.c_str(), &x)); // NOLINT: readability-redundant-string-conversions
709
+ }
710
+
711
+ TEST(NumbersTest, HexAtoi) {
712
+ // SimpleHexAtoi(absl::string_view, int32_t)
713
+ VerifySimpleHexAtoiGood<int32_t>(0, 0);
714
+ VerifySimpleHexAtoiGood<int32_t>(0x42, 0x42);
715
+ VerifySimpleHexAtoiGood<int32_t>(-0x42, -0x42);
716
+
717
+ VerifySimpleHexAtoiGood<int32_t>(std::numeric_limits<int32_t>::min(),
718
+ std::numeric_limits<int32_t>::min());
719
+ VerifySimpleHexAtoiGood<int32_t>(std::numeric_limits<int32_t>::max(),
720
+ std::numeric_limits<int32_t>::max());
721
+
722
+ // SimpleHexAtoi(absl::string_view, uint32_t)
723
+ VerifySimpleHexAtoiGood<uint32_t>(0, 0);
724
+ VerifySimpleHexAtoiGood<uint32_t>(0x42, 0x42);
725
+ VerifySimpleHexAtoiBad<uint32_t>(-0x42);
726
+
727
+ VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<int32_t>::min());
728
+ VerifySimpleHexAtoiGood<uint32_t>(std::numeric_limits<int32_t>::max(),
729
+ std::numeric_limits<int32_t>::max());
730
+ VerifySimpleHexAtoiGood<uint32_t>(std::numeric_limits<uint32_t>::max(),
731
+ std::numeric_limits<uint32_t>::max());
732
+ VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<int64_t>::min());
733
+ VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<int64_t>::max());
734
+ VerifySimpleHexAtoiBad<uint32_t>(std::numeric_limits<uint64_t>::max());
735
+
736
+ // SimpleHexAtoi(absl::string_view, int64_t)
737
+ VerifySimpleHexAtoiGood<int64_t>(0, 0);
738
+ VerifySimpleHexAtoiGood<int64_t>(0x42, 0x42);
739
+ VerifySimpleHexAtoiGood<int64_t>(-0x42, -0x42);
740
+
741
+ VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int32_t>::min(),
742
+ std::numeric_limits<int32_t>::min());
743
+ VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int32_t>::max(),
744
+ std::numeric_limits<int32_t>::max());
745
+ VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<uint32_t>::max(),
746
+ std::numeric_limits<uint32_t>::max());
747
+ VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int64_t>::min(),
748
+ std::numeric_limits<int64_t>::min());
749
+ VerifySimpleHexAtoiGood<int64_t>(std::numeric_limits<int64_t>::max(),
750
+ std::numeric_limits<int64_t>::max());
751
+ VerifySimpleHexAtoiBad<int64_t>(std::numeric_limits<uint64_t>::max());
752
+
753
+ // SimpleHexAtoi(absl::string_view, uint64_t)
754
+ VerifySimpleHexAtoiGood<uint64_t>(0, 0);
755
+ VerifySimpleHexAtoiGood<uint64_t>(0x42, 0x42);
756
+ VerifySimpleHexAtoiBad<uint64_t>(-0x42);
757
+
758
+ VerifySimpleHexAtoiBad<uint64_t>(std::numeric_limits<int32_t>::min());
759
+ VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<int32_t>::max(),
760
+ std::numeric_limits<int32_t>::max());
761
+ VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<uint32_t>::max(),
762
+ std::numeric_limits<uint32_t>::max());
763
+ VerifySimpleHexAtoiBad<uint64_t>(std::numeric_limits<int64_t>::min());
764
+ VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<int64_t>::max(),
765
+ std::numeric_limits<int64_t>::max());
766
+ VerifySimpleHexAtoiGood<uint64_t>(std::numeric_limits<uint64_t>::max(),
767
+ std::numeric_limits<uint64_t>::max());
768
+
769
+ // SimpleHexAtoi(absl::string_view, absl::uint128)
770
+ VerifySimpleHexAtoiGood<absl::uint128>(0, 0);
771
+ VerifySimpleHexAtoiGood<absl::uint128>(0x42, 0x42);
772
+ VerifySimpleHexAtoiBad<absl::uint128>(-0x42);
773
+
774
+ VerifySimpleHexAtoiBad<absl::uint128>(std::numeric_limits<int32_t>::min());
775
+ VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<int32_t>::max(),
776
+ std::numeric_limits<int32_t>::max());
777
+ VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<uint32_t>::max(),
778
+ std::numeric_limits<uint32_t>::max());
779
+ VerifySimpleHexAtoiBad<absl::uint128>(std::numeric_limits<int64_t>::min());
780
+ VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<int64_t>::max(),
781
+ std::numeric_limits<int64_t>::max());
782
+ VerifySimpleHexAtoiGood<absl::uint128>(std::numeric_limits<uint64_t>::max(),
783
+ std::numeric_limits<uint64_t>::max());
784
+ VerifySimpleHexAtoiGood<absl::uint128>(
785
+ std::numeric_limits<absl::uint128>::max(),
786
+ std::numeric_limits<absl::uint128>::max());
787
+
788
+ // Some other types
789
+ VerifySimpleHexAtoiGood<int>(-0x42, -0x42);
790
+ VerifySimpleHexAtoiGood<int32_t>(-0x42, -0x42);
791
+ VerifySimpleHexAtoiGood<uint32_t>(0x42, 0x42);
792
+ VerifySimpleHexAtoiGood<unsigned int>(0x42, 0x42);
793
+ VerifySimpleHexAtoiGood<int64_t>(-0x42, -0x42);
794
+ VerifySimpleHexAtoiGood<long>(-0x42, -0x42); // NOLINT: runtime-int
795
+ VerifySimpleHexAtoiGood<uint64_t>(0x42, 0x42);
796
+ VerifySimpleHexAtoiGood<size_t>(0x42, 0x42);
797
+ VerifySimpleHexAtoiGood<std::string::size_type>(0x42, 0x42);
798
+
799
+ // Number prefix
800
+ int32_t value;
801
+ EXPECT_TRUE(safe_strto32_base("0x34234324", &value, 16));
802
+ EXPECT_EQ(0x34234324, value);
803
+
804
+ EXPECT_TRUE(safe_strto32_base("0X34234324", &value, 16));
805
+ EXPECT_EQ(0x34234324, value);
806
+
807
+ // ASCII whitespace
808
+ EXPECT_TRUE(safe_strto32_base(" \t\n 34234324", &value, 16));
809
+ EXPECT_EQ(0x34234324, value);
810
+
811
+ EXPECT_TRUE(safe_strto32_base("34234324 \t\n ", &value, 16));
812
+ EXPECT_EQ(0x34234324, value);
813
+ }
814
+
815
+ TEST(stringtest, safe_strto32_base) {
816
+ int32_t value;
817
+ EXPECT_TRUE(safe_strto32_base("0x34234324", &value, 16));
818
+ EXPECT_EQ(0x34234324, value);
819
+
820
+ EXPECT_TRUE(safe_strto32_base("0X34234324", &value, 16));
821
+ EXPECT_EQ(0x34234324, value);
822
+
823
+ EXPECT_TRUE(safe_strto32_base("34234324", &value, 16));
824
+ EXPECT_EQ(0x34234324, value);
825
+
826
+ EXPECT_TRUE(safe_strto32_base("0", &value, 16));
827
+ EXPECT_EQ(0, value);
828
+
829
+ EXPECT_TRUE(safe_strto32_base(" \t\n -0x34234324", &value, 16));
830
+ EXPECT_EQ(-0x34234324, value);
831
+
832
+ EXPECT_TRUE(safe_strto32_base(" \t\n -34234324", &value, 16));
833
+ EXPECT_EQ(-0x34234324, value);
834
+
835
+ EXPECT_TRUE(safe_strto32_base("7654321", &value, 8));
836
+ EXPECT_EQ(07654321, value);
837
+
838
+ EXPECT_TRUE(safe_strto32_base("-01234", &value, 8));
839
+ EXPECT_EQ(-01234, value);
840
+
841
+ EXPECT_FALSE(safe_strto32_base("1834", &value, 8));
842
+
843
+ // Autodetect base.
844
+ EXPECT_TRUE(safe_strto32_base("0", &value, 0));
845
+ EXPECT_EQ(0, value);
846
+
847
+ EXPECT_TRUE(safe_strto32_base("077", &value, 0));
848
+ EXPECT_EQ(077, value); // Octal interpretation
849
+
850
+ // Leading zero indicates octal, but then followed by invalid digit.
851
+ EXPECT_FALSE(safe_strto32_base("088", &value, 0));
852
+
853
+ // Leading 0x indicated hex, but then followed by invalid digit.
854
+ EXPECT_FALSE(safe_strto32_base("0xG", &value, 0));
855
+
856
+ // Base-10 version.
857
+ EXPECT_TRUE(safe_strto32_base("34234324", &value, 10));
858
+ EXPECT_EQ(34234324, value);
859
+
860
+ EXPECT_TRUE(safe_strto32_base("0", &value, 10));
861
+ EXPECT_EQ(0, value);
862
+
863
+ EXPECT_TRUE(safe_strto32_base(" \t\n -34234324", &value, 10));
864
+ EXPECT_EQ(-34234324, value);
865
+
866
+ EXPECT_TRUE(safe_strto32_base("34234324 \n\t ", &value, 10));
867
+ EXPECT_EQ(34234324, value);
868
+
869
+ // Invalid ints.
870
+ EXPECT_FALSE(safe_strto32_base("", &value, 10));
871
+ EXPECT_FALSE(safe_strto32_base(" ", &value, 10));
872
+ EXPECT_FALSE(safe_strto32_base("abc", &value, 10));
873
+ EXPECT_FALSE(safe_strto32_base("34234324a", &value, 10));
874
+ EXPECT_FALSE(safe_strto32_base("34234.3", &value, 10));
875
+
876
+ // Out of bounds.
877
+ EXPECT_FALSE(safe_strto32_base("2147483648", &value, 10));
878
+ EXPECT_FALSE(safe_strto32_base("-2147483649", &value, 10));
879
+
880
+ // String version.
881
+ EXPECT_TRUE(safe_strto32_base(std::string("0x1234"), &value, 16));
882
+ EXPECT_EQ(0x1234, value);
883
+
884
+ // Base-10 string version.
885
+ EXPECT_TRUE(safe_strto32_base("1234", &value, 10));
886
+ EXPECT_EQ(1234, value);
887
+ }
888
+
889
+ TEST(stringtest, safe_strto32_range) {
890
+ // These tests verify underflow/overflow behaviour.
891
+ int32_t value;
892
+ EXPECT_FALSE(safe_strto32_base("2147483648", &value, 10));
893
+ EXPECT_EQ(std::numeric_limits<int32_t>::max(), value);
894
+
895
+ EXPECT_TRUE(safe_strto32_base("-2147483648", &value, 10));
896
+ EXPECT_EQ(std::numeric_limits<int32_t>::min(), value);
897
+
898
+ EXPECT_FALSE(safe_strto32_base("-2147483649", &value, 10));
899
+ EXPECT_EQ(std::numeric_limits<int32_t>::min(), value);
900
+ }
901
+
902
+ TEST(stringtest, safe_strto64_range) {
903
+ // These tests verify underflow/overflow behaviour.
904
+ int64_t value;
905
+ EXPECT_FALSE(safe_strto64_base("9223372036854775808", &value, 10));
906
+ EXPECT_EQ(std::numeric_limits<int64_t>::max(), value);
907
+
908
+ EXPECT_TRUE(safe_strto64_base("-9223372036854775808", &value, 10));
909
+ EXPECT_EQ(std::numeric_limits<int64_t>::min(), value);
910
+
911
+ EXPECT_FALSE(safe_strto64_base("-9223372036854775809", &value, 10));
912
+ EXPECT_EQ(std::numeric_limits<int64_t>::min(), value);
913
+ }
914
+
915
+ TEST(stringtest, safe_strto32_leading_substring) {
916
+ // These tests verify this comment in numbers.h:
917
+ // On error, returns false, and sets *value to: [...]
918
+ // conversion of leading substring if available ("123@@@" -> 123)
919
+ // 0 if no leading substring available
920
+ int32_t value;
921
+ EXPECT_FALSE(safe_strto32_base("04069@@@", &value, 10));
922
+ EXPECT_EQ(4069, value);
923
+
924
+ EXPECT_FALSE(safe_strto32_base("04069@@@", &value, 8));
925
+ EXPECT_EQ(0406, value);
926
+
927
+ EXPECT_FALSE(safe_strto32_base("04069balloons", &value, 10));
928
+ EXPECT_EQ(4069, value);
929
+
930
+ EXPECT_FALSE(safe_strto32_base("04069balloons", &value, 16));
931
+ EXPECT_EQ(0x4069ba, value);
932
+
933
+ EXPECT_FALSE(safe_strto32_base("@@@", &value, 10));
934
+ EXPECT_EQ(0, value); // there was no leading substring
935
+ }
936
+
937
+ TEST(stringtest, safe_strto64_leading_substring) {
938
+ // These tests verify this comment in numbers.h:
939
+ // On error, returns false, and sets *value to: [...]
940
+ // conversion of leading substring if available ("123@@@" -> 123)
941
+ // 0 if no leading substring available
942
+ int64_t value;
943
+ EXPECT_FALSE(safe_strto64_base("04069@@@", &value, 10));
944
+ EXPECT_EQ(4069, value);
945
+
946
+ EXPECT_FALSE(safe_strto64_base("04069@@@", &value, 8));
947
+ EXPECT_EQ(0406, value);
948
+
949
+ EXPECT_FALSE(safe_strto64_base("04069balloons", &value, 10));
950
+ EXPECT_EQ(4069, value);
951
+
952
+ EXPECT_FALSE(safe_strto64_base("04069balloons", &value, 16));
953
+ EXPECT_EQ(0x4069ba, value);
954
+
955
+ EXPECT_FALSE(safe_strto64_base("@@@", &value, 10));
956
+ EXPECT_EQ(0, value); // there was no leading substring
957
+ }
958
+
959
+ TEST(stringtest, safe_strto64_base) {
960
+ int64_t value;
961
+ EXPECT_TRUE(safe_strto64_base("0x3423432448783446", &value, 16));
962
+ EXPECT_EQ(int64_t{0x3423432448783446}, value);
963
+
964
+ EXPECT_TRUE(safe_strto64_base("3423432448783446", &value, 16));
965
+ EXPECT_EQ(int64_t{0x3423432448783446}, value);
966
+
967
+ EXPECT_TRUE(safe_strto64_base("0", &value, 16));
968
+ EXPECT_EQ(0, value);
969
+
970
+ EXPECT_TRUE(safe_strto64_base(" \t\n -0x3423432448783446", &value, 16));
971
+ EXPECT_EQ(int64_t{-0x3423432448783446}, value);
972
+
973
+ EXPECT_TRUE(safe_strto64_base(" \t\n -3423432448783446", &value, 16));
974
+ EXPECT_EQ(int64_t{-0x3423432448783446}, value);
975
+
976
+ EXPECT_TRUE(safe_strto64_base("123456701234567012", &value, 8));
977
+ EXPECT_EQ(int64_t{0123456701234567012}, value);
978
+
979
+ EXPECT_TRUE(safe_strto64_base("-017777777777777", &value, 8));
980
+ EXPECT_EQ(int64_t{-017777777777777}, value);
981
+
982
+ EXPECT_FALSE(safe_strto64_base("19777777777777", &value, 8));
983
+
984
+ // Autodetect base.
985
+ EXPECT_TRUE(safe_strto64_base("0", &value, 0));
986
+ EXPECT_EQ(0, value);
987
+
988
+ EXPECT_TRUE(safe_strto64_base("077", &value, 0));
989
+ EXPECT_EQ(077, value); // Octal interpretation
990
+
991
+ // Leading zero indicates octal, but then followed by invalid digit.
992
+ EXPECT_FALSE(safe_strto64_base("088", &value, 0));
993
+
994
+ // Leading 0x indicated hex, but then followed by invalid digit.
995
+ EXPECT_FALSE(safe_strto64_base("0xG", &value, 0));
996
+
997
+ // Base-10 version.
998
+ EXPECT_TRUE(safe_strto64_base("34234324487834466", &value, 10));
999
+ EXPECT_EQ(int64_t{34234324487834466}, value);
1000
+
1001
+ EXPECT_TRUE(safe_strto64_base("0", &value, 10));
1002
+ EXPECT_EQ(0, value);
1003
+
1004
+ EXPECT_TRUE(safe_strto64_base(" \t\n -34234324487834466", &value, 10));
1005
+ EXPECT_EQ(int64_t{-34234324487834466}, value);
1006
+
1007
+ EXPECT_TRUE(safe_strto64_base("34234324487834466 \n\t ", &value, 10));
1008
+ EXPECT_EQ(int64_t{34234324487834466}, value);
1009
+
1010
+ // Invalid ints.
1011
+ EXPECT_FALSE(safe_strto64_base("", &value, 10));
1012
+ EXPECT_FALSE(safe_strto64_base(" ", &value, 10));
1013
+ EXPECT_FALSE(safe_strto64_base("abc", &value, 10));
1014
+ EXPECT_FALSE(safe_strto64_base("34234324487834466a", &value, 10));
1015
+ EXPECT_FALSE(safe_strto64_base("34234487834466.3", &value, 10));
1016
+
1017
+ // Out of bounds.
1018
+ EXPECT_FALSE(safe_strto64_base("9223372036854775808", &value, 10));
1019
+ EXPECT_FALSE(safe_strto64_base("-9223372036854775809", &value, 10));
1020
+
1021
+ // String version.
1022
+ EXPECT_TRUE(safe_strto64_base(std::string("0x1234"), &value, 16));
1023
+ EXPECT_EQ(0x1234, value);
1024
+
1025
+ // Base-10 string version.
1026
+ EXPECT_TRUE(safe_strto64_base("1234", &value, 10));
1027
+ EXPECT_EQ(1234, value);
1028
+ }
1029
+
1030
+ const size_t kNumRandomTests = 10000;
1031
+
1032
+ template <typename IntType>
1033
+ void test_random_integer_parse_base(bool (*parse_func)(absl::string_view,
1034
+ IntType* value,
1035
+ int base)) {
1036
+ using RandomEngine = std::minstd_rand0;
1037
+ std::random_device rd;
1038
+ RandomEngine rng(rd());
1039
+ std::uniform_int_distribution<IntType> random_int(
1040
+ std::numeric_limits<IntType>::min());
1041
+ std::uniform_int_distribution<int> random_base(2, 35);
1042
+ for (size_t i = 0; i < kNumRandomTests; i++) {
1043
+ IntType value = random_int(rng);
1044
+ int base = random_base(rng);
1045
+ std::string str_value;
1046
+ EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1047
+ IntType parsed_value;
1048
+
1049
+ // Test successful parse
1050
+ EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1051
+ EXPECT_EQ(parsed_value, value);
1052
+
1053
+ // Test overflow
1054
+ EXPECT_FALSE(
1055
+ parse_func(absl::StrCat(std::numeric_limits<IntType>::max(), value),
1056
+ &parsed_value, base));
1057
+
1058
+ // Test underflow
1059
+ if (std::numeric_limits<IntType>::min() < 0) {
1060
+ EXPECT_FALSE(
1061
+ parse_func(absl::StrCat(std::numeric_limits<IntType>::min(), value),
1062
+ &parsed_value, base));
1063
+ } else {
1064
+ EXPECT_FALSE(parse_func(absl::StrCat("-", value), &parsed_value, base));
1065
+ }
1066
+ }
1067
+ }
1068
+
1069
+ TEST(stringtest, safe_strto32_random) {
1070
+ test_random_integer_parse_base<int32_t>(&safe_strto32_base);
1071
+ }
1072
+ TEST(stringtest, safe_strto64_random) {
1073
+ test_random_integer_parse_base<int64_t>(&safe_strto64_base);
1074
+ }
1075
+ TEST(stringtest, safe_strtou32_random) {
1076
+ test_random_integer_parse_base<uint32_t>(&safe_strtou32_base);
1077
+ }
1078
+ TEST(stringtest, safe_strtou64_random) {
1079
+ test_random_integer_parse_base<uint64_t>(&safe_strtou64_base);
1080
+ }
1081
+ TEST(stringtest, safe_strtou128_random) {
1082
+ // random number generators don't work for uint128, and
1083
+ // uint128 can be streamed but not StrCat'd, so this code must be custom
1084
+ // implemented for uint128, but is generally the same as what's above.
1085
+ // test_random_integer_parse_base<absl::uint128>(
1086
+ // &absl::numbers_internal::safe_strtou128_base);
1087
+ using RandomEngine = std::minstd_rand0;
1088
+ using IntType = absl::uint128;
1089
+ constexpr auto parse_func = &absl::numbers_internal::safe_strtou128_base;
1090
+
1091
+ std::random_device rd;
1092
+ RandomEngine rng(rd());
1093
+ std::uniform_int_distribution<uint64_t> random_uint64(
1094
+ std::numeric_limits<uint64_t>::min());
1095
+ std::uniform_int_distribution<int> random_base(2, 35);
1096
+
1097
+ for (size_t i = 0; i < kNumRandomTests; i++) {
1098
+ IntType value = random_uint64(rng);
1099
+ value = (value << 64) + random_uint64(rng);
1100
+ int base = random_base(rng);
1101
+ std::string str_value;
1102
+ EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1103
+ IntType parsed_value;
1104
+
1105
+ // Test successful parse
1106
+ EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1107
+ EXPECT_EQ(parsed_value, value);
1108
+
1109
+ // Test overflow
1110
+ std::string s;
1111
+ absl::strings_internal::OStringStream(&s)
1112
+ << std::numeric_limits<IntType>::max() << value;
1113
+ EXPECT_FALSE(parse_func(s, &parsed_value, base));
1114
+
1115
+ // Test underflow
1116
+ s.clear();
1117
+ absl::strings_internal::OStringStream(&s) << "-" << value;
1118
+ EXPECT_FALSE(parse_func(s, &parsed_value, base));
1119
+ }
1120
+ }
1121
+ TEST(stringtest, safe_strto128_random) {
1122
+ // random number generators don't work for int128, and
1123
+ // int128 can be streamed but not StrCat'd, so this code must be custom
1124
+ // implemented for int128, but is generally the same as what's above.
1125
+ // test_random_integer_parse_base<absl::int128>(
1126
+ // &absl::numbers_internal::safe_strto128_base);
1127
+ using RandomEngine = std::minstd_rand0;
1128
+ using IntType = absl::int128;
1129
+ constexpr auto parse_func = &absl::numbers_internal::safe_strto128_base;
1130
+
1131
+ std::random_device rd;
1132
+ RandomEngine rng(rd());
1133
+ std::uniform_int_distribution<int64_t> random_int64(
1134
+ std::numeric_limits<int64_t>::min());
1135
+ std::uniform_int_distribution<uint64_t> random_uint64(
1136
+ std::numeric_limits<uint64_t>::min());
1137
+ std::uniform_int_distribution<int> random_base(2, 35);
1138
+
1139
+ for (size_t i = 0; i < kNumRandomTests; ++i) {
1140
+ int64_t high = random_int64(rng);
1141
+ uint64_t low = random_uint64(rng);
1142
+ IntType value = absl::MakeInt128(high, low);
1143
+
1144
+ int base = random_base(rng);
1145
+ std::string str_value;
1146
+ EXPECT_TRUE(Itoa<IntType>(value, base, &str_value));
1147
+ IntType parsed_value;
1148
+
1149
+ // Test successful parse
1150
+ EXPECT_TRUE(parse_func(str_value, &parsed_value, base));
1151
+ EXPECT_EQ(parsed_value, value);
1152
+
1153
+ // Test overflow
1154
+ std::string s;
1155
+ absl::strings_internal::OStringStream(&s)
1156
+ << std::numeric_limits<IntType>::max() << value;
1157
+ EXPECT_FALSE(parse_func(s, &parsed_value, base));
1158
+
1159
+ // Test underflow
1160
+ s.clear();
1161
+ absl::strings_internal::OStringStream(&s)
1162
+ << std::numeric_limits<IntType>::min() << value;
1163
+ EXPECT_FALSE(parse_func(s, &parsed_value, base));
1164
+ }
1165
+ }
1166
+
1167
+ TEST(stringtest, safe_strtou32_base) {
1168
+ for (int i = 0; strtouint32_test_cases()[i].str != nullptr; ++i) {
1169
+ const auto& e = strtouint32_test_cases()[i];
1170
+ uint32_t value;
1171
+ EXPECT_EQ(e.expect_ok, safe_strtou32_base(e.str, &value, e.base))
1172
+ << "str=\"" << e.str << "\" base=" << e.base;
1173
+ if (e.expect_ok) {
1174
+ EXPECT_EQ(e.expected, value) << "i=" << i << " str=\"" << e.str
1175
+ << "\" base=" << e.base;
1176
+ }
1177
+ }
1178
+ }
1179
+
1180
+ TEST(stringtest, safe_strtou32_base_length_delimited) {
1181
+ for (int i = 0; strtouint32_test_cases()[i].str != nullptr; ++i) {
1182
+ const auto& e = strtouint32_test_cases()[i];
1183
+ std::string tmp(e.str);
1184
+ tmp.append("12"); // Adds garbage at the end.
1185
+
1186
+ uint32_t value;
1187
+ EXPECT_EQ(e.expect_ok,
1188
+ safe_strtou32_base(absl::string_view(tmp.data(), strlen(e.str)),
1189
+ &value, e.base))
1190
+ << "str=\"" << e.str << "\" base=" << e.base;
1191
+ if (e.expect_ok) {
1192
+ EXPECT_EQ(e.expected, value) << "i=" << i << " str=" << e.str
1193
+ << " base=" << e.base;
1194
+ }
1195
+ }
1196
+ }
1197
+
1198
+ TEST(stringtest, safe_strtou64_base) {
1199
+ for (int i = 0; strtouint64_test_cases()[i].str != nullptr; ++i) {
1200
+ const auto& e = strtouint64_test_cases()[i];
1201
+ uint64_t value;
1202
+ EXPECT_EQ(e.expect_ok, safe_strtou64_base(e.str, &value, e.base))
1203
+ << "str=\"" << e.str << "\" base=" << e.base;
1204
+ if (e.expect_ok) {
1205
+ EXPECT_EQ(e.expected, value) << "str=" << e.str << " base=" << e.base;
1206
+ }
1207
+ }
1208
+ }
1209
+
1210
+ TEST(stringtest, safe_strtou64_base_length_delimited) {
1211
+ for (int i = 0; strtouint64_test_cases()[i].str != nullptr; ++i) {
1212
+ const auto& e = strtouint64_test_cases()[i];
1213
+ std::string tmp(e.str);
1214
+ tmp.append("12"); // Adds garbage at the end.
1215
+
1216
+ uint64_t value;
1217
+ EXPECT_EQ(e.expect_ok,
1218
+ safe_strtou64_base(absl::string_view(tmp.data(), strlen(e.str)),
1219
+ &value, e.base))
1220
+ << "str=\"" << e.str << "\" base=" << e.base;
1221
+ if (e.expect_ok) {
1222
+ EXPECT_EQ(e.expected, value) << "str=\"" << e.str << "\" base=" << e.base;
1223
+ }
1224
+ }
1225
+ }
1226
+
1227
+ // feenableexcept() and fedisableexcept() are extensions supported by some libc
1228
+ // implementations.
1229
+ #if defined(__GLIBC__) || defined(__BIONIC__)
1230
+ #define ABSL_HAVE_FEENABLEEXCEPT 1
1231
+ #define ABSL_HAVE_FEDISABLEEXCEPT 1
1232
+ #endif
1233
+
1234
+ class SimpleDtoaTest : public testing::Test {
1235
+ protected:
1236
+ void SetUp() override {
1237
+ // Store the current floating point env & clear away any pending exceptions.
1238
+ feholdexcept(&fp_env_);
1239
+ #ifdef ABSL_HAVE_FEENABLEEXCEPT
1240
+ // Turn on floating point exceptions.
1241
+ feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
1242
+ #endif
1243
+ }
1244
+
1245
+ void TearDown() override {
1246
+ // Restore the floating point environment to the original state.
1247
+ // In theory fedisableexcept is unnecessary; fesetenv will also do it.
1248
+ // In practice, our toolchains have subtle bugs.
1249
+ #ifdef ABSL_HAVE_FEDISABLEEXCEPT
1250
+ fedisableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
1251
+ #endif
1252
+ fesetenv(&fp_env_);
1253
+ }
1254
+
1255
+ std::string ToNineDigits(double value) {
1256
+ char buffer[16]; // more than enough for %.9g
1257
+ snprintf(buffer, sizeof(buffer), "%.9g", value);
1258
+ return buffer;
1259
+ }
1260
+
1261
+ fenv_t fp_env_;
1262
+ };
1263
+
1264
+ // Run the given runnable functor for "cases" test cases, chosen over the
1265
+ // available range of float. pi and e and 1/e are seeded, and then all
1266
+ // available integer powers of 2 and 10 are multiplied against them. In
1267
+ // addition to trying all those values, we try the next higher and next lower
1268
+ // float, and then we add additional test cases evenly distributed between them.
1269
+ // Each test case is passed to runnable as both a positive and negative value.
1270
+ template <typename R>
1271
+ void ExhaustiveFloat(uint32_t cases, R&& runnable) {
1272
+ runnable(0.0f);
1273
+ runnable(-0.0f);
1274
+ if (cases >= 2e9) { // more than 2 billion? Might as well run them all.
1275
+ for (float f = 0; f < std::numeric_limits<float>::max(); ) {
1276
+ f = nextafterf(f, std::numeric_limits<float>::max());
1277
+ runnable(-f);
1278
+ runnable(f);
1279
+ }
1280
+ return;
1281
+ }
1282
+ std::set<float> floats = {3.4028234e38f};
1283
+ for (float f : {1.0, 3.14159265, 2.718281828, 1 / 2.718281828}) {
1284
+ for (float testf = f; testf != 0; testf *= 0.1f) floats.insert(testf);
1285
+ for (float testf = f; testf != 0; testf *= 0.5f) floats.insert(testf);
1286
+ for (float testf = f; testf < 3e38f / 2; testf *= 2.0f)
1287
+ floats.insert(testf);
1288
+ for (float testf = f; testf < 3e38f / 10; testf *= 10) floats.insert(testf);
1289
+ }
1290
+
1291
+ float last = *floats.begin();
1292
+
1293
+ runnable(last);
1294
+ runnable(-last);
1295
+ int iters_per_float = cases / floats.size();
1296
+ if (iters_per_float == 0) iters_per_float = 1;
1297
+ for (float f : floats) {
1298
+ if (f == last) continue;
1299
+ float testf = std::nextafter(last, std::numeric_limits<float>::max());
1300
+ runnable(testf);
1301
+ runnable(-testf);
1302
+ last = testf;
1303
+ if (f == last) continue;
1304
+ double step = (double{f} - last) / iters_per_float;
1305
+ for (double d = last + step; d < f; d += step) {
1306
+ testf = d;
1307
+ if (testf != last) {
1308
+ runnable(testf);
1309
+ runnable(-testf);
1310
+ last = testf;
1311
+ }
1312
+ }
1313
+ testf = std::nextafter(f, 0.0f);
1314
+ if (testf > last) {
1315
+ runnable(testf);
1316
+ runnable(-testf);
1317
+ last = testf;
1318
+ }
1319
+ if (f != last) {
1320
+ runnable(f);
1321
+ runnable(-f);
1322
+ last = f;
1323
+ }
1324
+ }
1325
+ }
1326
+
1327
+ TEST_F(SimpleDtoaTest, ExhaustiveDoubleToSixDigits) {
1328
+ uint64_t test_count = 0;
1329
+ std::vector<double> mismatches;
1330
+ auto checker = [&](double d) {
1331
+ if (d != d) return; // rule out NaNs
1332
+ ++test_count;
1333
+ char sixdigitsbuf[kSixDigitsToBufferSize] = {0};
1334
+ SixDigitsToBuffer(d, sixdigitsbuf);
1335
+ char snprintfbuf[kSixDigitsToBufferSize] = {0};
1336
+ snprintf(snprintfbuf, kSixDigitsToBufferSize, "%g", d);
1337
+ if (strcmp(sixdigitsbuf, snprintfbuf) != 0) {
1338
+ mismatches.push_back(d);
1339
+ if (mismatches.size() < 10) {
1340
+ ABSL_RAW_LOG(ERROR, "%s",
1341
+ absl::StrCat("Six-digit failure with double. ", "d=", d,
1342
+ "=", d, " sixdigits=", sixdigitsbuf,
1343
+ " printf(%g)=", snprintfbuf)
1344
+ .c_str());
1345
+ }
1346
+ }
1347
+ };
1348
+ // Some quick sanity checks...
1349
+ checker(5e-324);
1350
+ checker(1e-308);
1351
+ checker(1.0);
1352
+ checker(1.000005);
1353
+ checker(1.7976931348623157e308);
1354
+ checker(0.00390625);
1355
+ #ifndef _MSC_VER
1356
+ // on MSVC, snprintf() rounds it to 0.00195313. SixDigitsToBuffer() rounds it
1357
+ // to 0.00195312 (round half to even).
1358
+ checker(0.001953125);
1359
+ #endif
1360
+ checker(0.005859375);
1361
+ // Some cases where the rounding is very very close
1362
+ checker(1.089095e-15);
1363
+ checker(3.274195e-55);
1364
+ checker(6.534355e-146);
1365
+ checker(2.920845e+234);
1366
+
1367
+ if (mismatches.empty()) {
1368
+ test_count = 0;
1369
+ ExhaustiveFloat(kFloatNumCases, checker);
1370
+
1371
+ test_count = 0;
1372
+ std::vector<int> digit_testcases{
1373
+ 100000, 100001, 100002, 100005, 100010, 100020, 100050, 100100, // misc
1374
+ 195312, 195313, // 1.953125 is a case where we round down, just barely.
1375
+ 200000, 500000, 800000, // misc mid-range cases
1376
+ 585937, 585938, // 5.859375 is a case where we round up, just barely.
1377
+ 900000, 990000, 999000, 999900, 999990, 999996, 999997, 999998, 999999};
1378
+ if (kFloatNumCases >= 1e9) {
1379
+ // If at least 1 billion test cases were requested, user wants an
1380
+ // exhaustive test. So let's test all mantissas, too.
1381
+ constexpr int min_mantissa = 100000, max_mantissa = 999999;
1382
+ digit_testcases.resize(max_mantissa - min_mantissa + 1);
1383
+ std::iota(digit_testcases.begin(), digit_testcases.end(), min_mantissa);
1384
+ }
1385
+
1386
+ for (int exponent = -324; exponent <= 308; ++exponent) {
1387
+ double powten = absl::strings_internal::Pow10(exponent);
1388
+ if (powten == 0) powten = 5e-324;
1389
+ if (kFloatNumCases >= 1e9) {
1390
+ // The exhaustive test takes a very long time, so log progress.
1391
+ char buf[kSixDigitsToBufferSize];
1392
+ ABSL_RAW_LOG(
1393
+ INFO, "%s",
1394
+ absl::StrCat("Exp ", exponent, " powten=", powten, "(", powten,
1395
+ ") (",
1396
+ std::string(buf, SixDigitsToBuffer(powten, buf)), ")")
1397
+ .c_str());
1398
+ }
1399
+ for (int digits : digit_testcases) {
1400
+ if (exponent == 308 && digits >= 179769) break; // don't overflow!
1401
+ double digiform = (digits + 0.5) * 0.00001;
1402
+ double testval = digiform * powten;
1403
+ double pretestval = nextafter(testval, 0);
1404
+ double posttestval = nextafter(testval, 1.7976931348623157e308);
1405
+ checker(testval);
1406
+ checker(pretestval);
1407
+ checker(posttestval);
1408
+ }
1409
+ }
1410
+ } else {
1411
+ EXPECT_EQ(mismatches.size(), 0);
1412
+ for (size_t i = 0; i < mismatches.size(); ++i) {
1413
+ if (i > 100) i = mismatches.size() - 1;
1414
+ double d = mismatches[i];
1415
+ char sixdigitsbuf[kSixDigitsToBufferSize] = {0};
1416
+ SixDigitsToBuffer(d, sixdigitsbuf);
1417
+ char snprintfbuf[kSixDigitsToBufferSize] = {0};
1418
+ snprintf(snprintfbuf, kSixDigitsToBufferSize, "%g", d);
1419
+ double before = nextafter(d, 0.0);
1420
+ double after = nextafter(d, 1.7976931348623157e308);
1421
+ char b1[32], b2[kSixDigitsToBufferSize];
1422
+ ABSL_RAW_LOG(
1423
+ ERROR, "%s",
1424
+ absl::StrCat(
1425
+ "Mismatch #", i, " d=", d, " (", ToNineDigits(d), ")",
1426
+ " sixdigits='", sixdigitsbuf, "'", " snprintf='", snprintfbuf,
1427
+ "'", " Before.=", PerfectDtoa(before), " ",
1428
+ (SixDigitsToBuffer(before, b2), b2),
1429
+ " vs snprintf=", (snprintf(b1, sizeof(b1), "%g", before), b1),
1430
+ " Perfect=", PerfectDtoa(d), " ", (SixDigitsToBuffer(d, b2), b2),
1431
+ " vs snprintf=", (snprintf(b1, sizeof(b1), "%g", d), b1),
1432
+ " After.=.", PerfectDtoa(after), " ",
1433
+ (SixDigitsToBuffer(after, b2), b2),
1434
+ " vs snprintf=", (snprintf(b1, sizeof(b1), "%g", after), b1))
1435
+ .c_str());
1436
+ }
1437
+ }
1438
+ }
1439
+
1440
+ TEST(StrToInt32, Partial) {
1441
+ struct Int32TestLine {
1442
+ std::string input;
1443
+ bool status;
1444
+ int32_t value;
1445
+ };
1446
+ const int32_t int32_min = std::numeric_limits<int32_t>::min();
1447
+ const int32_t int32_max = std::numeric_limits<int32_t>::max();
1448
+ Int32TestLine int32_test_line[] = {
1449
+ {"", false, 0},
1450
+ {" ", false, 0},
1451
+ {"-", false, 0},
1452
+ {"123@@@", false, 123},
1453
+ {absl::StrCat(int32_min, int32_max), false, int32_min},
1454
+ {absl::StrCat(int32_max, int32_max), false, int32_max},
1455
+ };
1456
+
1457
+ for (const Int32TestLine& test_line : int32_test_line) {
1458
+ int32_t value = -2;
1459
+ bool status = safe_strto32_base(test_line.input, &value, 10);
1460
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1461
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1462
+ value = -2;
1463
+ status = safe_strto32_base(test_line.input, &value, 10);
1464
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1465
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1466
+ value = -2;
1467
+ status = safe_strto32_base(absl::string_view(test_line.input), &value, 10);
1468
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1469
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1470
+ }
1471
+ }
1472
+
1473
+ TEST(StrToUint32, Partial) {
1474
+ struct Uint32TestLine {
1475
+ std::string input;
1476
+ bool status;
1477
+ uint32_t value;
1478
+ };
1479
+ const uint32_t uint32_max = std::numeric_limits<uint32_t>::max();
1480
+ Uint32TestLine uint32_test_line[] = {
1481
+ {"", false, 0},
1482
+ {" ", false, 0},
1483
+ {"-", false, 0},
1484
+ {"123@@@", false, 123},
1485
+ {absl::StrCat(uint32_max, uint32_max), false, uint32_max},
1486
+ };
1487
+
1488
+ for (const Uint32TestLine& test_line : uint32_test_line) {
1489
+ uint32_t value = 2;
1490
+ bool status = safe_strtou32_base(test_line.input, &value, 10);
1491
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1492
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1493
+ value = 2;
1494
+ status = safe_strtou32_base(test_line.input, &value, 10);
1495
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1496
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1497
+ value = 2;
1498
+ status = safe_strtou32_base(absl::string_view(test_line.input), &value, 10);
1499
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1500
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1501
+ }
1502
+ }
1503
+
1504
+ TEST(StrToInt64, Partial) {
1505
+ struct Int64TestLine {
1506
+ std::string input;
1507
+ bool status;
1508
+ int64_t value;
1509
+ };
1510
+ const int64_t int64_min = std::numeric_limits<int64_t>::min();
1511
+ const int64_t int64_max = std::numeric_limits<int64_t>::max();
1512
+ Int64TestLine int64_test_line[] = {
1513
+ {"", false, 0},
1514
+ {" ", false, 0},
1515
+ {"-", false, 0},
1516
+ {"123@@@", false, 123},
1517
+ {absl::StrCat(int64_min, int64_max), false, int64_min},
1518
+ {absl::StrCat(int64_max, int64_max), false, int64_max},
1519
+ };
1520
+
1521
+ for (const Int64TestLine& test_line : int64_test_line) {
1522
+ int64_t value = -2;
1523
+ bool status = safe_strto64_base(test_line.input, &value, 10);
1524
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1525
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1526
+ value = -2;
1527
+ status = safe_strto64_base(test_line.input, &value, 10);
1528
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1529
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1530
+ value = -2;
1531
+ status = safe_strto64_base(absl::string_view(test_line.input), &value, 10);
1532
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1533
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1534
+ }
1535
+ }
1536
+
1537
+ TEST(StrToUint64, Partial) {
1538
+ struct Uint64TestLine {
1539
+ std::string input;
1540
+ bool status;
1541
+ uint64_t value;
1542
+ };
1543
+ const uint64_t uint64_max = std::numeric_limits<uint64_t>::max();
1544
+ Uint64TestLine uint64_test_line[] = {
1545
+ {"", false, 0},
1546
+ {" ", false, 0},
1547
+ {"-", false, 0},
1548
+ {"123@@@", false, 123},
1549
+ {absl::StrCat(uint64_max, uint64_max), false, uint64_max},
1550
+ };
1551
+
1552
+ for (const Uint64TestLine& test_line : uint64_test_line) {
1553
+ uint64_t value = 2;
1554
+ bool status = safe_strtou64_base(test_line.input, &value, 10);
1555
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1556
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1557
+ value = 2;
1558
+ status = safe_strtou64_base(test_line.input, &value, 10);
1559
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1560
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1561
+ value = 2;
1562
+ status = safe_strtou64_base(absl::string_view(test_line.input), &value, 10);
1563
+ EXPECT_EQ(test_line.status, status) << test_line.input;
1564
+ EXPECT_EQ(test_line.value, value) << test_line.input;
1565
+ }
1566
+ }
1567
+
1568
+ TEST(StrToInt32Base, PrefixOnly) {
1569
+ struct Int32TestLine {
1570
+ std::string input;
1571
+ bool status;
1572
+ int32_t value;
1573
+ };
1574
+ Int32TestLine int32_test_line[] = {
1575
+ { "", false, 0 },
1576
+ { "-", false, 0 },
1577
+ { "-0", true, 0 },
1578
+ { "0", true, 0 },
1579
+ { "0x", false, 0 },
1580
+ { "-0x", false, 0 },
1581
+ };
1582
+ const int base_array[] = { 0, 2, 8, 10, 16 };
1583
+
1584
+ for (const Int32TestLine& line : int32_test_line) {
1585
+ for (const int base : base_array) {
1586
+ int32_t value = 2;
1587
+ bool status = safe_strto32_base(line.input.c_str(), &value, base);
1588
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1589
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1590
+ value = 2;
1591
+ status = safe_strto32_base(line.input, &value, base);
1592
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1593
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1594
+ value = 2;
1595
+ status = safe_strto32_base(absl::string_view(line.input), &value, base);
1596
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1597
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1598
+ }
1599
+ }
1600
+ }
1601
+
1602
+ TEST(StrToUint32Base, PrefixOnly) {
1603
+ struct Uint32TestLine {
1604
+ std::string input;
1605
+ bool status;
1606
+ uint32_t value;
1607
+ };
1608
+ Uint32TestLine uint32_test_line[] = {
1609
+ { "", false, 0 },
1610
+ { "0", true, 0 },
1611
+ { "0x", false, 0 },
1612
+ };
1613
+ const int base_array[] = { 0, 2, 8, 10, 16 };
1614
+
1615
+ for (const Uint32TestLine& line : uint32_test_line) {
1616
+ for (const int base : base_array) {
1617
+ uint32_t value = 2;
1618
+ bool status = safe_strtou32_base(line.input.c_str(), &value, base);
1619
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1620
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1621
+ value = 2;
1622
+ status = safe_strtou32_base(line.input, &value, base);
1623
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1624
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1625
+ value = 2;
1626
+ status = safe_strtou32_base(absl::string_view(line.input), &value, base);
1627
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1628
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1629
+ }
1630
+ }
1631
+ }
1632
+
1633
+ TEST(StrToInt64Base, PrefixOnly) {
1634
+ struct Int64TestLine {
1635
+ std::string input;
1636
+ bool status;
1637
+ int64_t value;
1638
+ };
1639
+ Int64TestLine int64_test_line[] = {
1640
+ { "", false, 0 },
1641
+ { "-", false, 0 },
1642
+ { "-0", true, 0 },
1643
+ { "0", true, 0 },
1644
+ { "0x", false, 0 },
1645
+ { "-0x", false, 0 },
1646
+ };
1647
+ const int base_array[] = { 0, 2, 8, 10, 16 };
1648
+
1649
+ for (const Int64TestLine& line : int64_test_line) {
1650
+ for (const int base : base_array) {
1651
+ int64_t value = 2;
1652
+ bool status = safe_strto64_base(line.input.c_str(), &value, base);
1653
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1654
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1655
+ value = 2;
1656
+ status = safe_strto64_base(line.input, &value, base);
1657
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1658
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1659
+ value = 2;
1660
+ status = safe_strto64_base(absl::string_view(line.input), &value, base);
1661
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1662
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1663
+ }
1664
+ }
1665
+ }
1666
+
1667
+ TEST(StrToUint64Base, PrefixOnly) {
1668
+ struct Uint64TestLine {
1669
+ std::string input;
1670
+ bool status;
1671
+ uint64_t value;
1672
+ };
1673
+ Uint64TestLine uint64_test_line[] = {
1674
+ { "", false, 0 },
1675
+ { "0", true, 0 },
1676
+ { "0x", false, 0 },
1677
+ };
1678
+ const int base_array[] = { 0, 2, 8, 10, 16 };
1679
+
1680
+ for (const Uint64TestLine& line : uint64_test_line) {
1681
+ for (const int base : base_array) {
1682
+ uint64_t value = 2;
1683
+ bool status = safe_strtou64_base(line.input.c_str(), &value, base);
1684
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1685
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1686
+ value = 2;
1687
+ status = safe_strtou64_base(line.input, &value, base);
1688
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1689
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1690
+ value = 2;
1691
+ status = safe_strtou64_base(absl::string_view(line.input), &value, base);
1692
+ EXPECT_EQ(line.status, status) << line.input << " " << base;
1693
+ EXPECT_EQ(line.value, value) << line.input << " " << base;
1694
+ }
1695
+ }
1696
+ }
1697
+
1698
+ void TestFastHexToBufferZeroPad16(uint64_t v) {
1699
+ char buf[16];
1700
+ auto digits = absl::numbers_internal::FastHexToBufferZeroPad16(v, buf);
1701
+ absl::string_view res(buf, 16);
1702
+ char buf2[17];
1703
+ snprintf(buf2, sizeof(buf2), "%016" PRIx64, v);
1704
+ EXPECT_EQ(res, buf2) << v;
1705
+ size_t expected_digits = snprintf(buf2, sizeof(buf2), "%" PRIx64, v);
1706
+ EXPECT_EQ(digits, expected_digits) << v;
1707
+ }
1708
+
1709
+ TEST(FastHexToBufferZeroPad16, Smoke) {
1710
+ TestFastHexToBufferZeroPad16(std::numeric_limits<uint64_t>::min());
1711
+ TestFastHexToBufferZeroPad16(std::numeric_limits<uint64_t>::max());
1712
+ TestFastHexToBufferZeroPad16(std::numeric_limits<int64_t>::min());
1713
+ TestFastHexToBufferZeroPad16(std::numeric_limits<int64_t>::max());
1714
+ absl::BitGen rng;
1715
+ for (int i = 0; i < 100000; ++i) {
1716
+ TestFastHexToBufferZeroPad16(
1717
+ absl::LogUniform(rng, std::numeric_limits<uint64_t>::min(),
1718
+ std::numeric_limits<uint64_t>::max()));
1719
+ }
1720
+ }
1721
+
1722
+ } // namespace