@nxtedition/rocksdb 15.1.5 → 15.2.0

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 (1705) hide show
  1. package/.claude/settings.local.json +5 -1
  2. package/binding.cc +83 -43
  3. package/binding.gyp +102 -2
  4. package/deps/abseil-cpp/BUILD.bazel +35 -0
  5. package/deps/abseil-cpp/CMake/AbseilDll.cmake +938 -0
  6. package/deps/abseil-cpp/CMake/AbseilHelpers.cmake +465 -0
  7. package/deps/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +14 -0
  8. package/deps/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +41 -0
  9. package/deps/abseil-cpp/CMake/abslConfig.cmake.in +8 -0
  10. package/deps/abseil-cpp/CMake/install_test_project/CMakeLists.txt +25 -0
  11. package/deps/abseil-cpp/CMake/install_test_project/simple.cc +32 -0
  12. package/deps/abseil-cpp/CMake/install_test_project/test.sh +113 -0
  13. package/deps/abseil-cpp/CMakeLists.txt +280 -0
  14. package/deps/abseil-cpp/LICENSE +203 -0
  15. package/deps/abseil-cpp/MODULE.bazel +43 -0
  16. package/deps/abseil-cpp/PrivacyInfo.xcprivacy +14 -0
  17. package/deps/abseil-cpp/absl/BUILD.bazel +62 -0
  18. package/deps/abseil-cpp/absl/CMakeLists.txt +45 -0
  19. package/deps/abseil-cpp/absl/abseil.podspec.gen.py +245 -0
  20. package/deps/abseil-cpp/absl/algorithm/BUILD.bazel +92 -0
  21. package/deps/abseil-cpp/absl/algorithm/CMakeLists.txt +72 -0
  22. package/deps/abseil-cpp/absl/algorithm/algorithm.h +64 -0
  23. package/deps/abseil-cpp/absl/algorithm/algorithm_test.cc +60 -0
  24. package/deps/abseil-cpp/absl/algorithm/container.h +1864 -0
  25. package/deps/abseil-cpp/absl/algorithm/container_test.cc +2232 -0
  26. package/deps/abseil-cpp/absl/base/BUILD.bazel +1036 -0
  27. package/deps/abseil-cpp/absl/base/CMakeLists.txt +881 -0
  28. package/deps/abseil-cpp/absl/base/attributes.h +1081 -0
  29. package/deps/abseil-cpp/absl/base/attributes_test.cc +43 -0
  30. package/deps/abseil-cpp/absl/base/bit_cast_test.cc +109 -0
  31. package/deps/abseil-cpp/absl/base/c_header_test.c +30 -0
  32. package/deps/abseil-cpp/absl/base/call_once.h +228 -0
  33. package/deps/abseil-cpp/absl/base/call_once_test.cc +107 -0
  34. package/deps/abseil-cpp/absl/base/casts.cc +61 -0
  35. package/deps/abseil-cpp/absl/base/casts.h +313 -0
  36. package/deps/abseil-cpp/absl/base/casts_test.cc +148 -0
  37. package/deps/abseil-cpp/absl/base/config.h +854 -0
  38. package/deps/abseil-cpp/absl/base/config_test.cc +60 -0
  39. package/deps/abseil-cpp/absl/base/const_init.h +76 -0
  40. package/deps/abseil-cpp/absl/base/dynamic_annotations.h +480 -0
  41. package/deps/abseil-cpp/absl/base/exception_safety_testing_test.cc +958 -0
  42. package/deps/abseil-cpp/absl/base/fast_type_id.h +73 -0
  43. package/deps/abseil-cpp/absl/base/fast_type_id_test.cc +130 -0
  44. package/deps/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  45. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test.cc +97 -0
  46. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +32 -0
  47. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
  48. package/deps/abseil-cpp/absl/base/internal/cmake_thread_test.cc +22 -0
  49. package/deps/abseil-cpp/absl/base/internal/cycleclock.cc +72 -0
  50. package/deps/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
  51. package/deps/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  52. package/deps/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
  53. package/deps/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  54. package/deps/abseil-cpp/absl/base/internal/endian.h +279 -0
  55. package/deps/abseil-cpp/absl/base/internal/endian_test.cc +263 -0
  56. package/deps/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  57. package/deps/abseil-cpp/absl/base/internal/errno_saver_test.cc +45 -0
  58. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.cc +79 -0
  59. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.h +1109 -0
  60. package/deps/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
  61. package/deps/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  62. package/deps/abseil-cpp/absl/base/internal/iterator_traits.h +75 -0
  63. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
  64. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
  65. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.cc +661 -0
  66. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.h +133 -0
  67. package/deps/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +180 -0
  68. package/deps/abseil-cpp/absl/base/internal/low_level_scheduling.h +134 -0
  69. package/deps/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
  70. package/deps/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
  71. package/deps/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  72. package/deps/abseil-cpp/absl/base/internal/poison.cc +85 -0
  73. package/deps/abseil-cpp/absl/base/internal/poison.h +59 -0
  74. package/deps/abseil-cpp/absl/base/internal/poison_test.cc +41 -0
  75. package/deps/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
  76. package/deps/abseil-cpp/absl/base/internal/raw_logging.cc +279 -0
  77. package/deps/abseil-cpp/absl/base/internal/raw_logging.h +217 -0
  78. package/deps/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  79. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.cc +81 -0
  80. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
  81. package/deps/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +99 -0
  82. package/deps/abseil-cpp/absl/base/internal/spinlock.cc +225 -0
  83. package/deps/abseil-cpp/absl/base/internal/spinlock.h +310 -0
  84. package/deps/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  85. package/deps/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +80 -0
  86. package/deps/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
  87. package/deps/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  88. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  89. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
  90. package/deps/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
  91. package/deps/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  92. package/deps/abseil-cpp/absl/base/internal/strerror.h +39 -0
  93. package/deps/abseil-cpp/absl/base/internal/strerror_benchmark.cc +29 -0
  94. package/deps/abseil-cpp/absl/base/internal/strerror_test.cc +89 -0
  95. package/deps/abseil-cpp/absl/base/internal/sysinfo.cc +494 -0
  96. package/deps/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
  97. package/deps/abseil-cpp/absl/base/internal/sysinfo_test.cc +82 -0
  98. package/deps/abseil-cpp/absl/base/internal/thread_identity.cc +163 -0
  99. package/deps/abseil-cpp/absl/base/internal/thread_identity.h +273 -0
  100. package/deps/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +38 -0
  101. package/deps/abseil-cpp/absl/base/internal/thread_identity_test.cc +129 -0
  102. package/deps/abseil-cpp/absl/base/internal/throw_delegate.cc +203 -0
  103. package/deps/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  104. package/deps/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  105. package/deps/abseil-cpp/absl/base/internal/tracing.h +81 -0
  106. package/deps/abseil-cpp/absl/base/internal/tracing_strong_test.cc +117 -0
  107. package/deps/abseil-cpp/absl/base/internal/tracing_weak_test.cc +34 -0
  108. package/deps/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
  109. package/deps/abseil-cpp/absl/base/internal/unaligned_access.h +89 -0
  110. package/deps/abseil-cpp/absl/base/internal/unique_small_name_test.cc +77 -0
  111. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +134 -0
  112. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.h +113 -0
  113. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  114. package/deps/abseil-cpp/absl/base/log_severity.cc +56 -0
  115. package/deps/abseil-cpp/absl/base/log_severity.h +185 -0
  116. package/deps/abseil-cpp/absl/base/log_severity_test.cc +251 -0
  117. package/deps/abseil-cpp/absl/base/macros.h +243 -0
  118. package/deps/abseil-cpp/absl/base/no_destructor.h +191 -0
  119. package/deps/abseil-cpp/absl/base/no_destructor_benchmark.cc +165 -0
  120. package/deps/abseil-cpp/absl/base/no_destructor_test.cc +205 -0
  121. package/deps/abseil-cpp/absl/base/nullability.h +317 -0
  122. package/deps/abseil-cpp/absl/base/nullability_default_nonnull_test.cc +44 -0
  123. package/deps/abseil-cpp/absl/base/nullability_test.cc +90 -0
  124. package/deps/abseil-cpp/absl/base/optimization.h +310 -0
  125. package/deps/abseil-cpp/absl/base/optimization_test.cc +141 -0
  126. package/deps/abseil-cpp/absl/base/options.h +158 -0
  127. package/deps/abseil-cpp/absl/base/policy_checks.h +115 -0
  128. package/deps/abseil-cpp/absl/base/port.h +25 -0
  129. package/deps/abseil-cpp/absl/base/prefetch.h +209 -0
  130. package/deps/abseil-cpp/absl/base/prefetch_test.cc +64 -0
  131. package/deps/abseil-cpp/absl/base/raw_logging_test.cc +98 -0
  132. package/deps/abseil-cpp/absl/base/spinlock_test_common.cc +302 -0
  133. package/deps/abseil-cpp/absl/base/thread_annotations.h +333 -0
  134. package/deps/abseil-cpp/absl/base/throw_delegate_test.cc +175 -0
  135. package/deps/abseil-cpp/absl/cleanup/BUILD.bazel +74 -0
  136. package/deps/abseil-cpp/absl/cleanup/CMakeLists.txt +55 -0
  137. package/deps/abseil-cpp/absl/cleanup/cleanup.h +142 -0
  138. package/deps/abseil-cpp/absl/cleanup/cleanup_test.cc +309 -0
  139. package/deps/abseil-cpp/absl/cleanup/internal/cleanup.h +99 -0
  140. package/deps/abseil-cpp/absl/container/BUILD.bazel +1394 -0
  141. package/deps/abseil-cpp/absl/container/CMakeLists.txt +1239 -0
  142. package/deps/abseil-cpp/absl/container/btree_benchmark.cc +806 -0
  143. package/deps/abseil-cpp/absl/container/btree_map.h +941 -0
  144. package/deps/abseil-cpp/absl/container/btree_set.h +872 -0
  145. package/deps/abseil-cpp/absl/container/btree_test.cc +3653 -0
  146. package/deps/abseil-cpp/absl/container/btree_test.h +166 -0
  147. package/deps/abseil-cpp/absl/container/chunked_queue.h +755 -0
  148. package/deps/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
  149. package/deps/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
  150. package/deps/abseil-cpp/absl/container/fixed_array.h +547 -0
  151. package/deps/abseil-cpp/absl/container/fixed_array_benchmark.cc +67 -0
  152. package/deps/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +201 -0
  153. package/deps/abseil-cpp/absl/container/fixed_array_test.cc +874 -0
  154. package/deps/abseil-cpp/absl/container/flat_hash_map.h +702 -0
  155. package/deps/abseil-cpp/absl/container/flat_hash_map_test.cc +451 -0
  156. package/deps/abseil-cpp/absl/container/flat_hash_set.h +590 -0
  157. package/deps/abseil-cpp/absl/container/flat_hash_set_test.cc +401 -0
  158. package/deps/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  159. package/deps/abseil-cpp/absl/container/inlined_vector.h +1025 -0
  160. package/deps/abseil-cpp/absl/container/inlined_vector_benchmark.cc +829 -0
  161. package/deps/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +508 -0
  162. package/deps/abseil-cpp/absl/container/inlined_vector_test.cc +2278 -0
  163. package/deps/abseil-cpp/absl/container/internal/btree.h +3149 -0
  164. package/deps/abseil-cpp/absl/container/internal/btree_container.h +876 -0
  165. package/deps/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
  166. package/deps/abseil-cpp/absl/container/internal/common.h +301 -0
  167. package/deps/abseil-cpp/absl/container/internal/common_policy_traits.h +151 -0
  168. package/deps/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +157 -0
  169. package/deps/abseil-cpp/absl/container/internal/compressed_tuple.h +275 -0
  170. package/deps/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +469 -0
  171. package/deps/abseil-cpp/absl/container/internal/container_memory.h +561 -0
  172. package/deps/abseil-cpp/absl/container/internal/container_memory_test.cc +359 -0
  173. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults.h +281 -0
  174. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +633 -0
  175. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.cc +54 -0
  176. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.h +172 -0
  177. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing.h +173 -0
  178. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +45 -0
  179. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits.h +195 -0
  180. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +149 -0
  181. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  182. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
  183. package/deps/abseil-cpp/absl/container/internal/hashtable_debug.h +102 -0
  184. package/deps/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  185. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +316 -0
  186. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.h +311 -0
  187. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  188. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +534 -0
  189. package/deps/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
  190. package/deps/abseil-cpp/absl/container/internal/inlined_vector.h +1094 -0
  191. package/deps/abseil-cpp/absl/container/internal/layout.h +828 -0
  192. package/deps/abseil-cpp/absl/container/internal/layout_benchmark.cc +295 -0
  193. package/deps/abseil-cpp/absl/container/internal/layout_test.cc +2034 -0
  194. package/deps/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  195. package/deps/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +71 -0
  196. package/deps/abseil-cpp/absl/container/internal/raw_hash_map.h +382 -0
  197. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.cc +2090 -0
  198. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.h +3763 -0
  199. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +525 -0
  200. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +696 -0
  201. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +583 -0
  202. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
  203. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
  204. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +4184 -0
  205. package/deps/abseil-cpp/absl/container/internal/test_allocator.h +387 -0
  206. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.cc +29 -0
  207. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
  208. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +184 -0
  209. package/deps/abseil-cpp/absl/container/internal/tracked.h +83 -0
  210. package/deps/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +435 -0
  211. package/deps/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +112 -0
  212. package/deps/abseil-cpp/absl/container/internal/unordered_map_members_test.h +87 -0
  213. package/deps/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +336 -0
  214. package/deps/abseil-cpp/absl/container/internal/unordered_map_test.cc +50 -0
  215. package/deps/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +437 -0
  216. package/deps/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +88 -0
  217. package/deps/abseil-cpp/absl/container/internal/unordered_set_members_test.h +86 -0
  218. package/deps/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +215 -0
  219. package/deps/abseil-cpp/absl/container/internal/unordered_set_test.cc +41 -0
  220. package/deps/abseil-cpp/absl/container/linked_hash_map.h +666 -0
  221. package/deps/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
  222. package/deps/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
  223. package/deps/abseil-cpp/absl/container/linked_hash_set.h +527 -0
  224. package/deps/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
  225. package/deps/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
  226. package/deps/abseil-cpp/absl/container/node_hash_map.h +698 -0
  227. package/deps/abseil-cpp/absl/container/node_hash_map_test.cc +348 -0
  228. package/deps/abseil-cpp/absl/container/node_hash_set.h +589 -0
  229. package/deps/abseil-cpp/absl/container/node_hash_set_test.cc +188 -0
  230. package/deps/abseil-cpp/absl/container/sample_element_size_test.cc +118 -0
  231. package/deps/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +106 -0
  232. package/deps/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +303 -0
  233. package/deps/abseil-cpp/absl/copts/GENERATED_copts.bzl +304 -0
  234. package/deps/abseil-cpp/absl/copts/configure_copts.bzl +39 -0
  235. package/deps/abseil-cpp/absl/copts/copts.py +205 -0
  236. package/deps/abseil-cpp/absl/copts/generate_copts.py +109 -0
  237. package/deps/abseil-cpp/absl/crc/BUILD.bazel +228 -0
  238. package/deps/abseil-cpp/absl/crc/CMakeLists.txt +177 -0
  239. package/deps/abseil-cpp/absl/crc/crc32c.cc +95 -0
  240. package/deps/abseil-cpp/absl/crc/crc32c.h +192 -0
  241. package/deps/abseil-cpp/absl/crc/crc32c_benchmark.cc +196 -0
  242. package/deps/abseil-cpp/absl/crc/crc32c_test.cc +257 -0
  243. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.cc +359 -0
  244. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.h +69 -0
  245. package/deps/abseil-cpp/absl/crc/internal/crc.cc +435 -0
  246. package/deps/abseil-cpp/absl/crc/internal/crc.h +83 -0
  247. package/deps/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +278 -0
  248. package/deps/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  249. package/deps/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  250. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.cc +131 -0
  251. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  252. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +124 -0
  253. package/deps/abseil-cpp/absl/crc/internal/crc_internal.h +161 -0
  254. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy.h +122 -0
  255. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +78 -0
  256. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +177 -0
  257. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +459 -0
  258. package/deps/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  259. package/deps/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +762 -0
  260. package/deps/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
  261. package/deps/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +81 -0
  262. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +195 -0
  263. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +90 -0
  264. package/deps/abseil-cpp/absl/debugging/BUILD.bazel +483 -0
  265. package/deps/abseil-cpp/absl/debugging/CMakeLists.txt +448 -0
  266. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.cc +434 -0
  267. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
  268. package/deps/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +166 -0
  269. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.cc +98 -0
  270. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  271. package/deps/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  272. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
  273. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
  274. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
  275. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  276. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence_test.cc +126 -0
  277. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  278. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  279. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode_test.cc +606 -0
  280. package/deps/abseil-cpp/absl/debugging/internal/demangle.cc +2958 -0
  281. package/deps/abseil-cpp/absl/debugging/internal/demangle.h +76 -0
  282. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  283. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  284. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust_test.cc +584 -0
  285. package/deps/abseil-cpp/absl/debugging/internal/demangle_test.cc +2050 -0
  286. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +413 -0
  287. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.h +141 -0
  288. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.cc +334 -0
  289. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.h +70 -0
  290. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.cc +206 -0
  291. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
  292. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +50 -0
  293. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +288 -0
  294. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +148 -0
  295. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_config.h +96 -0
  296. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +112 -0
  297. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +114 -0
  298. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +270 -0
  299. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +204 -0
  300. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +25 -0
  301. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +81 -0
  302. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +410 -0
  303. package/deps/abseil-cpp/absl/debugging/internal/symbolize.h +153 -0
  304. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  305. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  306. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point_test.cc +175 -0
  307. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.cc +209 -0
  308. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  309. package/deps/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  310. package/deps/abseil-cpp/absl/debugging/leak_check.h +150 -0
  311. package/deps/abseil-cpp/absl/debugging/leak_check_fail_test.cc +41 -0
  312. package/deps/abseil-cpp/absl/debugging/leak_check_test.cc +41 -0
  313. package/deps/abseil-cpp/absl/debugging/stacktrace.cc +244 -0
  314. package/deps/abseil-cpp/absl/debugging/stacktrace.h +302 -0
  315. package/deps/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +78 -0
  316. package/deps/abseil-cpp/absl/debugging/stacktrace_test.cc +505 -0
  317. package/deps/abseil-cpp/absl/debugging/symbolize.cc +44 -0
  318. package/deps/abseil-cpp/absl/debugging/symbolize.h +99 -0
  319. package/deps/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
  320. package/deps/abseil-cpp/absl/debugging/symbolize_elf.inc +1756 -0
  321. package/deps/abseil-cpp/absl/debugging/symbolize_emscripten.inc +63 -0
  322. package/deps/abseil-cpp/absl/debugging/symbolize_test.cc +619 -0
  323. package/deps/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  324. package/deps/abseil-cpp/absl/debugging/symbolize_win32.inc +99 -0
  325. package/deps/abseil-cpp/absl/extend/CMakeLists.txt +140 -0
  326. package/deps/abseil-cpp/absl/extend/internal/BUILD.bazel +127 -0
  327. package/deps/abseil-cpp/absl/extend/internal/aggregate.h +1687 -0
  328. package/deps/abseil-cpp/absl/extend/internal/aggregate_test.cc +867 -0
  329. package/deps/abseil-cpp/absl/extend/internal/dependencies.h +83 -0
  330. package/deps/abseil-cpp/absl/extend/internal/dependencies_test.cc +117 -0
  331. package/deps/abseil-cpp/absl/extend/internal/is_tuple_hashable.h +45 -0
  332. package/deps/abseil-cpp/absl/extend/internal/num_bases.h +87 -0
  333. package/deps/abseil-cpp/absl/extend/internal/num_bases_test.cc +91 -0
  334. package/deps/abseil-cpp/absl/extend/internal/num_initializers.h +113 -0
  335. package/deps/abseil-cpp/absl/extend/internal/num_initializers_test.cc +250 -0
  336. package/deps/abseil-cpp/absl/extend/internal/reflection.cc +112 -0
  337. package/deps/abseil-cpp/absl/extend/internal/reflection.h +75 -0
  338. package/deps/abseil-cpp/absl/extend/internal/tuple.h +51 -0
  339. package/deps/abseil-cpp/absl/flags/BUILD.bazel +618 -0
  340. package/deps/abseil-cpp/absl/flags/CMakeLists.txt +482 -0
  341. package/deps/abseil-cpp/absl/flags/commandlineflag.cc +35 -0
  342. package/deps/abseil-cpp/absl/flags/commandlineflag.h +219 -0
  343. package/deps/abseil-cpp/absl/flags/commandlineflag_test.cc +236 -0
  344. package/deps/abseil-cpp/absl/flags/config.h +68 -0
  345. package/deps/abseil-cpp/absl/flags/config_test.cc +61 -0
  346. package/deps/abseil-cpp/absl/flags/declare.h +77 -0
  347. package/deps/abseil-cpp/absl/flags/flag.h +307 -0
  348. package/deps/abseil-cpp/absl/flags/flag_benchmark.cc +251 -0
  349. package/deps/abseil-cpp/absl/flags/flag_benchmark.lds +13 -0
  350. package/deps/abseil-cpp/absl/flags/flag_test.cc +1381 -0
  351. package/deps/abseil-cpp/absl/flags/flag_test_defs.cc +24 -0
  352. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  353. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  354. package/deps/abseil-cpp/absl/flags/internal/flag.cc +712 -0
  355. package/deps/abseil-cpp/absl/flags/internal/flag.h +969 -0
  356. package/deps/abseil-cpp/absl/flags/internal/parse.h +70 -0
  357. package/deps/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  358. package/deps/abseil-cpp/absl/flags/internal/path_util_test.cc +46 -0
  359. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +69 -0
  360. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.h +64 -0
  361. package/deps/abseil-cpp/absl/flags/internal/program_name.cc +61 -0
  362. package/deps/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  363. package/deps/abseil-cpp/absl/flags/internal/program_name_test.cc +61 -0
  364. package/deps/abseil-cpp/absl/flags/internal/registry.h +98 -0
  365. package/deps/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  366. package/deps/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +169 -0
  367. package/deps/abseil-cpp/absl/flags/internal/usage.cc +558 -0
  368. package/deps/abseil-cpp/absl/flags/internal/usage.h +106 -0
  369. package/deps/abseil-cpp/absl/flags/internal/usage_test.cc +550 -0
  370. package/deps/abseil-cpp/absl/flags/marshalling.cc +276 -0
  371. package/deps/abseil-cpp/absl/flags/marshalling.h +361 -0
  372. package/deps/abseil-cpp/absl/flags/marshalling_test.cc +1220 -0
  373. package/deps/abseil-cpp/absl/flags/parse.cc +952 -0
  374. package/deps/abseil-cpp/absl/flags/parse.h +130 -0
  375. package/deps/abseil-cpp/absl/flags/parse_test.cc +1094 -0
  376. package/deps/abseil-cpp/absl/flags/reflection.cc +368 -0
  377. package/deps/abseil-cpp/absl/flags/reflection.h +90 -0
  378. package/deps/abseil-cpp/absl/flags/reflection_test.cc +268 -0
  379. package/deps/abseil-cpp/absl/flags/usage.cc +66 -0
  380. package/deps/abseil-cpp/absl/flags/usage.h +43 -0
  381. package/deps/abseil-cpp/absl/flags/usage_config.cc +170 -0
  382. package/deps/abseil-cpp/absl/flags/usage_config.h +135 -0
  383. package/deps/abseil-cpp/absl/flags/usage_config_test.cc +205 -0
  384. package/deps/abseil-cpp/absl/functional/BUILD.bazel +173 -0
  385. package/deps/abseil-cpp/absl/functional/CMakeLists.txt +140 -0
  386. package/deps/abseil-cpp/absl/functional/any_invocable.h +336 -0
  387. package/deps/abseil-cpp/absl/functional/any_invocable_test.cc +1687 -0
  388. package/deps/abseil-cpp/absl/functional/bind_front.h +200 -0
  389. package/deps/abseil-cpp/absl/functional/bind_front_test.cc +227 -0
  390. package/deps/abseil-cpp/absl/functional/function_ref.h +249 -0
  391. package/deps/abseil-cpp/absl/functional/function_ref_test.cc +416 -0
  392. package/deps/abseil-cpp/absl/functional/function_type_benchmark.cc +176 -0
  393. package/deps/abseil-cpp/absl/functional/internal/any_invocable.h +787 -0
  394. package/deps/abseil-cpp/absl/functional/internal/front_binder.h +93 -0
  395. package/deps/abseil-cpp/absl/functional/internal/function_ref.h +151 -0
  396. package/deps/abseil-cpp/absl/functional/overload.h +72 -0
  397. package/deps/abseil-cpp/absl/functional/overload_test.cc +207 -0
  398. package/deps/abseil-cpp/absl/hash/BUILD.bazel +220 -0
  399. package/deps/abseil-cpp/absl/hash/CMakeLists.txt +179 -0
  400. package/deps/abseil-cpp/absl/hash/hash.h +466 -0
  401. package/deps/abseil-cpp/absl/hash/hash_benchmark.cc +398 -0
  402. package/deps/abseil-cpp/absl/hash/hash_instantiated_test.cc +224 -0
  403. package/deps/abseil-cpp/absl/hash/hash_test.cc +1320 -0
  404. package/deps/abseil-cpp/absl/hash/hash_testing.h +380 -0
  405. package/deps/abseil-cpp/absl/hash/internal/city.cc +337 -0
  406. package/deps/abseil-cpp/absl/hash/internal/city.h +78 -0
  407. package/deps/abseil-cpp/absl/hash/internal/city_test.cc +597 -0
  408. package/deps/abseil-cpp/absl/hash/internal/hash.cc +430 -0
  409. package/deps/abseil-cpp/absl/hash/internal/hash.h +1563 -0
  410. package/deps/abseil-cpp/absl/hash/internal/hash_test.h +87 -0
  411. package/deps/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +509 -0
  412. package/deps/abseil-cpp/absl/hash/internal/print_hash_of.cc +23 -0
  413. package/deps/abseil-cpp/absl/hash/internal/spy_hash_state.h +286 -0
  414. package/deps/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  415. package/deps/abseil-cpp/absl/log/BUILD.bazel +686 -0
  416. package/deps/abseil-cpp/absl/log/CMakeLists.txt +1239 -0
  417. package/deps/abseil-cpp/absl/log/absl_check.h +117 -0
  418. package/deps/abseil-cpp/absl/log/absl_check_test.cc +58 -0
  419. package/deps/abseil-cpp/absl/log/absl_log.h +115 -0
  420. package/deps/abseil-cpp/absl/log/absl_log_basic_test.cc +22 -0
  421. package/deps/abseil-cpp/absl/log/absl_vlog_is_on.h +95 -0
  422. package/deps/abseil-cpp/absl/log/check.h +210 -0
  423. package/deps/abseil-cpp/absl/log/check_test.cc +58 -0
  424. package/deps/abseil-cpp/absl/log/check_test_impl.inc +1035 -0
  425. package/deps/abseil-cpp/absl/log/die_if_null.cc +34 -0
  426. package/deps/abseil-cpp/absl/log/die_if_null.h +97 -0
  427. package/deps/abseil-cpp/absl/log/die_if_null_test.cc +107 -0
  428. package/deps/abseil-cpp/absl/log/flags.cc +143 -0
  429. package/deps/abseil-cpp/absl/log/flags.h +43 -0
  430. package/deps/abseil-cpp/absl/log/flags_test.cc +195 -0
  431. package/deps/abseil-cpp/absl/log/globals.cc +178 -0
  432. package/deps/abseil-cpp/absl/log/globals.h +230 -0
  433. package/deps/abseil-cpp/absl/log/globals_test.cc +156 -0
  434. package/deps/abseil-cpp/absl/log/initialize.cc +38 -0
  435. package/deps/abseil-cpp/absl/log/initialize.h +45 -0
  436. package/deps/abseil-cpp/absl/log/internal/BUILD.bazel +581 -0
  437. package/deps/abseil-cpp/absl/log/internal/append_truncated.h +75 -0
  438. package/deps/abseil-cpp/absl/log/internal/check_impl.h +151 -0
  439. package/deps/abseil-cpp/absl/log/internal/check_op.cc +147 -0
  440. package/deps/abseil-cpp/absl/log/internal/check_op.h +565 -0
  441. package/deps/abseil-cpp/absl/log/internal/conditions.cc +85 -0
  442. package/deps/abseil-cpp/absl/log/internal/conditions.h +247 -0
  443. package/deps/abseil-cpp/absl/log/internal/config.h +45 -0
  444. package/deps/abseil-cpp/absl/log/internal/container.h +312 -0
  445. package/deps/abseil-cpp/absl/log/internal/container_test.cc +254 -0
  446. package/deps/abseil-cpp/absl/log/internal/flags.h +59 -0
  447. package/deps/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
  448. package/deps/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
  449. package/deps/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc +29 -0
  450. package/deps/abseil-cpp/absl/log/internal/fnmatch_test.cc +60 -0
  451. package/deps/abseil-cpp/absl/log/internal/globals.cc +145 -0
  452. package/deps/abseil-cpp/absl/log/internal/globals.h +101 -0
  453. package/deps/abseil-cpp/absl/log/internal/log_format.cc +205 -0
  454. package/deps/abseil-cpp/absl/log/internal/log_format.h +78 -0
  455. package/deps/abseil-cpp/absl/log/internal/log_impl.h +280 -0
  456. package/deps/abseil-cpp/absl/log/internal/log_message.cc +787 -0
  457. package/deps/abseil-cpp/absl/log/internal/log_message.h +455 -0
  458. package/deps/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
  459. package/deps/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
  460. package/deps/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
  461. package/deps/abseil-cpp/absl/log/internal/nullguard.h +88 -0
  462. package/deps/abseil-cpp/absl/log/internal/nullstream.h +128 -0
  463. package/deps/abseil-cpp/absl/log/internal/proto.cc +218 -0
  464. package/deps/abseil-cpp/absl/log/internal/proto.h +298 -0
  465. package/deps/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +105 -0
  466. package/deps/abseil-cpp/absl/log/internal/strip.h +99 -0
  467. package/deps/abseil-cpp/absl/log/internal/structured.h +160 -0
  468. package/deps/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  469. package/deps/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  470. package/deps/abseil-cpp/absl/log/internal/structured_proto_test.cc +120 -0
  471. package/deps/abseil-cpp/absl/log/internal/test_actions.cc +75 -0
  472. package/deps/abseil-cpp/absl/log/internal/test_actions.h +90 -0
  473. package/deps/abseil-cpp/absl/log/internal/test_helpers.cc +82 -0
  474. package/deps/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
  475. package/deps/abseil-cpp/absl/log/internal/test_matchers.cc +216 -0
  476. package/deps/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
  477. package/deps/abseil-cpp/absl/log/internal/vlog_config.cc +347 -0
  478. package/deps/abseil-cpp/absl/log/internal/vlog_config.h +164 -0
  479. package/deps/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +187 -0
  480. package/deps/abseil-cpp/absl/log/internal/voidify.h +50 -0
  481. package/deps/abseil-cpp/absl/log/log.h +378 -0
  482. package/deps/abseil-cpp/absl/log/log_basic_test.cc +22 -0
  483. package/deps/abseil-cpp/absl/log/log_basic_test_impl.inc +654 -0
  484. package/deps/abseil-cpp/absl/log/log_benchmark.cc +164 -0
  485. package/deps/abseil-cpp/absl/log/log_entry.cc +263 -0
  486. package/deps/abseil-cpp/absl/log/log_entry.h +223 -0
  487. package/deps/abseil-cpp/absl/log/log_entry_test.cc +468 -0
  488. package/deps/abseil-cpp/absl/log/log_format_test.cc +2261 -0
  489. package/deps/abseil-cpp/absl/log/log_macro_hygiene_test.cc +187 -0
  490. package/deps/abseil-cpp/absl/log/log_modifier_methods_test.cc +244 -0
  491. package/deps/abseil-cpp/absl/log/log_sink.cc +23 -0
  492. package/deps/abseil-cpp/absl/log/log_sink.h +71 -0
  493. package/deps/abseil-cpp/absl/log/log_sink_registry.h +64 -0
  494. package/deps/abseil-cpp/absl/log/log_sink_test.cc +418 -0
  495. package/deps/abseil-cpp/absl/log/log_streamer.h +181 -0
  496. package/deps/abseil-cpp/absl/log/log_streamer_test.cc +451 -0
  497. package/deps/abseil-cpp/absl/log/scoped_mock_log.cc +86 -0
  498. package/deps/abseil-cpp/absl/log/scoped_mock_log.h +203 -0
  499. package/deps/abseil-cpp/absl/log/scoped_mock_log_test.cc +295 -0
  500. package/deps/abseil-cpp/absl/log/stripping_test.cc +502 -0
  501. package/deps/abseil-cpp/absl/log/structured.h +75 -0
  502. package/deps/abseil-cpp/absl/log/structured_test.cc +64 -0
  503. package/deps/abseil-cpp/absl/log/vlog_is_on.h +74 -0
  504. package/deps/abseil-cpp/absl/log/vlog_is_on_test.cc +233 -0
  505. package/deps/abseil-cpp/absl/memory/BUILD.bazel +62 -0
  506. package/deps/abseil-cpp/absl/memory/CMakeLists.txt +41 -0
  507. package/deps/abseil-cpp/absl/memory/memory.h +278 -0
  508. package/deps/abseil-cpp/absl/memory/memory_test.cc +222 -0
  509. package/deps/abseil-cpp/absl/meta/BUILD.bazel +112 -0
  510. package/deps/abseil-cpp/absl/meta/CMakeLists.txt +100 -0
  511. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
  512. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
  513. package/deps/abseil-cpp/absl/meta/internal/requires.h +67 -0
  514. package/deps/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
  515. package/deps/abseil-cpp/absl/meta/type_traits.h +582 -0
  516. package/deps/abseil-cpp/absl/meta/type_traits_test.cc +378 -0
  517. package/deps/abseil-cpp/absl/numeric/BUILD.bazel +145 -0
  518. package/deps/abseil-cpp/absl/numeric/CMakeLists.txt +104 -0
  519. package/deps/abseil-cpp/absl/numeric/bits.h +262 -0
  520. package/deps/abseil-cpp/absl/numeric/bits_benchmark.cc +73 -0
  521. package/deps/abseil-cpp/absl/numeric/bits_test.cc +724 -0
  522. package/deps/abseil-cpp/absl/numeric/int128.cc +344 -0
  523. package/deps/abseil-cpp/absl/numeric/int128.h +1224 -0
  524. package/deps/abseil-cpp/absl/numeric/int128_benchmark.cc +281 -0
  525. package/deps/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +303 -0
  526. package/deps/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +347 -0
  527. package/deps/abseil-cpp/absl/numeric/int128_stream_test.cc +1400 -0
  528. package/deps/abseil-cpp/absl/numeric/int128_test.cc +1407 -0
  529. package/deps/abseil-cpp/absl/numeric/internal/bits.h +394 -0
  530. package/deps/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  531. package/deps/abseil-cpp/absl/profiling/BUILD.bazel +188 -0
  532. package/deps/abseil-cpp/absl/profiling/CMakeLists.txt +132 -0
  533. package/deps/abseil-cpp/absl/profiling/hashtable.cc +135 -0
  534. package/deps/abseil-cpp/absl/profiling/hashtable.h +40 -0
  535. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  536. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  537. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +203 -0
  538. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +53 -0
  539. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
  540. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +79 -0
  541. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +177 -0
  542. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.cc +463 -0
  543. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.h +161 -0
  544. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
  545. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +188 -0
  546. package/deps/abseil-cpp/absl/random/BUILD.bazel +550 -0
  547. package/deps/abseil-cpp/absl/random/CMakeLists.txt +1250 -0
  548. package/deps/abseil-cpp/absl/random/benchmarks.cc +376 -0
  549. package/deps/abseil-cpp/absl/random/bernoulli_distribution.h +202 -0
  550. package/deps/abseil-cpp/absl/random/bernoulli_distribution_test.cc +217 -0
  551. package/deps/abseil-cpp/absl/random/beta_distribution.h +429 -0
  552. package/deps/abseil-cpp/absl/random/beta_distribution_test.cc +615 -0
  553. package/deps/abseil-cpp/absl/random/bit_gen_ref.h +187 -0
  554. package/deps/abseil-cpp/absl/random/bit_gen_ref_test.cc +107 -0
  555. package/deps/abseil-cpp/absl/random/discrete_distribution.cc +108 -0
  556. package/deps/abseil-cpp/absl/random/discrete_distribution.h +249 -0
  557. package/deps/abseil-cpp/absl/random/discrete_distribution_test.cc +251 -0
  558. package/deps/abseil-cpp/absl/random/distributions.h +450 -0
  559. package/deps/abseil-cpp/absl/random/distributions_test.cc +516 -0
  560. package/deps/abseil-cpp/absl/random/examples_test.cc +98 -0
  561. package/deps/abseil-cpp/absl/random/exponential_distribution.h +166 -0
  562. package/deps/abseil-cpp/absl/random/exponential_distribution_test.cc +426 -0
  563. package/deps/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  564. package/deps/abseil-cpp/absl/random/gaussian_distribution.h +276 -0
  565. package/deps/abseil-cpp/absl/random/gaussian_distribution_test.cc +561 -0
  566. package/deps/abseil-cpp/absl/random/generators_test.cc +185 -0
  567. package/deps/abseil-cpp/absl/random/internal/BUILD.bazel +863 -0
  568. package/deps/abseil-cpp/absl/random/internal/chi_square.cc +230 -0
  569. package/deps/abseil-cpp/absl/random/internal/chi_square.h +89 -0
  570. package/deps/abseil-cpp/absl/random/internal/chi_square_test.cc +364 -0
  571. package/deps/abseil-cpp/absl/random/internal/distribution_caller.h +96 -0
  572. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.cc +418 -0
  573. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
  574. package/deps/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +193 -0
  575. package/deps/abseil-cpp/absl/random/internal/entropy_pool.cc +185 -0
  576. package/deps/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  577. package/deps/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
  578. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
  579. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +241 -0
  580. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits.h +271 -0
  581. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +336 -0
  582. package/deps/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  583. package/deps/abseil-cpp/absl/random/internal/fastmath_test.cc +95 -0
  584. package/deps/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +142 -0
  585. package/deps/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  586. package/deps/abseil-cpp/absl/random/internal/generate_real_test.cc +496 -0
  587. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver.h +248 -0
  588. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +373 -0
  589. package/deps/abseil-cpp/absl/random/internal/mock_helpers.h +160 -0
  590. package/deps/abseil-cpp/absl/random/internal/mock_overload_set.h +122 -0
  591. package/deps/abseil-cpp/absl/random/internal/mock_validators.h +98 -0
  592. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.cc +804 -0
  593. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
  594. package/deps/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +79 -0
  595. package/deps/abseil-cpp/absl/random/internal/nonsecure_base.h +160 -0
  596. package/deps/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +267 -0
  597. package/deps/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  598. package/deps/abseil-cpp/absl/random/internal/pcg_engine_test.cc +638 -0
  599. package/deps/abseil-cpp/absl/random/internal/platform.h +158 -0
  600. package/deps/abseil-cpp/absl/random/internal/randen.cc +91 -0
  601. package/deps/abseil-cpp/absl/random/internal/randen.h +96 -0
  602. package/deps/abseil-cpp/absl/random/internal/randen_benchmarks.cc +177 -0
  603. package/deps/abseil-cpp/absl/random/internal/randen_detect.cc +280 -0
  604. package/deps/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  605. package/deps/abseil-cpp/absl/random/internal/randen_engine.h +265 -0
  606. package/deps/abseil-cpp/absl/random/internal/randen_engine_test.cc +654 -0
  607. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  608. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  609. package/deps/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +99 -0
  610. package/deps/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  611. package/deps/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  612. package/deps/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  613. package/deps/abseil-cpp/absl/random/internal/randen_slow_test.cc +61 -0
  614. package/deps/abseil-cpp/absl/random/internal/randen_test.cc +75 -0
  615. package/deps/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  616. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  617. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +172 -0
  618. package/deps/abseil-cpp/absl/random/internal/seed_material.cc +249 -0
  619. package/deps/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  620. package/deps/abseil-cpp/absl/random/internal/seed_material_test.cc +205 -0
  621. package/deps/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
  622. package/deps/abseil-cpp/absl/random/internal/traits.h +149 -0
  623. package/deps/abseil-cpp/absl/random/internal/traits_test.cc +123 -0
  624. package/deps/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  625. package/deps/abseil-cpp/absl/random/internal/uniform_helper_test.cc +279 -0
  626. package/deps/abseil-cpp/absl/random/internal/wide_multiply.h +95 -0
  627. package/deps/abseil-cpp/absl/random/internal/wide_multiply_test.cc +119 -0
  628. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution.h +253 -0
  629. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +277 -0
  630. package/deps/abseil-cpp/absl/random/mock_distributions.h +269 -0
  631. package/deps/abseil-cpp/absl/random/mock_distributions_test.cc +281 -0
  632. package/deps/abseil-cpp/absl/random/mocking_bit_gen.h +237 -0
  633. package/deps/abseil-cpp/absl/random/mocking_bit_gen_test.cc +403 -0
  634. package/deps/abseil-cpp/absl/random/poisson_distribution.h +262 -0
  635. package/deps/abseil-cpp/absl/random/poisson_distribution_test.cc +569 -0
  636. package/deps/abseil-cpp/absl/random/random.h +224 -0
  637. package/deps/abseil-cpp/absl/random/seed_gen_exception.cc +45 -0
  638. package/deps/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  639. package/deps/abseil-cpp/absl/random/seed_sequences.cc +33 -0
  640. package/deps/abseil-cpp/absl/random/seed_sequences.h +112 -0
  641. package/deps/abseil-cpp/absl/random/seed_sequences_test.cc +126 -0
  642. package/deps/abseil-cpp/absl/random/uniform_int_distribution.h +276 -0
  643. package/deps/abseil-cpp/absl/random/uniform_int_distribution_test.cc +259 -0
  644. package/deps/abseil-cpp/absl/random/uniform_real_distribution.h +204 -0
  645. package/deps/abseil-cpp/absl/random/uniform_real_distribution_test.cc +394 -0
  646. package/deps/abseil-cpp/absl/random/zipf_distribution.h +273 -0
  647. package/deps/abseil-cpp/absl/random/zipf_distribution_test.cc +423 -0
  648. package/deps/abseil-cpp/absl/status/BUILD.bazel +211 -0
  649. package/deps/abseil-cpp/absl/status/CMakeLists.txt +159 -0
  650. package/deps/abseil-cpp/absl/status/internal/status_internal.cc +251 -0
  651. package/deps/abseil-cpp/absl/status/internal/status_internal.h +133 -0
  652. package/deps/abseil-cpp/absl/status/internal/status_matchers.cc +69 -0
  653. package/deps/abseil-cpp/absl/status/internal/status_matchers.h +246 -0
  654. package/deps/abseil-cpp/absl/status/internal/statusor_internal.h +657 -0
  655. package/deps/abseil-cpp/absl/status/status.cc +421 -0
  656. package/deps/abseil-cpp/absl/status/status.h +948 -0
  657. package/deps/abseil-cpp/absl/status/status_benchmark.cc +37 -0
  658. package/deps/abseil-cpp/absl/status/status_matchers.h +166 -0
  659. package/deps/abseil-cpp/absl/status/status_matchers_test.cc +211 -0
  660. package/deps/abseil-cpp/absl/status/status_payload_printer.cc +36 -0
  661. package/deps/abseil-cpp/absl/status/status_payload_printer.h +52 -0
  662. package/deps/abseil-cpp/absl/status/status_test.cc +580 -0
  663. package/deps/abseil-cpp/absl/status/statusor.cc +106 -0
  664. package/deps/abseil-cpp/absl/status/statusor.h +743 -0
  665. package/deps/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
  666. package/deps/abseil-cpp/absl/status/statusor_test.cc +2124 -0
  667. package/deps/abseil-cpp/absl/strings/BUILD.bazel +1593 -0
  668. package/deps/abseil-cpp/absl/strings/CMakeLists.txt +1295 -0
  669. package/deps/abseil-cpp/absl/strings/ascii.cc +296 -0
  670. package/deps/abseil-cpp/absl/strings/ascii.h +289 -0
  671. package/deps/abseil-cpp/absl/strings/ascii_benchmark.cc +157 -0
  672. package/deps/abseil-cpp/absl/strings/ascii_test.cc +374 -0
  673. package/deps/abseil-cpp/absl/strings/atod_manual_test.cc +193 -0
  674. package/deps/abseil-cpp/absl/strings/char_formatting_test.cc +169 -0
  675. package/deps/abseil-cpp/absl/strings/charconv.cc +1442 -0
  676. package/deps/abseil-cpp/absl/strings/charconv.h +123 -0
  677. package/deps/abseil-cpp/absl/strings/charconv_benchmark.cc +203 -0
  678. package/deps/abseil-cpp/absl/strings/charconv_test.cc +787 -0
  679. package/deps/abseil-cpp/absl/strings/charset.h +163 -0
  680. package/deps/abseil-cpp/absl/strings/charset_benchmark.cc +57 -0
  681. package/deps/abseil-cpp/absl/strings/charset_test.cc +181 -0
  682. package/deps/abseil-cpp/absl/strings/cord.cc +1582 -0
  683. package/deps/abseil-cpp/absl/strings/cord.h +1763 -0
  684. package/deps/abseil-cpp/absl/strings/cord_analysis.cc +196 -0
  685. package/deps/abseil-cpp/absl/strings/cord_analysis.h +63 -0
  686. package/deps/abseil-cpp/absl/strings/cord_buffer.h +572 -0
  687. package/deps/abseil-cpp/absl/strings/cord_buffer_test.cc +322 -0
  688. package/deps/abseil-cpp/absl/strings/cord_test.cc +3421 -0
  689. package/deps/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
  690. package/deps/abseil-cpp/absl/strings/cordz_test.cc +468 -0
  691. package/deps/abseil-cpp/absl/strings/cordz_test_helpers.h +152 -0
  692. package/deps/abseil-cpp/absl/strings/escaping.cc +1035 -0
  693. package/deps/abseil-cpp/absl/strings/escaping.h +185 -0
  694. package/deps/abseil-cpp/absl/strings/escaping_benchmark.cc +124 -0
  695. package/deps/abseil-cpp/absl/strings/escaping_test.cc +760 -0
  696. package/deps/abseil-cpp/absl/strings/has_absl_stringify.h +64 -0
  697. package/deps/abseil-cpp/absl/strings/has_absl_stringify_test.cc +40 -0
  698. package/deps/abseil-cpp/absl/strings/has_ostream_operator.h +42 -0
  699. package/deps/abseil-cpp/absl/strings/has_ostream_operator_test.cc +41 -0
  700. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
  701. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
  702. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.cc +357 -0
  703. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.h +433 -0
  704. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +260 -0
  705. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  706. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  707. package/deps/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +357 -0
  708. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  709. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +130 -0
  710. package/deps/abseil-cpp/absl/strings/internal/cord_internal.cc +70 -0
  711. package/deps/abseil-cpp/absl/strings/internal/cord_internal.h +942 -0
  712. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1237 -0
  713. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.h +944 -0
  714. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  715. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  716. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +346 -0
  717. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  718. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  719. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +293 -0
  720. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +1568 -0
  721. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +64 -0
  722. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.h +47 -0
  723. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  724. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  725. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +130 -0
  726. package/deps/abseil-cpp/absl/strings/internal/cord_rep_flat.h +195 -0
  727. package/deps/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
  728. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.cc +102 -0
  729. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.h +87 -0
  730. package/deps/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +147 -0
  731. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.cc +165 -0
  732. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.h +98 -0
  733. package/deps/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +265 -0
  734. package/deps/abseil-cpp/absl/strings/internal/cordz_info.cc +424 -0
  735. package/deps/abseil-cpp/absl/strings/internal/cordz_info.h +295 -0
  736. package/deps/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +510 -0
  737. package/deps/abseil-cpp/absl/strings/internal/cordz_info_test.cc +342 -0
  738. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +64 -0
  739. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
  740. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +208 -0
  741. package/deps/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  742. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  743. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +49 -0
  744. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  745. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +147 -0
  746. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +99 -0
  747. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +35 -0
  748. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
  749. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +99 -0
  750. package/deps/abseil-cpp/absl/strings/internal/escaping.cc +209 -0
  751. package/deps/abseil-cpp/absl/strings/internal/escaping.h +59 -0
  752. package/deps/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
  753. package/deps/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
  754. package/deps/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
  755. package/deps/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
  756. package/deps/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
  757. package/deps/abseil-cpp/absl/strings/internal/memutil.cc +48 -0
  758. package/deps/abseil-cpp/absl/strings/internal/memutil.h +40 -0
  759. package/deps/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +127 -0
  760. package/deps/abseil-cpp/absl/strings/internal/memutil_test.cc +41 -0
  761. package/deps/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
  762. package/deps/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
  763. package/deps/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
  764. package/deps/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +105 -0
  765. package/deps/abseil-cpp/absl/strings/internal/ostringstream_test.cc +131 -0
  766. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.cc +122 -0
  767. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
  768. package/deps/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +122 -0
  769. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized.h +119 -0
  770. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +108 -0
  771. package/deps/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  772. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.cc +615 -0
  773. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.h +661 -0
  774. package/deps/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +162 -0
  775. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.cc +275 -0
  776. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.h +237 -0
  777. package/deps/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +157 -0
  778. package/deps/abseil-cpp/absl/strings/internal/str_format/checker.h +98 -0
  779. package/deps/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +176 -0
  780. package/deps/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +357 -0
  781. package/deps/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1471 -0
  782. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.cc +53 -0
  783. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.h +456 -0
  784. package/deps/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +110 -0
  785. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1945 -0
  786. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
  787. package/deps/abseil-cpp/absl/strings/internal/str_format/output.cc +74 -0
  788. package/deps/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
  789. package/deps/abseil-cpp/absl/strings/internal/str_format/output_test.cc +79 -0
  790. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
  791. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.h +271 -0
  792. package/deps/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +446 -0
  793. package/deps/abseil-cpp/absl/strings/internal/str_join_internal.h +341 -0
  794. package/deps/abseil-cpp/absl/strings/internal/str_split_internal.h +525 -0
  795. package/deps/abseil-cpp/absl/strings/internal/string_constant.h +67 -0
  796. package/deps/abseil-cpp/absl/strings/internal/string_constant_test.cc +60 -0
  797. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  798. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  799. package/deps/abseil-cpp/absl/strings/internal/utf8.cc +148 -0
  800. package/deps/abseil-cpp/absl/strings/internal/utf8.h +64 -0
  801. package/deps/abseil-cpp/absl/strings/internal/utf8_test.cc +259 -0
  802. package/deps/abseil-cpp/absl/strings/match.cc +133 -0
  803. package/deps/abseil-cpp/absl/strings/match.h +129 -0
  804. package/deps/abseil-cpp/absl/strings/match_test.cc +291 -0
  805. package/deps/abseil-cpp/absl/strings/numbers.cc +1230 -0
  806. package/deps/abseil-cpp/absl/strings/numbers.h +359 -0
  807. package/deps/abseil-cpp/absl/strings/numbers_benchmark.cc +288 -0
  808. package/deps/abseil-cpp/absl/strings/numbers_test.cc +2324 -0
  809. package/deps/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
  810. package/deps/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
  811. package/deps/abseil-cpp/absl/strings/str_cat.cc +247 -0
  812. package/deps/abseil-cpp/absl/strings/str_cat.h +633 -0
  813. package/deps/abseil-cpp/absl/strings/str_cat_benchmark.cc +288 -0
  814. package/deps/abseil-cpp/absl/strings/str_cat_test.cc +692 -0
  815. package/deps/abseil-cpp/absl/strings/str_format.h +887 -0
  816. package/deps/abseil-cpp/absl/strings/str_format_test.cc +1230 -0
  817. package/deps/abseil-cpp/absl/strings/str_join.h +301 -0
  818. package/deps/abseil-cpp/absl/strings/str_join_benchmark.cc +106 -0
  819. package/deps/abseil-cpp/absl/strings/str_join_test.cc +645 -0
  820. package/deps/abseil-cpp/absl/strings/str_replace.cc +91 -0
  821. package/deps/abseil-cpp/absl/strings/str_replace.h +222 -0
  822. package/deps/abseil-cpp/absl/strings/str_replace_benchmark.cc +121 -0
  823. package/deps/abseil-cpp/absl/strings/str_replace_test.cc +345 -0
  824. package/deps/abseil-cpp/absl/strings/str_split.cc +144 -0
  825. package/deps/abseil-cpp/absl/strings/str_split.h +582 -0
  826. package/deps/abseil-cpp/absl/strings/str_split_benchmark.cc +180 -0
  827. package/deps/abseil-cpp/absl/strings/str_split_test.cc +1069 -0
  828. package/deps/abseil-cpp/absl/strings/string_view.h +60 -0
  829. package/deps/abseil-cpp/absl/strings/string_view_test.cc +86 -0
  830. package/deps/abseil-cpp/absl/strings/strip.h +99 -0
  831. package/deps/abseil-cpp/absl/strings/strip_test.cc +198 -0
  832. package/deps/abseil-cpp/absl/strings/substitute.cc +187 -0
  833. package/deps/abseil-cpp/absl/strings/substitute.h +769 -0
  834. package/deps/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
  835. package/deps/abseil-cpp/absl/strings/substitute_test.cc +288 -0
  836. package/deps/abseil-cpp/absl/synchronization/BUILD.bazel +410 -0
  837. package/deps/abseil-cpp/absl/synchronization/CMakeLists.txt +293 -0
  838. package/deps/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  839. package/deps/abseil-cpp/absl/synchronization/barrier.h +79 -0
  840. package/deps/abseil-cpp/absl/synchronization/barrier_test.cc +75 -0
  841. package/deps/abseil-cpp/absl/synchronization/blocking_counter.cc +73 -0
  842. package/deps/abseil-cpp/absl/synchronization/blocking_counter.h +107 -0
  843. package/deps/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +84 -0
  844. package/deps/abseil-cpp/absl/synchronization/blocking_counter_test.cc +146 -0
  845. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +152 -0
  846. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
  847. package/deps/abseil-cpp/absl/synchronization/internal/futex.h +177 -0
  848. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +107 -0
  849. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  850. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.cc +714 -0
  851. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.h +146 -0
  852. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +43 -0
  853. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +483 -0
  854. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +220 -0
  855. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +178 -0
  856. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +406 -0
  857. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  858. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +119 -0
  859. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +194 -0
  860. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +163 -0
  861. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  862. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +118 -0
  863. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  864. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +87 -0
  865. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  866. package/deps/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
  867. package/deps/abseil-cpp/absl/synchronization/internal/waiter.h +69 -0
  868. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.cc +38 -0
  869. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  870. package/deps/abseil-cpp/absl/synchronization/internal/waiter_test.cc +192 -0
  871. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +147 -0
  872. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.h +72 -0
  873. package/deps/abseil-cpp/absl/synchronization/lifetime_test.cc +180 -0
  874. package/deps/abseil-cpp/absl/synchronization/mutex.cc +2820 -0
  875. package/deps/abseil-cpp/absl/synchronization/mutex.h +1352 -0
  876. package/deps/abseil-cpp/absl/synchronization/mutex_benchmark.cc +321 -0
  877. package/deps/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +138 -0
  878. package/deps/abseil-cpp/absl/synchronization/mutex_test.cc +2065 -0
  879. package/deps/abseil-cpp/absl/synchronization/notification.cc +85 -0
  880. package/deps/abseil-cpp/absl/synchronization/notification.h +133 -0
  881. package/deps/abseil-cpp/absl/synchronization/notification_test.cc +230 -0
  882. package/deps/abseil-cpp/absl/time/BUILD.bazel +244 -0
  883. package/deps/abseil-cpp/absl/time/CMakeLists.txt +218 -0
  884. package/deps/abseil-cpp/absl/time/civil_time.cc +200 -0
  885. package/deps/abseil-cpp/absl/time/civil_time.h +589 -0
  886. package/deps/abseil-cpp/absl/time/civil_time_benchmark.cc +129 -0
  887. package/deps/abseil-cpp/absl/time/civil_time_test.cc +1351 -0
  888. package/deps/abseil-cpp/absl/time/clock.cc +603 -0
  889. package/deps/abseil-cpp/absl/time/clock.h +78 -0
  890. package/deps/abseil-cpp/absl/time/clock_benchmark.cc +74 -0
  891. package/deps/abseil-cpp/absl/time/clock_interface.cc +71 -0
  892. package/deps/abseil-cpp/absl/time/clock_interface.h +91 -0
  893. package/deps/abseil-cpp/absl/time/clock_interface_test.cc +128 -0
  894. package/deps/abseil-cpp/absl/time/clock_test.cc +122 -0
  895. package/deps/abseil-cpp/absl/time/duration.cc +918 -0
  896. package/deps/abseil-cpp/absl/time/duration_benchmark.cc +608 -0
  897. package/deps/abseil-cpp/absl/time/duration_test.cc +1901 -0
  898. package/deps/abseil-cpp/absl/time/flag_test.cc +147 -0
  899. package/deps/abseil-cpp/absl/time/format.cc +162 -0
  900. package/deps/abseil-cpp/absl/time/format_benchmark.cc +64 -0
  901. package/deps/abseil-cpp/absl/time/format_test.cc +441 -0
  902. package/deps/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +195 -0
  903. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  904. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +644 -0
  905. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +460 -0
  906. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  907. package/deps/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +436 -0
  908. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  909. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +1066 -0
  910. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
  911. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
  912. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  913. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  914. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1068 -0
  915. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +1773 -0
  916. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +47 -0
  917. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +80 -0
  918. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +115 -0
  919. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +97 -0
  920. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1070 -0
  921. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +128 -0
  922. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +333 -0
  923. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +60 -0
  924. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +217 -0
  925. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +918 -0
  926. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
  927. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
  928. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  929. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  930. package/deps/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +120 -0
  931. package/deps/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  932. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +38 -0
  933. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -0
  934. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  935. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  936. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  937. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  938. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  939. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  940. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  941. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  942. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  943. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  944. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  945. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  946. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  947. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  948. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  949. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  950. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  951. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  952. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  953. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  954. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  955. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  956. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  957. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  958. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  959. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  960. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  961. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  962. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  963. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  964. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  965. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  966. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  967. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  968. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  969. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  970. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  971. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  972. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  973. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  974. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  975. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  976. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  977. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  978. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  979. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  980. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  981. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  982. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  983. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  984. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  985. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  986. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  987. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  988. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  989. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  990. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  991. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  992. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  993. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  994. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  995. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  996. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  997. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  998. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  999. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  1000. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  1001. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  1002. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  1003. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  1004. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  1005. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  1006. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  1007. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  1008. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  1009. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  1010. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  1011. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  1012. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  1013. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  1014. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  1015. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  1016. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  1017. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  1018. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  1019. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  1020. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  1021. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  1022. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  1023. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  1024. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  1025. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  1026. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  1027. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  1028. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  1029. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  1030. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  1031. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  1032. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  1033. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  1034. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  1035. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  1036. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  1037. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  1038. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  1039. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  1040. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  1041. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  1042. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  1043. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  1044. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  1045. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  1046. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  1047. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  1048. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  1049. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  1050. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  1051. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  1052. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  1053. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  1054. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  1055. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  1056. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  1057. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  1058. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  1059. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  1060. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  1061. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  1062. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  1063. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  1064. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  1065. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  1066. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  1067. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  1068. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  1069. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  1070. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  1071. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  1072. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  1073. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  1074. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  1075. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  1076. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  1077. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  1078. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  1079. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  1080. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  1081. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  1082. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  1083. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  1084. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  1085. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  1086. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  1087. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  1088. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  1089. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  1090. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  1091. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  1092. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  1093. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  1094. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  1095. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  1096. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  1097. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  1098. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  1099. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  1100. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  1101. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  1102. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1103. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1104. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1105. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1106. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1107. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1108. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1109. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1110. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1111. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1112. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1113. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1114. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1115. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1116. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1117. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1118. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1119. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1120. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1121. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1122. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1123. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1124. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1125. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1126. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1127. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1128. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1129. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1130. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1131. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1132. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1133. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1134. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1135. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1136. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1137. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1138. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1139. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1140. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1141. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1142. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1143. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1144. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1145. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1146. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1147. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1148. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1149. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1150. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1151. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1152. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1153. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1154. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1155. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1156. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1157. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1158. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1159. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1160. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1161. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1162. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1163. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1164. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1165. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1166. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1167. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1168. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1169. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1170. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1171. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1172. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1173. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1174. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1175. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1176. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1177. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1178. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1179. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1180. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1181. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1182. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1183. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1184. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1185. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1186. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1187. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1188. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1189. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1190. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1191. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1192. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1193. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1194. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1195. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1196. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1197. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1198. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1199. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1200. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1201. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1202. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1203. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1204. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1205. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1206. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1207. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1208. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1209. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1210. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1211. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1212. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1213. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1214. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1215. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1216. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1217. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1218. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1219. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1220. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1221. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1222. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1223. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1224. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1225. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1226. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1227. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1228. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1229. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1230. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1231. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1232. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1233. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1234. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1235. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1236. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1237. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1238. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1239. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1240. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1241. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1242. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1243. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1244. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1245. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1246. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1247. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1248. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1249. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1250. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1251. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1252. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1253. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1254. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1255. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1256. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1257. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1258. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1259. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1260. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1261. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1262. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1263. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1264. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1265. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1266. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1267. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1268. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1269. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1270. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1271. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1272. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1273. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1274. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1275. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1276. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1277. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1278. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1279. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1280. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1281. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1282. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1283. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1284. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1285. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1286. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1287. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1288. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1289. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1290. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1291. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1292. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1293. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1294. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1295. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1296. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1297. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1298. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1299. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1300. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1301. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1302. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1303. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1304. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1305. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1306. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1307. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1308. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1309. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1310. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1311. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1312. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1313. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1314. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1315. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1316. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1317. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1318. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1319. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1320. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1321. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1322. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1323. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1324. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1325. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1326. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1327. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1328. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1329. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1330. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1331. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1332. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1333. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1334. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1335. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1336. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1337. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1338. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1339. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1340. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1341. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1342. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1343. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1344. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1345. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1346. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1347. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1348. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1349. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1350. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1351. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1352. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1353. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1354. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1355. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1356. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1357. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1358. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1359. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1360. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1361. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1362. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1363. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1364. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1365. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1366. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1367. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1368. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1369. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1370. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1371. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1372. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1373. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1374. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1375. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1376. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1377. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1378. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1379. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1380. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1381. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1382. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1383. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1384. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1385. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1386. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1387. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1388. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1389. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1390. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1391. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1392. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1393. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1394. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1395. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1396. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1397. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1398. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1399. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1400. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1401. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1402. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1403. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1404. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1405. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1406. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1407. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1408. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1409. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1410. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1411. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1412. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1413. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1414. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1415. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1416. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1417. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1418. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1419. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1420. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1421. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1422. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1423. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1424. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1425. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1426. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1427. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1428. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1429. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1430. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1431. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1432. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1433. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1434. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1435. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1436. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1437. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1438. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1439. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1440. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1441. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1442. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1443. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1444. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1445. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1446. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1447. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1448. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1449. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1450. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1451. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1452. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1453. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1454. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1455. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1456. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1457. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1458. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1459. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1460. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1461. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1462. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1463. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1464. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1465. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1466. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1467. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1468. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1469. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1470. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1471. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1472. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1473. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1474. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1475. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1476. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1477. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1478. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1479. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1480. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1481. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1482. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1483. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1484. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1485. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1486. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1487. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1488. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1489. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1490. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1491. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1492. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1493. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1494. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1495. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1496. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1497. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1498. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1499. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1500. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1501. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1502. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1503. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1504. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1505. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1506. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1507. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1508. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1509. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1510. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1511. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1512. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1513. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1514. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1515. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1516. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1517. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1518. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1519. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1520. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1521. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1522. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1523. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1524. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1525. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1526. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1527. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1528. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1529. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1530. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1531. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1532. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +279 -0
  1533. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +375 -0
  1534. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +296 -0
  1535. package/deps/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  1536. package/deps/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  1537. package/deps/abseil-cpp/absl/time/internal/test_util.cc +32 -0
  1538. package/deps/abseil-cpp/absl/time/internal/test_util.h +33 -0
  1539. package/deps/abseil-cpp/absl/time/simulated_clock.cc +225 -0
  1540. package/deps/abseil-cpp/absl/time/simulated_clock.h +108 -0
  1541. package/deps/abseil-cpp/absl/time/simulated_clock_test.cc +614 -0
  1542. package/deps/abseil-cpp/absl/time/time.cc +507 -0
  1543. package/deps/abseil-cpp/absl/time/time.h +1926 -0
  1544. package/deps/abseil-cpp/absl/time/time_benchmark.cc +321 -0
  1545. package/deps/abseil-cpp/absl/time/time_test.cc +1365 -0
  1546. package/deps/abseil-cpp/absl/time/time_zone_test.cc +97 -0
  1547. package/deps/abseil-cpp/absl/types/BUILD.bazel +166 -0
  1548. package/deps/abseil-cpp/absl/types/CMakeLists.txt +179 -0
  1549. package/deps/abseil-cpp/absl/types/any.h +44 -0
  1550. package/deps/abseil-cpp/absl/types/compare.h +506 -0
  1551. package/deps/abseil-cpp/absl/types/compare_test.cc +300 -0
  1552. package/deps/abseil-cpp/absl/types/internal/span.h +141 -0
  1553. package/deps/abseil-cpp/absl/types/optional.h +41 -0
  1554. package/deps/abseil-cpp/absl/types/span.h +830 -0
  1555. package/deps/abseil-cpp/absl/types/span_test.cc +915 -0
  1556. package/deps/abseil-cpp/absl/types/variant.h +82 -0
  1557. package/deps/abseil-cpp/absl/types/variant_test.cc +164 -0
  1558. package/deps/abseil-cpp/absl/utility/BUILD.bazel +46 -0
  1559. package/deps/abseil-cpp/absl/utility/CMakeLists.txt +28 -0
  1560. package/deps/abseil-cpp/absl/utility/utility.h +68 -0
  1561. package/deps/abseil-cpp/ci/absl_alternate_options.h +28 -0
  1562. package/deps/abseil-cpp/ci/cmake_common.sh +19 -0
  1563. package/deps/abseil-cpp/ci/cmake_install_test.sh +64 -0
  1564. package/deps/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +106 -0
  1565. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +114 -0
  1566. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +107 -0
  1567. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +106 -0
  1568. package/deps/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +104 -0
  1569. package/deps/abseil-cpp/ci/linux_docker_containers.sh +22 -0
  1570. package/deps/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +100 -0
  1571. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +105 -0
  1572. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +85 -0
  1573. package/deps/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +85 -0
  1574. package/deps/abseil-cpp/ci/macos_xcode_bazel.sh +70 -0
  1575. package/deps/abseil-cpp/ci/macos_xcode_cmake.sh +78 -0
  1576. package/deps/abseil-cpp/ci/windows_clangcl_bazel.bat +70 -0
  1577. package/deps/abseil-cpp/ci/windows_msvc_bazel.bat +61 -0
  1578. package/deps/abseil-cpp/ci/windows_msvc_cmake.bat +69 -0
  1579. package/deps/abseil-cpp/conanfile.py +51 -0
  1580. package/deps/abseil-cpp/create_lts.py +139 -0
  1581. package/deps/re2/.bazelrc +20 -0
  1582. package/deps/re2/.bcr/metadata.template.json +16 -0
  1583. package/deps/re2/.bcr/presubmit.yml +57 -0
  1584. package/deps/re2/.bcr/source.template.json +5 -0
  1585. package/deps/re2/BUILD.bazel +463 -0
  1586. package/deps/re2/CMakeLists.txt +283 -0
  1587. package/deps/re2/LICENSE +27 -0
  1588. package/deps/re2/MODULE.bazel +29 -0
  1589. package/deps/re2/Makefile +408 -0
  1590. package/deps/re2/WORKSPACE.bazel +7 -0
  1591. package/deps/re2/WORKSPACE.bzlmod +7 -0
  1592. package/deps/re2/app/BUILD.bazel +24 -0
  1593. package/deps/re2/app/_re2.cc +94 -0
  1594. package/deps/re2/app/_re2.d.ts +23 -0
  1595. package/deps/re2/app/app.ts +111 -0
  1596. package/deps/re2/app/build.sh +32 -0
  1597. package/deps/re2/app/index.html +5 -0
  1598. package/deps/re2/app/package.json +14 -0
  1599. package/deps/re2/app/rollup.config.js +28 -0
  1600. package/deps/re2/app/tsconfig.json +17 -0
  1601. package/deps/re2/benchlog/benchplot.py +98 -0
  1602. package/deps/re2/benchlog/mktable +155 -0
  1603. package/deps/re2/doc/mksyntaxgo +42 -0
  1604. package/deps/re2/doc/mksyntaxhtml +42 -0
  1605. package/deps/re2/doc/mksyntaxwiki +36 -0
  1606. package/deps/re2/doc/syntax.html +477 -0
  1607. package/deps/re2/doc/syntax.txt +463 -0
  1608. package/deps/re2/lib/git/commit-msg.hook +104 -0
  1609. package/deps/re2/libre2.symbols +16 -0
  1610. package/deps/re2/libre2.symbols.darwin +12 -0
  1611. package/deps/re2/python/BUILD.bazel +80 -0
  1612. package/deps/re2/python/_re2.cc +352 -0
  1613. package/deps/re2/python/re2.py +583 -0
  1614. package/deps/re2/python/re2_test.py +495 -0
  1615. package/deps/re2/python/setup.py +159 -0
  1616. package/deps/re2/python/toolchains/generate.py +100 -0
  1617. package/deps/re2/re2/bitmap256.cc +43 -0
  1618. package/deps/re2/re2/bitmap256.h +88 -0
  1619. package/deps/re2/re2/bitstate.cc +389 -0
  1620. package/deps/re2/re2/compile.cc +1265 -0
  1621. package/deps/re2/re2/dfa.cc +2135 -0
  1622. package/deps/re2/re2/filtered_re2.cc +138 -0
  1623. package/deps/re2/re2/filtered_re2.h +115 -0
  1624. package/deps/re2/re2/fuzzing/re2_fuzzer.cc +284 -0
  1625. package/deps/re2/re2/make_perl_groups.pl +116 -0
  1626. package/deps/re2/re2/make_unicode_casefold.py +151 -0
  1627. package/deps/re2/re2/make_unicode_groups.py +117 -0
  1628. package/deps/re2/re2/mimics_pcre.cc +196 -0
  1629. package/deps/re2/re2/nfa.cc +714 -0
  1630. package/deps/re2/re2/onepass.cc +623 -0
  1631. package/deps/re2/re2/parse.cc +2529 -0
  1632. package/deps/re2/re2/perl_groups.cc +119 -0
  1633. package/deps/re2/re2/pod_array.h +55 -0
  1634. package/deps/re2/re2/prefilter.cc +711 -0
  1635. package/deps/re2/re2/prefilter.h +168 -0
  1636. package/deps/re2/re2/prefilter_tree.cc +376 -0
  1637. package/deps/re2/re2/prefilter_tree.h +153 -0
  1638. package/deps/re2/re2/prog.cc +1181 -0
  1639. package/deps/re2/re2/prog.h +493 -0
  1640. package/deps/re2/re2/re2.cc +1355 -0
  1641. package/deps/re2/re2/re2.h +1074 -0
  1642. package/deps/re2/re2/regexp.cc +1004 -0
  1643. package/deps/re2/re2/regexp.h +693 -0
  1644. package/deps/re2/re2/set.cc +185 -0
  1645. package/deps/re2/re2/set.h +91 -0
  1646. package/deps/re2/re2/simplify.cc +689 -0
  1647. package/deps/re2/re2/sparse_array.h +394 -0
  1648. package/deps/re2/re2/sparse_set.h +266 -0
  1649. package/deps/re2/re2/stringpiece.h +18 -0
  1650. package/deps/re2/re2/testing/backtrack.cc +274 -0
  1651. package/deps/re2/re2/testing/charclass_test.cc +228 -0
  1652. package/deps/re2/re2/testing/compile_test.cc +431 -0
  1653. package/deps/re2/re2/testing/dfa_test.cc +376 -0
  1654. package/deps/re2/re2/testing/dump.cc +172 -0
  1655. package/deps/re2/re2/testing/exhaustive1_test.cc +40 -0
  1656. package/deps/re2/re2/testing/exhaustive2_test.cc +72 -0
  1657. package/deps/re2/re2/testing/exhaustive3_test.cc +100 -0
  1658. package/deps/re2/re2/testing/exhaustive_test.cc +35 -0
  1659. package/deps/re2/re2/testing/exhaustive_tester.cc +204 -0
  1660. package/deps/re2/re2/testing/exhaustive_tester.h +105 -0
  1661. package/deps/re2/re2/testing/filtered_re2_test.cc +343 -0
  1662. package/deps/re2/re2/testing/mimics_pcre_test.cc +79 -0
  1663. package/deps/re2/re2/testing/null_walker.cc +48 -0
  1664. package/deps/re2/re2/testing/parse_test.cc +586 -0
  1665. package/deps/re2/re2/testing/possible_match_test.cc +251 -0
  1666. package/deps/re2/re2/testing/random_test.cc +102 -0
  1667. package/deps/re2/re2/testing/re2_arg_test.cc +182 -0
  1668. package/deps/re2/re2/testing/re2_test.cc +1699 -0
  1669. package/deps/re2/re2/testing/regexp_benchmark.cc +1605 -0
  1670. package/deps/re2/re2/testing/regexp_generator.cc +284 -0
  1671. package/deps/re2/re2/testing/regexp_generator.h +77 -0
  1672. package/deps/re2/re2/testing/regexp_test.cc +87 -0
  1673. package/deps/re2/re2/testing/required_prefix_test.cc +201 -0
  1674. package/deps/re2/re2/testing/search_test.cc +338 -0
  1675. package/deps/re2/re2/testing/set_test.cc +235 -0
  1676. package/deps/re2/re2/testing/simplify_test.cc +289 -0
  1677. package/deps/re2/re2/testing/string_generator.cc +144 -0
  1678. package/deps/re2/re2/testing/string_generator.h +76 -0
  1679. package/deps/re2/re2/testing/string_generator_test.cc +114 -0
  1680. package/deps/re2/re2/testing/tester.cc +690 -0
  1681. package/deps/re2/re2/testing/tester.h +121 -0
  1682. package/deps/re2/re2/tostring.cc +351 -0
  1683. package/deps/re2/re2/unicode.py +284 -0
  1684. package/deps/re2/re2/unicode_casefold.cc +604 -0
  1685. package/deps/re2/re2/unicode_casefold.h +77 -0
  1686. package/deps/re2/re2/unicode_groups.cc +6517 -0
  1687. package/deps/re2/re2/unicode_groups.h +66 -0
  1688. package/deps/re2/re2/walker-inl.h +249 -0
  1689. package/deps/re2/re2.pc.in +9 -0
  1690. package/deps/re2/re2Config.cmake.in +26 -0
  1691. package/deps/re2/runtests +33 -0
  1692. package/deps/re2/testinstall.cc +27 -0
  1693. package/deps/re2/ucs2.diff +567 -0
  1694. package/deps/re2/util/malloc_counter.h +19 -0
  1695. package/deps/re2/util/pcre.cc +957 -0
  1696. package/deps/re2/util/pcre.h +671 -0
  1697. package/deps/re2/util/rune.cc +260 -0
  1698. package/deps/re2/util/strutil.cc +26 -0
  1699. package/deps/re2/util/strutil.h +16 -0
  1700. package/deps/re2/util/utf.h +44 -0
  1701. package/index.js +14 -5
  1702. package/package.json +1 -1
  1703. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  1704. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
  1705. package/util.h +10 -16
@@ -0,0 +1,1773 @@
1
+ // Copyright 2016 Google Inc. All Rights Reserved.
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
+ #include <chrono>
16
+ #include <cstdint>
17
+ #include <iomanip>
18
+ #include <sstream>
19
+ #include <string>
20
+
21
+ #include "absl/base/config.h"
22
+ #include "absl/time/internal/cctz/include/cctz/time_zone.h"
23
+ #if defined(__linux__)
24
+ #include <features.h>
25
+ #endif
26
+
27
+ #include "gmock/gmock.h"
28
+ #include "gtest/gtest.h"
29
+ #include "absl/time/internal/cctz/include/cctz/civil_time.h"
30
+
31
+ namespace chrono = std::chrono;
32
+
33
+ namespace absl {
34
+ ABSL_NAMESPACE_BEGIN
35
+ namespace time_internal {
36
+ namespace cctz {
37
+
38
+ namespace {
39
+
40
+ // This helper is a macro so that failed expectations show up with the
41
+ // correct line numbers.
42
+ #define ExpectTime(tp, tz, y, m, d, hh, mm, ss, off, isdst, zone) \
43
+ do { \
44
+ time_zone::absolute_lookup al = tz.lookup(tp); \
45
+ EXPECT_EQ(y, al.cs.year()); \
46
+ EXPECT_EQ(m, al.cs.month()); \
47
+ EXPECT_EQ(d, al.cs.day()); \
48
+ EXPECT_EQ(hh, al.cs.hour()); \
49
+ EXPECT_EQ(mm, al.cs.minute()); \
50
+ EXPECT_EQ(ss, al.cs.second()); \
51
+ EXPECT_EQ(off, al.offset); \
52
+ EXPECT_TRUE(isdst == al.is_dst); \
53
+ EXPECT_STREQ(zone, al.abbr); \
54
+ } while (0)
55
+
56
+ const char RFC3339_full[] = "%Y-%m-%d%ET%H:%M:%E*S%Ez";
57
+ const char RFC3339_sec[] = "%Y-%m-%d%ET%H:%M:%S%Ez";
58
+
59
+ const char RFC1123_full[] = "%a, %d %b %Y %H:%M:%S %z";
60
+ const char RFC1123_no_wday[] = "%d %b %Y %H:%M:%S %z";
61
+
62
+ // A helper that tests the given format specifier by itself, and with leading
63
+ // and trailing characters. For example: TestFormatSpecifier(tp, "%a", "Thu").
64
+ template <typename D>
65
+ void TestFormatSpecifier(time_point<D> tp, time_zone tz, const std::string& fmt,
66
+ const std::string& ans) {
67
+ EXPECT_EQ(ans, absl::time_internal::cctz::format(fmt, tp, tz)) << fmt;
68
+ EXPECT_EQ("xxx " + ans,
69
+ absl::time_internal::cctz::format("xxx " + fmt, tp, tz));
70
+ EXPECT_EQ(ans + " yyy",
71
+ absl::time_internal::cctz::format(fmt + " yyy", tp, tz));
72
+ EXPECT_EQ("xxx " + ans + " yyy",
73
+ absl::time_internal::cctz::format("xxx " + fmt + " yyy", tp, tz));
74
+ }
75
+
76
+ } // namespace
77
+
78
+ //
79
+ // Testing format()
80
+ //
81
+
82
+ TEST(Format, TimePointResolution) {
83
+ const char kFmt[] = "%H:%M:%E*S";
84
+ const time_zone utc = utc_time_zone();
85
+ const time_point<chrono::nanoseconds> t0 =
86
+ chrono::system_clock::from_time_t(1420167845) +
87
+ chrono::milliseconds(123) + chrono::microseconds(456) +
88
+ chrono::nanoseconds(789);
89
+ EXPECT_EQ("03:04:05.123456789",
90
+ absl::time_internal::cctz::format(
91
+ kFmt, chrono::time_point_cast<chrono::nanoseconds>(t0), utc));
92
+ EXPECT_EQ("03:04:05.123456",
93
+ absl::time_internal::cctz::format(
94
+ kFmt, chrono::time_point_cast<chrono::microseconds>(t0), utc));
95
+ EXPECT_EQ("03:04:05.123",
96
+ absl::time_internal::cctz::format(
97
+ kFmt, chrono::time_point_cast<chrono::milliseconds>(t0), utc));
98
+ EXPECT_EQ("03:04:05",
99
+ absl::time_internal::cctz::format(
100
+ kFmt, chrono::time_point_cast<chrono::seconds>(t0), utc));
101
+ EXPECT_EQ(
102
+ "03:04:05",
103
+ absl::time_internal::cctz::format(
104
+ kFmt, chrono::time_point_cast<absl::time_internal::cctz::seconds>(t0),
105
+ utc));
106
+ EXPECT_EQ("03:04:00",
107
+ absl::time_internal::cctz::format(
108
+ kFmt, chrono::time_point_cast<chrono::minutes>(t0), utc));
109
+ EXPECT_EQ("03:00:00",
110
+ absl::time_internal::cctz::format(
111
+ kFmt, chrono::time_point_cast<chrono::hours>(t0), utc));
112
+ }
113
+
114
+ TEST(Format, TimePointExtendedResolution) {
115
+ const char kFmt[] = "%H:%M:%E*S";
116
+ const time_zone utc = utc_time_zone();
117
+ const time_point<absl::time_internal::cctz::seconds> tp =
118
+ chrono::time_point_cast<absl::time_internal::cctz::seconds>(
119
+ chrono::system_clock::from_time_t(0)) +
120
+ chrono::hours(12) + chrono::minutes(34) + chrono::seconds(56);
121
+
122
+ EXPECT_EQ(
123
+ "12:34:56.123456789012345",
124
+ detail::format(kFmt, tp, detail::femtoseconds(123456789012345), utc));
125
+ EXPECT_EQ(
126
+ "12:34:56.012345678901234",
127
+ detail::format(kFmt, tp, detail::femtoseconds(12345678901234), utc));
128
+ EXPECT_EQ("12:34:56.001234567890123",
129
+ detail::format(kFmt, tp, detail::femtoseconds(1234567890123), utc));
130
+ EXPECT_EQ("12:34:56.000123456789012",
131
+ detail::format(kFmt, tp, detail::femtoseconds(123456789012), utc));
132
+
133
+ EXPECT_EQ("12:34:56.000000000000123",
134
+ detail::format(kFmt, tp, detail::femtoseconds(123), utc));
135
+ EXPECT_EQ("12:34:56.000000000000012",
136
+ detail::format(kFmt, tp, detail::femtoseconds(12), utc));
137
+ EXPECT_EQ("12:34:56.000000000000001",
138
+ detail::format(kFmt, tp, detail::femtoseconds(1), utc));
139
+ }
140
+
141
+ TEST(Format, Basics) {
142
+ time_zone tz = utc_time_zone();
143
+ time_point<chrono::nanoseconds> tp = chrono::system_clock::from_time_t(0);
144
+
145
+ // Starts with a couple basic edge cases.
146
+ EXPECT_EQ("", absl::time_internal::cctz::format("", tp, tz));
147
+ EXPECT_EQ(" ", absl::time_internal::cctz::format(" ", tp, tz));
148
+ EXPECT_EQ(" ", absl::time_internal::cctz::format(" ", tp, tz));
149
+ EXPECT_EQ("xxx", absl::time_internal::cctz::format("xxx", tp, tz));
150
+ std::string big(128, 'x');
151
+ EXPECT_EQ(big, absl::time_internal::cctz::format(big, tp, tz));
152
+ // Cause the 1024-byte buffer to grow.
153
+ std::string bigger(100000, 'x');
154
+ EXPECT_EQ(bigger, absl::time_internal::cctz::format(bigger, tp, tz));
155
+
156
+ tp += chrono::hours(13) + chrono::minutes(4) + chrono::seconds(5);
157
+ tp += chrono::milliseconds(6) + chrono::microseconds(7) +
158
+ chrono::nanoseconds(8);
159
+ EXPECT_EQ("1970-01-01",
160
+ absl::time_internal::cctz::format("%Y-%m-%d", tp, tz));
161
+ EXPECT_EQ("13:04:05", absl::time_internal::cctz::format("%H:%M:%S", tp, tz));
162
+ EXPECT_EQ("13:04:05.006",
163
+ absl::time_internal::cctz::format("%H:%M:%E3S", tp, tz));
164
+ EXPECT_EQ("13:04:05.006007",
165
+ absl::time_internal::cctz::format("%H:%M:%E6S", tp, tz));
166
+ EXPECT_EQ("13:04:05.006007008",
167
+ absl::time_internal::cctz::format("%H:%M:%E9S", tp, tz));
168
+ }
169
+
170
+ TEST(Format, PosixConversions) {
171
+ const time_zone tz = utc_time_zone();
172
+ auto tp =
173
+ chrono::system_clock::from_time_t(308189482); // 1979-10-08T00:11:22Z
174
+
175
+ TestFormatSpecifier(tp, tz, "%d", "08");
176
+ TestFormatSpecifier(tp, tz, "%e", " 8"); // extension but internal support
177
+ TestFormatSpecifier(tp, tz, "%H", "00");
178
+ TestFormatSpecifier(tp, tz, "%I", "12");
179
+ TestFormatSpecifier(tp, tz, "%j", "281");
180
+ TestFormatSpecifier(tp, tz, "%m", "10");
181
+ TestFormatSpecifier(tp, tz, "%M", "11");
182
+ TestFormatSpecifier(tp, tz, "%S", "22");
183
+ TestFormatSpecifier(tp, tz, "%U", "40");
184
+ TestFormatSpecifier(tp, tz, "%w", "1"); // 1=Monday
185
+ TestFormatSpecifier(tp, tz, "%W", "41");
186
+ TestFormatSpecifier(tp, tz, "%y", "79");
187
+ TestFormatSpecifier(tp, tz, "%Y", "1979");
188
+ TestFormatSpecifier(tp, tz, "%z", "+0000");
189
+ TestFormatSpecifier(tp, tz, "%Z", "UTC");
190
+ TestFormatSpecifier(tp, tz, "%%", "%");
191
+
192
+ #if defined(__linux__)
193
+ // SU/C99/TZ extensions
194
+ TestFormatSpecifier(tp, tz, "%C", "19");
195
+ TestFormatSpecifier(tp, tz, "%D", "10/08/79");
196
+ TestFormatSpecifier(tp, tz, "%F", "1979-10-08");
197
+ TestFormatSpecifier(tp, tz, "%g", "79");
198
+ TestFormatSpecifier(tp, tz, "%G", "1979");
199
+ #if defined(__GLIBC__)
200
+ TestFormatSpecifier(tp, tz, "%k", " 0");
201
+ TestFormatSpecifier(tp, tz, "%l", "12");
202
+ #endif
203
+ TestFormatSpecifier(tp, tz, "%n", "\n");
204
+ TestFormatSpecifier(tp, tz, "%R", "00:11");
205
+ TestFormatSpecifier(tp, tz, "%t", "\t");
206
+ TestFormatSpecifier(tp, tz, "%T", "00:11:22");
207
+ TestFormatSpecifier(tp, tz, "%u", "1"); // 1=Monday
208
+ TestFormatSpecifier(tp, tz, "%V", "41");
209
+ TestFormatSpecifier(tp, tz, "%s", "308189482");
210
+ #endif
211
+ }
212
+
213
+ TEST(Format, LocaleSpecific) {
214
+ const time_zone tz = utc_time_zone();
215
+ auto tp = chrono::system_clock::from_time_t(0);
216
+
217
+ TestFormatSpecifier(tp, tz, "%a", "Thu");
218
+ TestFormatSpecifier(tp, tz, "%A", "Thursday");
219
+ TestFormatSpecifier(tp, tz, "%b", "Jan");
220
+ TestFormatSpecifier(tp, tz, "%B", "January");
221
+
222
+ // %c should at least produce the numeric year and time-of-day.
223
+ const std::string s =
224
+ absl::time_internal::cctz::format("%c", tp, utc_time_zone());
225
+ EXPECT_THAT(s, testing::HasSubstr("1970"));
226
+ EXPECT_THAT(s, testing::HasSubstr("00:00:00"));
227
+
228
+ TestFormatSpecifier(tp, tz, "%p", "AM");
229
+ TestFormatSpecifier(tp, tz, "%x", "01/01/70");
230
+ TestFormatSpecifier(tp, tz, "%X", "00:00:00");
231
+
232
+ #if defined(__linux__)
233
+ // SU/C99/TZ extensions
234
+ TestFormatSpecifier(tp, tz, "%h", "Jan"); // Same as %b
235
+ #if defined(__GLIBC__)
236
+ TestFormatSpecifier(tp, tz, "%P", "am");
237
+ #endif
238
+ TestFormatSpecifier(tp, tz, "%r", "12:00:00 AM");
239
+
240
+ // Modified conversion specifiers %E_
241
+ TestFormatSpecifier(tp, tz, "%Ec", "Thu Jan 1 00:00:00 1970");
242
+ TestFormatSpecifier(tp, tz, "%EC", "19");
243
+ TestFormatSpecifier(tp, tz, "%Ex", "01/01/70");
244
+ TestFormatSpecifier(tp, tz, "%EX", "00:00:00");
245
+ TestFormatSpecifier(tp, tz, "%Ey", "70");
246
+ TestFormatSpecifier(tp, tz, "%EY", "1970");
247
+
248
+ // Modified conversion specifiers %O_
249
+ TestFormatSpecifier(tp, tz, "%Od", "01");
250
+ TestFormatSpecifier(tp, tz, "%Oe", " 1");
251
+ TestFormatSpecifier(tp, tz, "%OH", "00");
252
+ TestFormatSpecifier(tp, tz, "%OI", "12");
253
+ TestFormatSpecifier(tp, tz, "%Om", "01");
254
+ TestFormatSpecifier(tp, tz, "%OM", "00");
255
+ TestFormatSpecifier(tp, tz, "%OS", "00");
256
+ TestFormatSpecifier(tp, tz, "%Ou", "4"); // 4=Thursday
257
+ TestFormatSpecifier(tp, tz, "%OU", "00");
258
+ TestFormatSpecifier(tp, tz, "%OV", "01");
259
+ TestFormatSpecifier(tp, tz, "%Ow", "4"); // 4=Thursday
260
+ TestFormatSpecifier(tp, tz, "%OW", "00");
261
+ TestFormatSpecifier(tp, tz, "%Oy", "70");
262
+ #endif
263
+ }
264
+
265
+ TEST(Format, Escaping) {
266
+ const time_zone tz = utc_time_zone();
267
+ auto tp = chrono::system_clock::from_time_t(0);
268
+
269
+ TestFormatSpecifier(tp, tz, "%%", "%");
270
+ TestFormatSpecifier(tp, tz, "%%a", "%a");
271
+ TestFormatSpecifier(tp, tz, "%%b", "%b");
272
+ TestFormatSpecifier(tp, tz, "%%Ea", "%Ea");
273
+ TestFormatSpecifier(tp, tz, "%%Es", "%Es");
274
+ TestFormatSpecifier(tp, tz, "%%E3S", "%E3S");
275
+ TestFormatSpecifier(tp, tz, "%%OS", "%OS");
276
+ TestFormatSpecifier(tp, tz, "%%O3S", "%O3S");
277
+
278
+ // Multiple levels of escaping.
279
+ TestFormatSpecifier(tp, tz, "%%%Y", "%1970");
280
+ TestFormatSpecifier(tp, tz, "%%%E3S", "%00.000");
281
+ TestFormatSpecifier(tp, tz, "%%%%E3S", "%%E3S");
282
+ }
283
+
284
+ TEST(Format, ExtendedSeconds) {
285
+ const time_zone tz = utc_time_zone();
286
+
287
+ // No subseconds.
288
+ time_point<chrono::nanoseconds> tp = chrono::system_clock::from_time_t(0);
289
+ tp += chrono::seconds(5);
290
+ EXPECT_EQ("05", absl::time_internal::cctz::format("%E*S", tp, tz));
291
+ EXPECT_EQ("05", absl::time_internal::cctz::format("%E0S", tp, tz));
292
+ EXPECT_EQ("05.0", absl::time_internal::cctz::format("%E1S", tp, tz));
293
+ EXPECT_EQ("05.00", absl::time_internal::cctz::format("%E2S", tp, tz));
294
+ EXPECT_EQ("05.000", absl::time_internal::cctz::format("%E3S", tp, tz));
295
+ EXPECT_EQ("05.0000", absl::time_internal::cctz::format("%E4S", tp, tz));
296
+ EXPECT_EQ("05.00000", absl::time_internal::cctz::format("%E5S", tp, tz));
297
+ EXPECT_EQ("05.000000", absl::time_internal::cctz::format("%E6S", tp, tz));
298
+ EXPECT_EQ("05.0000000", absl::time_internal::cctz::format("%E7S", tp, tz));
299
+ EXPECT_EQ("05.00000000", absl::time_internal::cctz::format("%E8S", tp, tz));
300
+ EXPECT_EQ("05.000000000", absl::time_internal::cctz::format("%E9S", tp, tz));
301
+ EXPECT_EQ("05.0000000000",
302
+ absl::time_internal::cctz::format("%E10S", tp, tz));
303
+ EXPECT_EQ("05.00000000000",
304
+ absl::time_internal::cctz::format("%E11S", tp, tz));
305
+ EXPECT_EQ("05.000000000000",
306
+ absl::time_internal::cctz::format("%E12S", tp, tz));
307
+ EXPECT_EQ("05.0000000000000",
308
+ absl::time_internal::cctz::format("%E13S", tp, tz));
309
+ EXPECT_EQ("05.00000000000000",
310
+ absl::time_internal::cctz::format("%E14S", tp, tz));
311
+ EXPECT_EQ("05.000000000000000",
312
+ absl::time_internal::cctz::format("%E15S", tp, tz));
313
+
314
+ // With subseconds.
315
+ tp += chrono::milliseconds(6) + chrono::microseconds(7) +
316
+ chrono::nanoseconds(8);
317
+ EXPECT_EQ("05.006007008", absl::time_internal::cctz::format("%E*S", tp, tz));
318
+ EXPECT_EQ("05", absl::time_internal::cctz::format("%E0S", tp, tz));
319
+ EXPECT_EQ("05.0", absl::time_internal::cctz::format("%E1S", tp, tz));
320
+ EXPECT_EQ("05.00", absl::time_internal::cctz::format("%E2S", tp, tz));
321
+ EXPECT_EQ("05.006", absl::time_internal::cctz::format("%E3S", tp, tz));
322
+ EXPECT_EQ("05.0060", absl::time_internal::cctz::format("%E4S", tp, tz));
323
+ EXPECT_EQ("05.00600", absl::time_internal::cctz::format("%E5S", tp, tz));
324
+ EXPECT_EQ("05.006007", absl::time_internal::cctz::format("%E6S", tp, tz));
325
+ EXPECT_EQ("05.0060070", absl::time_internal::cctz::format("%E7S", tp, tz));
326
+ EXPECT_EQ("05.00600700", absl::time_internal::cctz::format("%E8S", tp, tz));
327
+ EXPECT_EQ("05.006007008", absl::time_internal::cctz::format("%E9S", tp, tz));
328
+ EXPECT_EQ("05.0060070080",
329
+ absl::time_internal::cctz::format("%E10S", tp, tz));
330
+ EXPECT_EQ("05.00600700800",
331
+ absl::time_internal::cctz::format("%E11S", tp, tz));
332
+ EXPECT_EQ("05.006007008000",
333
+ absl::time_internal::cctz::format("%E12S", tp, tz));
334
+ EXPECT_EQ("05.0060070080000",
335
+ absl::time_internal::cctz::format("%E13S", tp, tz));
336
+ EXPECT_EQ("05.00600700800000",
337
+ absl::time_internal::cctz::format("%E14S", tp, tz));
338
+ EXPECT_EQ("05.006007008000000",
339
+ absl::time_internal::cctz::format("%E15S", tp, tz));
340
+
341
+ // Times before the Unix epoch.
342
+ tp = chrono::system_clock::from_time_t(0) + chrono::microseconds(-1);
343
+ EXPECT_EQ("1969-12-31 23:59:59.999999",
344
+ absl::time_internal::cctz::format("%Y-%m-%d %H:%M:%E*S", tp, tz));
345
+
346
+ // Here is a "%E*S" case we got wrong for a while. While the first
347
+ // instant below is correctly rendered as "...:07.333304", the second
348
+ // one used to appear as "...:07.33330499999999999".
349
+ tp = chrono::system_clock::from_time_t(0) +
350
+ chrono::microseconds(1395024427333304);
351
+ EXPECT_EQ("2014-03-17 02:47:07.333304",
352
+ absl::time_internal::cctz::format("%Y-%m-%d %H:%M:%E*S", tp, tz));
353
+ tp += chrono::microseconds(1);
354
+ EXPECT_EQ("2014-03-17 02:47:07.333305",
355
+ absl::time_internal::cctz::format("%Y-%m-%d %H:%M:%E*S", tp, tz));
356
+ }
357
+
358
+ TEST(Format, ExtendedSubeconds) {
359
+ const time_zone tz = utc_time_zone();
360
+
361
+ // No subseconds.
362
+ time_point<chrono::nanoseconds> tp = chrono::system_clock::from_time_t(0);
363
+ tp += chrono::seconds(5);
364
+ EXPECT_EQ("0", absl::time_internal::cctz::format("%E*f", tp, tz));
365
+ EXPECT_EQ("", absl::time_internal::cctz::format("%E0f", tp, tz));
366
+ EXPECT_EQ("0", absl::time_internal::cctz::format("%E1f", tp, tz));
367
+ EXPECT_EQ("00", absl::time_internal::cctz::format("%E2f", tp, tz));
368
+ EXPECT_EQ("000", absl::time_internal::cctz::format("%E3f", tp, tz));
369
+ EXPECT_EQ("0000", absl::time_internal::cctz::format("%E4f", tp, tz));
370
+ EXPECT_EQ("00000", absl::time_internal::cctz::format("%E5f", tp, tz));
371
+ EXPECT_EQ("000000", absl::time_internal::cctz::format("%E6f", tp, tz));
372
+ EXPECT_EQ("0000000", absl::time_internal::cctz::format("%E7f", tp, tz));
373
+ EXPECT_EQ("00000000", absl::time_internal::cctz::format("%E8f", tp, tz));
374
+ EXPECT_EQ("000000000", absl::time_internal::cctz::format("%E9f", tp, tz));
375
+ EXPECT_EQ("0000000000", absl::time_internal::cctz::format("%E10f", tp, tz));
376
+ EXPECT_EQ("00000000000", absl::time_internal::cctz::format("%E11f", tp, tz));
377
+ EXPECT_EQ("000000000000", absl::time_internal::cctz::format("%E12f", tp, tz));
378
+ EXPECT_EQ("0000000000000",
379
+ absl::time_internal::cctz::format("%E13f", tp, tz));
380
+ EXPECT_EQ("00000000000000",
381
+ absl::time_internal::cctz::format("%E14f", tp, tz));
382
+ EXPECT_EQ("000000000000000",
383
+ absl::time_internal::cctz::format("%E15f", tp, tz));
384
+
385
+ // With subseconds.
386
+ tp += chrono::milliseconds(6) + chrono::microseconds(7) +
387
+ chrono::nanoseconds(8);
388
+ EXPECT_EQ("006007008", absl::time_internal::cctz::format("%E*f", tp, tz));
389
+ EXPECT_EQ("", absl::time_internal::cctz::format("%E0f", tp, tz));
390
+ EXPECT_EQ("0", absl::time_internal::cctz::format("%E1f", tp, tz));
391
+ EXPECT_EQ("00", absl::time_internal::cctz::format("%E2f", tp, tz));
392
+ EXPECT_EQ("006", absl::time_internal::cctz::format("%E3f", tp, tz));
393
+ EXPECT_EQ("0060", absl::time_internal::cctz::format("%E4f", tp, tz));
394
+ EXPECT_EQ("00600", absl::time_internal::cctz::format("%E5f", tp, tz));
395
+ EXPECT_EQ("006007", absl::time_internal::cctz::format("%E6f", tp, tz));
396
+ EXPECT_EQ("0060070", absl::time_internal::cctz::format("%E7f", tp, tz));
397
+ EXPECT_EQ("00600700", absl::time_internal::cctz::format("%E8f", tp, tz));
398
+ EXPECT_EQ("006007008", absl::time_internal::cctz::format("%E9f", tp, tz));
399
+ EXPECT_EQ("0060070080", absl::time_internal::cctz::format("%E10f", tp, tz));
400
+ EXPECT_EQ("00600700800", absl::time_internal::cctz::format("%E11f", tp, tz));
401
+ EXPECT_EQ("006007008000", absl::time_internal::cctz::format("%E12f", tp, tz));
402
+ EXPECT_EQ("0060070080000",
403
+ absl::time_internal::cctz::format("%E13f", tp, tz));
404
+ EXPECT_EQ("00600700800000",
405
+ absl::time_internal::cctz::format("%E14f", tp, tz));
406
+ EXPECT_EQ("006007008000000",
407
+ absl::time_internal::cctz::format("%E15f", tp, tz));
408
+
409
+ // Times before the Unix epoch.
410
+ tp = chrono::system_clock::from_time_t(0) + chrono::microseconds(-1);
411
+ EXPECT_EQ(
412
+ "1969-12-31 23:59:59.999999",
413
+ absl::time_internal::cctz::format("%Y-%m-%d %H:%M:%S.%E*f", tp, tz));
414
+
415
+ // Here is a "%E*S" case we got wrong for a while. While the first
416
+ // instant below is correctly rendered as "...:07.333304", the second
417
+ // one used to appear as "...:07.33330499999999999".
418
+ tp = chrono::system_clock::from_time_t(0) +
419
+ chrono::microseconds(1395024427333304);
420
+ EXPECT_EQ(
421
+ "2014-03-17 02:47:07.333304",
422
+ absl::time_internal::cctz::format("%Y-%m-%d %H:%M:%S.%E*f", tp, tz));
423
+ tp += chrono::microseconds(1);
424
+ EXPECT_EQ(
425
+ "2014-03-17 02:47:07.333305",
426
+ absl::time_internal::cctz::format("%Y-%m-%d %H:%M:%S.%E*f", tp, tz));
427
+ }
428
+
429
+ TEST(Format, CompareExtendSecondsVsSubseconds) {
430
+ const time_zone tz = utc_time_zone();
431
+
432
+ // This test case illustrates the differences/similarities between:
433
+ // fmt_A: %E<prec>S
434
+ // fmt_B: %S.%E<prec>f
435
+ auto fmt_A = [](const std::string& prec) { return "%E" + prec + "S"; };
436
+ auto fmt_B = [](const std::string& prec) { return "%S.%E" + prec + "f"; };
437
+
438
+ // No subseconds:
439
+ time_point<chrono::nanoseconds> tp = chrono::system_clock::from_time_t(0);
440
+ tp += chrono::seconds(5);
441
+ // ... %E*S and %S.%E*f are different.
442
+ EXPECT_EQ("05", absl::time_internal::cctz::format(fmt_A("*"), tp, tz));
443
+ EXPECT_EQ("05.0", absl::time_internal::cctz::format(fmt_B("*"), tp, tz));
444
+ // ... %E0S and %S.%E0f are different.
445
+ EXPECT_EQ("05", absl::time_internal::cctz::format(fmt_A("0"), tp, tz));
446
+ EXPECT_EQ("05.", absl::time_internal::cctz::format(fmt_B("0"), tp, tz));
447
+ // ... %E<prec>S and %S.%E<prec>f are the same for prec in [1:15].
448
+ for (int prec = 1; prec <= 15; ++prec) {
449
+ const std::string a =
450
+ absl::time_internal::cctz::format(fmt_A(std::to_string(prec)), tp, tz);
451
+ const std::string b =
452
+ absl::time_internal::cctz::format(fmt_B(std::to_string(prec)), tp, tz);
453
+ EXPECT_EQ(a, b) << "prec=" << prec;
454
+ }
455
+
456
+ // With subseconds:
457
+ // ... %E*S and %S.%E*f are the same.
458
+ tp += chrono::milliseconds(6) + chrono::microseconds(7) +
459
+ chrono::nanoseconds(8);
460
+ EXPECT_EQ("05.006007008",
461
+ absl::time_internal::cctz::format(fmt_A("*"), tp, tz));
462
+ EXPECT_EQ("05.006007008",
463
+ absl::time_internal::cctz::format(fmt_B("*"), tp, tz));
464
+ // ... %E0S and %S.%E0f are different.
465
+ EXPECT_EQ("05", absl::time_internal::cctz::format(fmt_A("0"), tp, tz));
466
+ EXPECT_EQ("05.", absl::time_internal::cctz::format(fmt_B("0"), tp, tz));
467
+ // ... %E<prec>S and %S.%E<prec>f are the same for prec in [1:15].
468
+ for (int prec = 1; prec <= 15; ++prec) {
469
+ const std::string a =
470
+ absl::time_internal::cctz::format(fmt_A(std::to_string(prec)), tp, tz);
471
+ const std::string b =
472
+ absl::time_internal::cctz::format(fmt_B(std::to_string(prec)), tp, tz);
473
+ EXPECT_EQ(a, b) << "prec=" << prec;
474
+ }
475
+ }
476
+
477
+ TEST(Format, ExtendedOffset) {
478
+ const auto tp = chrono::system_clock::from_time_t(0);
479
+
480
+ auto tz = fixed_time_zone(absl::time_internal::cctz::seconds::zero());
481
+ TestFormatSpecifier(tp, tz, "%z", "+0000");
482
+ TestFormatSpecifier(tp, tz, "%:z", "+00:00");
483
+ TestFormatSpecifier(tp, tz, "%Ez", "+00:00");
484
+
485
+ tz = fixed_time_zone(chrono::seconds(56));
486
+ TestFormatSpecifier(tp, tz, "%z", "+0000");
487
+ TestFormatSpecifier(tp, tz, "%:z", "+00:00");
488
+ TestFormatSpecifier(tp, tz, "%Ez", "+00:00");
489
+
490
+ tz = fixed_time_zone(-chrono::seconds(56)); // NOTE: +00:00
491
+ TestFormatSpecifier(tp, tz, "%z", "+0000");
492
+ TestFormatSpecifier(tp, tz, "%:z", "+00:00");
493
+ TestFormatSpecifier(tp, tz, "%Ez", "+00:00");
494
+
495
+ tz = fixed_time_zone(chrono::minutes(34));
496
+ TestFormatSpecifier(tp, tz, "%z", "+0034");
497
+ TestFormatSpecifier(tp, tz, "%:z", "+00:34");
498
+ TestFormatSpecifier(tp, tz, "%Ez", "+00:34");
499
+
500
+ tz = fixed_time_zone(-chrono::minutes(34));
501
+ TestFormatSpecifier(tp, tz, "%z", "-0034");
502
+ TestFormatSpecifier(tp, tz, "%:z", "-00:34");
503
+ TestFormatSpecifier(tp, tz, "%Ez", "-00:34");
504
+
505
+ tz = fixed_time_zone(chrono::minutes(34) + chrono::seconds(56));
506
+ TestFormatSpecifier(tp, tz, "%z", "+0034");
507
+ TestFormatSpecifier(tp, tz, "%:z", "+00:34");
508
+ TestFormatSpecifier(tp, tz, "%Ez", "+00:34");
509
+
510
+ tz = fixed_time_zone(-chrono::minutes(34) - chrono::seconds(56));
511
+ TestFormatSpecifier(tp, tz, "%z", "-0034");
512
+ TestFormatSpecifier(tp, tz, "%:z", "-00:34");
513
+ TestFormatSpecifier(tp, tz, "%Ez", "-00:34");
514
+
515
+ tz = fixed_time_zone(chrono::hours(12));
516
+ TestFormatSpecifier(tp, tz, "%z", "+1200");
517
+ TestFormatSpecifier(tp, tz, "%:z", "+12:00");
518
+ TestFormatSpecifier(tp, tz, "%Ez", "+12:00");
519
+
520
+ tz = fixed_time_zone(-chrono::hours(12));
521
+ TestFormatSpecifier(tp, tz, "%z", "-1200");
522
+ TestFormatSpecifier(tp, tz, "%:z", "-12:00");
523
+ TestFormatSpecifier(tp, tz, "%Ez", "-12:00");
524
+
525
+ tz = fixed_time_zone(chrono::hours(12) + chrono::seconds(56));
526
+ TestFormatSpecifier(tp, tz, "%z", "+1200");
527
+ TestFormatSpecifier(tp, tz, "%:z", "+12:00");
528
+ TestFormatSpecifier(tp, tz, "%Ez", "+12:00");
529
+
530
+ tz = fixed_time_zone(-chrono::hours(12) - chrono::seconds(56));
531
+ TestFormatSpecifier(tp, tz, "%z", "-1200");
532
+ TestFormatSpecifier(tp, tz, "%:z", "-12:00");
533
+ TestFormatSpecifier(tp, tz, "%Ez", "-12:00");
534
+
535
+ tz = fixed_time_zone(chrono::hours(12) + chrono::minutes(34));
536
+ TestFormatSpecifier(tp, tz, "%z", "+1234");
537
+ TestFormatSpecifier(tp, tz, "%:z", "+12:34");
538
+ TestFormatSpecifier(tp, tz, "%Ez", "+12:34");
539
+
540
+ tz = fixed_time_zone(-chrono::hours(12) - chrono::minutes(34));
541
+ TestFormatSpecifier(tp, tz, "%z", "-1234");
542
+ TestFormatSpecifier(tp, tz, "%:z", "-12:34");
543
+ TestFormatSpecifier(tp, tz, "%Ez", "-12:34");
544
+
545
+ tz = fixed_time_zone(chrono::hours(12) + chrono::minutes(34) +
546
+ chrono::seconds(56));
547
+ TestFormatSpecifier(tp, tz, "%z", "+1234");
548
+ TestFormatSpecifier(tp, tz, "%:z", "+12:34");
549
+ TestFormatSpecifier(tp, tz, "%Ez", "+12:34");
550
+
551
+ tz = fixed_time_zone(-chrono::hours(12) - chrono::minutes(34) -
552
+ chrono::seconds(56));
553
+ TestFormatSpecifier(tp, tz, "%z", "-1234");
554
+ TestFormatSpecifier(tp, tz, "%:z", "-12:34");
555
+ TestFormatSpecifier(tp, tz, "%Ez", "-12:34");
556
+ }
557
+
558
+ TEST(Format, ExtendedSecondOffset) {
559
+ const auto tp = chrono::system_clock::from_time_t(0);
560
+
561
+ auto tz = fixed_time_zone(absl::time_internal::cctz::seconds::zero());
562
+ TestFormatSpecifier(tp, tz, "%E*z", "+00:00:00");
563
+ TestFormatSpecifier(tp, tz, "%::z", "+00:00:00");
564
+ TestFormatSpecifier(tp, tz, "%:::z", "+00");
565
+
566
+ tz = fixed_time_zone(chrono::seconds(56));
567
+ TestFormatSpecifier(tp, tz, "%E*z", "+00:00:56");
568
+ TestFormatSpecifier(tp, tz, "%::z", "+00:00:56");
569
+ TestFormatSpecifier(tp, tz, "%:::z", "+00:00:56");
570
+
571
+ tz = fixed_time_zone(-chrono::seconds(56));
572
+ TestFormatSpecifier(tp, tz, "%E*z", "-00:00:56");
573
+ TestFormatSpecifier(tp, tz, "%::z", "-00:00:56");
574
+ TestFormatSpecifier(tp, tz, "%:::z", "-00:00:56");
575
+
576
+ tz = fixed_time_zone(chrono::minutes(34));
577
+ TestFormatSpecifier(tp, tz, "%E*z", "+00:34:00");
578
+ TestFormatSpecifier(tp, tz, "%::z", "+00:34:00");
579
+ TestFormatSpecifier(tp, tz, "%:::z", "+00:34");
580
+
581
+ tz = fixed_time_zone(-chrono::minutes(34));
582
+ TestFormatSpecifier(tp, tz, "%E*z", "-00:34:00");
583
+ TestFormatSpecifier(tp, tz, "%::z", "-00:34:00");
584
+ TestFormatSpecifier(tp, tz, "%:::z", "-00:34");
585
+
586
+ tz = fixed_time_zone(chrono::minutes(34) + chrono::seconds(56));
587
+ TestFormatSpecifier(tp, tz, "%E*z", "+00:34:56");
588
+ TestFormatSpecifier(tp, tz, "%::z", "+00:34:56");
589
+ TestFormatSpecifier(tp, tz, "%:::z", "+00:34:56");
590
+
591
+ tz = fixed_time_zone(-chrono::minutes(34) - chrono::seconds(56));
592
+ TestFormatSpecifier(tp, tz, "%E*z", "-00:34:56");
593
+ TestFormatSpecifier(tp, tz, "%::z", "-00:34:56");
594
+ TestFormatSpecifier(tp, tz, "%:::z", "-00:34:56");
595
+
596
+ tz = fixed_time_zone(chrono::hours(12));
597
+ TestFormatSpecifier(tp, tz, "%E*z", "+12:00:00");
598
+ TestFormatSpecifier(tp, tz, "%::z", "+12:00:00");
599
+ TestFormatSpecifier(tp, tz, "%:::z", "+12");
600
+
601
+ tz = fixed_time_zone(-chrono::hours(12));
602
+ TestFormatSpecifier(tp, tz, "%E*z", "-12:00:00");
603
+ TestFormatSpecifier(tp, tz, "%::z", "-12:00:00");
604
+ TestFormatSpecifier(tp, tz, "%:::z", "-12");
605
+
606
+ tz = fixed_time_zone(chrono::hours(12) + chrono::seconds(56));
607
+ TestFormatSpecifier(tp, tz, "%E*z", "+12:00:56");
608
+ TestFormatSpecifier(tp, tz, "%::z", "+12:00:56");
609
+ TestFormatSpecifier(tp, tz, "%:::z", "+12:00:56");
610
+
611
+ tz = fixed_time_zone(-chrono::hours(12) - chrono::seconds(56));
612
+ TestFormatSpecifier(tp, tz, "%E*z", "-12:00:56");
613
+ TestFormatSpecifier(tp, tz, "%::z", "-12:00:56");
614
+ TestFormatSpecifier(tp, tz, "%:::z", "-12:00:56");
615
+
616
+ tz = fixed_time_zone(chrono::hours(12) + chrono::minutes(34));
617
+ TestFormatSpecifier(tp, tz, "%E*z", "+12:34:00");
618
+ TestFormatSpecifier(tp, tz, "%::z", "+12:34:00");
619
+ TestFormatSpecifier(tp, tz, "%:::z", "+12:34");
620
+
621
+ tz = fixed_time_zone(-chrono::hours(12) - chrono::minutes(34));
622
+ TestFormatSpecifier(tp, tz, "%E*z", "-12:34:00");
623
+ TestFormatSpecifier(tp, tz, "%::z", "-12:34:00");
624
+ TestFormatSpecifier(tp, tz, "%:::z", "-12:34");
625
+
626
+ tz = fixed_time_zone(chrono::hours(12) + chrono::minutes(34) +
627
+ chrono::seconds(56));
628
+ TestFormatSpecifier(tp, tz, "%E*z", "+12:34:56");
629
+ TestFormatSpecifier(tp, tz, "%::z", "+12:34:56");
630
+ TestFormatSpecifier(tp, tz, "%:::z", "+12:34:56");
631
+
632
+ tz = fixed_time_zone(-chrono::hours(12) - chrono::minutes(34) -
633
+ chrono::seconds(56));
634
+ TestFormatSpecifier(tp, tz, "%E*z", "-12:34:56");
635
+ TestFormatSpecifier(tp, tz, "%::z", "-12:34:56");
636
+ TestFormatSpecifier(tp, tz, "%:::z", "-12:34:56");
637
+ }
638
+
639
+ TEST(Format, ExtendedYears) {
640
+ const time_zone utc = utc_time_zone();
641
+ const char e4y_fmt[] = "%E4Y%m%d"; // no separators
642
+
643
+ // %E4Y zero-pads the year to produce at least 4 chars, including the sign.
644
+ auto tp = convert(civil_second(-999, 11, 27, 0, 0, 0), utc);
645
+ EXPECT_EQ("-9991127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
646
+ tp = convert(civil_second(-99, 11, 27, 0, 0, 0), utc);
647
+ EXPECT_EQ("-0991127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
648
+ tp = convert(civil_second(-9, 11, 27, 0, 0, 0), utc);
649
+ EXPECT_EQ("-0091127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
650
+ tp = convert(civil_second(-1, 11, 27, 0, 0, 0), utc);
651
+ EXPECT_EQ("-0011127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
652
+ tp = convert(civil_second(0, 11, 27, 0, 0, 0), utc);
653
+ EXPECT_EQ("00001127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
654
+ tp = convert(civil_second(1, 11, 27, 0, 0, 0), utc);
655
+ EXPECT_EQ("00011127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
656
+ tp = convert(civil_second(9, 11, 27, 0, 0, 0), utc);
657
+ EXPECT_EQ("00091127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
658
+ tp = convert(civil_second(99, 11, 27, 0, 0, 0), utc);
659
+ EXPECT_EQ("00991127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
660
+ tp = convert(civil_second(999, 11, 27, 0, 0, 0), utc);
661
+ EXPECT_EQ("09991127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
662
+ tp = convert(civil_second(9999, 11, 27, 0, 0, 0), utc);
663
+ EXPECT_EQ("99991127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
664
+
665
+ // When the year is outside [-999:9999], more than 4 chars are produced.
666
+ tp = convert(civil_second(-1000, 11, 27, 0, 0, 0), utc);
667
+ EXPECT_EQ("-10001127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
668
+ tp = convert(civil_second(10000, 11, 27, 0, 0, 0), utc);
669
+ EXPECT_EQ("100001127", absl::time_internal::cctz::format(e4y_fmt, tp, utc));
670
+ }
671
+
672
+ TEST(Format, RFC3339Format) {
673
+ time_zone tz;
674
+ EXPECT_TRUE(load_time_zone("America/Los_Angeles", &tz));
675
+
676
+ time_point<chrono::nanoseconds> tp =
677
+ convert(civil_second(1977, 6, 28, 9, 8, 7), tz);
678
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
679
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
680
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
681
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
682
+
683
+ tp += chrono::milliseconds(100);
684
+ EXPECT_EQ("1977-06-28T09:08:07.1-07:00",
685
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
686
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
687
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
688
+
689
+ tp += chrono::milliseconds(20);
690
+ EXPECT_EQ("1977-06-28T09:08:07.12-07:00",
691
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
692
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
693
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
694
+
695
+ tp += chrono::milliseconds(3);
696
+ EXPECT_EQ("1977-06-28T09:08:07.123-07:00",
697
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
698
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
699
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
700
+
701
+ tp += chrono::microseconds(400);
702
+ EXPECT_EQ("1977-06-28T09:08:07.1234-07:00",
703
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
704
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
705
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
706
+
707
+ tp += chrono::microseconds(50);
708
+ EXPECT_EQ("1977-06-28T09:08:07.12345-07:00",
709
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
710
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
711
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
712
+
713
+ tp += chrono::microseconds(6);
714
+ EXPECT_EQ("1977-06-28T09:08:07.123456-07:00",
715
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
716
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
717
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
718
+
719
+ tp += chrono::nanoseconds(700);
720
+ EXPECT_EQ("1977-06-28T09:08:07.1234567-07:00",
721
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
722
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
723
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
724
+
725
+ tp += chrono::nanoseconds(80);
726
+ EXPECT_EQ("1977-06-28T09:08:07.12345678-07:00",
727
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
728
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
729
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
730
+
731
+ tp += chrono::nanoseconds(9);
732
+ EXPECT_EQ("1977-06-28T09:08:07.123456789-07:00",
733
+ absl::time_internal::cctz::format(RFC3339_full, tp, tz));
734
+ EXPECT_EQ("1977-06-28T09:08:07-07:00",
735
+ absl::time_internal::cctz::format(RFC3339_sec, tp, tz));
736
+ }
737
+
738
+ TEST(Format, RFC1123Format) { // locale specific
739
+ time_zone tz;
740
+ EXPECT_TRUE(load_time_zone("America/Los_Angeles", &tz));
741
+
742
+ auto tp = convert(civil_second(1977, 6, 28, 9, 8, 7), tz);
743
+ EXPECT_EQ("Tue, 28 Jun 1977 09:08:07 -0700",
744
+ absl::time_internal::cctz::format(RFC1123_full, tp, tz));
745
+ EXPECT_EQ("28 Jun 1977 09:08:07 -0700",
746
+ absl::time_internal::cctz::format(RFC1123_no_wday, tp, tz));
747
+ }
748
+
749
+ TEST(Format, Week) {
750
+ const time_zone utc = utc_time_zone();
751
+
752
+ auto tp = convert(civil_second(2017, 1, 1, 0, 0, 0), utc);
753
+ EXPECT_EQ("2017-01-7",
754
+ absl::time_internal::cctz::format("%Y-%U-%u", tp, utc));
755
+ EXPECT_EQ("2017-00-0",
756
+ absl::time_internal::cctz::format("%Y-%W-%w", tp, utc));
757
+
758
+ tp = convert(civil_second(2017, 12, 31, 0, 0, 0), utc);
759
+ EXPECT_EQ("2017-53-7",
760
+ absl::time_internal::cctz::format("%Y-%U-%u", tp, utc));
761
+ EXPECT_EQ("2017-52-0",
762
+ absl::time_internal::cctz::format("%Y-%W-%w", tp, utc));
763
+
764
+ tp = convert(civil_second(2018, 1, 1, 0, 0, 0), utc);
765
+ EXPECT_EQ("2018-00-1",
766
+ absl::time_internal::cctz::format("%Y-%U-%u", tp, utc));
767
+ EXPECT_EQ("2018-01-1",
768
+ absl::time_internal::cctz::format("%Y-%W-%w", tp, utc));
769
+
770
+ tp = convert(civil_second(2018, 12, 31, 0, 0, 0), utc);
771
+ EXPECT_EQ("2018-52-1",
772
+ absl::time_internal::cctz::format("%Y-%U-%u", tp, utc));
773
+ EXPECT_EQ("2018-53-1",
774
+ absl::time_internal::cctz::format("%Y-%W-%w", tp, utc));
775
+
776
+ tp = convert(civil_second(2019, 1, 1, 0, 0, 0), utc);
777
+ EXPECT_EQ("2019-00-2",
778
+ absl::time_internal::cctz::format("%Y-%U-%u", tp, utc));
779
+ EXPECT_EQ("2019-00-2",
780
+ absl::time_internal::cctz::format("%Y-%W-%w", tp, utc));
781
+
782
+ tp = convert(civil_second(2019, 12, 31, 0, 0, 0), utc);
783
+ EXPECT_EQ("2019-52-2",
784
+ absl::time_internal::cctz::format("%Y-%U-%u", tp, utc));
785
+ EXPECT_EQ("2019-52-2",
786
+ absl::time_internal::cctz::format("%Y-%W-%w", tp, utc));
787
+ }
788
+
789
+ //
790
+ // Testing parse()
791
+ //
792
+
793
+ TEST(Parse, TimePointResolution) {
794
+ const char kFmt[] = "%H:%M:%E*S";
795
+ const time_zone utc = utc_time_zone();
796
+
797
+ time_point<chrono::nanoseconds> tp_ns;
798
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123456789", utc, &tp_ns));
799
+ EXPECT_EQ("03:04:05.123456789",
800
+ absl::time_internal::cctz::format(kFmt, tp_ns, utc));
801
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123456", utc, &tp_ns));
802
+ EXPECT_EQ("03:04:05.123456",
803
+ absl::time_internal::cctz::format(kFmt, tp_ns, utc));
804
+
805
+ time_point<chrono::microseconds> tp_us;
806
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123456789", utc, &tp_us));
807
+ EXPECT_EQ("03:04:05.123456",
808
+ absl::time_internal::cctz::format(kFmt, tp_us, utc));
809
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123456", utc, &tp_us));
810
+ EXPECT_EQ("03:04:05.123456",
811
+ absl::time_internal::cctz::format(kFmt, tp_us, utc));
812
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123", utc, &tp_us));
813
+ EXPECT_EQ("03:04:05.123",
814
+ absl::time_internal::cctz::format(kFmt, tp_us, utc));
815
+
816
+ time_point<chrono::milliseconds> tp_ms;
817
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123456", utc, &tp_ms));
818
+ EXPECT_EQ("03:04:05.123",
819
+ absl::time_internal::cctz::format(kFmt, tp_ms, utc));
820
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123", utc, &tp_ms));
821
+ EXPECT_EQ("03:04:05.123",
822
+ absl::time_internal::cctz::format(kFmt, tp_ms, utc));
823
+ EXPECT_TRUE(parse(kFmt, "03:04:05", utc, &tp_ms));
824
+ EXPECT_EQ("03:04:05", absl::time_internal::cctz::format(kFmt, tp_ms, utc));
825
+
826
+ time_point<chrono::seconds> tp_s;
827
+ EXPECT_TRUE(parse(kFmt, "03:04:05.123", utc, &tp_s));
828
+ EXPECT_EQ("03:04:05", absl::time_internal::cctz::format(kFmt, tp_s, utc));
829
+ EXPECT_TRUE(parse(kFmt, "03:04:05", utc, &tp_s));
830
+ EXPECT_EQ("03:04:05", absl::time_internal::cctz::format(kFmt, tp_s, utc));
831
+
832
+ time_point<chrono::minutes> tp_m;
833
+ EXPECT_TRUE(parse(kFmt, "03:04:05", utc, &tp_m));
834
+ EXPECT_EQ("03:04:00", absl::time_internal::cctz::format(kFmt, tp_m, utc));
835
+
836
+ time_point<chrono::hours> tp_h;
837
+ EXPECT_TRUE(parse(kFmt, "03:04:05", utc, &tp_h));
838
+ EXPECT_EQ("03:00:00", absl::time_internal::cctz::format(kFmt, tp_h, utc));
839
+ }
840
+
841
+ TEST(Parse, TimePointExtendedResolution) {
842
+ const char kFmt[] = "%H:%M:%E*S";
843
+ const time_zone utc = utc_time_zone();
844
+
845
+ time_point<absl::time_internal::cctz::seconds> tp;
846
+ detail::femtoseconds fs;
847
+ EXPECT_TRUE(detail::parse(kFmt, "12:34:56.123456789012345", utc, &tp, &fs));
848
+ EXPECT_EQ("12:34:56.123456789012345", detail::format(kFmt, tp, fs, utc));
849
+ EXPECT_TRUE(detail::parse(kFmt, "12:34:56.012345678901234", utc, &tp, &fs));
850
+ EXPECT_EQ("12:34:56.012345678901234", detail::format(kFmt, tp, fs, utc));
851
+ EXPECT_TRUE(detail::parse(kFmt, "12:34:56.001234567890123", utc, &tp, &fs));
852
+ EXPECT_EQ("12:34:56.001234567890123", detail::format(kFmt, tp, fs, utc));
853
+ EXPECT_TRUE(detail::parse(kFmt, "12:34:56.000000000000123", utc, &tp, &fs));
854
+ EXPECT_EQ("12:34:56.000000000000123", detail::format(kFmt, tp, fs, utc));
855
+ EXPECT_TRUE(detail::parse(kFmt, "12:34:56.000000000000012", utc, &tp, &fs));
856
+ EXPECT_EQ("12:34:56.000000000000012", detail::format(kFmt, tp, fs, utc));
857
+ EXPECT_TRUE(detail::parse(kFmt, "12:34:56.000000000000001", utc, &tp, &fs));
858
+ EXPECT_EQ("12:34:56.000000000000001", detail::format(kFmt, tp, fs, utc));
859
+ }
860
+
861
+ TEST(Parse, Basics) {
862
+ time_zone tz = utc_time_zone();
863
+ time_point<chrono::nanoseconds> tp =
864
+ chrono::system_clock::from_time_t(1234567890);
865
+
866
+ // Simple edge cases.
867
+ EXPECT_TRUE(parse("", "", tz, &tp));
868
+ EXPECT_EQ(chrono::system_clock::from_time_t(0), tp); // everything defaulted
869
+ EXPECT_TRUE(parse(" ", " ", tz, &tp));
870
+ EXPECT_TRUE(parse(" ", " ", tz, &tp));
871
+ EXPECT_TRUE(parse("x", "x", tz, &tp));
872
+ EXPECT_TRUE(parse("xxx", "xxx", tz, &tp));
873
+
874
+ EXPECT_TRUE(
875
+ parse("%Y-%m-%d %H:%M:%S %z", "2013-06-28 19:08:09 -0800", tz, &tp));
876
+ ExpectTime(tp, tz, 2013, 6, 29, 3, 8, 9, 0, false, "UTC");
877
+ }
878
+
879
+ TEST(Parse, WithTimeZone) {
880
+ time_zone tz;
881
+ EXPECT_TRUE(load_time_zone("America/Los_Angeles", &tz));
882
+ time_point<chrono::nanoseconds> tp;
883
+
884
+ // We can parse a string without a UTC offset if we supply a timezone.
885
+ EXPECT_TRUE(parse("%Y-%m-%d %H:%M:%S", "2013-06-28 19:08:09", tz, &tp));
886
+ ExpectTime(tp, tz, 2013, 6, 28, 19, 8, 9, -7 * 60 * 60, true, "PDT");
887
+
888
+ // But the timezone is ignored when a UTC offset is present.
889
+ EXPECT_TRUE(parse("%Y-%m-%d %H:%M:%S %z", "2013-06-28 19:08:09 +0800",
890
+ utc_time_zone(), &tp));
891
+ ExpectTime(tp, tz, 2013, 6, 28, 19 - 8 - 7, 8, 9, -7 * 60 * 60, true, "PDT");
892
+
893
+ // Check a skipped time (a Spring DST transition). parse() uses the
894
+ // pre-transition offset.
895
+ EXPECT_TRUE(parse("%Y-%m-%d %H:%M:%S", "2011-03-13 02:15:00", tz, &tp));
896
+ ExpectTime(tp, tz, 2011, 3, 13, 3, 15, 0, -7 * 60 * 60, true, "PDT");
897
+
898
+ // Check a repeated time (a Fall DST transition). parse() uses the
899
+ // pre-transition offset.
900
+ EXPECT_TRUE(parse("%Y-%m-%d %H:%M:%S", "2011-11-06 01:15:00", tz, &tp));
901
+ ExpectTime(tp, tz, 2011, 11, 6, 1, 15, 0, -7 * 60 * 60, true, "PDT");
902
+ }
903
+
904
+ TEST(Parse, LeapSecond) {
905
+ time_zone tz;
906
+ EXPECT_TRUE(load_time_zone("America/Los_Angeles", &tz));
907
+ time_point<chrono::nanoseconds> tp;
908
+
909
+ // ":59" -> ":59"
910
+ EXPECT_TRUE(parse(RFC3339_full, "2013-06-28T07:08:59-08:00", tz, &tp));
911
+ ExpectTime(tp, tz, 2013, 6, 28, 8, 8, 59, -7 * 60 * 60, true, "PDT");
912
+
913
+ // ":59.5" -> ":59.5"
914
+ EXPECT_TRUE(parse(RFC3339_full, "2013-06-28T07:08:59.5-08:00", tz, &tp));
915
+ ExpectTime(tp, tz, 2013, 6, 28, 8, 8, 59, -7 * 60 * 60, true, "PDT");
916
+
917
+ // ":60" -> ":00"
918
+ EXPECT_TRUE(parse(RFC3339_full, "2013-06-28T07:08:60-08:00", tz, &tp));
919
+ ExpectTime(tp, tz, 2013, 6, 28, 8, 9, 0, -7 * 60 * 60, true, "PDT");
920
+
921
+ // ":60.5" -> ":00.0"
922
+ EXPECT_TRUE(parse(RFC3339_full, "2013-06-28T07:08:60.5-08:00", tz, &tp));
923
+ ExpectTime(tp, tz, 2013, 6, 28, 8, 9, 0, -7 * 60 * 60, true, "PDT");
924
+
925
+ // ":61" -> error
926
+ EXPECT_FALSE(parse(RFC3339_full, "2013-06-28T07:08:61-08:00", tz, &tp));
927
+ }
928
+
929
+ TEST(Parse, ErrorCases) {
930
+ const time_zone tz = utc_time_zone();
931
+ auto tp = chrono::system_clock::from_time_t(0);
932
+
933
+ // Illegal trailing data.
934
+ EXPECT_FALSE(parse("%S", "123", tz, &tp));
935
+
936
+ // Can't parse an illegal format specifier.
937
+ EXPECT_FALSE(parse("%Q", "x", tz, &tp));
938
+
939
+ // Fails because of trailing, unparsed data "blah".
940
+ EXPECT_FALSE(parse("%m-%d", "2-3 blah", tz, &tp));
941
+
942
+ // Trailing whitespace is allowed.
943
+ EXPECT_TRUE(parse("%m-%d", "2-3 ", tz, &tp));
944
+ EXPECT_EQ(2, convert(tp, utc_time_zone()).month());
945
+ EXPECT_EQ(3, convert(tp, utc_time_zone()).day());
946
+
947
+ // Feb 31 requires normalization.
948
+ EXPECT_FALSE(parse("%m-%d", "2-31", tz, &tp));
949
+
950
+ // Check that we cannot have spaces in UTC offsets.
951
+ EXPECT_TRUE(parse("%z", "-0203", tz, &tp));
952
+ EXPECT_FALSE(parse("%z", "- 2 3", tz, &tp));
953
+ EXPECT_TRUE(parse("%Ez", "-02:03", tz, &tp));
954
+ EXPECT_FALSE(parse("%Ez", "- 2: 3", tz, &tp));
955
+
956
+ // Check that we reject other malformed UTC offsets.
957
+ EXPECT_FALSE(parse("%Ez", "+-08:00", tz, &tp));
958
+ EXPECT_FALSE(parse("%Ez", "-+08:00", tz, &tp));
959
+
960
+ // Check that we do not accept "-0" in fields that allow zero.
961
+ EXPECT_FALSE(parse("%Y", "-0", tz, &tp));
962
+ EXPECT_FALSE(parse("%E4Y", "-0", tz, &tp));
963
+ EXPECT_FALSE(parse("%H", "-0", tz, &tp));
964
+ EXPECT_FALSE(parse("%M", "-0", tz, &tp));
965
+ EXPECT_FALSE(parse("%S", "-0", tz, &tp));
966
+ EXPECT_FALSE(parse("%z", "+-000", tz, &tp));
967
+ EXPECT_FALSE(parse("%Ez", "+-0:00", tz, &tp));
968
+ EXPECT_FALSE(parse("%z", "-00-0", tz, &tp));
969
+ EXPECT_FALSE(parse("%Ez", "-00:-0", tz, &tp));
970
+ }
971
+
972
+ TEST(Parse, PosixConversions) {
973
+ time_zone tz = utc_time_zone();
974
+ auto tp = chrono::system_clock::from_time_t(0);
975
+ const auto reset = convert(civil_second(1977, 6, 28, 9, 8, 7), tz);
976
+
977
+ tp = reset;
978
+ EXPECT_TRUE(parse("%d", "15", tz, &tp));
979
+ EXPECT_EQ(15, convert(tp, tz).day());
980
+
981
+ // %e is an extension, but is supported internally.
982
+ tp = reset;
983
+ EXPECT_TRUE(parse("%e", "15", tz, &tp));
984
+ EXPECT_EQ(15, convert(tp, tz).day()); // Equivalent to %d
985
+
986
+ tp = reset;
987
+ EXPECT_TRUE(parse("%H", "17", tz, &tp));
988
+ EXPECT_EQ(17, convert(tp, tz).hour());
989
+
990
+ tp = reset;
991
+ EXPECT_TRUE(parse("%I", "5", tz, &tp));
992
+ EXPECT_EQ(5, convert(tp, tz).hour());
993
+
994
+ // %j is parsed but ignored.
995
+ EXPECT_TRUE(parse("%j", "32", tz, &tp));
996
+
997
+ tp = reset;
998
+ EXPECT_TRUE(parse("%m", "11", tz, &tp));
999
+ EXPECT_EQ(11, convert(tp, tz).month());
1000
+
1001
+ tp = reset;
1002
+ EXPECT_TRUE(parse("%M", "33", tz, &tp));
1003
+ EXPECT_EQ(33, convert(tp, tz).minute());
1004
+
1005
+ tp = reset;
1006
+ EXPECT_TRUE(parse("%S", "55", tz, &tp));
1007
+ EXPECT_EQ(55, convert(tp, tz).second());
1008
+
1009
+ // %U is parsed but ignored.
1010
+ EXPECT_TRUE(parse("%U", "15", tz, &tp));
1011
+
1012
+ // %w is parsed but ignored.
1013
+ EXPECT_TRUE(parse("%w", "2", tz, &tp));
1014
+
1015
+ // %W is parsed but ignored.
1016
+ EXPECT_TRUE(parse("%W", "22", tz, &tp));
1017
+
1018
+ tp = reset;
1019
+ EXPECT_TRUE(parse("%y", "04", tz, &tp));
1020
+ EXPECT_EQ(2004, convert(tp, tz).year());
1021
+
1022
+ tp = reset;
1023
+ EXPECT_TRUE(parse("%Y", "2004", tz, &tp));
1024
+ EXPECT_EQ(2004, convert(tp, tz).year());
1025
+
1026
+ EXPECT_TRUE(parse("%%", "%", tz, &tp));
1027
+
1028
+ #if defined(__linux__)
1029
+ // SU/C99/TZ extensions
1030
+
1031
+ // Because we handle each (non-internal) specifier in a separate call
1032
+ // to strptime(), there is no way to group %C and %y together. So we
1033
+ // just skip the %C/%y case.
1034
+ #if 0
1035
+ tp = reset;
1036
+ EXPECT_TRUE(parse("%C %y", "20 04", tz, &tp));
1037
+ EXPECT_EQ(2004, convert(tp, tz).year());
1038
+ #endif
1039
+
1040
+ tp = reset;
1041
+ EXPECT_TRUE(parse("%D", "02/03/04", tz, &tp));
1042
+ EXPECT_EQ(2, convert(tp, tz).month());
1043
+ EXPECT_EQ(3, convert(tp, tz).day());
1044
+ EXPECT_EQ(2004, convert(tp, tz).year());
1045
+
1046
+ EXPECT_TRUE(parse("%n", "\n", tz, &tp));
1047
+
1048
+ tp = reset;
1049
+ EXPECT_TRUE(parse("%R", "03:44", tz, &tp));
1050
+ EXPECT_EQ(3, convert(tp, tz).hour());
1051
+ EXPECT_EQ(44, convert(tp, tz).minute());
1052
+
1053
+ EXPECT_TRUE(parse("%t", "\t\v\f\n\r ", tz, &tp));
1054
+
1055
+ tp = reset;
1056
+ EXPECT_TRUE(parse("%T", "03:44:55", tz, &tp));
1057
+ EXPECT_EQ(3, convert(tp, tz).hour());
1058
+ EXPECT_EQ(44, convert(tp, tz).minute());
1059
+ EXPECT_EQ(55, convert(tp, tz).second());
1060
+
1061
+ tp = reset;
1062
+ EXPECT_TRUE(parse("%s", "1234567890", tz, &tp));
1063
+ EXPECT_EQ(chrono::system_clock::from_time_t(1234567890), tp);
1064
+
1065
+ // %s conversion, like %z/%Ez, pays no heed to the optional zone.
1066
+ time_zone lax;
1067
+ EXPECT_TRUE(load_time_zone("America/Los_Angeles", &lax));
1068
+ tp = reset;
1069
+ EXPECT_TRUE(parse("%s", "1234567890", lax, &tp));
1070
+ EXPECT_EQ(chrono::system_clock::from_time_t(1234567890), tp);
1071
+
1072
+ // This is most important when the time has the same YMDhms
1073
+ // breakdown in the zone as some other time. For example, ...
1074
+ // 1414917000 in US/Pacific -> Sun Nov 2 01:30:00 2014 (PDT)
1075
+ // 1414920600 in US/Pacific -> Sun Nov 2 01:30:00 2014 (PST)
1076
+ tp = reset;
1077
+ EXPECT_TRUE(parse("%s", "1414917000", lax, &tp));
1078
+ EXPECT_EQ(chrono::system_clock::from_time_t(1414917000), tp);
1079
+ tp = reset;
1080
+ EXPECT_TRUE(parse("%s", "1414920600", lax, &tp));
1081
+ EXPECT_EQ(chrono::system_clock::from_time_t(1414920600), tp);
1082
+ #endif
1083
+ }
1084
+
1085
+ TEST(Parse, LocaleSpecific) {
1086
+ time_zone tz = utc_time_zone();
1087
+ auto tp = chrono::system_clock::from_time_t(0);
1088
+ const auto reset = convert(civil_second(1977, 6, 28, 9, 8, 7), tz);
1089
+
1090
+ // %a is parsed but ignored.
1091
+ EXPECT_TRUE(parse("%a", "Mon", tz, &tp));
1092
+
1093
+ // %A is parsed but ignored.
1094
+ EXPECT_TRUE(parse("%A", "Monday", tz, &tp));
1095
+
1096
+ tp = reset;
1097
+ EXPECT_TRUE(parse("%b", "Feb", tz, &tp));
1098
+ EXPECT_EQ(2, convert(tp, tz).month());
1099
+
1100
+ tp = reset;
1101
+ EXPECT_TRUE(parse("%B", "February", tz, &tp));
1102
+ EXPECT_EQ(2, convert(tp, tz).month());
1103
+
1104
+ // %p is parsed but ignored if it's alone. But it's used with %I.
1105
+ EXPECT_TRUE(parse("%p", "AM", tz, &tp));
1106
+ tp = reset;
1107
+ EXPECT_TRUE(parse("%I %p", "5 PM", tz, &tp));
1108
+ EXPECT_EQ(17, convert(tp, tz).hour());
1109
+
1110
+ tp = reset;
1111
+ EXPECT_TRUE(parse("%x", "02/03/04", tz, &tp));
1112
+ if (convert(tp, tz).month() == 2) {
1113
+ EXPECT_EQ(3, convert(tp, tz).day());
1114
+ } else {
1115
+ EXPECT_EQ(2, convert(tp, tz).day());
1116
+ EXPECT_EQ(3, convert(tp, tz).month());
1117
+ }
1118
+ EXPECT_EQ(2004, convert(tp, tz).year());
1119
+
1120
+ tp = reset;
1121
+ EXPECT_TRUE(parse("%X", "15:44:55", tz, &tp));
1122
+ EXPECT_EQ(15, convert(tp, tz).hour());
1123
+ EXPECT_EQ(44, convert(tp, tz).minute());
1124
+ EXPECT_EQ(55, convert(tp, tz).second());
1125
+
1126
+ #if defined(__linux__)
1127
+ // SU/C99/TZ extensions
1128
+
1129
+ tp = reset;
1130
+ EXPECT_TRUE(parse("%h", "Feb", tz, &tp));
1131
+ EXPECT_EQ(2, convert(tp, tz).month()); // Equivalent to %b
1132
+
1133
+ #if defined(__GLIBC__)
1134
+ tp = reset;
1135
+ EXPECT_TRUE(parse("%l %p", "5 PM", tz, &tp));
1136
+ EXPECT_EQ(17, convert(tp, tz).hour());
1137
+ #endif
1138
+
1139
+ tp = reset;
1140
+ EXPECT_TRUE(parse("%r", "03:44:55 PM", tz, &tp));
1141
+ EXPECT_EQ(15, convert(tp, tz).hour());
1142
+ EXPECT_EQ(44, convert(tp, tz).minute());
1143
+ EXPECT_EQ(55, convert(tp, tz).second());
1144
+
1145
+ #if defined(__GLIBC__)
1146
+ tp = reset;
1147
+ EXPECT_TRUE(parse("%Ec", "Tue Nov 19 05:06:07 2013", tz, &tp));
1148
+ EXPECT_EQ(convert(civil_second(2013, 11, 19, 5, 6, 7), tz), tp);
1149
+
1150
+ // Modified conversion specifiers %E_
1151
+
1152
+ tp = reset;
1153
+ EXPECT_TRUE(parse("%Ex", "02/03/04", tz, &tp));
1154
+ EXPECT_EQ(2, convert(tp, tz).month());
1155
+ EXPECT_EQ(3, convert(tp, tz).day());
1156
+ EXPECT_EQ(2004, convert(tp, tz).year());
1157
+
1158
+ tp = reset;
1159
+ EXPECT_TRUE(parse("%EX", "15:44:55", tz, &tp));
1160
+ EXPECT_EQ(15, convert(tp, tz).hour());
1161
+ EXPECT_EQ(44, convert(tp, tz).minute());
1162
+ EXPECT_EQ(55, convert(tp, tz).second());
1163
+
1164
+ // %Ey, the year offset from %EC, doesn't really make sense alone as there
1165
+ // is no way to represent it in tm_year (%EC is not simply the century).
1166
+ // Yet, because we handle each (non-internal) specifier in a separate call
1167
+ // to strptime(), there is no way to group %EC and %Ey either. So we just
1168
+ // skip the %EC and %Ey cases.
1169
+
1170
+ tp = reset;
1171
+ EXPECT_TRUE(parse("%EY", "2004", tz, &tp));
1172
+ EXPECT_EQ(2004, convert(tp, tz).year());
1173
+
1174
+ // Modified conversion specifiers %O_
1175
+
1176
+ tp = reset;
1177
+ EXPECT_TRUE(parse("%Od", "15", tz, &tp));
1178
+ EXPECT_EQ(15, convert(tp, tz).day());
1179
+
1180
+ tp = reset;
1181
+ EXPECT_TRUE(parse("%Oe", "15", tz, &tp));
1182
+ EXPECT_EQ(15, convert(tp, tz).day()); // Equivalent to %d
1183
+
1184
+ tp = reset;
1185
+ EXPECT_TRUE(parse("%OH", "17", tz, &tp));
1186
+ EXPECT_EQ(17, convert(tp, tz).hour());
1187
+
1188
+ tp = reset;
1189
+ EXPECT_TRUE(parse("%OI", "5", tz, &tp));
1190
+ EXPECT_EQ(5, convert(tp, tz).hour());
1191
+
1192
+ tp = reset;
1193
+ EXPECT_TRUE(parse("%Om", "11", tz, &tp));
1194
+ EXPECT_EQ(11, convert(tp, tz).month());
1195
+
1196
+ tp = reset;
1197
+ EXPECT_TRUE(parse("%OM", "33", tz, &tp));
1198
+ EXPECT_EQ(33, convert(tp, tz).minute());
1199
+
1200
+ tp = reset;
1201
+ EXPECT_TRUE(parse("%OS", "55", tz, &tp));
1202
+ EXPECT_EQ(55, convert(tp, tz).second());
1203
+
1204
+ // %OU is parsed but ignored.
1205
+ EXPECT_TRUE(parse("%OU", "15", tz, &tp));
1206
+
1207
+ // %Ow is parsed but ignored.
1208
+ EXPECT_TRUE(parse("%Ow", "2", tz, &tp));
1209
+
1210
+ // %OW is parsed but ignored.
1211
+ EXPECT_TRUE(parse("%OW", "22", tz, &tp));
1212
+
1213
+ tp = reset;
1214
+ EXPECT_TRUE(parse("%Oy", "04", tz, &tp));
1215
+ EXPECT_EQ(2004, convert(tp, tz).year());
1216
+ #endif
1217
+ #endif
1218
+ }
1219
+
1220
+ TEST(Parse, ExtendedSeconds) {
1221
+ const time_zone tz = utc_time_zone();
1222
+ const time_point<chrono::nanoseconds> unix_epoch =
1223
+ chrono::system_clock::from_time_t(0);
1224
+
1225
+ // All %E<prec>S cases are treated the same as %E*S on input.
1226
+ auto precisions = {"*", "0", "1", "2", "3", "4", "5", "6", "7",
1227
+ "8", "9", "10", "11", "12", "13", "14", "15"};
1228
+ for (const std::string prec : precisions) {
1229
+ const std::string fmt = "%E" + prec + "S";
1230
+ SCOPED_TRACE(fmt);
1231
+ time_point<chrono::nanoseconds> tp = unix_epoch;
1232
+ EXPECT_TRUE(parse(fmt, "5", tz, &tp));
1233
+ EXPECT_EQ(unix_epoch + chrono::seconds(5), tp);
1234
+ tp = unix_epoch;
1235
+ EXPECT_TRUE(parse(fmt, "05", tz, &tp));
1236
+ EXPECT_EQ(unix_epoch + chrono::seconds(5), tp);
1237
+ tp = unix_epoch;
1238
+ EXPECT_TRUE(parse(fmt, "05.0", tz, &tp));
1239
+ EXPECT_EQ(unix_epoch + chrono::seconds(5), tp);
1240
+ tp = unix_epoch;
1241
+ EXPECT_TRUE(parse(fmt, "05.00", tz, &tp));
1242
+ EXPECT_EQ(unix_epoch + chrono::seconds(5), tp);
1243
+ tp = unix_epoch;
1244
+ EXPECT_TRUE(parse(fmt, "05.6", tz, &tp));
1245
+ EXPECT_EQ(unix_epoch + chrono::seconds(5) + chrono::milliseconds(600), tp);
1246
+ tp = unix_epoch;
1247
+ EXPECT_TRUE(parse(fmt, "05.60", tz, &tp));
1248
+ EXPECT_EQ(unix_epoch + chrono::seconds(5) + chrono::milliseconds(600), tp);
1249
+ tp = unix_epoch;
1250
+ EXPECT_TRUE(parse(fmt, "05.600", tz, &tp));
1251
+ EXPECT_EQ(unix_epoch + chrono::seconds(5) + chrono::milliseconds(600), tp);
1252
+ tp = unix_epoch;
1253
+ EXPECT_TRUE(parse(fmt, "05.67", tz, &tp));
1254
+ EXPECT_EQ(unix_epoch + chrono::seconds(5) + chrono::milliseconds(670), tp);
1255
+ tp = unix_epoch;
1256
+ EXPECT_TRUE(parse(fmt, "05.670", tz, &tp));
1257
+ EXPECT_EQ(unix_epoch + chrono::seconds(5) + chrono::milliseconds(670), tp);
1258
+ tp = unix_epoch;
1259
+ EXPECT_TRUE(parse(fmt, "05.678", tz, &tp));
1260
+ EXPECT_EQ(unix_epoch + chrono::seconds(5) + chrono::milliseconds(678), tp);
1261
+ }
1262
+
1263
+ // Here is a "%E*S" case we got wrong for a while. The fractional
1264
+ // part of the first instant is less than 2^31 and was correctly
1265
+ // parsed, while the second (and any subsecond field >=2^31) failed.
1266
+ time_point<chrono::nanoseconds> tp = unix_epoch;
1267
+ EXPECT_TRUE(parse("%E*S", "0.2147483647", tz, &tp));
1268
+ EXPECT_EQ(unix_epoch + chrono::nanoseconds(214748364), tp);
1269
+ tp = unix_epoch;
1270
+ EXPECT_TRUE(parse("%E*S", "0.2147483648", tz, &tp));
1271
+ EXPECT_EQ(unix_epoch + chrono::nanoseconds(214748364), tp);
1272
+
1273
+ // We should also be able to specify long strings of digits far
1274
+ // beyond the current resolution and have them convert the same way.
1275
+ tp = unix_epoch;
1276
+ EXPECT_TRUE(parse(
1277
+ "%E*S", "0.214748364801234567890123456789012345678901234567890123456789",
1278
+ tz, &tp));
1279
+ EXPECT_EQ(unix_epoch + chrono::nanoseconds(214748364), tp);
1280
+ }
1281
+
1282
+ TEST(Parse, ExtendedSecondsScan) {
1283
+ const time_zone tz = utc_time_zone();
1284
+ time_point<chrono::nanoseconds> tp;
1285
+ for (int ms = 0; ms < 1000; ms += 111) {
1286
+ for (int us = 0; us < 1000; us += 27) {
1287
+ const int micros = ms * 1000 + us;
1288
+ for (int ns = 0; ns < 1000; ns += 9) {
1289
+ const auto expected = chrono::system_clock::from_time_t(0) +
1290
+ chrono::nanoseconds(micros * 1000 + ns);
1291
+ std::ostringstream oss;
1292
+ oss << "0." << std::setfill('0') << std::setw(3);
1293
+ oss << ms << std::setw(3) << us << std::setw(3) << ns;
1294
+ const std::string input = oss.str();
1295
+ EXPECT_TRUE(parse("%E*S", input, tz, &tp));
1296
+ EXPECT_EQ(expected, tp) << input;
1297
+ }
1298
+ }
1299
+ }
1300
+ }
1301
+
1302
+ TEST(Parse, ExtendedSubeconds) {
1303
+ const time_zone tz = utc_time_zone();
1304
+ const time_point<chrono::nanoseconds> unix_epoch =
1305
+ chrono::system_clock::from_time_t(0);
1306
+
1307
+ // All %E<prec>f cases are treated the same as %E*f on input.
1308
+ auto precisions = {"*", "0", "1", "2", "3", "4", "5", "6", "7",
1309
+ "8", "9", "10", "11", "12", "13", "14", "15"};
1310
+ for (const std::string prec : precisions) {
1311
+ const std::string fmt = "%E" + prec + "f";
1312
+ SCOPED_TRACE(fmt);
1313
+ time_point<chrono::nanoseconds> tp = unix_epoch - chrono::seconds(1);
1314
+ EXPECT_TRUE(parse(fmt, "", tz, &tp));
1315
+ EXPECT_EQ(unix_epoch, tp);
1316
+ tp = unix_epoch;
1317
+ EXPECT_TRUE(parse(fmt, "6", tz, &tp));
1318
+ EXPECT_EQ(unix_epoch + chrono::milliseconds(600), tp);
1319
+ tp = unix_epoch;
1320
+ EXPECT_TRUE(parse(fmt, "60", tz, &tp));
1321
+ EXPECT_EQ(unix_epoch + chrono::milliseconds(600), tp);
1322
+ tp = unix_epoch;
1323
+ EXPECT_TRUE(parse(fmt, "600", tz, &tp));
1324
+ EXPECT_EQ(unix_epoch + chrono::milliseconds(600), tp);
1325
+ tp = unix_epoch;
1326
+ EXPECT_TRUE(parse(fmt, "67", tz, &tp));
1327
+ EXPECT_EQ(unix_epoch + chrono::milliseconds(670), tp);
1328
+ tp = unix_epoch;
1329
+ EXPECT_TRUE(parse(fmt, "670", tz, &tp));
1330
+ EXPECT_EQ(unix_epoch + chrono::milliseconds(670), tp);
1331
+ tp = unix_epoch;
1332
+ EXPECT_TRUE(parse(fmt, "678", tz, &tp));
1333
+ EXPECT_EQ(unix_epoch + chrono::milliseconds(678), tp);
1334
+ tp = unix_epoch;
1335
+ EXPECT_TRUE(parse(fmt, "6789", tz, &tp));
1336
+ EXPECT_EQ(
1337
+ unix_epoch + chrono::milliseconds(678) + chrono::microseconds(900), tp);
1338
+ }
1339
+
1340
+ // Here is a "%E*f" case we got wrong for a while. The fractional
1341
+ // part of the first instant is less than 2^31 and was correctly
1342
+ // parsed, while the second (and any subsecond field >=2^31) failed.
1343
+ time_point<chrono::nanoseconds> tp = unix_epoch;
1344
+ EXPECT_TRUE(parse("%E*f", "2147483647", tz, &tp));
1345
+ EXPECT_EQ(unix_epoch + chrono::nanoseconds(214748364), tp);
1346
+ tp = unix_epoch;
1347
+ EXPECT_TRUE(parse("%E*f", "2147483648", tz, &tp));
1348
+ EXPECT_EQ(unix_epoch + chrono::nanoseconds(214748364), tp);
1349
+
1350
+ // We should also be able to specify long strings of digits far
1351
+ // beyond the current resolution and have them convert the same way.
1352
+ tp = unix_epoch;
1353
+ EXPECT_TRUE(parse(
1354
+ "%E*f", "214748364801234567890123456789012345678901234567890123456789",
1355
+ tz, &tp));
1356
+ EXPECT_EQ(unix_epoch + chrono::nanoseconds(214748364), tp);
1357
+ }
1358
+
1359
+ TEST(Parse, ExtendedSubecondsScan) {
1360
+ time_point<chrono::nanoseconds> tp;
1361
+ const time_zone tz = utc_time_zone();
1362
+ for (int ms = 0; ms < 1000; ms += 111) {
1363
+ for (int us = 0; us < 1000; us += 27) {
1364
+ const int micros = ms * 1000 + us;
1365
+ for (int ns = 0; ns < 1000; ns += 9) {
1366
+ std::ostringstream oss;
1367
+ oss << std::setfill('0') << std::setw(3) << ms;
1368
+ oss << std::setw(3) << us << std::setw(3) << ns;
1369
+ const std::string nanos = oss.str();
1370
+ const auto expected = chrono::system_clock::from_time_t(0) +
1371
+ chrono::nanoseconds(micros * 1000 + ns);
1372
+ for (int ps = 0; ps < 1000; ps += 250) {
1373
+ std::ostringstream ps_oss;
1374
+ oss << std::setfill('0') << std::setw(3) << ps;
1375
+ const std::string input = nanos + ps_oss.str() + "999";
1376
+ EXPECT_TRUE(parse("%E*f", input, tz, &tp));
1377
+ EXPECT_EQ(expected + chrono::nanoseconds(ps) / 1000, tp) << input;
1378
+ }
1379
+ }
1380
+ }
1381
+ }
1382
+ }
1383
+
1384
+ TEST(Parse, ExtendedOffset) {
1385
+ const time_zone utc = utc_time_zone();
1386
+ time_point<absl::time_internal::cctz::seconds> tp;
1387
+
1388
+ EXPECT_TRUE(parse("%Ez", "+00:00", utc, &tp));
1389
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1390
+ EXPECT_TRUE(parse("%Ez", "-12:34", utc, &tp));
1391
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 34, 0), utc), tp);
1392
+ EXPECT_TRUE(parse("%Ez", "+12:34", utc, &tp));
1393
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 11, 26, 0), utc), tp);
1394
+ EXPECT_FALSE(parse("%Ez", "-12:3", utc, &tp));
1395
+
1396
+ for (auto fmt : {"%Ez", "%z"}) {
1397
+ EXPECT_TRUE(parse(fmt, "+0000", utc, &tp));
1398
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1399
+ EXPECT_TRUE(parse(fmt, "-1234", utc, &tp));
1400
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 34, 0), utc), tp);
1401
+ EXPECT_TRUE(parse(fmt, "+1234", utc, &tp));
1402
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 11, 26, 0), utc), tp);
1403
+ EXPECT_FALSE(parse(fmt, "-123", utc, &tp));
1404
+
1405
+ EXPECT_TRUE(parse(fmt, "+00", utc, &tp));
1406
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1407
+ EXPECT_TRUE(parse(fmt, "-12", utc, &tp));
1408
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 0, 0), utc), tp);
1409
+ EXPECT_TRUE(parse(fmt, "+12", utc, &tp));
1410
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 12, 0, 0), utc), tp);
1411
+ EXPECT_FALSE(parse(fmt, "-1", utc, &tp));
1412
+ }
1413
+ }
1414
+
1415
+ TEST(Parse, ExtendedSecondOffset) {
1416
+ const time_zone utc = utc_time_zone();
1417
+ time_point<absl::time_internal::cctz::seconds> tp;
1418
+
1419
+ for (auto fmt : {"%Ez", "%E*z", "%:z", "%::z", "%:::z"}) {
1420
+ EXPECT_TRUE(parse(fmt, "+00:00:00", utc, &tp));
1421
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1422
+ EXPECT_TRUE(parse(fmt, "-12:34:56", utc, &tp));
1423
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 34, 56), utc), tp);
1424
+ EXPECT_TRUE(parse(fmt, "+12:34:56", utc, &tp));
1425
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 11, 25, 4), utc), tp);
1426
+ EXPECT_FALSE(parse(fmt, "-12:34:5", utc, &tp));
1427
+
1428
+ EXPECT_TRUE(parse(fmt, "+000000", utc, &tp));
1429
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1430
+ EXPECT_TRUE(parse(fmt, "-123456", utc, &tp));
1431
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 34, 56), utc), tp);
1432
+ EXPECT_TRUE(parse(fmt, "+123456", utc, &tp));
1433
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 11, 25, 4), utc), tp);
1434
+ EXPECT_FALSE(parse(fmt, "-12345", utc, &tp));
1435
+
1436
+ EXPECT_TRUE(parse(fmt, "+00:00", utc, &tp));
1437
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1438
+ EXPECT_TRUE(parse(fmt, "-12:34", utc, &tp));
1439
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 34, 0), utc), tp);
1440
+ EXPECT_TRUE(parse(fmt, "+12:34", utc, &tp));
1441
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 11, 26, 0), utc), tp);
1442
+ EXPECT_FALSE(parse(fmt, "-12:3", utc, &tp));
1443
+
1444
+ EXPECT_TRUE(parse(fmt, "+0000", utc, &tp));
1445
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1446
+ EXPECT_TRUE(parse(fmt, "-1234", utc, &tp));
1447
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 34, 0), utc), tp);
1448
+ EXPECT_TRUE(parse(fmt, "+1234", utc, &tp));
1449
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 11, 26, 0), utc), tp);
1450
+ EXPECT_FALSE(parse(fmt, "-123", utc, &tp));
1451
+
1452
+ EXPECT_TRUE(parse(fmt, "+00", utc, &tp));
1453
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 0, 0, 0), utc), tp);
1454
+ EXPECT_TRUE(parse(fmt, "-12", utc, &tp));
1455
+ EXPECT_EQ(convert(civil_second(1970, 1, 1, 12, 0, 0), utc), tp);
1456
+ EXPECT_TRUE(parse(fmt, "+12", utc, &tp));
1457
+ EXPECT_EQ(convert(civil_second(1969, 12, 31, 12, 0, 0), utc), tp);
1458
+ EXPECT_FALSE(parse(fmt, "-1", utc, &tp));
1459
+ }
1460
+ }
1461
+
1462
+ TEST(Parse, ExtendedYears) {
1463
+ const time_zone utc = utc_time_zone();
1464
+ const char e4y_fmt[] = "%E4Y%m%d"; // no separators
1465
+ time_point<absl::time_internal::cctz::seconds> tp;
1466
+
1467
+ // %E4Y consumes exactly four chars, including any sign.
1468
+ EXPECT_TRUE(parse(e4y_fmt, "-9991127", utc, &tp));
1469
+ EXPECT_EQ(convert(civil_second(-999, 11, 27, 0, 0, 0), utc), tp);
1470
+ EXPECT_TRUE(parse(e4y_fmt, "-0991127", utc, &tp));
1471
+ EXPECT_EQ(convert(civil_second(-99, 11, 27, 0, 0, 0), utc), tp);
1472
+ EXPECT_TRUE(parse(e4y_fmt, "-0091127", utc, &tp));
1473
+ EXPECT_EQ(convert(civil_second(-9, 11, 27, 0, 0, 0), utc), tp);
1474
+ EXPECT_TRUE(parse(e4y_fmt, "-0011127", utc, &tp));
1475
+ EXPECT_EQ(convert(civil_second(-1, 11, 27, 0, 0, 0), utc), tp);
1476
+ EXPECT_TRUE(parse(e4y_fmt, "00001127", utc, &tp));
1477
+ EXPECT_EQ(convert(civil_second(0, 11, 27, 0, 0, 0), utc), tp);
1478
+ EXPECT_TRUE(parse(e4y_fmt, "00011127", utc, &tp));
1479
+ EXPECT_EQ(convert(civil_second(1, 11, 27, 0, 0, 0), utc), tp);
1480
+ EXPECT_TRUE(parse(e4y_fmt, "00091127", utc, &tp));
1481
+ EXPECT_EQ(convert(civil_second(9, 11, 27, 0, 0, 0), utc), tp);
1482
+ EXPECT_TRUE(parse(e4y_fmt, "00991127", utc, &tp));
1483
+ EXPECT_EQ(convert(civil_second(99, 11, 27, 0, 0, 0), utc), tp);
1484
+ EXPECT_TRUE(parse(e4y_fmt, "09991127", utc, &tp));
1485
+ EXPECT_EQ(convert(civil_second(999, 11, 27, 0, 0, 0), utc), tp);
1486
+ EXPECT_TRUE(parse(e4y_fmt, "99991127", utc, &tp));
1487
+ EXPECT_EQ(convert(civil_second(9999, 11, 27, 0, 0, 0), utc), tp);
1488
+
1489
+ // When the year is outside [-999:9999], the parse fails.
1490
+ EXPECT_FALSE(parse(e4y_fmt, "-10001127", utc, &tp));
1491
+ EXPECT_FALSE(parse(e4y_fmt, "100001127", utc, &tp));
1492
+ }
1493
+
1494
+ TEST(Parse, RFC3339Format) {
1495
+ const time_zone tz = utc_time_zone();
1496
+ time_point<chrono::nanoseconds> tp;
1497
+ EXPECT_TRUE(parse(RFC3339_sec, "2014-02-12T20:21:00+00:00", tz, &tp));
1498
+ ExpectTime(tp, tz, 2014, 2, 12, 20, 21, 0, 0, false, "UTC");
1499
+
1500
+ // Check that %ET also accepts "t".
1501
+ time_point<chrono::nanoseconds> tp2;
1502
+ EXPECT_TRUE(parse(RFC3339_sec, "2014-02-12t20:21:00+00:00", tz, &tp2));
1503
+ EXPECT_EQ(tp, tp2);
1504
+
1505
+ // Check that %Ez also accepts "Z" as a synonym for "+00:00".
1506
+ time_point<chrono::nanoseconds> tp3;
1507
+ EXPECT_TRUE(parse(RFC3339_sec, "2014-02-12T20:21:00Z", tz, &tp3));
1508
+ EXPECT_EQ(tp, tp3);
1509
+
1510
+ // Check that %Ez also accepts "z" as a synonym for "+00:00".
1511
+ time_point<chrono::nanoseconds> tp4;
1512
+ EXPECT_TRUE(parse(RFC3339_sec, "2014-02-12T20:21:00z", tz, &tp4));
1513
+ EXPECT_EQ(tp, tp4);
1514
+ }
1515
+
1516
+ TEST(Parse, Week) {
1517
+ const time_zone utc = utc_time_zone();
1518
+ time_point<absl::time_internal::cctz::seconds> tp;
1519
+
1520
+ auto exp = convert(civil_second(2017, 1, 1, 0, 0, 0), utc);
1521
+ EXPECT_TRUE(parse("%Y-%U-%u", "2017-01-7", utc, &tp));
1522
+ EXPECT_EQ(exp, tp);
1523
+ EXPECT_TRUE(parse("%Y-%W-%w", "2017-00-0", utc, &tp));
1524
+ EXPECT_EQ(exp, tp);
1525
+
1526
+ exp = convert(civil_second(2017, 12, 31, 0, 0, 0), utc);
1527
+ EXPECT_TRUE(parse("%Y-%U-%u", "2017-53-7", utc, &tp));
1528
+ EXPECT_EQ(exp, tp);
1529
+ EXPECT_TRUE(parse("%Y-%W-%w", "2017-52-0", utc, &tp));
1530
+ EXPECT_EQ(exp, tp);
1531
+
1532
+ exp = convert(civil_second(2018, 1, 1, 0, 0, 0), utc);
1533
+ EXPECT_TRUE(parse("%Y-%U-%u", "2018-00-1", utc, &tp));
1534
+ EXPECT_EQ(exp, tp);
1535
+ EXPECT_TRUE(parse("%Y-%W-%w", "2018-01-1", utc, &tp));
1536
+ EXPECT_EQ(exp, tp);
1537
+
1538
+ exp = convert(civil_second(2018, 12, 31, 0, 0, 0), utc);
1539
+ EXPECT_TRUE(parse("%Y-%U-%u", "2018-52-1", utc, &tp));
1540
+ EXPECT_EQ(exp, tp);
1541
+ EXPECT_TRUE(parse("%Y-%W-%w", "2018-53-1", utc, &tp));
1542
+ EXPECT_EQ(exp, tp);
1543
+
1544
+ exp = convert(civil_second(2019, 1, 1, 0, 0, 0), utc);
1545
+ EXPECT_TRUE(parse("%Y-%U-%u", "2019-00-2", utc, &tp));
1546
+ EXPECT_EQ(exp, tp);
1547
+ EXPECT_TRUE(parse("%Y-%W-%w", "2019-00-2", utc, &tp));
1548
+ EXPECT_EQ(exp, tp);
1549
+
1550
+ exp = convert(civil_second(2019, 12, 31, 0, 0, 0), utc);
1551
+ EXPECT_TRUE(parse("%Y-%U-%u", "2019-52-2", utc, &tp));
1552
+ EXPECT_EQ(exp, tp);
1553
+ EXPECT_TRUE(parse("%Y-%W-%w", "2019-52-2", utc, &tp));
1554
+ EXPECT_EQ(exp, tp);
1555
+ }
1556
+
1557
+ TEST(Parse, WeekYearShift) {
1558
+ // %U/%W conversions with week values in {0, 52, 53} can slip
1559
+ // into the previous/following calendar years.
1560
+ const time_zone utc = utc_time_zone();
1561
+ time_point<absl::time_internal::cctz::seconds> tp;
1562
+
1563
+ auto exp = convert(civil_second(2019, 12, 31, 0, 0, 0), utc);
1564
+ EXPECT_TRUE(parse("%Y-%U-%u", "2020-00-2", utc, &tp));
1565
+ EXPECT_EQ(exp, tp);
1566
+ EXPECT_TRUE(parse("%Y-%W-%w", "2020-00-2", utc, &tp));
1567
+ EXPECT_EQ(exp, tp);
1568
+
1569
+ exp = convert(civil_second(2021, 1, 1, 0, 0, 0), utc);
1570
+ EXPECT_TRUE(parse("%Y-%U-%u", "2020-52-5", utc, &tp));
1571
+ EXPECT_EQ(exp, tp);
1572
+ EXPECT_TRUE(parse("%Y-%W-%w", "2020-52-5", utc, &tp));
1573
+ EXPECT_EQ(exp, tp);
1574
+
1575
+ // Slipping into the previous/following calendar years should fail when
1576
+ // we're already at the extremes.
1577
+ EXPECT_FALSE(parse("%Y-%U-%u", "-9223372036854775808-0-7", utc, &tp));
1578
+ EXPECT_FALSE(parse("%Y-%U-%u", "9223372036854775807-53-7", utc, &tp));
1579
+ }
1580
+
1581
+ TEST(Parse, MaxRange) {
1582
+ const time_zone utc = utc_time_zone();
1583
+ time_point<absl::time_internal::cctz::seconds> tp;
1584
+
1585
+ // tests the upper limit using +00:00 offset
1586
+ EXPECT_TRUE(
1587
+ parse(RFC3339_sec, "292277026596-12-04T15:30:07+00:00", utc, &tp));
1588
+ EXPECT_EQ(tp, time_point<absl::time_internal::cctz::seconds>::max());
1589
+ EXPECT_FALSE(
1590
+ parse(RFC3339_sec, "292277026596-12-04T15:30:08+00:00", utc, &tp));
1591
+
1592
+ // tests the upper limit using -01:00 offset
1593
+ EXPECT_TRUE(
1594
+ parse(RFC3339_sec, "292277026596-12-04T14:30:07-01:00", utc, &tp));
1595
+ EXPECT_EQ(tp, time_point<absl::time_internal::cctz::seconds>::max());
1596
+ EXPECT_FALSE(
1597
+ parse(RFC3339_sec, "292277026596-12-04T14:30:08-01:00", utc, &tp));
1598
+
1599
+ // tests the lower limit using +00:00 offset
1600
+ EXPECT_TRUE(
1601
+ parse(RFC3339_sec, "-292277022657-01-27T08:29:52+00:00", utc, &tp));
1602
+ EXPECT_EQ(tp, time_point<absl::time_internal::cctz::seconds>::min());
1603
+ EXPECT_FALSE(
1604
+ parse(RFC3339_sec, "-292277022657-01-27T08:29:51+00:00", utc, &tp));
1605
+
1606
+ // tests the lower limit using +01:00 offset
1607
+ EXPECT_TRUE(
1608
+ parse(RFC3339_sec, "-292277022657-01-27T09:29:52+01:00", utc, &tp));
1609
+ EXPECT_EQ(tp, time_point<absl::time_internal::cctz::seconds>::min());
1610
+ EXPECT_FALSE(
1611
+ parse(RFC3339_sec, "-292277022657-01-27T08:29:51+01:00", utc, &tp));
1612
+
1613
+ // tests max/min civil-second overflow
1614
+ EXPECT_FALSE(
1615
+ parse(RFC3339_sec, "9223372036854775807-12-31T23:59:59-00:01", utc, &tp));
1616
+ EXPECT_FALSE(parse(RFC3339_sec, "-9223372036854775808-01-01T00:00:00+00:01",
1617
+ utc, &tp));
1618
+ }
1619
+
1620
+ TEST(Parse, TimePointOverflow) {
1621
+ const time_zone utc = utc_time_zone();
1622
+
1623
+ using D = chrono::duration<std::int64_t, std::nano>;
1624
+ time_point<D> tp;
1625
+
1626
+ EXPECT_TRUE(
1627
+ parse(RFC3339_full, "2262-04-11T23:47:16.8547758079+00:00", utc, &tp));
1628
+ EXPECT_EQ(tp, time_point<D>::max());
1629
+ EXPECT_EQ("2262-04-11T23:47:16.854775807+00:00",
1630
+ absl::time_internal::cctz::format(RFC3339_full, tp, utc));
1631
+ #if 0
1632
+ // TODO(#199): Will fail until cctz::parse() properly detects overflow.
1633
+ EXPECT_FALSE(
1634
+ parse(RFC3339_full, "2262-04-11T23:47:16.8547758080+00:00", utc, &tp));
1635
+ EXPECT_TRUE(
1636
+ parse(RFC3339_full, "1677-09-21T00:12:43.1452241920+00:00", utc, &tp));
1637
+ EXPECT_EQ(tp, time_point<D>::min());
1638
+ EXPECT_EQ("1677-09-21T00:12:43.145224192+00:00",
1639
+ absl::time_internal::cctz::format(RFC3339_full, tp, utc));
1640
+ EXPECT_FALSE(
1641
+ parse(RFC3339_full, "1677-09-21T00:12:43.1452241919+00:00", utc, &tp));
1642
+ #endif
1643
+
1644
+ using DS = chrono::duration<std::int8_t, chrono::seconds::period>;
1645
+ time_point<DS> stp;
1646
+
1647
+ EXPECT_TRUE(parse(RFC3339_full, "1970-01-01T00:02:07.9+00:00", utc, &stp));
1648
+ EXPECT_EQ(stp, time_point<DS>::max());
1649
+ EXPECT_EQ("1970-01-01T00:02:07+00:00",
1650
+ absl::time_internal::cctz::format(RFC3339_full, stp, utc));
1651
+ EXPECT_FALSE(parse(RFC3339_full, "1970-01-01T00:02:08+00:00", utc, &stp));
1652
+
1653
+ EXPECT_TRUE(parse(RFC3339_full, "1969-12-31T23:57:52+00:00", utc, &stp));
1654
+ EXPECT_EQ(stp, time_point<DS>::min());
1655
+ EXPECT_EQ("1969-12-31T23:57:52+00:00",
1656
+ absl::time_internal::cctz::format(RFC3339_full, stp, utc));
1657
+ EXPECT_FALSE(parse(RFC3339_full, "1969-12-31T23:57:51.9+00:00", utc, &stp));
1658
+
1659
+ using DM = chrono::duration<std::int8_t, chrono::minutes::period>;
1660
+ time_point<DM> mtp;
1661
+
1662
+ EXPECT_TRUE(parse(RFC3339_full, "1970-01-01T02:07:59+00:00", utc, &mtp));
1663
+ EXPECT_EQ(mtp, time_point<DM>::max());
1664
+ EXPECT_EQ("1970-01-01T02:07:00+00:00",
1665
+ absl::time_internal::cctz::format(RFC3339_full, mtp, utc));
1666
+ EXPECT_FALSE(parse(RFC3339_full, "1970-01-01T02:08:00+00:00", utc, &mtp));
1667
+
1668
+ EXPECT_TRUE(parse(RFC3339_full, "1969-12-31T21:52:00+00:00", utc, &mtp));
1669
+ EXPECT_EQ(mtp, time_point<DM>::min());
1670
+ EXPECT_EQ("1969-12-31T21:52:00+00:00",
1671
+ absl::time_internal::cctz::format(RFC3339_full, mtp, utc));
1672
+ EXPECT_FALSE(parse(RFC3339_full, "1969-12-31T21:51:59+00:00", utc, &mtp));
1673
+ }
1674
+
1675
+ TEST(Parse, TimePointOverflowFloor) {
1676
+ const time_zone utc = utc_time_zone();
1677
+
1678
+ using D = chrono::duration<std::int64_t, std::micro>;
1679
+ time_point<D> tp;
1680
+
1681
+ EXPECT_TRUE(
1682
+ parse(RFC3339_full, "294247-01-10T04:00:54.7758079+00:00", utc, &tp));
1683
+ EXPECT_EQ(tp, time_point<D>::max());
1684
+ EXPECT_EQ("294247-01-10T04:00:54.775807+00:00",
1685
+ absl::time_internal::cctz::format(RFC3339_full, tp, utc));
1686
+ #if 0
1687
+ // TODO(#199): Will fail until cctz::parse() properly detects overflow.
1688
+ EXPECT_FALSE(
1689
+ parse(RFC3339_full, "294247-01-10T04:00:54.7758080+00:00", utc, &tp));
1690
+ EXPECT_TRUE(
1691
+ parse(RFC3339_full, "-290308-12-21T19:59:05.2241920+00:00", utc, &tp));
1692
+ EXPECT_EQ(tp, time_point<D>::min());
1693
+ EXPECT_EQ("-290308-12-21T19:59:05.224192+00:00",
1694
+ absl::time_internal::cctz::format(RFC3339_full, tp, utc));
1695
+ EXPECT_FALSE(
1696
+ parse(RFC3339_full, "-290308-12-21T19:59:05.2241919+00:00", utc, &tp));
1697
+ #endif
1698
+ }
1699
+
1700
+ //
1701
+ // Roundtrip test for format()/parse().
1702
+ //
1703
+
1704
+ TEST(FormatParse, RoundTrip) {
1705
+ time_zone lax;
1706
+ EXPECT_TRUE(load_time_zone("America/Los_Angeles", &lax));
1707
+ const auto in = convert(civil_second(1977, 6, 28, 9, 8, 7), lax);
1708
+ const auto subseconds = chrono::nanoseconds(654321);
1709
+
1710
+ // RFC3339, which renders subseconds.
1711
+ {
1712
+ time_point<chrono::nanoseconds> out;
1713
+ const std::string s =
1714
+ absl::time_internal::cctz::format(RFC3339_full, in + subseconds, lax);
1715
+ EXPECT_TRUE(parse(RFC3339_full, s, lax, &out)) << s;
1716
+ EXPECT_EQ(in + subseconds, out); // RFC3339_full includes %Ez
1717
+ }
1718
+
1719
+ // RFC1123, which only does whole seconds.
1720
+ {
1721
+ time_point<chrono::nanoseconds> out;
1722
+ const std::string s =
1723
+ absl::time_internal::cctz::format(RFC1123_full, in, lax);
1724
+ EXPECT_TRUE(parse(RFC1123_full, s, lax, &out)) << s;
1725
+ EXPECT_EQ(in, out); // RFC1123_full includes %z
1726
+ }
1727
+
1728
+ #if defined(_WIN32) || defined(_WIN64)
1729
+ // Initial investigations indicate the %c does not roundtrip on Windows.
1730
+ // TODO: Figure out what is going on here (perhaps a locale problem).
1731
+ #elif defined(__EMSCRIPTEN__)
1732
+ // strftime() and strptime() use different defintions for "%c" under
1733
+ // emscripten (see https://github.com/kripken/emscripten/pull/7491),
1734
+ // causing its round-trip test to fail.
1735
+ #else
1736
+ // Even though we don't know what %c will produce, it should roundtrip,
1737
+ // but only in the 0-offset timezone.
1738
+ {
1739
+ time_point<chrono::nanoseconds> out;
1740
+ time_zone utc = utc_time_zone();
1741
+ const std::string s = absl::time_internal::cctz::format("%c", in, utc);
1742
+ EXPECT_TRUE(parse("%c", s, utc, &out)) << s;
1743
+ EXPECT_EQ(in, out);
1744
+ }
1745
+ #endif
1746
+ }
1747
+
1748
+ TEST(FormatParse, RoundTripDistantFuture) {
1749
+ const time_zone utc = utc_time_zone();
1750
+ const time_point<absl::time_internal::cctz::seconds> in =
1751
+ time_point<absl::time_internal::cctz::seconds>::max();
1752
+ const std::string s =
1753
+ absl::time_internal::cctz::format(RFC3339_full, in, utc);
1754
+ time_point<absl::time_internal::cctz::seconds> out;
1755
+ EXPECT_TRUE(parse(RFC3339_full, s, utc, &out)) << s;
1756
+ EXPECT_EQ(in, out);
1757
+ }
1758
+
1759
+ TEST(FormatParse, RoundTripDistantPast) {
1760
+ const time_zone utc = utc_time_zone();
1761
+ const time_point<absl::time_internal::cctz::seconds> in =
1762
+ time_point<absl::time_internal::cctz::seconds>::min();
1763
+ const std::string s =
1764
+ absl::time_internal::cctz::format(RFC3339_full, in, utc);
1765
+ time_point<absl::time_internal::cctz::seconds> out;
1766
+ EXPECT_TRUE(parse(RFC3339_full, s, utc, &out)) << s;
1767
+ EXPECT_EQ(in, out);
1768
+ }
1769
+
1770
+ } // namespace cctz
1771
+ } // namespace time_internal
1772
+ ABSL_NAMESPACE_END
1773
+ } // namespace absl