re2 1.23.0 → 1.23.2
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.
- package/README.md +2 -0
- package/binding.gyp +3 -2
- package/package.json +5 -5
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +25 -4
- package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +6 -1
- package/vendor/abseil-cpp/CMakeLists.txt +2 -2
- package/vendor/abseil-cpp/MODULE.bazel +2 -2
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +0 -1
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -2
- package/vendor/abseil-cpp/absl/algorithm/container.h +191 -140
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +818 -0
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +44 -5
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +42 -3
- package/vendor/abseil-cpp/absl/base/attributes.h +5 -1
- package/vendor/abseil-cpp/absl/base/call_once_test.cc +10 -10
- package/vendor/abseil-cpp/absl/base/casts.cc +61 -0
- package/vendor/abseil-cpp/absl/base/casts.h +128 -2
- package/vendor/abseil-cpp/absl/base/casts_test.cc +151 -0
- package/vendor/abseil-cpp/absl/base/config.h +13 -37
- package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +4 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
- package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
- package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +13 -7
- package/vendor/abseil-cpp/absl/base/internal/spinlock.h +16 -11
- package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +2 -1
- package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +0 -9
- package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -6
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -1
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
- package/vendor/abseil-cpp/absl/base/macros.h +40 -17
- package/vendor/abseil-cpp/absl/base/nullability.h +1 -1
- package/vendor/abseil-cpp/absl/base/optimization.h +1 -3
- package/vendor/abseil-cpp/absl/base/options.h +1 -27
- package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +5 -8
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +4 -0
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +195 -2
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +136 -2
- package/vendor/abseil-cpp/absl/container/btree_map.h +56 -6
- package/vendor/abseil-cpp/absl/container/btree_set.h +52 -6
- package/vendor/abseil-cpp/absl/container/btree_test.cc +107 -1
- package/vendor/abseil-cpp/absl/container/chunked_queue.h +755 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
- package/vendor/abseil-cpp/absl/container/fixed_array.h +4 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +1 -2
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -2
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +12 -4
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +21 -0
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +14 -5
- package/vendor/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
- package/vendor/abseil-cpp/absl/container/internal/common.h +51 -0
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +7 -1
- package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +11 -0
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +1 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -14
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +11 -8
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +3 -4
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +23 -6
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +31 -15
- package/vendor/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +4 -12
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -10
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +149 -23
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +120 -126
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +4 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +8 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +14 -59
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +111 -22
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +10 -15
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +45 -61
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +6 -9
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +25 -31
- package/vendor/abseil-cpp/absl/container/linked_hash_map.h +666 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set.h +527 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +17 -6
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +16 -5
- package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +1 -2
- package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +79 -0
- package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +79 -0
- package/vendor/abseil-cpp/absl/copts/copts.py +17 -4
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +67 -13
- package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +31 -0
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +34 -0
- package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
- package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -0
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +2 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
- package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +2 -2
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +35 -67
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +3 -0
- package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +24 -1
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +39 -15
- package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
- package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +25 -40
- package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/flags/declare.h +9 -0
- package/vendor/abseil-cpp/absl/flags/flag.h +2 -1
- package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +3 -2
- package/vendor/abseil-cpp/absl/flags/marshalling.cc +1 -16
- package/vendor/abseil-cpp/absl/flags/parse.cc +4 -2
- package/vendor/abseil-cpp/absl/flags/parse_test.cc +1 -1
- package/vendor/abseil-cpp/absl/flags/reflection.cc +4 -3
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +3 -1
- package/vendor/abseil-cpp/absl/functional/function_ref.h +125 -20
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +122 -9
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +13 -2
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +42 -4
- package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +11 -0
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +5 -2
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +184 -53
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +116 -10
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +43 -4
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +35 -1
- package/vendor/abseil-cpp/absl/log/check_test_impl.inc +59 -4
- package/vendor/abseil-cpp/absl/log/die_if_null.cc +3 -1
- package/vendor/abseil-cpp/absl/log/die_if_null.h +24 -3
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +31 -1
- package/vendor/abseil-cpp/absl/log/internal/check_impl.h +2 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.cc +3 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.h +44 -18
- package/vendor/abseil-cpp/absl/log/internal/conditions.h +38 -35
- package/vendor/abseil-cpp/absl/log/internal/container.h +312 -0
- package/vendor/abseil-cpp/absl/log/internal/container_test.cc +254 -0
- package/vendor/abseil-cpp/absl/log/internal/log_impl.h +108 -110
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -2
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +5 -1
- package/vendor/abseil-cpp/absl/log/internal/strip.h +30 -31
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +19 -19
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
- package/vendor/abseil-cpp/absl/log/log.h +2 -2
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +51 -0
- package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +46 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires.h +67 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
- package/vendor/abseil-cpp/absl/meta/type_traits.h +42 -1
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +14 -0
- package/vendor/abseil-cpp/absl/numeric/int128.h +41 -21
- package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
- package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +52 -5
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +18 -7
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +1 -0
- package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +3 -5
- package/vendor/abseil-cpp/absl/random/internal/platform.h +0 -13
- package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -1
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +1 -27
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +17 -0
- package/vendor/abseil-cpp/absl/status/CMakeLists.txt +16 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +4 -2
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +2 -2
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +2 -1
- package/vendor/abseil-cpp/absl/status/status.cc +4 -0
- package/vendor/abseil-cpp/absl/status/status.h +5 -0
- package/vendor/abseil-cpp/absl/status/status_matchers.h +48 -0
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +27 -0
- package/vendor/abseil-cpp/absl/status/status_test.cc +1 -0
- package/vendor/abseil-cpp/absl/status/statusor.h +1 -1
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +101 -21
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +99 -5
- package/vendor/abseil-cpp/absl/strings/ascii.h +9 -4
- package/vendor/abseil-cpp/absl/strings/cord.cc +15 -10
- package/vendor/abseil-cpp/absl/strings/cord.h +1 -1
- package/vendor/abseil-cpp/absl/strings/escaping.cc +126 -94
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +2 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +8 -8
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +24 -18
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +10 -16
- package/vendor/abseil-cpp/absl/strings/internal/escaping.h +9 -7
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -12
- package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +21 -7
- package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +495 -8
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -15
- package/vendor/abseil-cpp/absl/strings/numbers.cc +71 -8
- package/vendor/abseil-cpp/absl/strings/numbers.h +25 -12
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +70 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
- package/vendor/abseil-cpp/absl/strings/str_cat.cc +96 -91
- package/vendor/abseil-cpp/absl/strings/str_cat.h +17 -12
- package/vendor/abseil-cpp/absl/strings/str_format_test.cc +4 -4
- package/vendor/abseil-cpp/absl/strings/str_split.h +1 -1
- package/vendor/abseil-cpp/absl/strings/str_split_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/string_view.h +8 -718
- package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1 -1265
- package/vendor/abseil-cpp/absl/strings/substitute.cc +24 -24
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +2 -3
- package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +15 -5
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2 -1
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +47 -23
- package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/time/civil_time_test.cc +58 -103
- package/vendor/abseil-cpp/absl/time/clock.cc +18 -16
- package/vendor/abseil-cpp/absl/time/clock_test.cc +2 -2
- package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +144 -0
- package/vendor/abseil-cpp/absl/time/duration_test.cc +26 -29
- package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +7 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +4 -2
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +9 -9
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +12 -12
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +47 -47
- package/vendor/abseil-cpp/absl/time/time.cc +4 -4
- package/vendor/abseil-cpp/absl/time/time.h +10 -10
- package/vendor/abseil-cpp/absl/time/time_test.cc +1 -0
- package/vendor/abseil-cpp/absl/types/compare.h +62 -61
- package/vendor/abseil-cpp/absl/types/compare_test.cc +3 -3
- package/vendor/abseil-cpp/absl/types/internal/span.h +1 -0
- package/vendor/abseil-cpp/absl/types/optional.h +2 -2
- package/vendor/abseil-cpp/absl/types/span.h +10 -2
- package/vendor/abseil-cpp/absl/utility/utility.h +13 -0
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +0 -1
- package/vendor/abseil-cpp/ci/cmake_common.sh +1 -1
- package/vendor/abseil-cpp/ci/cmake_install_test.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +2 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +3 -2
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +5 -0
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +6 -1
- package/vendor/abseil-cpp/absl/base/internal/identity.h +0 -39
- package/vendor/abseil-cpp/absl/strings/string_view.cc +0 -257
- package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +0 -380
|
@@ -32,31 +32,6 @@
|
|
|
32
32
|
#include <zircon/types.h>
|
|
33
33
|
#endif
|
|
34
34
|
|
|
35
|
-
#if defined(_WIN32)
|
|
36
|
-
// Include only when <icu.h> is available.
|
|
37
|
-
// https://learn.microsoft.com/en-us/windows/win32/intl/international-components-for-unicode--icu-
|
|
38
|
-
// https://devblogs.microsoft.com/oldnewthing/20210527-00/?p=105255
|
|
39
|
-
#if defined(__has_include)
|
|
40
|
-
#if __has_include(<icu.h>)
|
|
41
|
-
#define USE_WIN32_LOCAL_TIME_ZONE
|
|
42
|
-
#include <windows.h>
|
|
43
|
-
#pragma push_macro("_WIN32_WINNT")
|
|
44
|
-
#pragma push_macro("NTDDI_VERSION")
|
|
45
|
-
// Minimum _WIN32_WINNT and NTDDI_VERSION to use ucal_getTimeZoneIDForWindowsID
|
|
46
|
-
#undef _WIN32_WINNT
|
|
47
|
-
#define _WIN32_WINNT 0x0A00 // == _WIN32_WINNT_WIN10
|
|
48
|
-
#undef NTDDI_VERSION
|
|
49
|
-
#define NTDDI_VERSION 0x0A000004 // == NTDDI_WIN10_RS3
|
|
50
|
-
#include <icu.h>
|
|
51
|
-
#pragma pop_macro("NTDDI_VERSION")
|
|
52
|
-
#pragma pop_macro("_WIN32_WINNT")
|
|
53
|
-
#include <timezoneapi.h>
|
|
54
|
-
|
|
55
|
-
#include <atomic>
|
|
56
|
-
#endif // __has_include(<icu.h>)
|
|
57
|
-
#endif // __has_include
|
|
58
|
-
#endif // _WIN32
|
|
59
|
-
|
|
60
35
|
#include <array>
|
|
61
36
|
#include <cstdint>
|
|
62
37
|
#include <cstdlib>
|
|
@@ -66,87 +41,15 @@
|
|
|
66
41
|
#include "absl/time/internal/cctz/src/time_zone_fixed.h"
|
|
67
42
|
#include "absl/time/internal/cctz/src/time_zone_impl.h"
|
|
68
43
|
|
|
44
|
+
#if defined(_WIN32)
|
|
45
|
+
#include "absl/time/internal/cctz/src/time_zone_name_win.h"
|
|
46
|
+
#endif // _WIN32
|
|
47
|
+
|
|
69
48
|
namespace absl {
|
|
70
49
|
ABSL_NAMESPACE_BEGIN
|
|
71
50
|
namespace time_internal {
|
|
72
51
|
namespace cctz {
|
|
73
52
|
|
|
74
|
-
namespace {
|
|
75
|
-
#if defined(USE_WIN32_LOCAL_TIME_ZONE)
|
|
76
|
-
// True if we have already failed to load the API.
|
|
77
|
-
static std::atomic_bool g_ucal_getTimeZoneIDForWindowsIDUnavailable;
|
|
78
|
-
static std::atomic<decltype(ucal_getTimeZoneIDForWindowsID)*>
|
|
79
|
-
g_ucal_getTimeZoneIDForWindowsIDRef;
|
|
80
|
-
|
|
81
|
-
std::string win32_local_time_zone() {
|
|
82
|
-
// If we have already failed to load the API, then just give up.
|
|
83
|
-
if (g_ucal_getTimeZoneIDForWindowsIDUnavailable.load()) {
|
|
84
|
-
return "";
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
auto ucal_getTimeZoneIDForWindowsIDFunc =
|
|
88
|
-
g_ucal_getTimeZoneIDForWindowsIDRef.load();
|
|
89
|
-
if (ucal_getTimeZoneIDForWindowsIDFunc == nullptr) {
|
|
90
|
-
// If we have already failed to load the API, then just give up.
|
|
91
|
-
if (g_ucal_getTimeZoneIDForWindowsIDUnavailable.load()) {
|
|
92
|
-
return "";
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const HMODULE icudll =
|
|
96
|
-
::LoadLibraryExW(L"icu.dll", nullptr, LOAD_LIBRARY_SEARCH_SYSTEM32);
|
|
97
|
-
|
|
98
|
-
if (icudll == nullptr) {
|
|
99
|
-
g_ucal_getTimeZoneIDForWindowsIDUnavailable.store(true);
|
|
100
|
-
return "";
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
ucal_getTimeZoneIDForWindowsIDFunc =
|
|
104
|
-
reinterpret_cast<decltype(ucal_getTimeZoneIDForWindowsID)*>(
|
|
105
|
-
::GetProcAddress(icudll, "ucal_getTimeZoneIDForWindowsID"));
|
|
106
|
-
|
|
107
|
-
if (ucal_getTimeZoneIDForWindowsIDFunc == nullptr) {
|
|
108
|
-
g_ucal_getTimeZoneIDForWindowsIDUnavailable.store(true);
|
|
109
|
-
return "";
|
|
110
|
-
}
|
|
111
|
-
// store-race is not a problem here, because ::GetProcAddress() returns the
|
|
112
|
-
// same address for the same function in the same DLL.
|
|
113
|
-
g_ucal_getTimeZoneIDForWindowsIDRef.store(
|
|
114
|
-
ucal_getTimeZoneIDForWindowsIDFunc);
|
|
115
|
-
|
|
116
|
-
// We intentionally do not call ::FreeLibrary() here to avoid frequent DLL
|
|
117
|
-
// loadings and unloading. As "icu.dll" is a system library, keeping it on
|
|
118
|
-
// memory is supposed to have no major drawback.
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
DYNAMIC_TIME_ZONE_INFORMATION info = {};
|
|
122
|
-
if (::GetDynamicTimeZoneInformation(&info) == TIME_ZONE_ID_INVALID) {
|
|
123
|
-
return "";
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
std::array<UChar, 128> buffer;
|
|
127
|
-
UErrorCode status = U_ZERO_ERROR;
|
|
128
|
-
const auto num_chars_in_buffer = ucal_getTimeZoneIDForWindowsIDFunc(
|
|
129
|
-
reinterpret_cast<const UChar*>(info.TimeZoneKeyName), -1, nullptr,
|
|
130
|
-
buffer.data(), static_cast<int32_t>(buffer.size()), &status);
|
|
131
|
-
if (status != U_ZERO_ERROR || num_chars_in_buffer <= 0 ||
|
|
132
|
-
num_chars_in_buffer > static_cast<int32_t>(buffer.size())) {
|
|
133
|
-
return "";
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
const int num_bytes_in_utf8 = ::WideCharToMultiByte(
|
|
137
|
-
CP_UTF8, 0, reinterpret_cast<const wchar_t*>(buffer.data()),
|
|
138
|
-
static_cast<int>(num_chars_in_buffer), nullptr, 0, nullptr, nullptr);
|
|
139
|
-
std::string local_time_str;
|
|
140
|
-
local_time_str.resize(static_cast<size_t>(num_bytes_in_utf8));
|
|
141
|
-
::WideCharToMultiByte(
|
|
142
|
-
CP_UTF8, 0, reinterpret_cast<const wchar_t*>(buffer.data()),
|
|
143
|
-
static_cast<int>(num_chars_in_buffer), &local_time_str[0],
|
|
144
|
-
num_bytes_in_utf8, nullptr, nullptr);
|
|
145
|
-
return local_time_str;
|
|
146
|
-
}
|
|
147
|
-
#endif // USE_WIN32_LOCAL_TIME_ZONE
|
|
148
|
-
} // namespace
|
|
149
|
-
|
|
150
53
|
std::string time_zone::name() const { return effective_impl().Name(); }
|
|
151
54
|
|
|
152
55
|
time_zone::absolute_lookup time_zone::lookup(
|
|
@@ -261,8 +164,8 @@ time_zone local_time_zone() {
|
|
|
261
164
|
zone = primary_tz.c_str();
|
|
262
165
|
}
|
|
263
166
|
#endif
|
|
264
|
-
#if defined(
|
|
265
|
-
std::string win32_tz =
|
|
167
|
+
#if defined(_WIN32)
|
|
168
|
+
std::string win32_tz = GetWindowsLocalTimeZone();
|
|
266
169
|
if (!win32_tz.empty()) {
|
|
267
170
|
zone = win32_tz.c_str();
|
|
268
171
|
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
// Copyright 2025 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 "absl/time/internal/cctz/src/time_zone_name_win.h"
|
|
16
|
+
|
|
17
|
+
#include "absl/base/config.h"
|
|
18
|
+
|
|
19
|
+
#if !defined(NOMINMAX)
|
|
20
|
+
#define NOMINMAX
|
|
21
|
+
#endif // !defined(NOMINMAX)
|
|
22
|
+
#include <windows.h>
|
|
23
|
+
|
|
24
|
+
#include <algorithm>
|
|
25
|
+
#include <atomic>
|
|
26
|
+
#include <cstddef>
|
|
27
|
+
#include <cstdint>
|
|
28
|
+
#include <limits>
|
|
29
|
+
#include <string>
|
|
30
|
+
#include <type_traits>
|
|
31
|
+
#include <utility>
|
|
32
|
+
|
|
33
|
+
namespace absl {
|
|
34
|
+
ABSL_NAMESPACE_BEGIN
|
|
35
|
+
namespace time_internal {
|
|
36
|
+
namespace cctz {
|
|
37
|
+
namespace {
|
|
38
|
+
|
|
39
|
+
// Define UChar as wchar_t here because Win32 APIs receive UTF-16 strings as
|
|
40
|
+
// wchar_t* instead of char16_t*. Using char16_t would require additional casts.
|
|
41
|
+
using UChar = wchar_t;
|
|
42
|
+
|
|
43
|
+
enum UErrorCode : std::int32_t {
|
|
44
|
+
U_ZERO_ERROR = 0,
|
|
45
|
+
U_BUFFER_OVERFLOW_ERROR = 15,
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
bool U_SUCCESS(UErrorCode error) { return error <= U_ZERO_ERROR; }
|
|
49
|
+
|
|
50
|
+
using ucal_getTimeZoneIDForWindowsID_func = std::int32_t(__cdecl*)(
|
|
51
|
+
const UChar* winid, std::int32_t len, const char* region, UChar* id,
|
|
52
|
+
std::int32_t id_capacity, UErrorCode* status);
|
|
53
|
+
|
|
54
|
+
std::atomic<bool> g_unavailable;
|
|
55
|
+
std::atomic<ucal_getTimeZoneIDForWindowsID_func>
|
|
56
|
+
g_ucal_getTimeZoneIDForWindowsID;
|
|
57
|
+
|
|
58
|
+
template <typename T>
|
|
59
|
+
static T AsProcAddress(HMODULE module, const char* name) {
|
|
60
|
+
static_assert(
|
|
61
|
+
std::is_pointer<T>::value &&
|
|
62
|
+
std::is_function<typename std::remove_pointer<T>::type>::value,
|
|
63
|
+
"T must be a function pointer type");
|
|
64
|
+
const auto proc_address = ::GetProcAddress(module, name);
|
|
65
|
+
return reinterpret_cast<T>(reinterpret_cast<void*>(proc_address));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
std::wstring GetSystem32Dir() {
|
|
69
|
+
std::wstring result;
|
|
70
|
+
std::uint32_t len = std::max<std::uint32_t>(
|
|
71
|
+
static_cast<std::uint32_t>(std::min<size_t>(
|
|
72
|
+
result.capacity(), std::numeric_limits<std::uint32_t>::max())),
|
|
73
|
+
1);
|
|
74
|
+
do {
|
|
75
|
+
result.resize(len);
|
|
76
|
+
len = ::GetSystemDirectoryW(&result[0], len);
|
|
77
|
+
} while (len > result.size());
|
|
78
|
+
result.resize(len);
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
ucal_getTimeZoneIDForWindowsID_func LoadIcuGetTimeZoneIDForWindowsID() {
|
|
83
|
+
// This function is intended to be lock free to avoid potential deadlocks
|
|
84
|
+
// with loader-lock taken inside LoadLibraryW. As LoadLibraryW and
|
|
85
|
+
// GetProcAddress are idempotent unless the DLL is unloaded, we just need to
|
|
86
|
+
// make sure global variables are read/written atomically, where
|
|
87
|
+
// memory_order_relaxed is also acceptable.
|
|
88
|
+
|
|
89
|
+
if (g_unavailable.load(std::memory_order_relaxed)) {
|
|
90
|
+
return nullptr;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
{
|
|
94
|
+
const auto ucal_getTimeZoneIDForWindowsIDRef =
|
|
95
|
+
g_ucal_getTimeZoneIDForWindowsID.load(std::memory_order_relaxed);
|
|
96
|
+
if (ucal_getTimeZoneIDForWindowsIDRef != nullptr) {
|
|
97
|
+
return ucal_getTimeZoneIDForWindowsIDRef;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const std::wstring system32_dir = GetSystem32Dir();
|
|
102
|
+
if (system32_dir.empty()) {
|
|
103
|
+
g_unavailable.store(true, std::memory_order_relaxed);
|
|
104
|
+
return nullptr;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Here LoadLibraryExW(L"icu.dll", nullptr, LOAD_LIBRARY_SEARCH_SYSTEM32) does
|
|
108
|
+
// not work if "icu.dll" is already loaded from somewhere other than the
|
|
109
|
+
// system32 directory. Specifying the full path with LoadLibraryW is more
|
|
110
|
+
// reliable.
|
|
111
|
+
const std::wstring icu_dll_path = system32_dir + L"\\icu.dll";
|
|
112
|
+
const HMODULE icu_dll = ::LoadLibraryW(icu_dll_path.c_str());
|
|
113
|
+
if (icu_dll == nullptr) {
|
|
114
|
+
g_unavailable.store(true, std::memory_order_relaxed);
|
|
115
|
+
return nullptr;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const auto ucal_getTimeZoneIDForWindowsIDRef =
|
|
119
|
+
AsProcAddress<ucal_getTimeZoneIDForWindowsID_func>(
|
|
120
|
+
icu_dll, "ucal_getTimeZoneIDForWindowsID");
|
|
121
|
+
if (ucal_getTimeZoneIDForWindowsIDRef != nullptr) {
|
|
122
|
+
g_unavailable.store(true, std::memory_order_relaxed);
|
|
123
|
+
return nullptr;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
g_ucal_getTimeZoneIDForWindowsID.store(ucal_getTimeZoneIDForWindowsIDRef,
|
|
127
|
+
std::memory_order_relaxed);
|
|
128
|
+
|
|
129
|
+
return ucal_getTimeZoneIDForWindowsIDRef;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Convert wchar_t array (UTF-16) to UTF-8 string
|
|
133
|
+
std::string Utf16ToUtf8(const wchar_t* ptr, size_t size) {
|
|
134
|
+
if (size > std::numeric_limits<int>::max()) {
|
|
135
|
+
return std::string();
|
|
136
|
+
}
|
|
137
|
+
const int chars_len = static_cast<int>(size);
|
|
138
|
+
std::string result;
|
|
139
|
+
std::size_t len = std::max<std::size_t>(
|
|
140
|
+
std::min<size_t>(result.capacity(), std::numeric_limits<int>::max()), 1);
|
|
141
|
+
do {
|
|
142
|
+
result.resize(len);
|
|
143
|
+
// TODO: Switch to std::string::data() when we require C++17 or higher.
|
|
144
|
+
len = static_cast<std::size_t>(::WideCharToMultiByte(
|
|
145
|
+
CP_UTF8, WC_ERR_INVALID_CHARS, ptr, chars_len, &result[0],
|
|
146
|
+
static_cast<int>(len), nullptr, nullptr));
|
|
147
|
+
} while (len > result.size());
|
|
148
|
+
result.resize(len);
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
} // namespace
|
|
153
|
+
|
|
154
|
+
std::string GetWindowsLocalTimeZone() {
|
|
155
|
+
const auto getTimeZoneIDForWindowsID = LoadIcuGetTimeZoneIDForWindowsID();
|
|
156
|
+
if (getTimeZoneIDForWindowsID == nullptr) {
|
|
157
|
+
return std::string();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
DYNAMIC_TIME_ZONE_INFORMATION info = {};
|
|
161
|
+
if (::GetDynamicTimeZoneInformation(&info) == TIME_ZONE_ID_INVALID) {
|
|
162
|
+
return std::string();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
std::wstring result;
|
|
166
|
+
std::size_t len = std::max<std::size_t>(
|
|
167
|
+
std::min<size_t>(result.capacity(), std::numeric_limits<int>::max()), 1);
|
|
168
|
+
for (;;) {
|
|
169
|
+
UErrorCode status = U_ZERO_ERROR;
|
|
170
|
+
result.resize(len);
|
|
171
|
+
len = static_cast<std::size_t>(
|
|
172
|
+
getTimeZoneIDForWindowsID(info.TimeZoneKeyName, -1, nullptr, &result[0],
|
|
173
|
+
static_cast<int>(len), &status));
|
|
174
|
+
if (U_SUCCESS(status)) {
|
|
175
|
+
return Utf16ToUtf8(result.data(), len);
|
|
176
|
+
}
|
|
177
|
+
if (status != U_BUFFER_OVERFLOW_ERROR) {
|
|
178
|
+
return std::string();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
} // namespace cctz
|
|
184
|
+
} // namespace time_internal
|
|
185
|
+
ABSL_NAMESPACE_END
|
|
186
|
+
} // namespace absl
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Copyright 2025 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
|
+
#ifndef ABSL_TIME_INTERNAL_CCTZ_TIME_ZONE_NAME_WIN_H_
|
|
16
|
+
#define ABSL_TIME_INTERNAL_CCTZ_TIME_ZONE_NAME_WIN_H_
|
|
17
|
+
|
|
18
|
+
#include <string>
|
|
19
|
+
|
|
20
|
+
#include "absl/base/config.h"
|
|
21
|
+
|
|
22
|
+
namespace absl {
|
|
23
|
+
ABSL_NAMESPACE_BEGIN
|
|
24
|
+
namespace time_internal {
|
|
25
|
+
namespace cctz {
|
|
26
|
+
|
|
27
|
+
// Returns the local time zone ID in IANA format (e.g. "America/Los_Angeles"),
|
|
28
|
+
// or the empty string on failure. Not supported on Windows 10 1809 and earlier,
|
|
29
|
+
// where "icu.dll" is not available in the System32 directory.
|
|
30
|
+
std::string GetWindowsLocalTimeZone();
|
|
31
|
+
|
|
32
|
+
} // namespace cctz
|
|
33
|
+
} // namespace time_internal
|
|
34
|
+
ABSL_NAMESPACE_END
|
|
35
|
+
} // namespace absl
|
|
36
|
+
|
|
37
|
+
#endif // ABSL_TIME_INTERNAL_CCTZ_TIME_ZONE_NAME_WIN_H_
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2025c
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
# This file is in the public domain, so clarified as of
|
|
4
4
|
# 2009-05-17 by Arthur David Olson.
|
|
5
5
|
#
|
|
6
|
-
# From Paul Eggert (
|
|
6
|
+
# From Paul Eggert (2025-07-01):
|
|
7
7
|
# This file contains a table of two-letter country codes. Columns are
|
|
8
|
-
# separated by a single tab. Lines beginning with
|
|
8
|
+
# separated by a single tab. Lines beginning with ‘#’ are comments.
|
|
9
9
|
# All text uses UTF-8 encoding. The columns of the table are as follows:
|
|
10
10
|
#
|
|
11
11
|
# 1. ISO 3166-1 alpha-2 country code, current as of
|
|
12
|
-
# ISO/TC 46
|
|
12
|
+
# ISO/TC 46 N1127 (2024-02-29). See: ISO/TC 46 Documents
|
|
13
13
|
# https://www.iso.org/committee/48750.html?view=documents
|
|
14
14
|
# 2. The usual English name for the coded region. This sometimes
|
|
15
15
|
# departs from ISO-listed names, sometimes so that sorted subsets
|
|
16
|
-
# of names are useful (e.g.,
|
|
17
|
-
# (western)
|
|
16
|
+
# of names are useful (e.g., “Samoa (American)” and “Samoa
|
|
17
|
+
# (western)” rather than “American Samoa” and “Samoa”),
|
|
18
18
|
# sometimes to avoid confusion among non-experts (e.g.,
|
|
19
|
-
#
|
|
20
|
-
# and sometimes to omit needless detail or churn (e.g.,
|
|
21
|
-
# rather than
|
|
19
|
+
# “Czech Republic” and “Turkey” rather than “Czechia” and “Türkiye”),
|
|
20
|
+
# and sometimes to omit needless detail or churn (e.g., “Netherlands”
|
|
21
|
+
# rather than “Netherlands (the)” or “Netherlands (Kingdom of the)”).
|
|
22
22
|
#
|
|
23
23
|
# The table is sorted by country code.
|
|
24
24
|
#
|
|
@@ -71,7 +71,7 @@ CD Congo (Dem. Rep.)
|
|
|
71
71
|
CF Central African Rep.
|
|
72
72
|
CG Congo (Rep.)
|
|
73
73
|
CH Switzerland
|
|
74
|
-
CI Côte d
|
|
74
|
+
CI Côte d’Ivoire
|
|
75
75
|
CK Cook Islands
|
|
76
76
|
CL Chile
|
|
77
77
|
CM Cameroon
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
#
|
|
3
3
|
# This file is in the public domain.
|
|
4
4
|
#
|
|
5
|
-
# From Paul Eggert (
|
|
5
|
+
# From Paul Eggert (2025-05-15):
|
|
6
6
|
# This file contains a table where each row stands for a timezone where
|
|
7
7
|
# civil timestamps have agreed since 1970. Columns are separated by
|
|
8
|
-
# a single tab. Lines beginning with
|
|
8
|
+
# a single tab. Lines beginning with ‘#’ are comments. All text uses
|
|
9
9
|
# UTF-8 encoding. The columns of the table are as follows:
|
|
10
10
|
#
|
|
11
11
|
# 1. The countries that overlap the timezone, as a comma-separated list
|
|
12
|
-
# of ISO 3166 2-character country codes.
|
|
13
|
-
# 2. Latitude and longitude of the timezone
|
|
12
|
+
# of ISO 3166 2-character country codes.
|
|
13
|
+
# 2. Latitude and longitude of the timezone’s principal location
|
|
14
14
|
# in ISO 6709 sign-degrees-minutes-seconds format,
|
|
15
15
|
# either ±DDMM±DDDMM or ±DDMMSS±DDDMMSS,
|
|
16
16
|
# first latitude (+ is north), then longitude (+ is east).
|
|
@@ -197,7 +197,7 @@ KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda
|
|
|
197
197
|
KZ +5312+06337 Asia/Qostanay Qostanay/Kostanay/Kustanay
|
|
198
198
|
KZ +5017+05710 Asia/Aqtobe Aqtöbe/Aktobe
|
|
199
199
|
KZ +4431+05016 Asia/Aqtau Mangghystaū/Mankistau
|
|
200
|
-
KZ +4707+05156 Asia/Atyrau Atyraū/Atirau/Gur
|
|
200
|
+
KZ +4707+05156 Asia/Atyrau Atyraū/Atirau/Gur’yev
|
|
201
201
|
KZ +5113+05121 Asia/Oral West Kazakhstan
|
|
202
202
|
LB +3353+03530 Asia/Beirut
|
|
203
203
|
LK +0656+07951 Asia/Colombo
|
|
@@ -245,7 +245,7 @@ PE -1203-07703 America/Lima
|
|
|
245
245
|
PF -1732-14934 Pacific/Tahiti Society Islands
|
|
246
246
|
PF -0900-13930 Pacific/Marquesas Marquesas Islands
|
|
247
247
|
PF -2308-13457 Pacific/Gambier Gambier Islands
|
|
248
|
-
PG,AQ,FM -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Chuuk, Yap, Dumont d
|
|
248
|
+
PG,AQ,FM -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Chuuk, Yap, Dumont d’Urville
|
|
249
249
|
PG -0613+15534 Pacific/Bougainville Bougainville
|
|
250
250
|
PH +143512+1205804 Asia/Manila
|
|
251
251
|
PK +2452+06703 Asia/Karachi
|
|
@@ -265,7 +265,7 @@ RO +4426+02606 Europe/Bucharest
|
|
|
265
265
|
RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
|
|
266
266
|
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
|
|
267
267
|
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
|
|
268
|
-
# Mention RU and UA alphabetically. See
|
|
268
|
+
# Mention RU and UA alphabetically. See “territorial claims” above.
|
|
269
269
|
RU,UA +4457+03406 Europe/Simferopol Crimea
|
|
270
270
|
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
|
|
271
271
|
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
|
|
@@ -353,20 +353,20 @@ ZA,LS,SZ -2615+02800 Africa/Johannesburg
|
|
|
353
353
|
# The next section contains experimental tab-separated comments for
|
|
354
354
|
# use by user agents like tzselect that identify continents and oceans.
|
|
355
355
|
#
|
|
356
|
-
# For example, the comment
|
|
356
|
+
# For example, the comment ‘#@AQ<tab>Antarctica/’ means the country code
|
|
357
357
|
# AQ is in the continent Antarctica regardless of the Zone name,
|
|
358
358
|
# so Pacific/Auckland should be listed under Antarctica as well as
|
|
359
|
-
# under the Pacific because its line
|
|
359
|
+
# under the Pacific because its line’s country codes include AQ.
|
|
360
360
|
#
|
|
361
361
|
# If more than one country code is affected each is listed separated
|
|
362
|
-
# by commas, e.g.,
|
|
362
|
+
# by commas, e.g., ‘#@IS,SH<tab>Atlantic/’. If a country code is in
|
|
363
363
|
# more than one continent or ocean, each is listed separated by
|
|
364
|
-
# commas, e.g., the second column of
|
|
364
|
+
# commas, e.g., the second column of ‘#@CY,TR<tab>Asia/,Europe/’.
|
|
365
365
|
#
|
|
366
366
|
# These experimental comments are present only for country codes where
|
|
367
367
|
# the continent or ocean is not already obvious from the Zone name.
|
|
368
368
|
# For example, there is no such comment for RU since it already
|
|
369
|
-
# corresponds to Zone names starting with both
|
|
369
|
+
# corresponds to Zone names starting with both ‘Europe/’ and ‘Asia/’.
|
|
370
370
|
#
|
|
371
371
|
#@AQ Antarctica/
|
|
372
372
|
#@IS,SH Atlantic/
|