Change the default visibility for packages to //visibility:private
and then change individual build rules back to their prior visibility.

The motivation for this change is making sure future additions are
private by default so that new rules are not accidentally public.

Some of the rules that are currently public were not meant to be, and
the fact that they are marked public does not mean they should be
used. As always, the rule is never spell out anything with the word
internal (or any synonym for internal). Some of these accidentally
public rules will be manually corrected with future changes.

PiperOrigin-RevId: 940520667
Change-Id: I92659106715c30cf91bfcfb081b1439f8961aa6f
diff --git a/absl/utility/BUILD.bazel b/absl/utility/BUILD.bazel
index 1994a01..85e1817 100644
--- a/absl/utility/BUILD.bazel
+++ b/absl/utility/BUILD.bazel
@@ -22,7 +22,7 @@
 )
 
 package(
-    default_visibility = ["//visibility:public"],
+    default_visibility = ["//visibility:private"],
     features = [
         "header_modules",
         "layering_check",
@@ -39,6 +39,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = ["//visibility:public"],
     deps = [
         "//absl/base:config",
         "//absl/base:core_headers",