Generated files from "amd64-generic-codesearch" build 8780035715955300913, revision 41b7fdc1cc3b4e8f681e496c9671e51015b2ce9a
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.cc
index 8980fd7..e8260bb 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.cc
@@ -392,8 +392,8 @@
   metrics_sender_ = delegate_->CreateMetricsSender();
   udev_ = delegate_->CreateUdev();
   input_watcher_ = delegate_->CreateInputWatcher(prefs_.get(), udev_.get());
-  suspend_configurator_ = delegate_->CreateSuspendConfigurator(
-      platform_features_.get(), prefs_.get());
+  suspend_configurator_ =
+      delegate_->CreateSuspendConfigurator(platform_features_, prefs_.get());
   suspend_freezer_ = delegate_->CreateSuspendFreezer(prefs_.get());
   wakeup_source_identifier_ =
       std::make_unique<system::WakeupSourceIdentifier>(udev_.get());
@@ -525,7 +525,7 @@
   if (psu_type == kBattery) {
     adaptive_charging_controller_ = delegate_->CreateAdaptiveChargingController(
         this, display_backlight_controller_.get(), input_watcher_.get(),
-        power_supply_.get(), dbus_wrapper_.get(), platform_features_.get(),
+        power_supply_.get(), dbus_wrapper_.get(), platform_features_,
         prefs_.get());
   }
 
@@ -563,7 +563,7 @@
     audio_client_->AddObserver(this);
   }
 
-  bluetooth_controller_->Init(udev_.get(), platform_features_.get(),
+  bluetooth_controller_->Init(udev_.get(), platform_features_,
                               dbus_wrapper_.get());
   wifi_controller_->Init(this, prefs_.get(), udev_.get(), tablet_mode);
   cellular_controller_->Init(this, prefs_.get(), dbus_wrapper_.get());
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.h
index 5c78c34..79f0bd0 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon.h
@@ -345,7 +345,7 @@
   DaemonDelegate* delegate_;  // owned elsewhere
 
   std::unique_ptr<PrefsInterface> prefs_;
-  std::unique_ptr<feature::PlatformFeaturesInterface> platform_features_;
+  feature::PlatformFeaturesInterface* platform_features_;
 
   std::unique_ptr<system::DBusWrapperInterface> dbus_wrapper_;
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_delegate.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_delegate.h
index 5570503..ce258a9 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_delegate.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_delegate.h
@@ -195,8 +195,8 @@
   virtual std::unique_ptr<system::MachineQuirksInterface> CreateMachineQuirks(
       PrefsInterface* prefs) = 0;
 
-  virtual std::unique_ptr<feature::PlatformFeaturesInterface>
-  CreatePlatformFeatures(system::DBusWrapperInterface* dbus_wrapper) = 0;
+  virtual feature::PlatformFeaturesInterface* CreatePlatformFeatures(
+      system::DBusWrapperInterface* dbus_wrapper) = 0;
   virtual std::unique_ptr<MetricsSenderInterface> CreateMetricsSender() = 0;
 
   virtual std::unique_ptr<system::ChargeControllerHelperInterface>
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_test.cc
index e582b82..b1ac442 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/daemon_test.cc
@@ -91,8 +91,9 @@
   DaemonTest()
       : passed_prefs_(new FakePrefs()),
         passed_dbus_wrapper_(new system::DBusWrapperStub()),
-        passed_platform_features_(new feature::FakePlatformFeatures(
-            passed_dbus_wrapper_.get()->GetBus())),
+        passed_platform_features_(
+            std::make_unique<feature::FakePlatformFeatures>(
+                passed_dbus_wrapper_.get()->GetBus())),
         passed_udev_(new system::UdevStub()),
         passed_ambient_light_sensor_manager_(
             new system::AmbientLightSensorManagerStub()),
@@ -229,9 +230,9 @@
   std::unique_ptr<PrefsInterface> CreatePrefs() override {
     return std::move(passed_prefs_);
   }
-  std::unique_ptr<feature::PlatformFeaturesInterface> CreatePlatformFeatures(
+  feature::FakePlatformFeatures* CreatePlatformFeatures(
       system::DBusWrapperInterface* dbus_wrapper) override {
-    return std::move(passed_platform_features_);
+    return passed_platform_features_.get();
   }
   std::unique_ptr<system::DBusWrapperInterface> CreateDBusWrapper() override {
     return std::move(passed_dbus_wrapper_);
@@ -565,7 +566,7 @@
   // Stub objects to be transferred by Create* methods.
   std::unique_ptr<FakePrefs> passed_prefs_;
   std::unique_ptr<system::DBusWrapperStub> passed_dbus_wrapper_;
-  std::unique_ptr<feature::PlatformFeaturesInterface> passed_platform_features_;
+  std::unique_ptr<feature::FakePlatformFeatures> passed_platform_features_;
   std::unique_ptr<system::UdevStub> passed_udev_;
   std::unique_ptr<system::AmbientLightSensorManagerStub>
       passed_ambient_light_sensor_manager_;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/main.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/main.cc
index b0fbcb9..9a20c02 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/main.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/chromeos-config-tools-9999/work/chromeos-config-tools-9999/platform2/power_manager/powerd/main.cc
@@ -330,9 +330,12 @@
     return machine_quirks;
   }
 
-  std::unique_ptr<feature::PlatformFeaturesInterface> CreatePlatformFeatures(
+  feature::PlatformFeaturesInterface* CreatePlatformFeatures(
       system::DBusWrapperInterface* dbus_wrapper) override {
-    return feature::PlatformFeatures::New(dbus_wrapper->GetBus());
+    if (!feature::PlatformFeatures::Initialize(dbus_wrapper->GetBus())) {
+      return nullptr;
+    }
+    return feature::PlatformFeatures::Get();
   }
 
   std::unique_ptr<MetricsSenderInterface> CreateMetricsSender() override {
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_blocks/pin_weaver_auth_block_unittest.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_blocks/pin_weaver_auth_block_unittest.cc
index 88ddcb6..4309512 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_blocks/pin_weaver_auth_block_unittest.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_blocks/pin_weaver_auth_block_unittest.cc
@@ -107,7 +107,7 @@
                           reset_secret};
   KeyBlobs vkk_data;
 
-  features_.object.SetDefaultForFeature(Features::kModernPin, true);
+  features_.SetDefaultForFeature(Features::kModernPin, true);
 
   CreateTestFuture result;
   auth_block_->Create(user_input, result.GetCallback());
@@ -145,7 +145,7 @@
                           /*locked_to_single_user=*/std::nullopt, Username(),
                           ObfuscatedUsername(kObfuscatedUsername),
                           reset_secret};
-  features_.object.SetDefaultForFeature(Features::kMigratePin, false);
+  features_.SetDefaultForFeature(Features::kMigratePin, false);
   CreateTestFuture result;
   auth_block_->Create(user_input, result.GetCallback());
   ASSERT_TRUE(result.IsReady());
@@ -336,7 +336,7 @@
       .Times(Exactly(1));
   EXPECT_CALL(le_cred_manager_, GetDelaySchedule(_))
       .WillOnce(Return(PinDelaySchedule()));
-  features_.object.SetDefaultForFeature(Features::kMigratePin, true);
+  features_.SetDefaultForFeature(Features::kMigratePin, true);
 
   // Construct the vault keyset.
   SerializedVaultKeyset serialized;
@@ -386,7 +386,7 @@
       .Times(Exactly(1));
   EXPECT_CALL(le_cred_manager_, GetDelaySchedule(_))
       .WillOnce(Return(LockoutDelaySchedule()));
-  features_.object.SetDefaultForFeature(Features::kMigratePin, true);
+  features_.SetDefaultForFeature(Features::kMigratePin, true);
 
   // Construct the vault keyset.
   SerializedVaultKeyset serialized;
@@ -432,7 +432,7 @@
       .WillByDefault(ReturnError<CryptohomeLECredError>());
   EXPECT_CALL(le_cred_manager_, CheckCredential(_, le_secret, _, _))
       .Times(Exactly(1));
-  features_.object.SetDefaultForFeature(Features::kMigratePin, false);
+  features_.SetDefaultForFeature(Features::kMigratePin, false);
 
   // Construct the vault keyset.
   SerializedVaultKeyset serialized;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_factor/auth_factor_utils_unittest.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_factor/auth_factor_utils_unittest.cc
index e5e3f1a..33fb54e 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_factor/auth_factor_utils_unittest.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_factor/auth_factor_utils_unittest.cc
@@ -403,7 +403,7 @@
   AuthFactorType auth_factor_type;
   std::string auth_factor_label;
   FakeFeaturesForTesting features;
-  features.object.SetDefaultForFeature(Features::kModernPin, /*enabled=*/true);
+  features.SetDefaultForFeature(Features::kModernPin, /*enabled=*/true);
   EXPECT_TRUE(GetAuthFactorMetadata(auth_factor_proto, features.async,
                                     auth_factor_metadata, auth_factor_type,
                                     auth_factor_label));
@@ -439,7 +439,7 @@
   AuthFactorType auth_factor_type;
   std::string auth_factor_label;
   FakeFeaturesForTesting features;
-  features.object.SetDefaultForFeature(Features::kModernPin, /*enabled=*/true);
+  features.SetDefaultForFeature(Features::kModernPin, /*enabled=*/true);
   EXPECT_FALSE(GetAuthFactorMetadata(auth_factor_proto, features.async,
                                      auth_factor_metadata, auth_factor_type,
                                      auth_factor_label));
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_session_tpm_simulator_unittest.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_session_tpm_simulator_unittest.cc
index a88d017..75eee25 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_session_tpm_simulator_unittest.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/auth_session_tpm_simulator_unittest.cc
@@ -382,8 +382,8 @@
     uss_experiment_override_ =
         std::make_unique<SetUssExperimentOverride>(enable_uss);
 
-    features_.object.SetDefaultForFeature(Features::kUSSMigration,
-                                          /*enabled=*/true);
+    features_.SetDefaultForFeature(Features::kUSSMigration,
+                                   /*enabled=*/true);
   }
 
  private:
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/fake_features.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/fake_features.h
index ed00b23..f9cd398 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/fake_features.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/fake_features.h
@@ -10,6 +10,8 @@
 #ifndef CRYPTOHOME_FAKE_FEATURES_H_
 #define CRYPTOHOME_FAKE_FEATURES_H_
 
+#include <memory>
+
 #include <base/memory/scoped_refptr.h>
 #include <dbus/mock_bus.h>
 #include <gmock/gmock.h>
@@ -23,9 +25,22 @@
 // also pair the Features object with an AsyncInitFeatures object, for testing
 // objects that require the latter.
 struct FakeFeaturesForTesting {
-  Features object{base::MakeRefCounted<::testing::NiceMock<dbus::MockBus>>(
-                      dbus::Bus::Options()),
-                  /*test_instance=*/true};
+ public:
+  // SetDefaultForFeature will set the default value for test for the feature.
+  // This will be passed down to the feature library which inturn returns the
+  // defaults.
+  void SetDefaultForFeature(Features::ActiveFeature active_feature,
+                            bool enabled) {
+    fake_feature_lib->SetEnabled(GetVariationFeatureFor(active_feature).name,
+                                 enabled);
+  }
+
+  scoped_refptr<::testing::NiceMock<dbus::MockBus>> mock_bus =
+      base::MakeRefCounted<::testing::NiceMock<dbus::MockBus>>(
+          dbus::Bus::Options());
+  std::unique_ptr<feature::FakePlatformFeatures> fake_feature_lib =
+      std::make_unique<feature::FakePlatformFeatures>(mock_bus);
+  Features object{mock_bus, fake_feature_lib.get()};
   AsyncInitFeatures async{object};
 };
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.cc
index 3917e36..4d39624 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.cc
@@ -14,34 +14,10 @@
 #include <featured/feature_library.h>
 
 namespace cryptohome {
-namespace {
 
-const VariationsFeature& GetVariationFeatureFor(
-    Features::ActiveFeature active_feature) {
-  switch (active_feature) {
-    case Features::kUSSMigration:
-      return kCrOSLateBootMigrateToUserSecretStash;
-    case Features::kModernPin:
-      return kCrOSLateBootEnableModernPin;
-    case Features::kMigratePin:
-      return kCrOSLateBootMigrateToModernPin;
-  }
-}
-
-}  // namespace
-
-Features::Features(scoped_refptr<dbus::Bus> bus, bool test_instance)
-    : test_instance_(test_instance) {
-  if (test_instance) {
-    auto fake_feature_lib =
-        std::make_unique<feature::FakePlatformFeatures>(bus);
-    fake_platform_features_ptr_ = fake_feature_lib.get();
-    feature_lib_ = std::move(fake_feature_lib);
-  } else {
-    fake_platform_features_ptr_ = nullptr;
-    feature_lib_ = feature::PlatformFeatures::New(bus);
-  }
-}
+Features::Features(scoped_refptr<dbus::Bus> bus,
+                   feature::PlatformFeaturesInterface* feature_lib)
+    : feature_lib_(feature_lib) {}
 
 bool Features::IsFeatureEnabled(ActiveFeature active_feature) const {
   const auto& variations_feature = GetVariationFeatureFor(active_feature);
@@ -51,13 +27,6 @@
   return variations_feature.default_state == FEATURE_ENABLED_BY_DEFAULT;
 }
 
-void Features::SetDefaultForFeature(ActiveFeature active_feature,
-                                    bool enabled) {
-  CHECK(test_instance_);
-  fake_platform_features_ptr_->SetEnabled(
-      GetVariationFeatureFor(active_feature).name, enabled);
-}
-
 AsyncInitFeatures::AsyncInitFeatures(
     base::RepeatingCallback<Features*()> getter)
     : getter_(std::move(getter)) {}
@@ -75,4 +44,16 @@
   return variations_feature.default_state == FEATURE_ENABLED_BY_DEFAULT;
 }
 
+const VariationsFeature& GetVariationFeatureFor(
+    Features::ActiveFeature active_feature) {
+  switch (active_feature) {
+    case Features::kUSSMigration:
+      return kCrOSLateBootMigrateToUserSecretStash;
+    case Features::kModernPin:
+      return kCrOSLateBootEnableModernPin;
+    case Features::kMigratePin:
+      return kCrOSLateBootMigrateToModernPin;
+  }
+}
+
 }  // namespace cryptohome
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.h
index 54c5f33..d9690a3 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/features.h
@@ -52,7 +52,8 @@
   };
 
   // Platform feature library can only initialized with a bus instance.
-  explicit Features(scoped_refptr<dbus::Bus> bus, bool test_instance = false);
+  explicit Features(scoped_refptr<dbus::Bus> bus,
+                    feature::PlatformFeaturesInterface*);
 
   Features(const Features&) = delete;
   Features& operator=(const Features&) = delete;
@@ -61,18 +62,8 @@
   // Fetches the value from the finch server using the feature library.
   bool IsFeatureEnabled(ActiveFeature active_feature) const;
 
-  // SetDefaultForFeature will set the default value for test for the feature.
-  // This will be passed down to the feature library which inturn returns the
-  // defaults.
-  void SetDefaultForFeature(ActiveFeature active_feature, bool enabled);
-
  private:
-  // fake_platform_features_ptr_ is used for testing instances. The pointer is
-  // owned by this class.
-  feature::FakePlatformFeatures* fake_platform_features_ptr_ = nullptr;
-  // Default feature library used to fetch features values from finch.
-  std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib_;
-  bool test_instance_ = false;
+  feature::PlatformFeaturesInterface* feature_lib_;
 };
 
 // Thin wrapper around a Features object that is asynchronously initialized.
@@ -104,6 +95,10 @@
   base::RepeatingCallback<Features*()> getter_;
 };
 
+// Helper function used by production and fake code.
+const VariationsFeature& GetVariationFeatureFor(
+    Features::ActiveFeature active_feature);
+
 }  // namespace cryptohome
 
 #endif  // CRYPTOHOME_FEATURES_H_
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth.cc
index 86f83b0..745a53d 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth.cc
@@ -695,7 +695,9 @@
 void UserDataAuth::InitializeFeatureLibrary() {
   AssertOnMountThread();
   if (!features_) {
-    default_features_ = std::make_unique<Features>(mount_thread_bus_);
+    CHECK(feature::PlatformFeatures::Initialize(mount_thread_bus_));
+    default_features_ = std::make_unique<Features>(
+        mount_thread_bus_, feature::PlatformFeatures::Get());
     features_ = default_features_.get();
     if (!features_) {
       LOG(WARNING) << "Failed to determine USS migration experiment flag";
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_auth_session_unittest.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_auth_session_unittest.cc
index 5a027c4..7bac340 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_auth_session_unittest.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_auth_session_unittest.cc
@@ -232,7 +232,7 @@
         task_environment.GetMainThreadTaskRunner());
     userdataauth_.set_pinweaver(&pinweaver_);
     // TODO(hardikgoyal): Rewrite tests to work with USS.
-    features_.object.SetDefaultForFeature(Features::kUSSMigration, false);
+    features_.SetDefaultForFeature(Features::kUSSMigration, false);
   }
 
   void SetUpHWSecExpectations() {
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_unittest.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_unittest.cc
index 18a279f..8a05a38 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_unittest.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/cryptohome-9999/work/cryptohome-9999/platform2/cryptohome/userdataauth_unittest.cc
@@ -238,7 +238,9 @@
     }
     userdataauth_->set_biometrics_service(bio_service_.get());
 
-    features_ = std::make_unique<Features>(mount_bus_, true /*testing*/);
+    fake_feature_lib_ =
+        std::make_unique<feature::FakePlatformFeatures>(mount_bus_);
+    features_ = std::make_unique<Features>(mount_bus_, fake_feature_lib_.get());
     userdataauth_->set_features(features_.get());
     // Empty token list by default.  The effect is that there are no
     // attempts to unload tokens unless a test explicitly sets up the token
@@ -388,6 +390,10 @@
   // Unowned pointer to the session object.
   NiceMock<MockUserSession>* session_ = nullptr;
 
+  // Fake PlatformFeatures object, will be passed to Features for its internal
+  // use.
+  std::unique_ptr<feature::FakePlatformFeatures> fake_feature_lib_;
+
   std::unique_ptr<Features> features_;
 
   // Declare |userdataauth_| last so it gets destroyed before all the mocks.
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/diagnostics-9999/work/diagnostics-9999/platform2/diagnostics/cros_health_tool/diag/diag.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/diagnostics-9999/work/diagnostics-9999/platform2/diagnostics/cros_health_tool/diag/diag.cc
index 0f486a0..f902194 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/diagnostics-9999/work/diagnostics-9999/platform2/diagnostics/cros_health_tool/diag/diag.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/diagnostics-9999/work/diagnostics-9999/platform2/diagnostics/cros_health_tool/diag/diag.cc
@@ -152,13 +152,13 @@
 
 int CpuStressV2Main(int argc, char** argv) {
   COMMON_V2_ROUTINE_FLAGS
-  DEFINE_uint32(cpu_stress_length_seconds, 0, "Number of seconds to run.");
+  DEFINE_uint32(length_seconds, 0, "Number of seconds to run.");
   brillo::FlagHelper::Init(argc, argv, "Cpu stress v2 routine");
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 
   auto argument = mojom::CpuStressRoutineArgument::New();
-  if (command_line->HasSwitch("cpu_stress_length_seconds")) {
-    argument->exec_duration = base::Seconds(FLAGS_cpu_stress_length_seconds);
+  if (command_line->HasSwitch("length_seconds")) {
+    argument->exec_duration = base::Seconds(FLAGS_length_seconds);
   }
   return RunV2Routine(mojom::RoutineArgument::NewCpuStress(std::move(argument)),
                       FLAGS_single_line_json);
@@ -215,7 +215,7 @@
 
 int UrandomMain(int argc, char** argv) {
   COMMON_LEGACY_ROUTINE_FLAGS
-  DEFINE_uint32(urandom_length_seconds, 0, "Number of seconds to run.");
+  DEFINE_uint32(length_seconds, 0, "Number of seconds to run.");
   brillo::FlagHelper::Init(argc, argv, "Urandom routine");
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 
@@ -225,8 +225,8 @@
     actions.ForceCancelAtPercent(FLAGS_force_cancel_at_percent);
 
   auto result = actions.ActionRunUrandomRoutine(
-      command_line->HasSwitch("urandom_length_seconds")
-          ? std::optional<uint32_t>(FLAGS_urandom_length_seconds)
+      command_line->HasSwitch("length_seconds")
+          ? std::optional<uint32_t>(FLAGS_length_seconds)
           : std::nullopt);
   return result ? EXIT_SUCCESS : EXIT_FAILURE;
 }
@@ -277,7 +277,7 @@
 
 int CpuCacheMain(int argc, char** argv) {
   COMMON_LEGACY_ROUTINE_FLAGS
-  DEFINE_uint32(cpu_stress_length_seconds, 0, "Number of seconds to run.");
+  DEFINE_uint32(length_seconds, 0, "Number of seconds to run.");
   brillo::FlagHelper::Init(argc, argv, "Cpu cache routine");
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 
@@ -287,15 +287,15 @@
     actions.ForceCancelAtPercent(FLAGS_force_cancel_at_percent);
 
   auto result = actions.ActionRunCpuCacheRoutine(
-      command_line->HasSwitch("cpu_stress_length_seconds")
-          ? std::optional<uint32_t>(FLAGS_cpu_stress_length_seconds)
+      command_line->HasSwitch("length_seconds")
+          ? std::optional<uint32_t>(FLAGS_length_seconds)
           : std::nullopt);
   return result ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
 int CpuStressMain(int argc, char** argv) {
   COMMON_LEGACY_ROUTINE_FLAGS
-  DEFINE_uint32(cpu_stress_length_seconds, 0, "Number of seconds to run.");
+  DEFINE_uint32(length_seconds, 0, "Number of seconds to run.");
   brillo::FlagHelper::Init(argc, argv, "Cpu stress routine");
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 
@@ -305,15 +305,15 @@
     actions.ForceCancelAtPercent(FLAGS_force_cancel_at_percent);
 
   auto result = actions.ActionRunCpuStressRoutine(
-      command_line->HasSwitch("cpu_stress_length_seconds")
-          ? std::optional<uint32_t>(FLAGS_cpu_stress_length_seconds)
+      command_line->HasSwitch("length_seconds")
+          ? std::optional<uint32_t>(FLAGS_length_seconds)
           : std::nullopt);
   return result ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
 int FloatingPointAccuracyMain(int argc, char** argv) {
   COMMON_LEGACY_ROUTINE_FLAGS
-  DEFINE_uint32(cpu_stress_length_seconds, 0, "Number of seconds to run.");
+  DEFINE_uint32(length_seconds, 0, "Number of seconds to run.");
   brillo::FlagHelper::Init(argc, argv, "Floating point accuracy routine");
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 
@@ -323,8 +323,8 @@
     actions.ForceCancelAtPercent(FLAGS_force_cancel_at_percent);
 
   auto result = actions.ActionRunFloatingPointAccuracyRoutine(
-      command_line->HasSwitch("cpu_stress_length_seconds")
-          ? std::optional<uint32_t>(FLAGS_cpu_stress_length_seconds)
+      command_line->HasSwitch("length_seconds")
+          ? std::optional<uint32_t>(FLAGS_length_seconds)
           : std::nullopt);
   return result ? EXIT_SUCCESS : EXIT_FAILURE;
 }
@@ -405,7 +405,7 @@
 
 int PrimeSearchMain(int argc, char** argv) {
   COMMON_LEGACY_ROUTINE_FLAGS
-  DEFINE_uint32(cpu_stress_length_seconds, 0, "Number of seconds to run.");
+  DEFINE_uint32(length_seconds, 0, "Number of seconds to run.");
   brillo::FlagHelper::Init(argc, argv, "Prime search routine");
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
 
@@ -415,8 +415,8 @@
     actions.ForceCancelAtPercent(FLAGS_force_cancel_at_percent);
 
   auto result = actions.ActionRunPrimeSearchRoutine(
-      command_line->HasSwitch("cpu_stress_length_seconds")
-          ? std::optional<uint32_t>(FLAGS_cpu_stress_length_seconds)
+      command_line->HasSwitch("length_seconds")
+          ? std::optional<uint32_t>(FLAGS_length_seconds)
           : std::nullopt);
 
   return result ? EXIT_SUCCESS : EXIT_FAILURE;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_check_example.c b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_check_example.c
index a555daa..9537526 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_check_example.c
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_check_example.c
@@ -57,5 +57,5 @@
   printf("%d\n",
          CFeatureLibraryIsEnabledBlocking(lib, &kCrOSLateBootMyAwesomeFeature));
 
-  CFeatureLibraryDelete(lib);
+  FakeCFeatureLibraryDelete(lib);
 }
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.cc
index 6d258ad..ab3bf89 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.cc
@@ -17,6 +17,13 @@
       new feature::FakePlatformFeatures(bus));
 }
 
+extern "C" void FakeCFeatureLibraryDelete(CFeatureLibrary handle) {
+  auto* library = dynamic_cast<feature::FakePlatformFeatures*>(
+      reinterpret_cast<feature::PlatformFeaturesInterface*>(handle));
+  library->ShutdownBus();
+  delete library;
+}
+
 extern "C" void FakeCFeatureLibrarySetEnabled(CFeatureLibrary handle,
                                               const char* const feature,
                                               int enabled) {
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.h
index b3d24b8..243b4a7 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_fake_feature_library.h
@@ -14,6 +14,9 @@
 // C wrapper for `new FakePlatformFeatures()`
 CFeatureLibrary FEATURE_EXPORT FakeCFeatureLibraryNew();
 
+// Used only for freeing dynamically allocated resources in the fake.
+void FEATURE_EXPORT FakeCFeatureLibraryDelete(CFeatureLibrary handle);
+
 // C wrapper for FakePlatformFeatures::SetEnabled()
 void FEATURE_EXPORT FakeCFeatureLibrarySetEnabled(CFeatureLibrary handle,
                                                   const char* const feature,
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_check_example.c b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_check_example.c
index 911f5a9..4a557e8 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_check_example.c
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_check_example.c
@@ -11,7 +11,11 @@
 };
 
 int main(int argc, char* argv[]) {
-  CFeatureLibrary lib = CFeatureLibraryNew();
+  if (!CFeatureLibraryInitialize()) {
+    printf("Error initializing library. Exiting program\n");
+    return 1;
+  }
+  CFeatureLibrary lib = CFeatureLibraryGet();
   printf("%d\n",
          CFeatureLibraryIsEnabledBlocking(lib, &kCrOSLateBootMyAwesomeFeature));
 
@@ -29,5 +33,4 @@
   } else {
     printf("Error getting feature\n");
   }
-  CFeatureLibraryDelete(lib);
 }
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.cc
index 5b0cf9e..31ff577 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.cc
@@ -12,19 +12,16 @@
 
 #include "featured/feature_library.h"
 
-extern "C" CFeatureLibrary CFeatureLibraryNew() {
+extern "C" bool CFeatureLibraryInitialize() {
   dbus::Bus::Options options;
   options.bus_type = dbus::Bus::SYSTEM;
   scoped_refptr<dbus::Bus> bus(new dbus::Bus(options));
 
-  return reinterpret_cast<CFeatureLibrary>(
-      feature::PlatformFeatures::New(bus).release());
+  return feature::PlatformFeatures::Initialize(bus);
 }
 
-extern "C" void CFeatureLibraryDelete(CFeatureLibrary handle) {
-  auto* library = reinterpret_cast<feature::PlatformFeaturesInterface*>(handle);
-  library->ShutdownBus();
-  delete library;
+extern "C" CFeatureLibrary CFeatureLibraryGet() {
+  return reinterpret_cast<CFeatureLibrary>(feature::PlatformFeatures::Get());
 }
 
 extern "C" int CFeatureLibraryIsEnabledBlocking(
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.h
index 6597c7d..4b18d04 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/c_feature_library.h
@@ -4,6 +4,7 @@
 #ifndef FEATURED_C_FEATURE_LIBRARY_H_
 #define FEATURED_C_FEATURE_LIBRARY_H_
 
+#include <stdbool.h>
 #include <stddef.h>
 
 #include "featured/feature_export.h"
@@ -54,11 +55,11 @@
 
 typedef struct CFeatureLibraryOpaque* CFeatureLibrary;
 
-// C wrapper for PlatformFeatures::New()
-CFeatureLibrary FEATURE_EXPORT CFeatureLibraryNew();
+// C wrapper for PlatformFeatures::Initialize()
+bool FEATURE_EXPORT CFeatureLibraryInitialize();
 
-// C wrapper for PlatformFeatures::~PlatformFeatures()
-void FEATURE_EXPORT CFeatureLibraryDelete(CFeatureLibrary handle);
+// C wrapper for PlatformFeatures::Get()
+CFeatureLibrary FEATURE_EXPORT CFeatureLibraryGet();
 
 // C wrapper for PlatformFeatures::IsEnabled is NOT defined, since different
 // language thread runtimes will likely be incompatible with C++'s
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/cpp_feature_check_example.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/cpp_feature_check_example.cc
index 43e8cf3..89f08a4 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/cpp_feature_check_example.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/cpp_feature_check_example.cc
@@ -80,15 +80,16 @@
       base::BarrierClosure(4, loop.QuitClosure());
 
   LOG(INFO) << "Creating lib";
-  std::unique_ptr<feature::PlatformFeatures> feature_lib =
-      feature::PlatformFeatures::New(bus);
+  CHECK(feature::PlatformFeatures::Initialize(bus))
+      << "Failed to initialize lib";
+  feature::PlatformFeatures* feature_lib = feature::PlatformFeatures::Get();
   LOG(INFO) << "ListenForRefetch";
   feature_lib->ListenForRefetchNeeded(
-      base::BindRepeating(&Refetch, feature_lib.get(), barrier_closure),
+      base::BindRepeating(&Refetch, feature_lib, barrier_closure),
       base::BindOnce(&Ready));
 
   LOG(INFO) << "FetchState";
-  FetchState(feature_lib.get(), barrier_closure);
+  FetchState(feature_lib, barrier_closure);
 
   loop.Run();
   base::ThreadPoolInstance::Get()->Shutdown();
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/fake_platform_features.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/fake_platform_features.h
index e559fd8..7e5df6d 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/fake_platform_features.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/fake_platform_features.h
@@ -49,7 +49,7 @@
                 const std::string& value);
   void ClearParams(const std::string& feature);
 
-  void ShutdownBus() override;
+  void ShutdownBus();
 
   void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.cc
index 19b6667..8b0a1d8 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.cc
@@ -8,6 +8,8 @@
 #include <base/functional/bind.h>
 #include <base/functional/callback_helpers.h>
 #include <base/logging.h>
+#include <base/no_destructor.h>
+#include <base/synchronization/lock.h>
 #include <brillo/dbus/dbus_connection.h>
 #include <brillo/dbus/dbus_method_invoker.h>
 #include <brillo/dbus/dbus_proxy_util.h>
@@ -16,6 +18,13 @@
 
 namespace feature {
 
+namespace {
+
+// GetInstanceLock() must be held while using this variable.
+PlatformFeatures* g_instance = nullptr;
+
+}  // namespace
+
 constexpr char kFeatureLibInterface[] = "org.chromium.feature_lib";
 constexpr char kFeatureLibPath[] = "/org/chromium/feature_lib";
 constexpr char kRefetchSignal[] = "RefetchFeatureState";
@@ -23,28 +32,59 @@
 PlatformFeatures::PlatformFeatures(scoped_refptr<dbus::Bus> bus,
                                    dbus::ObjectProxy* chrome_proxy,
                                    dbus::ObjectProxy* feature_proxy)
-    : bus_(bus), chrome_proxy_(chrome_proxy), feature_proxy_(feature_proxy) {}
+    : bus_(bus), chrome_proxy_(chrome_proxy), feature_proxy_(feature_proxy) {
+  base::AutoLock auto_lock(GetInstanceLock());
+  CHECK(!g_instance);
+  g_instance = this;
+}
 
-std::unique_ptr<PlatformFeatures> PlatformFeatures::New(
-    scoped_refptr<dbus::Bus> bus) {
+// static
+bool PlatformFeatures::Initialize(scoped_refptr<dbus::Bus> bus) {
   auto* chrome_proxy = bus->GetObjectProxy(
       chromeos::kChromeFeaturesServiceName,
       dbus::ObjectPath(chromeos::kChromeFeaturesServicePath));
   if (!chrome_proxy) {
     LOG(ERROR) << "Failed to create object proxy for "
                << chromeos::kChromeFeaturesServiceName;
-    return nullptr;
+    return false;
   }
 
   auto* feature_proxy = bus->GetObjectProxy(kFeatureLibInterface,
                                             dbus::ObjectPath(kFeatureLibPath));
   if (!feature_proxy) {
     LOG(ERROR) << "Failed to create object proxy for " << kFeatureLibInterface;
-    return nullptr;
+    return false;
   }
 
-  return std::unique_ptr<PlatformFeatures>(
-      new PlatformFeatures(bus, chrome_proxy, feature_proxy));
+  new PlatformFeatures(bus, chrome_proxy, feature_proxy);
+  return true;
+}
+
+// static
+void PlatformFeatures::InitializeForTesting(scoped_refptr<dbus::Bus> bus,
+                                            dbus::ObjectProxy* chrome_proxy,
+                                            dbus::ObjectProxy* feature_proxy) {
+  new PlatformFeatures(bus, chrome_proxy, feature_proxy);
+}
+
+// static
+void PlatformFeatures::ShutdownForTesting() {
+  base::AutoLock auto_lock(GetInstanceLock());
+  if (g_instance) {
+    delete g_instance;
+  }
+}
+
+// static
+PlatformFeatures* PlatformFeatures::Get() {
+  base::AutoLock auto_lock(GetInstanceLock());
+  return g_instance;
+}
+
+PlatformFeatures::~PlatformFeatures() {
+  GetInstanceLock().AssertAcquired();
+  CHECK_EQ(this, g_instance);
+  g_instance = nullptr;
 }
 
 void PlatformFeatures::IsEnabled(const VariationsFeature& feature,
@@ -308,10 +348,6 @@
   return it->second == &feature;
 }
 
-void PlatformFeatures::ShutdownBus() {
-  bus_->ShutdownAndBlock();
-}
-
 void PlatformFeatures::ListenForRefetchNeeded(
     base::RepeatingCallback<void(void)> signal_callback,
     base::OnceCallback<void(bool)> attached_callback) {
@@ -334,4 +370,10 @@
   std::move(attached_callback).Run(success);
 }
 
+// static
+base::Lock& PlatformFeatures::GetInstanceLock() {
+  static base::NoDestructor<base::Lock> lock;
+  return *lock;
+}
+
 }  // namespace feature
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.h
index 1808be6..0ed1696 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library.h
@@ -29,8 +29,6 @@
 
 class FEATURE_EXPORT PlatformFeaturesInterface {
  public:
-  virtual ~PlatformFeaturesInterface() = default;
-
   using IsEnabledCallback = base::OnceCallback<void(bool)>;
   // Asynchronously determine whether the given feature is enabled, using the
   // specified default value if Chrome doesn't define a value for the feature
@@ -147,10 +145,6 @@
   virtual ParamsResult GetParamsAndEnabledBlocking(
       const std::vector<const VariationsFeature*>& features) = 0;
 
-  // Shutdown the bus object, if any. Used for C API, or when destroying it and
-  // the bus is no longer owned.
-  virtual void ShutdownBus() = 0;
-
   // ListenForRefetchNeeded registers |signal_callback| to run whenever it is
   // required to refetch feature state (that is, whenever chrome restarts).
   // In particular, in order to respect chrome://flags state, you must either
@@ -167,6 +161,9 @@
   virtual void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
       base::OnceCallback<void(bool)> attached_callback) = 0;
+
+ protected:
+  virtual ~PlatformFeaturesInterface() = default;
 };
 
 class FEATURE_EXPORT PlatformFeatures : public PlatformFeaturesInterface {
@@ -174,9 +171,15 @@
   PlatformFeatures(const PlatformFeatures&) = delete;
   PlatformFeatures& operator=(const PlatformFeatures&) = delete;
 
-  // Construct a new PlatformFeatures object based on the provided |bus|.
-  // Returns |nullptr| on failure to create an ObjectProxy
-  static std::unique_ptr<PlatformFeatures> New(scoped_refptr<dbus::Bus> bus);
+  // Creates and initializes the global instance based on the provided |bus|.
+  // The global instance will be initialized to |nullptr| on failure to create
+  // an ObjectProxy.
+  //
+  // Note: The initialized global instance will live until process exit.
+  [[nodiscard]] static bool Initialize(scoped_refptr<dbus::Bus> bus);
+
+  // Returns the global instance which may be null if not initialized.
+  static PlatformFeatures* Get();
 
   void IsEnabled(const VariationsFeature& feature,
                  IsEnabledCallback callback) override;
@@ -191,20 +194,26 @@
   ParamsResult GetParamsAndEnabledBlocking(
       const std::vector<const VariationsFeature*>& features) override;
 
-  void ShutdownBus() override;
-
   void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
       base::OnceCallback<void(bool)> attached_callback) override;
 
- protected:
+  static void ShutdownForTesting();
+
+ private:
+  friend class FeatureLibraryTest;
+
+  FRIEND_TEST(FeatureLibraryTest, CheckFeatureIdentity);
+
   explicit PlatformFeatures(scoped_refptr<dbus::Bus> bus,
                             dbus::ObjectProxy* chrome_proxy,
                             dbus::ObjectProxy* feature_proxy);
 
- private:
-  friend class FeatureLibraryTest;
-  FRIEND_TEST(FeatureLibraryTest, CheckFeatureIdentity);
+  ~PlatformFeatures() override;
+
+  static void InitializeForTesting(scoped_refptr<dbus::Bus> bus,
+                                   dbus::ObjectProxy* chrome_proxy,
+                                   dbus::ObjectProxy* feature_proxy);
 
   // Callback that is invoked for IsEnabled() when WaitForServiceToBeAvailable()
   // finishes.
@@ -257,6 +266,9 @@
       const std::string& signal,
       bool success);
 
+  // This lock protects the global instance variable.
+  static base::Lock& GetInstanceLock();
+
   scoped_refptr<dbus::Bus> bus_;
   // An object proxy used for communicating with ash-chrome.
   dbus::ObjectProxy* chrome_proxy_;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library_test.cc
index 86f89ed..f189f2b 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/feature_library_test.cc
@@ -47,13 +47,14 @@
                                       kFeatureLibInterface,
                                       dbus::ObjectPath(kFeatureLibPath))) {}
 
-  ~FeatureLibraryTest() { mock_bus_->ShutdownAndBlock(); }
-
   void SetUp() override {
-    features_ = std::unique_ptr<PlatformFeatures>(new PlatformFeatures(
-        mock_bus_, mock_chrome_proxy_.get(), mock_feature_proxy_.get()));
+    PlatformFeatures::InitializeForTesting(mock_bus_, mock_chrome_proxy_.get(),
+                                           mock_feature_proxy_.get());
+    features_ = PlatformFeatures::Get();
   }
 
+  void TearDown() override { PlatformFeatures::ShutdownForTesting(); }
+
   std::unique_ptr<dbus::Response> CreateIsEnabledResponse(
       dbus::MethodCall* call, bool enabled) {
     if (call->GetInterface() == "org.chromium.ChromeFeaturesServiceInterface" &&
@@ -144,7 +145,7 @@
   scoped_refptr<dbus::MockBus> mock_bus_;
   scoped_refptr<dbus::MockObjectProxy> mock_chrome_proxy_;
   scoped_refptr<dbus::MockObjectProxy> mock_feature_proxy_;
-  std::unique_ptr<PlatformFeatures> features_;
+  PlatformFeatures* features_;
   std::unique_ptr<base::RunLoop> run_loop_;
 };
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.cc
index 37a8b5e..2401fb2 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.cc
@@ -312,7 +312,8 @@
   }
   for (const auto& it : *(parser_->GetFeatureMap())) {
     if (it.second.IsSupported() &&
-        library_->IsEnabledBlocking(*it.second.feature())) {
+        feature::PlatformFeatures::Get()->IsEnabledBlocking(
+            *it.second.feature())) {
       it.second.Execute();
     }
   }
@@ -426,7 +427,10 @@
     return false;
   }
 
-  library_ = feature::PlatformFeatures::New(bus);
+  if (!feature::PlatformFeatures::Initialize(bus)) {
+    LOG(ERROR) << "Failed to initialize PlatformFeatures";
+    return false;
+  }
 
   if (store_ && !store_->IncrementBootAttemptsSinceLastUpdate()) {
     LOG(ERROR) << "Failed to increment boot attempts";
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.h
index 4206aef..16a7888 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service.h
@@ -186,7 +186,6 @@
                          dbus::ExportedObject::ResponseSender sender);
 
   std::unique_ptr<FeatureParserBase> parser_;
-  std::unique_ptr<feature::PlatformFeatures> library_;
   std::unique_ptr<StoreInterface> store_;
   std::unique_ptr<TmpStorageInterface> tmp_storage_;
   std::unique_ptr<org::chromium::SessionManagerInterfaceProxyInterface>
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service_test.cc
index 590e03f..680bd66 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/featured/service_test.cc
@@ -109,6 +109,11 @@
         .WillByDefault(Return(true));
   }
 
+  void TearDown() override {
+    mock_bus_->ShutdownAndBlock();
+    feature::PlatformFeatures::ShutdownForTesting();
+  }
+
  protected:
   void HandleSeedFetched(dbus::MethodCall* method_call,
                          dbus::ExportedObject::ResponseSender sender) {
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/daemon/missive_daemon_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/daemon/missive_daemon_test.cc
index 084718c..79c3fa9 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/daemon/missive_daemon_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/daemon/missive_daemon_test.cc
@@ -15,6 +15,7 @@
 #include <dbus/bus.h>
 #include <dbus/mock_bus.h>
 #include <dbus/mock_exported_object.h>
+#include <dbus/mock_object_proxy.h>
 #include <featured/feature_library.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
@@ -54,7 +55,7 @@
   MOCK_METHOD(void,
               StartUp,
               (scoped_refptr<dbus::Bus> bus,
-               std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib,
+               feature::PlatformFeaturesInterface* feature_lib,
                base::OnceCallback<void(Status)> cb),
               (override));
 
@@ -97,6 +98,7 @@
         EXPECT_CALL(*mock_missive_, ShutDown()).Times(1);
         mock_missive_ = nullptr;
       }
+      feature::PlatformFeatures::ShutdownForTesting();
       missive_daemon_->Shutdown();
       missive_daemon_.reset();
     }
@@ -127,6 +129,14 @@
     EXPECT_CALL(*mock_exported_object_, ExportMethod(_, _, _, _))
         .Times(AnyNumber());
 
+    scoped_refptr<dbus::MockObjectProxy> mock_proxy_(
+        base::MakeRefCounted<dbus::MockObjectProxy>(
+            mock_bus_.get(), chromeos::kChromeFeaturesServiceName,
+            dbus::ObjectPath(chromeos::kChromeFeaturesServicePath)));
+
+    ON_CALL(*mock_bus_, GetObjectProxy(_, _))
+        .WillByDefault(Return(mock_proxy_.get()));
+
     auto missive = std::make_unique<StrictMock<MockMissive>>();
     mock_missive_ = missive.get();
     EXPECT_CALL(*mock_missive_, StartUp(NotNull(), _, _))
@@ -149,6 +159,8 @@
 
   scoped_refptr<dbus::MockBus> mock_bus_;
   scoped_refptr<dbus::MockExportedObject> mock_exported_object_;
+  // Necessary for feature::PlatformFeatures::Initialize in DbusAdaptor.
+  scoped_refptr<dbus::MockObjectProxy> mock_proxy_;
   StrictMock<MockMissive>* mock_missive_ = nullptr;
   std::unique_ptr<DBusAdaptor> missive_daemon_;
 };
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/dbus/dbus_adaptor.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/dbus/dbus_adaptor.cc
index 0e978ad..0f59ba1 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/dbus/dbus_adaptor.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/dbus/dbus_adaptor.cc
@@ -45,8 +45,10 @@
       missive_(std::move(missive)),
       failure_cb_(std::move(failure_cb)) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  CHECK(feature::PlatformFeatures::Initialize(bus));
+
   missive_->StartUp(
-      bus, feature::PlatformFeatures::New(bus),
+      bus, feature::PlatformFeatures::Get(),
       base::BindPostTaskToCurrentDefault(base::BindOnce(
           &DBusAdaptor::StartupFinished, weak_ptr_factory_.GetWeakPtr())));
 }
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.cc
index 9c916e8..bd9fa69 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.cc
@@ -90,11 +90,10 @@
 
 }  // namespace
 
-MissiveArgs::MissiveArgs(
-    std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib)
-    : feature_lib_(std::move(feature_lib)),
+MissiveArgs::MissiveArgs(feature::PlatformFeaturesInterface* feature_lib)
+    : feature_lib_(feature_lib),
       features_to_load_({&kCollectorFeature, &kStorageFeature}) {
-  DCHECK(feature_lib_);
+  CHECK(feature_lib_);
   feature_lib_->GetParamsAndEnabled(
       features_to_load_, base::BindPostTaskToCurrentDefault(base::BindOnce(
                              &MissiveArgs::OnParamResultInitially,
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.h
index 259b7db..1664513 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args.h
@@ -68,8 +68,7 @@
     bool legacy_storage_enabled = kLegacyStorageEnabledDefault;
   };
 
-  explicit MissiveArgs(
-      std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib);
+  explicit MissiveArgs(feature::PlatformFeaturesInterface* feature_lib);
   MissiveArgs(const MissiveArgs&) = delete;
   MissiveArgs& operator=(const MissiveArgs&) = delete;
   ~MissiveArgs();
@@ -101,7 +100,7 @@
 
   void EnableListeningForUpdates(base::OnceClosure done_cb);
 
-  const std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib_;
+  feature::PlatformFeaturesInterface* feature_lib_;
 
   const std::vector<const VariationsFeature*> features_to_load_;
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args_test.cc
index 3ed8c13..4d995a8 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_args_test.cc
@@ -74,7 +74,7 @@
   fake_platform_features->SetEnabled(MissiveArgs::kStorageFeature.name, false);
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   test::TestEvent<StatusOr<MissiveArgs::CollectionParameters>> get_collection;
   args.AsyncCall(&MissiveArgs::GetCollectionParameters)
@@ -118,7 +118,7 @@
   fake_platform_features->SetEnabled(MissiveArgs::kStorageFeature.name, false);
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   test::TestEvent<StatusOr<MissiveArgs::CollectionParameters>> get_collection;
   args.AsyncCall(&MissiveArgs::GetCollectionParameters)
@@ -154,7 +154,7 @@
   fake_platform_features->SetEnabled(MissiveArgs::kStorageFeature.name, false);
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   test::TestEvent<StatusOr<MissiveArgs::CollectionParameters>> get_collection;
   args.AsyncCall(&MissiveArgs::GetCollectionParameters)
@@ -187,7 +187,7 @@
   auto* const fake_platform_features_ptr = fake_platform_features.get();
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   // Get initial results
   test::TestEvent<StatusOr<MissiveArgs::CollectionParameters>> get_collection;
@@ -257,7 +257,7 @@
   fake_platform_features->SetEnabled(MissiveArgs::kStorageFeature.name, false);
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   test::TestEvent<StatusOr<MissiveArgs::StorageParameters>> get_storage;
   args.AsyncCall(&MissiveArgs::GetStorageParameters).WithArgs(get_storage.cb());
@@ -293,7 +293,7 @@
                                    "False");
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   test::TestEvent<StatusOr<MissiveArgs::StorageParameters>> get_storage;
   args.AsyncCall(&MissiveArgs::GetStorageParameters).WithArgs(get_storage.cb());
@@ -324,7 +324,7 @@
   fake_platform_features->SetEnabled(MissiveArgs::kStorageFeature.name, false);
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   test::TestEvent<StatusOr<MissiveArgs::StorageParameters>> get_storage;
   args.AsyncCall(&MissiveArgs::GetStorageParameters).WithArgs(get_storage.cb());
@@ -349,7 +349,7 @@
   auto* const fake_platform_features_ptr = fake_platform_features.get();
   SequencedMissiveArgs args(
       dbus_test_environment_.mock_bus()->GetDBusTaskRunner(),
-      std::move(fake_platform_features));
+      fake_platform_features.get());
 
   // Get initial results
   test::TestEvent<StatusOr<MissiveArgs::StorageParameters>> get_storage;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.cc
index c4ae652..34a2248 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.cc
@@ -94,10 +94,9 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 }
 
-void MissiveImpl::StartUp(
-    scoped_refptr<dbus::Bus> bus,
-    std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib,
-    base::OnceCallback<void(Status)> cb) {
+void MissiveImpl::StartUp(scoped_refptr<dbus::Bus> bus,
+                          feature::PlatformFeaturesInterface* feature_lib,
+                          base::OnceCallback<void(Status)> cb) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   analytics::Metrics::Initialize();
 
@@ -105,7 +104,7 @@
   DCHECK(create_storage_factory_) << "May be called only once";
   DCHECK(!args_) << "Can only be called once";
   args_ = std::make_unique<SequencedMissiveArgs>(bus->GetDBusTaskRunner(),
-                                                 std::move(feature_lib));
+                                                 feature_lib);
 
   // Migrate from /var/cache to /var/spool
   Status migration_status;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.h
index c484751..f530bfd 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl.h
@@ -65,7 +65,7 @@
   ~MissiveImpl() override;
 
   void StartUp(scoped_refptr<dbus::Bus> bus,
-               std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib,
+               feature::PlatformFeaturesInterface* feature_lib,
                base::OnceCallback<void(Status)> cb) override;
 
   Status ShutDown() override;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl_test.cc
index f42f519..ab46e45 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_impl_test.cc
@@ -144,17 +144,17 @@
             },
             base::Unretained(this)));
 
-    auto fake_platform_features =
-        std::make_unique<feature::FakePlatformFeatures>(
-            dbus_test_environment_.mock_bus().get());
-    fake_platform_features->SetEnabled(MissiveArgs::kCollectorFeature.name,
-                                       false);
-    fake_platform_features->SetEnabled(MissiveArgs::kStorageFeature.name, true);
-    fake_platform_features_ptr_ = fake_platform_features.get();
+    fake_platform_features_ = std::make_unique<feature::FakePlatformFeatures>(
+        dbus_test_environment_.mock_bus().get());
+    fake_platform_features_->SetEnabled(MissiveArgs::kCollectorFeature.name,
+                                        false);
+    fake_platform_features_->SetEnabled(MissiveArgs::kStorageFeature.name,
+                                        true);
+    fake_platform_features_ptr_ = fake_platform_features_.get();
 
     test::TestEvent<Status> started;
     missive_->StartUp(dbus_test_environment_.mock_bus(),
-                      std::move(fake_platform_features), started.cb());
+                      fake_platform_features_ptr_, started.cb());
     ASSERT_OK(started.result());
     EXPECT_TRUE(compression_module_->is_enabled());
     EXPECT_TRUE(encryption_module_->is_enabled());
@@ -170,6 +170,7 @@
 
   base::test::TaskEnvironment task_environment_;
   test::DBusTestEnvironment dbus_test_environment_;
+  std::unique_ptr<feature::FakePlatformFeatures> fake_platform_features_;
   feature::FakePlatformFeatures* fake_platform_features_ptr_;
 
   // Use the metrics test environment to prevent the real metrics from
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_service.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_service.h
index e898c1b..226b826 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_service.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/missive-9999/work/missive-9999/platform2/missive/missive/missive_service.h
@@ -27,10 +27,9 @@
   MissiveService& operator=(const MissiveService&) = delete;
   virtual ~MissiveService() = default;
 
-  virtual void StartUp(
-      scoped_refptr<dbus::Bus> bus,
-      std::unique_ptr<feature::PlatformFeaturesInterface> feature_lib,
-      base::OnceCallback<void(Status)> cb) = 0;
+  virtual void StartUp(scoped_refptr<dbus::Bus> bus,
+                       feature::PlatformFeaturesInterface* feature_lib,
+                       base::OnceCallback<void(Status)> cb) = 0;
   virtual Status ShutDown() = 0;
   virtual void OnReady() const {}
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_check_example.c b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_check_example.c
index a555daa..9537526 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_check_example.c
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_check_example.c
@@ -57,5 +57,5 @@
   printf("%d\n",
          CFeatureLibraryIsEnabledBlocking(lib, &kCrOSLateBootMyAwesomeFeature));
 
-  CFeatureLibraryDelete(lib);
+  FakeCFeatureLibraryDelete(lib);
 }
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.cc
index 6d258ad..ab3bf89 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.cc
@@ -17,6 +17,13 @@
       new feature::FakePlatformFeatures(bus));
 }
 
+extern "C" void FakeCFeatureLibraryDelete(CFeatureLibrary handle) {
+  auto* library = dynamic_cast<feature::FakePlatformFeatures*>(
+      reinterpret_cast<feature::PlatformFeaturesInterface*>(handle));
+  library->ShutdownBus();
+  delete library;
+}
+
 extern "C" void FakeCFeatureLibrarySetEnabled(CFeatureLibrary handle,
                                               const char* const feature,
                                               int enabled) {
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.h
index b3d24b8..243b4a7 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_fake_feature_library.h
@@ -14,6 +14,9 @@
 // C wrapper for `new FakePlatformFeatures()`
 CFeatureLibrary FEATURE_EXPORT FakeCFeatureLibraryNew();
 
+// Used only for freeing dynamically allocated resources in the fake.
+void FEATURE_EXPORT FakeCFeatureLibraryDelete(CFeatureLibrary handle);
+
 // C wrapper for FakePlatformFeatures::SetEnabled()
 void FEATURE_EXPORT FakeCFeatureLibrarySetEnabled(CFeatureLibrary handle,
                                                   const char* const feature,
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_check_example.c b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_check_example.c
index 911f5a9..4a557e8 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_check_example.c
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_check_example.c
@@ -11,7 +11,11 @@
 };
 
 int main(int argc, char* argv[]) {
-  CFeatureLibrary lib = CFeatureLibraryNew();
+  if (!CFeatureLibraryInitialize()) {
+    printf("Error initializing library. Exiting program\n");
+    return 1;
+  }
+  CFeatureLibrary lib = CFeatureLibraryGet();
   printf("%d\n",
          CFeatureLibraryIsEnabledBlocking(lib, &kCrOSLateBootMyAwesomeFeature));
 
@@ -29,5 +33,4 @@
   } else {
     printf("Error getting feature\n");
   }
-  CFeatureLibraryDelete(lib);
 }
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.cc
index 5b0cf9e..31ff577 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.cc
@@ -12,19 +12,16 @@
 
 #include "featured/feature_library.h"
 
-extern "C" CFeatureLibrary CFeatureLibraryNew() {
+extern "C" bool CFeatureLibraryInitialize() {
   dbus::Bus::Options options;
   options.bus_type = dbus::Bus::SYSTEM;
   scoped_refptr<dbus::Bus> bus(new dbus::Bus(options));
 
-  return reinterpret_cast<CFeatureLibrary>(
-      feature::PlatformFeatures::New(bus).release());
+  return feature::PlatformFeatures::Initialize(bus);
 }
 
-extern "C" void CFeatureLibraryDelete(CFeatureLibrary handle) {
-  auto* library = reinterpret_cast<feature::PlatformFeaturesInterface*>(handle);
-  library->ShutdownBus();
-  delete library;
+extern "C" CFeatureLibrary CFeatureLibraryGet() {
+  return reinterpret_cast<CFeatureLibrary>(feature::PlatformFeatures::Get());
 }
 
 extern "C" int CFeatureLibraryIsEnabledBlocking(
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.h
index 6597c7d..4b18d04 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/c_feature_library.h
@@ -4,6 +4,7 @@
 #ifndef FEATURED_C_FEATURE_LIBRARY_H_
 #define FEATURED_C_FEATURE_LIBRARY_H_
 
+#include <stdbool.h>
 #include <stddef.h>
 
 #include "featured/feature_export.h"
@@ -54,11 +55,11 @@
 
 typedef struct CFeatureLibraryOpaque* CFeatureLibrary;
 
-// C wrapper for PlatformFeatures::New()
-CFeatureLibrary FEATURE_EXPORT CFeatureLibraryNew();
+// C wrapper for PlatformFeatures::Initialize()
+bool FEATURE_EXPORT CFeatureLibraryInitialize();
 
-// C wrapper for PlatformFeatures::~PlatformFeatures()
-void FEATURE_EXPORT CFeatureLibraryDelete(CFeatureLibrary handle);
+// C wrapper for PlatformFeatures::Get()
+CFeatureLibrary FEATURE_EXPORT CFeatureLibraryGet();
 
 // C wrapper for PlatformFeatures::IsEnabled is NOT defined, since different
 // language thread runtimes will likely be incompatible with C++'s
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/cpp_feature_check_example.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/cpp_feature_check_example.cc
index 43e8cf3..89f08a4 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/cpp_feature_check_example.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/cpp_feature_check_example.cc
@@ -80,15 +80,16 @@
       base::BarrierClosure(4, loop.QuitClosure());
 
   LOG(INFO) << "Creating lib";
-  std::unique_ptr<feature::PlatformFeatures> feature_lib =
-      feature::PlatformFeatures::New(bus);
+  CHECK(feature::PlatformFeatures::Initialize(bus))
+      << "Failed to initialize lib";
+  feature::PlatformFeatures* feature_lib = feature::PlatformFeatures::Get();
   LOG(INFO) << "ListenForRefetch";
   feature_lib->ListenForRefetchNeeded(
-      base::BindRepeating(&Refetch, feature_lib.get(), barrier_closure),
+      base::BindRepeating(&Refetch, feature_lib, barrier_closure),
       base::BindOnce(&Ready));
 
   LOG(INFO) << "FetchState";
-  FetchState(feature_lib.get(), barrier_closure);
+  FetchState(feature_lib, barrier_closure);
 
   loop.Run();
   base::ThreadPoolInstance::Get()->Shutdown();
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/fake_platform_features.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/fake_platform_features.h
index e559fd8..7e5df6d 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/fake_platform_features.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/fake_platform_features.h
@@ -49,7 +49,7 @@
                 const std::string& value);
   void ClearParams(const std::string& feature);
 
-  void ShutdownBus() override;
+  void ShutdownBus();
 
   void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.cc
index 19b6667..8b0a1d8 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.cc
@@ -8,6 +8,8 @@
 #include <base/functional/bind.h>
 #include <base/functional/callback_helpers.h>
 #include <base/logging.h>
+#include <base/no_destructor.h>
+#include <base/synchronization/lock.h>
 #include <brillo/dbus/dbus_connection.h>
 #include <brillo/dbus/dbus_method_invoker.h>
 #include <brillo/dbus/dbus_proxy_util.h>
@@ -16,6 +18,13 @@
 
 namespace feature {
 
+namespace {
+
+// GetInstanceLock() must be held while using this variable.
+PlatformFeatures* g_instance = nullptr;
+
+}  // namespace
+
 constexpr char kFeatureLibInterface[] = "org.chromium.feature_lib";
 constexpr char kFeatureLibPath[] = "/org/chromium/feature_lib";
 constexpr char kRefetchSignal[] = "RefetchFeatureState";
@@ -23,28 +32,59 @@
 PlatformFeatures::PlatformFeatures(scoped_refptr<dbus::Bus> bus,
                                    dbus::ObjectProxy* chrome_proxy,
                                    dbus::ObjectProxy* feature_proxy)
-    : bus_(bus), chrome_proxy_(chrome_proxy), feature_proxy_(feature_proxy) {}
+    : bus_(bus), chrome_proxy_(chrome_proxy), feature_proxy_(feature_proxy) {
+  base::AutoLock auto_lock(GetInstanceLock());
+  CHECK(!g_instance);
+  g_instance = this;
+}
 
-std::unique_ptr<PlatformFeatures> PlatformFeatures::New(
-    scoped_refptr<dbus::Bus> bus) {
+// static
+bool PlatformFeatures::Initialize(scoped_refptr<dbus::Bus> bus) {
   auto* chrome_proxy = bus->GetObjectProxy(
       chromeos::kChromeFeaturesServiceName,
       dbus::ObjectPath(chromeos::kChromeFeaturesServicePath));
   if (!chrome_proxy) {
     LOG(ERROR) << "Failed to create object proxy for "
                << chromeos::kChromeFeaturesServiceName;
-    return nullptr;
+    return false;
   }
 
   auto* feature_proxy = bus->GetObjectProxy(kFeatureLibInterface,
                                             dbus::ObjectPath(kFeatureLibPath));
   if (!feature_proxy) {
     LOG(ERROR) << "Failed to create object proxy for " << kFeatureLibInterface;
-    return nullptr;
+    return false;
   }
 
-  return std::unique_ptr<PlatformFeatures>(
-      new PlatformFeatures(bus, chrome_proxy, feature_proxy));
+  new PlatformFeatures(bus, chrome_proxy, feature_proxy);
+  return true;
+}
+
+// static
+void PlatformFeatures::InitializeForTesting(scoped_refptr<dbus::Bus> bus,
+                                            dbus::ObjectProxy* chrome_proxy,
+                                            dbus::ObjectProxy* feature_proxy) {
+  new PlatformFeatures(bus, chrome_proxy, feature_proxy);
+}
+
+// static
+void PlatformFeatures::ShutdownForTesting() {
+  base::AutoLock auto_lock(GetInstanceLock());
+  if (g_instance) {
+    delete g_instance;
+  }
+}
+
+// static
+PlatformFeatures* PlatformFeatures::Get() {
+  base::AutoLock auto_lock(GetInstanceLock());
+  return g_instance;
+}
+
+PlatformFeatures::~PlatformFeatures() {
+  GetInstanceLock().AssertAcquired();
+  CHECK_EQ(this, g_instance);
+  g_instance = nullptr;
 }
 
 void PlatformFeatures::IsEnabled(const VariationsFeature& feature,
@@ -308,10 +348,6 @@
   return it->second == &feature;
 }
 
-void PlatformFeatures::ShutdownBus() {
-  bus_->ShutdownAndBlock();
-}
-
 void PlatformFeatures::ListenForRefetchNeeded(
     base::RepeatingCallback<void(void)> signal_callback,
     base::OnceCallback<void(bool)> attached_callback) {
@@ -334,4 +370,10 @@
   std::move(attached_callback).Run(success);
 }
 
+// static
+base::Lock& PlatformFeatures::GetInstanceLock() {
+  static base::NoDestructor<base::Lock> lock;
+  return *lock;
+}
+
 }  // namespace feature
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.h
index 1808be6..0ed1696 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library.h
@@ -29,8 +29,6 @@
 
 class FEATURE_EXPORT PlatformFeaturesInterface {
  public:
-  virtual ~PlatformFeaturesInterface() = default;
-
   using IsEnabledCallback = base::OnceCallback<void(bool)>;
   // Asynchronously determine whether the given feature is enabled, using the
   // specified default value if Chrome doesn't define a value for the feature
@@ -147,10 +145,6 @@
   virtual ParamsResult GetParamsAndEnabledBlocking(
       const std::vector<const VariationsFeature*>& features) = 0;
 
-  // Shutdown the bus object, if any. Used for C API, or when destroying it and
-  // the bus is no longer owned.
-  virtual void ShutdownBus() = 0;
-
   // ListenForRefetchNeeded registers |signal_callback| to run whenever it is
   // required to refetch feature state (that is, whenever chrome restarts).
   // In particular, in order to respect chrome://flags state, you must either
@@ -167,6 +161,9 @@
   virtual void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
       base::OnceCallback<void(bool)> attached_callback) = 0;
+
+ protected:
+  virtual ~PlatformFeaturesInterface() = default;
 };
 
 class FEATURE_EXPORT PlatformFeatures : public PlatformFeaturesInterface {
@@ -174,9 +171,15 @@
   PlatformFeatures(const PlatformFeatures&) = delete;
   PlatformFeatures& operator=(const PlatformFeatures&) = delete;
 
-  // Construct a new PlatformFeatures object based on the provided |bus|.
-  // Returns |nullptr| on failure to create an ObjectProxy
-  static std::unique_ptr<PlatformFeatures> New(scoped_refptr<dbus::Bus> bus);
+  // Creates and initializes the global instance based on the provided |bus|.
+  // The global instance will be initialized to |nullptr| on failure to create
+  // an ObjectProxy.
+  //
+  // Note: The initialized global instance will live until process exit.
+  [[nodiscard]] static bool Initialize(scoped_refptr<dbus::Bus> bus);
+
+  // Returns the global instance which may be null if not initialized.
+  static PlatformFeatures* Get();
 
   void IsEnabled(const VariationsFeature& feature,
                  IsEnabledCallback callback) override;
@@ -191,20 +194,26 @@
   ParamsResult GetParamsAndEnabledBlocking(
       const std::vector<const VariationsFeature*>& features) override;
 
-  void ShutdownBus() override;
-
   void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
       base::OnceCallback<void(bool)> attached_callback) override;
 
- protected:
+  static void ShutdownForTesting();
+
+ private:
+  friend class FeatureLibraryTest;
+
+  FRIEND_TEST(FeatureLibraryTest, CheckFeatureIdentity);
+
   explicit PlatformFeatures(scoped_refptr<dbus::Bus> bus,
                             dbus::ObjectProxy* chrome_proxy,
                             dbus::ObjectProxy* feature_proxy);
 
- private:
-  friend class FeatureLibraryTest;
-  FRIEND_TEST(FeatureLibraryTest, CheckFeatureIdentity);
+  ~PlatformFeatures() override;
+
+  static void InitializeForTesting(scoped_refptr<dbus::Bus> bus,
+                                   dbus::ObjectProxy* chrome_proxy,
+                                   dbus::ObjectProxy* feature_proxy);
 
   // Callback that is invoked for IsEnabled() when WaitForServiceToBeAvailable()
   // finishes.
@@ -257,6 +266,9 @@
       const std::string& signal,
       bool success);
 
+  // This lock protects the global instance variable.
+  static base::Lock& GetInstanceLock();
+
   scoped_refptr<dbus::Bus> bus_;
   // An object proxy used for communicating with ash-chrome.
   dbus::ObjectProxy* chrome_proxy_;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library_test.cc
index 86f89ed..f189f2b 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/feature_library_test.cc
@@ -47,13 +47,14 @@
                                       kFeatureLibInterface,
                                       dbus::ObjectPath(kFeatureLibPath))) {}
 
-  ~FeatureLibraryTest() { mock_bus_->ShutdownAndBlock(); }
-
   void SetUp() override {
-    features_ = std::unique_ptr<PlatformFeatures>(new PlatformFeatures(
-        mock_bus_, mock_chrome_proxy_.get(), mock_feature_proxy_.get()));
+    PlatformFeatures::InitializeForTesting(mock_bus_, mock_chrome_proxy_.get(),
+                                           mock_feature_proxy_.get());
+    features_ = PlatformFeatures::Get();
   }
 
+  void TearDown() override { PlatformFeatures::ShutdownForTesting(); }
+
   std::unique_ptr<dbus::Response> CreateIsEnabledResponse(
       dbus::MethodCall* call, bool enabled) {
     if (call->GetInterface() == "org.chromium.ChromeFeaturesServiceInterface" &&
@@ -144,7 +145,7 @@
   scoped_refptr<dbus::MockBus> mock_bus_;
   scoped_refptr<dbus::MockObjectProxy> mock_chrome_proxy_;
   scoped_refptr<dbus::MockObjectProxy> mock_feature_proxy_;
-  std::unique_ptr<PlatformFeatures> features_;
+  PlatformFeatures* features_;
   std::unique_ptr<base::RunLoop> run_loop_;
 };
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.cc
index 37a8b5e..2401fb2 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.cc
@@ -312,7 +312,8 @@
   }
   for (const auto& it : *(parser_->GetFeatureMap())) {
     if (it.second.IsSupported() &&
-        library_->IsEnabledBlocking(*it.second.feature())) {
+        feature::PlatformFeatures::Get()->IsEnabledBlocking(
+            *it.second.feature())) {
       it.second.Execute();
     }
   }
@@ -426,7 +427,10 @@
     return false;
   }
 
-  library_ = feature::PlatformFeatures::New(bus);
+  if (!feature::PlatformFeatures::Initialize(bus)) {
+    LOG(ERROR) << "Failed to initialize PlatformFeatures";
+    return false;
+  }
 
   if (store_ && !store_->IncrementBootAttemptsSinceLastUpdate()) {
     LOG(ERROR) << "Failed to increment boot attempts";
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.h
index 4206aef..16a7888 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service.h
@@ -186,7 +186,6 @@
                          dbus::ExportedObject::ResponseSender sender);
 
   std::unique_ptr<FeatureParserBase> parser_;
-  std::unique_ptr<feature::PlatformFeatures> library_;
   std::unique_ptr<StoreInterface> store_;
   std::unique_ptr<TmpStorageInterface> tmp_storage_;
   std::unique_ptr<org::chromium::SessionManagerInterfaceProxyInterface>
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service_test.cc
index 590e03f..680bd66 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/featured/service_test.cc
@@ -109,6 +109,11 @@
         .WillByDefault(Return(true));
   }
 
+  void TearDown() override {
+    mock_bus_->ShutdownAndBlock();
+    feature::PlatformFeatures::ShutdownForTesting();
+  }
+
  protected:
   void HandleSeedFetched(dbus::MethodCall* method_call,
                          dbus::ExportedObject::ResponseSender sender) {
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/daemon.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/daemon.cc
index 72d9f74..804af5a 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/daemon.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/daemon.cc
@@ -47,6 +47,7 @@
   if (rv != EX_OK) {
     return rv;
   }
+  CHECK(feature::PlatformFeatures::Initialize(bus_));
 
   secagent_ = std::make_unique<SecAgent>(
       base::BindOnce(&Daemon::QuitDaemon, weak_ptr_factory_.GetWeakPtr()),
@@ -57,7 +58,7 @@
       std::make_unique<PluginFactory>(),
       std::make_unique<org::chromium::AttestationProxy>(bus_),
       std::make_unique<org::chromium::TpmManagerProxy>(bus_),
-      feature::PlatformFeatures::New(bus_), bypass_policy_for_testing_,
+      feature::PlatformFeatures::Get(), bypass_policy_for_testing_,
       bypass_enq_ok_wait_for_testing_, heartbeat_period_s_,
       plugin_batch_interval_s_);
 
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.cc
index 59fcc4b..956ccc4 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.cc
@@ -26,11 +26,11 @@
 
 PoliciesFeaturesBroker::PoliciesFeaturesBroker(
     std::unique_ptr<policy::PolicyProvider> policy_provider,
-    std::unique_ptr<PlatformFeaturesInterface> features,
+    feature::PlatformFeaturesInterface* features,
     base::RepeatingClosure poll_done_cb)
     : weak_ptr_factory_(this),
       policy_provider_(std::move(policy_provider)),
-      features_(std::move(features)),
+      features_(features),
       poll_done_cb_(std::move(poll_done_cb)),
       feature_values_{
           {Feature::kCrOSLateBootSecagentdXDRReporting,
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.h
index 8d5bd32..92d2a64 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/policies_features_broker.h
@@ -53,7 +53,7 @@
  public:
   PoliciesFeaturesBroker(
       std::unique_ptr<policy::PolicyProvider> policy_provider,
-      std::unique_ptr<feature::PlatformFeaturesInterface> features,
+      feature::PlatformFeaturesInterface* features,
       base::RepeatingClosure poll_done_cb);
 
   void StartAndBlockForSync(
@@ -83,7 +83,7 @@
 
   base::WeakPtrFactory<PoliciesFeaturesBroker> weak_ptr_factory_;
   std::unique_ptr<policy::PolicyProvider> policy_provider_;
-  std::unique_ptr<feature::PlatformFeaturesInterface> features_;
+  feature::PlatformFeaturesInterface* features_;
   base::RepeatingClosure poll_done_cb_;
   mutable base::Lock values_lock_;
   std::map<Feature, VariationAndValue> feature_values_;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.cc
index 1d293df..6957323 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.cc
@@ -41,7 +41,7 @@
     std::unique_ptr<PluginFactoryInterface> plugin_factory,
     std::unique_ptr<org::chromium::AttestationProxyInterface> attestation_proxy,
     std::unique_ptr<org::chromium::TpmManagerProxyInterface> tpm_proxy,
-    std::unique_ptr<feature::PlatformFeaturesInterface> platform_features,
+    feature::PlatformFeaturesInterface* platform_features,
     bool bypass_policy_for_testing,
     bool bypass_enq_ok_wait_for_testing,
     uint32_t heartbeat_period_s,
@@ -52,7 +52,7 @@
       plugin_factory_(std::move(plugin_factory)),
       attestation_proxy_(std::move(attestation_proxy)),
       tpm_proxy_(std::move(tpm_proxy)),
-      platform_features_(std::move(platform_features)),
+      platform_features_(platform_features),
       bypass_policy_for_testing_(bypass_policy_for_testing),
       bypass_enq_ok_wait_for_testing_(bypass_enq_ok_wait_for_testing),
       heartbeat_period_s_(heartbeat_period_s),
@@ -60,7 +60,7 @@
       quit_daemon_cb_(std::move(quit_daemon_cb)),
       weak_ptr_factory_(this) {
   policies_features_broker_ = base::MakeRefCounted<PoliciesFeaturesBroker>(
-      std::make_unique<policy::PolicyProvider>(), std::move(platform_features_),
+      std::make_unique<policy::PolicyProvider>(), platform_features_,
       base::BindRepeating(&SecAgent::CheckPolicyAndFeature,
                           weak_ptr_factory_.GetWeakPtr()));
 }
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.h b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.h
index e4407b3..266f734 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.h
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/secagent.h
@@ -42,7 +42,7 @@
            std::unique_ptr<PluginFactoryInterface>,
            std::unique_ptr<org::chromium::AttestationProxyInterface>,
            std::unique_ptr<org::chromium::TpmManagerProxyInterface>,
-           std::unique_ptr<feature::PlatformFeaturesInterface>,
+           feature::PlatformFeaturesInterface*,
            bool bypass_policy_for_testing,
            bool bypass_enq_ok_wait_for_testing,
            uint32_t heartbeat_period_s,
@@ -77,7 +77,7 @@
   std::unique_ptr<PluginInterface> agent_plugin_;
   std::unique_ptr<org::chromium::AttestationProxyInterface> attestation_proxy_;
   std::unique_ptr<org::chromium::TpmManagerProxyInterface> tpm_proxy_;
-  std::unique_ptr<feature::PlatformFeaturesInterface> platform_features_;
+  feature::PlatformFeaturesInterface* platform_features_;
   bool bypass_policy_for_testing_ = false;
   bool bypass_enq_ok_wait_for_testing_ = false;
   bool reporting_events_ = false;
diff --git a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/test/policies_features_broker_test.cc b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/test/policies_features_broker_test.cc
index 51f3540..cc640cb 100644
--- a/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/test/policies_features_broker_test.cc
+++ b/chroot/build/amd64-generic/tmp/portage/chromeos-base/secagentd-9999/work/secagentd-9999/platform2/secagentd/test/policies_features_broker_test.cc
@@ -44,11 +44,10 @@
     ON_CALL(*dbus_bus_, GetOriginTaskRunner())
         .WillByDefault(
             Return(task_environment_.GetMainThreadTaskRunner().get()));
-    auto features = std::make_unique<feature::FakePlatformFeatures>(dbus_bus_);
-    fake_features_ = features.get();
+    fake_features_ = std::make_unique<feature::FakePlatformFeatures>(dbus_bus_);
 
     broker_ = base::MakeRefCounted<PoliciesFeaturesBroker>(
-        std::move(policy_provider), std::move(features),
+        std::move(policy_provider), fake_features_.get(),
         base::BindLambdaForTesting([this]() { VerifyExpectations(); }));
   }
 
@@ -104,7 +103,7 @@
   base::test::TaskEnvironment task_environment_;
   StrictMock<policy::MockPolicyProvider>* mock_policy_provider_ = nullptr;
   StrictMock<policy::MockDevicePolicy> mock_device_policy_;
-  feature::FakePlatformFeatures* fake_features_ = nullptr;
+  std::unique_ptr<feature::FakePlatformFeatures> fake_features_;
   scoped_refptr<PoliciesFeaturesBroker> broker_;
   int num_poll_done_cb_calls_ = 0;
   bool expected_xdr_events_policy_;
diff --git a/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/common/array.h b/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/common/array.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/common/array.h
rename to chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/common/array.h
diff --git a/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/common/byte_buffer.h b/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/common/byte_buffer.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/common/byte_buffer.h
rename to chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/common/byte_buffer.h
diff --git a/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/server/config/config_test.cc b/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/server/config/config_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/server/config/config_test.cc
rename to chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/server/config/config_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/tests/metrics_stub.cc b/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/tests/metrics_stub.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/tests/metrics_stub.cc
rename to chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/tests/metrics_stub.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/tests/test_util.cc b/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/tests/test_util.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/tests/test_util.cc
rename to chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/tests/test_util.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/tests/test_util.h b/chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/tests/test_util.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3071/work/adhd-0.0.7/cras/src/tests/test_util.h
rename to chroot/build/amd64-generic/tmp/portage/media-sound/adhd-0.0.7-r3075/work/adhd-0.0.7/cras/src/tests/test_util.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/audio_bluetooth_hw/utils.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/gatt/database.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/gatt/database.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/gatt/database.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/gatt/database.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/client.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/client.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/client.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/client.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector_test.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector_test.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/le_audio/metrics_collector_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/vc/device.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/vc/device.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/vc/device.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/vc/device.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/vc/types.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/vc/types.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/bta/vc/types.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/bta/vc/types.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/btcore/include/property.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/btcore/include/property.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/btcore/include/property.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/btcore/include/property.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/btcore/include/version.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/btcore/include/version.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/btcore/include/version.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/btcore/include/version.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/btcore/src/property.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/btcore/src/property.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/btcore/src/property.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/btcore/src/property.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/metrics.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/metrics.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/metrics.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/metrics.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/time_util.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/time_util.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/time_util.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/time_util.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/time_util.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/time_util.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/time_util.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/time_util.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/utils.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/utils.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/common/utils.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/common/utils.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/device/include/controller.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/device/include/controller.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/device/include/controller.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/device/include/controller.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/device/src/controller.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/device/src/controller.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/device/src/controller.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/device/src/controller.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/bits.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/bits.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/bits.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/bits.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/common.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/common.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/common.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/common.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/fastmath.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/fastmath.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/fastmath.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/embdrv/lc3/src/fastmath.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/benchmark.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/benchmark.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/benchmark.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/benchmark.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/bind.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/bind.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/bind.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/bind.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/callback.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/callback.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/callback.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/callback.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/callback_list.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/callback_list.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/callback_list.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/callback_list.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/lru_cache.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/lru_cache.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/lru_cache.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/lru_cache.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/numbers.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/numbers.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/numbers.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/numbers.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/strings.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/strings.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/common/strings.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/common/strings.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/crypto_toolbox/aes.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/bundler/main.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/bundler/main.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/bundler/main.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/bundler/main.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/filter.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/filter.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/filter.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/dumpsys/filter.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/fuzz/helpers.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/address.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/address.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/address.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/address.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/controller.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/controller_test.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/controller_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/controller_test.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/controller_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/hci/uuid.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/receiver.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/receiver.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/receiver.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/receiver.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/scheduler.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/scheduler.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/scheduler.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/scheduler.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/sender.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/sender.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/sender.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/l2cap/internal/sender.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/chromeos/metrics_allowlist.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/linux/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/linux/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/linux/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/linux/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/metrics.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/metrics.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/metrics.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/metrics.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/metrics/utils.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/alarm.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/alarm.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/alarm.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/alarm.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/android/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/android/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/android/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/android/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/android/system_properties.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/android/system_properties.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/android/system_properties.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/android/system_properties.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/system_properties.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/system_properties.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/system_properties.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/chromeos/system_properties.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/host/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/host/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/host/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/host/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/host/system_properties.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/host/system_properties.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/host/system_properties.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/host/system_properties.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/linux/metrics.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/linux/metrics.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/linux/metrics.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/linux/metrics.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/linux/system_properties.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/linux/system_properties.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/linux/system_properties.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/linux/system_properties.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/linux_generic/thread.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/linux_generic/thread.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/linux_generic/thread.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/linux_generic/thread.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/metrics.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/metrics.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/metrics.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/metrics.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/queue.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/queue.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/queue.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/queue.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/rand.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/rand.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/rand.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/rand.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/syslog.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/syslog.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/syslog.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/syslog.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/system_properties.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/system_properties.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/system_properties.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/system_properties.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/thread.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/thread.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/thread.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/thread.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/utils.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/utils.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/os/utils.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/os/utils.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/iterator.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/iterator.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/iterator.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/iterator.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/logging.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/logging.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/logging.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/logging.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/main.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/main.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/main.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/main.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/size.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/size.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/size.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/size.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/util.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/util.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/util.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/packet/parser/util.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/rust/shim/callbacks/callbacks.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/rust/shim/callbacks/callbacks.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/rust/shim/callbacks/callbacks.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/rust/shim/callbacks/callbacks.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/security/security_manager.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/device.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/device.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/device.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/device.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/device.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/device.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/device.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/device.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/device_test.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/device_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/device_test.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/device_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module_test.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module_test.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/gd/storage/storage_module_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/include/array_utils.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/include/array_utils.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/include/array_utils.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/include/array_utils.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/include/check.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/include/check.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/include/check.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/include/check.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/include/notreached.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/include/notreached.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/include/notreached.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/include/notreached.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/linux_include/log/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/linux_include/log/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/linux_include/log/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/linux_include/log/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/config.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/config.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/config.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/config.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/config.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/config.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/config.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/config.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/controller.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/controller.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/controller.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/controller.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/controller.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/controller.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/controller.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/controller.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/helpers.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/helpers.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/helpers.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/helpers.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/stack.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/stack.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/main/shim/stack.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/main/shim/stack.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/alarm.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/alarm.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/alarm.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/alarm.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/allocator.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/allocator.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/allocator.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/allocator.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/array.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/array.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/array.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/array.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/buffer.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/buffer.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/buffer.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/buffer.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/config.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/config.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/config.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/config.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/future.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/future.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/future.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/future.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/list.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/list.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/list.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/list.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/mutex.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/mutex.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/mutex.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/mutex.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/socket.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/socket.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/socket.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/socket.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/socket_utils/sockets.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/socket_utils/sockets.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/socket_utils/sockets.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/socket_utils/sockets.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/thread.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/thread.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include/thread.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include/thread.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include_internal/osi/semaphore.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include_internal/osi/semaphore.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/include_internal/osi/semaphore.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/include_internal/osi/semaphore.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/buffer.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/buffer.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/buffer.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/buffer.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/config.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/config.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/config.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/config.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/future.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/future.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/future.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/future.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/socket.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/socket.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/socket.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/socket.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/thread.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/thread.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/src/thread.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/src/thread.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/test/config_test.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/test/config_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/test/config_test.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/test/config_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/test/future_test.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/test/future_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/osi/test/future_test.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/osi/test/future_test.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/packet/base/iterator.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/packet/base/iterator.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/packet/base/iterator.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/packet/base/iterator.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/profile/avrcp/device.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/rust/src/core/ffi/types.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/rust/src/core/ffi/types.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/rust/src/core/ffi/types.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/rust/src/core/ffi/types.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/crypto_toolbox/aes.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/stack/test/a2dp/test_util.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/connect/connect.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/interface.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/interface.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/interface.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/interface.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/main.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/main.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/main.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/main.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/property.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/property.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/property.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/property.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/property.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/property.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/property.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/property.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/read/name.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/util.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/util.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/util.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/util.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/util.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/util.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/headless/util.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/headless/util.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/rootcanal/service.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/rootcanal/service.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/test/rootcanal/service.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/test/rootcanal/service.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/types/bluetooth/uuid.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/vendor_libs/linux/interface/service.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/vendor_libs/linux/interface/service.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/system/vendor_libs/linux/interface/service.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/system/vendor_libs/linux/interface/service.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/desktop/test_environment.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/emulator/include/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/emulator/include/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/emulator/include/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/emulator/include/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/crypto/crypto.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/crypto/crypto.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/crypto/crypto.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/crypto/crypto.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/hci/address.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/hci/address.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/hci/address.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/hci/address.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/os/log.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/os/log.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/os/log.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/os/log.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/pcap.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/pcap.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/pcap.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/include/pcap.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/lib/crypto/crypto.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/lib/crypto/crypto.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/lib/crypto/crypto.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/lib/crypto/crypto.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/model/devices/device.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/test/controller/le/test_helpers.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/test/controller/le/test_helpers.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/bt/tools/rootcanal/test/controller/le/test_helpers.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/bt/tools/rootcanal/test/controller/le/test_helpers.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/example/component/component.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/example/component/component.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/example/component/component.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/example/component/component.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/example/include/component/component.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/example/include/component/component.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/example/include/component/component.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/example/include/component/component.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/testrunner.cc b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/testrunner.cc
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/testrunner.cc
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/testrunner.cc
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/testrunner.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/testrunner.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/common-mk/testrunner.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/common-mk/testrunner.h
diff --git a/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/external/proto_logging/stats/stats_log_api_gen/utils.h b/chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/external/proto_logging/stats/stats_log_api_gen/utils.h
similarity index 100%
rename from chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3744/work/floss-0.0.2/platform2/external/proto_logging/stats/stats_log_api_gen/utils.h
rename to chroot/build/amd64-generic/tmp/portage/net-wireless/floss-0.0.2-r3745/work/floss-0.0.2/platform2/external/proto_logging/stats/stats_log_api_gen/utils.h
diff --git a/chroot/build/amd64-generic/usr/include/featured/c_fake_feature_library.h b/chroot/build/amd64-generic/usr/include/featured/c_fake_feature_library.h
index b3d24b8..243b4a7 100644
--- a/chroot/build/amd64-generic/usr/include/featured/c_fake_feature_library.h
+++ b/chroot/build/amd64-generic/usr/include/featured/c_fake_feature_library.h
@@ -14,6 +14,9 @@
 // C wrapper for `new FakePlatformFeatures()`
 CFeatureLibrary FEATURE_EXPORT FakeCFeatureLibraryNew();
 
+// Used only for freeing dynamically allocated resources in the fake.
+void FEATURE_EXPORT FakeCFeatureLibraryDelete(CFeatureLibrary handle);
+
 // C wrapper for FakePlatformFeatures::SetEnabled()
 void FEATURE_EXPORT FakeCFeatureLibrarySetEnabled(CFeatureLibrary handle,
                                                   const char* const feature,
diff --git a/chroot/build/amd64-generic/usr/include/featured/c_feature_library.h b/chroot/build/amd64-generic/usr/include/featured/c_feature_library.h
index 6597c7d..4b18d04 100644
--- a/chroot/build/amd64-generic/usr/include/featured/c_feature_library.h
+++ b/chroot/build/amd64-generic/usr/include/featured/c_feature_library.h
@@ -4,6 +4,7 @@
 #ifndef FEATURED_C_FEATURE_LIBRARY_H_
 #define FEATURED_C_FEATURE_LIBRARY_H_
 
+#include <stdbool.h>
 #include <stddef.h>
 
 #include "featured/feature_export.h"
@@ -54,11 +55,11 @@
 
 typedef struct CFeatureLibraryOpaque* CFeatureLibrary;
 
-// C wrapper for PlatformFeatures::New()
-CFeatureLibrary FEATURE_EXPORT CFeatureLibraryNew();
+// C wrapper for PlatformFeatures::Initialize()
+bool FEATURE_EXPORT CFeatureLibraryInitialize();
 
-// C wrapper for PlatformFeatures::~PlatformFeatures()
-void FEATURE_EXPORT CFeatureLibraryDelete(CFeatureLibrary handle);
+// C wrapper for PlatformFeatures::Get()
+CFeatureLibrary FEATURE_EXPORT CFeatureLibraryGet();
 
 // C wrapper for PlatformFeatures::IsEnabled is NOT defined, since different
 // language thread runtimes will likely be incompatible with C++'s
diff --git a/chroot/build/amd64-generic/usr/include/featured/fake_platform_features.h b/chroot/build/amd64-generic/usr/include/featured/fake_platform_features.h
index e559fd8..7e5df6d 100644
--- a/chroot/build/amd64-generic/usr/include/featured/fake_platform_features.h
+++ b/chroot/build/amd64-generic/usr/include/featured/fake_platform_features.h
@@ -49,7 +49,7 @@
                 const std::string& value);
   void ClearParams(const std::string& feature);
 
-  void ShutdownBus() override;
+  void ShutdownBus();
 
   void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
diff --git a/chroot/build/amd64-generic/usr/include/featured/feature_library.h b/chroot/build/amd64-generic/usr/include/featured/feature_library.h
index 1808be6..0ed1696 100644
--- a/chroot/build/amd64-generic/usr/include/featured/feature_library.h
+++ b/chroot/build/amd64-generic/usr/include/featured/feature_library.h
@@ -29,8 +29,6 @@
 
 class FEATURE_EXPORT PlatformFeaturesInterface {
  public:
-  virtual ~PlatformFeaturesInterface() = default;
-
   using IsEnabledCallback = base::OnceCallback<void(bool)>;
   // Asynchronously determine whether the given feature is enabled, using the
   // specified default value if Chrome doesn't define a value for the feature
@@ -147,10 +145,6 @@
   virtual ParamsResult GetParamsAndEnabledBlocking(
       const std::vector<const VariationsFeature*>& features) = 0;
 
-  // Shutdown the bus object, if any. Used for C API, or when destroying it and
-  // the bus is no longer owned.
-  virtual void ShutdownBus() = 0;
-
   // ListenForRefetchNeeded registers |signal_callback| to run whenever it is
   // required to refetch feature state (that is, whenever chrome restarts).
   // In particular, in order to respect chrome://flags state, you must either
@@ -167,6 +161,9 @@
   virtual void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
       base::OnceCallback<void(bool)> attached_callback) = 0;
+
+ protected:
+  virtual ~PlatformFeaturesInterface() = default;
 };
 
 class FEATURE_EXPORT PlatformFeatures : public PlatformFeaturesInterface {
@@ -174,9 +171,15 @@
   PlatformFeatures(const PlatformFeatures&) = delete;
   PlatformFeatures& operator=(const PlatformFeatures&) = delete;
 
-  // Construct a new PlatformFeatures object based on the provided |bus|.
-  // Returns |nullptr| on failure to create an ObjectProxy
-  static std::unique_ptr<PlatformFeatures> New(scoped_refptr<dbus::Bus> bus);
+  // Creates and initializes the global instance based on the provided |bus|.
+  // The global instance will be initialized to |nullptr| on failure to create
+  // an ObjectProxy.
+  //
+  // Note: The initialized global instance will live until process exit.
+  [[nodiscard]] static bool Initialize(scoped_refptr<dbus::Bus> bus);
+
+  // Returns the global instance which may be null if not initialized.
+  static PlatformFeatures* Get();
 
   void IsEnabled(const VariationsFeature& feature,
                  IsEnabledCallback callback) override;
@@ -191,20 +194,26 @@
   ParamsResult GetParamsAndEnabledBlocking(
       const std::vector<const VariationsFeature*>& features) override;
 
-  void ShutdownBus() override;
-
   void ListenForRefetchNeeded(
       base::RepeatingCallback<void(void)> signal_callback,
       base::OnceCallback<void(bool)> attached_callback) override;
 
- protected:
+  static void ShutdownForTesting();
+
+ private:
+  friend class FeatureLibraryTest;
+
+  FRIEND_TEST(FeatureLibraryTest, CheckFeatureIdentity);
+
   explicit PlatformFeatures(scoped_refptr<dbus::Bus> bus,
                             dbus::ObjectProxy* chrome_proxy,
                             dbus::ObjectProxy* feature_proxy);
 
- private:
-  friend class FeatureLibraryTest;
-  FRIEND_TEST(FeatureLibraryTest, CheckFeatureIdentity);
+  ~PlatformFeatures() override;
+
+  static void InitializeForTesting(scoped_refptr<dbus::Bus> bus,
+                                   dbus::ObjectProxy* chrome_proxy,
+                                   dbus::ObjectProxy* feature_proxy);
 
   // Callback that is invoked for IsEnabled() when WaitForServiceToBeAvailable()
   // finishes.
@@ -257,6 +266,9 @@
       const std::string& signal,
       bool success);
 
+  // This lock protects the global instance variable.
+  static base::Lock& GetInstanceLock();
+
   scoped_refptr<dbus::Bus> bus_;
   // An object proxy used for communicating with ash-chrome.
   dbus::ObjectProxy* chrome_proxy_;
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/bindings/python/google_benchmark/benchmark.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/bindings/python/google_benchmark/benchmark.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/bindings/python/google_benchmark/benchmark.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/bindings/python/google_benchmark/benchmark.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/include/benchmark/benchmark.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/include/benchmark/benchmark.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/include/benchmark/benchmark.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/include/benchmark/benchmark.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/include/benchmark/export.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/include/benchmark/export.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/include/benchmark/export.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/include/benchmark/export.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/benchmark.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/benchmark.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/benchmark.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/benchmark.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/check.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/check.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/check.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/check.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/check.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/check.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/check.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/check.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/log.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/log.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/log.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/log.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/mutex.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/mutex.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/mutex.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/mutex.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/reporter.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/reporter.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/reporter.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/reporter.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/string_util.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/string_util.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/string_util.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/string_util.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/string_util.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/string_util.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/src/string_util.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/src/string_util.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/test/benchmark_test.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/test/benchmark_test.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/com_github_google_benchmark/test/benchmark_test.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/com_github_google_benchmark/test/benchmark_test.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/ijar/common.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/ijar/common.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/ijar/common.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/ijar/common.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/errors.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/errors.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/errors.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/errors.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/file.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/file.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/file.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/file.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/file.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/file.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/file.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/file.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/file_posix.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/file_posix.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/file_posix.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/file_posix.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/logging.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/logging.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/logging.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/logging.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/logging.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/logging.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/logging.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/logging.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/md5.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/md5.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/md5.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/md5.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/numbers.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/path.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/path.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/path.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/path.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/port.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/port.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/port.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/port.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/port.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/port.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/port.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/port.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/strings.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/strings.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/cpp/util/strings.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/cpp/util/strings.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/file.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/file.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/file.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/file.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/file.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/file.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/file.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/file.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/util.cc b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/util.cc
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/util.cc
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/util.cc
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/util.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/util.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/main/native/windows/util.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/main/native/windows/util.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/tools/singlejar/diag.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/tools/singlejar/diag.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/tools/singlejar/diag.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/tools/singlejar/diag.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/tools/singlejar/options.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/tools/singlejar/options.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/tools/singlejar/options.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/tools/singlejar/options.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/tools/singlejar/port.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/tools/singlejar/port.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/src/tools/singlejar/port.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/src/tools/singlejar/port.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/zlib/crc32.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/zlib/crc32.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/zlib/crc32.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/zlib/crc32.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/zlib/zconf.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/zlib/zconf.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/zlib/zconf.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/zlib/zconf.h
diff --git a/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/zlib/zlib.h b/chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/zlib/zlib.h
similarity index 100%
rename from chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/96ead41e18228adc18abfb1b6dd8a32b/external/remote_java_tools/java_tools/zlib/zlib.h
rename to chroot/build/amd64-generic/var/cache/portage/media-sound/adhd/e70a4507a024e0f40a81ecec857b7d56/external/remote_java_tools/java_tools/zlib/zlib.h